Ansicht
Dokumentation
ABENST_TT_TEXT - ST TT TEXT
Addresses (Business Address Services) Addresses (Business Address Services)Diese Dokumentation steht unter dem Copyright der SAP AG.
- tt:text, Literaler Text
...>literal...
...>tt:text>literal/tt:text>...
Wirkung
literal steht hier für literalen Text. Jeder Inhalt eines Templates, das kein Element ist (d.h., nicht innerhalb von steht), ist literaler Text. Dazu gehören auch Zeilenumbrüche und Leerzeichen, die zusammengefasst als Leerraum (englisch Whitespace) bezeichnet werden.
Die erste Zeile oben zeigt literalen Text ohne Kennzeichnung. In ST-Programmen kann literaler Text zusätzlich durch die ST-Anweisung tt:text gekennzeichnet werden, was in der zweiten Zeile dargestellt ist. Die beiden Varianten unterscheiden sich dadurch, dass ein ungekennzeichneter literaler Text literal bei Serialisierung und Deserialisierung nicht berücksichtigt wird, wenn er nur Leerräume enthält. Ein gekennzeichneter Text wird immer berücksichtigt.
Serialisierung von literalem Text
Wenn ein literaler Text berücksichtigt wird, werden alle seine Zeichen in die Ziel-XML-Daten geschrieben. Dazu gehören alle Leerräume. Es wird nichts übertragen, wenn ein Text ignoriert wird.
Deserialisierung von literalem Text
Der literale Text des XML-Ausgangsdokuments wird Zeichen für Zeichen (inklusive Leerzeichen und Zeilenumbrüchen) mit dem ST-Programm abgeglichen und konsumiert. D.h., an allen Stellen, an denen im Eingangsstrom literaler Text steht, muss genau der gleiche Text im ST-Programm aufgeführt sein und dort auch berücksichtigt werden.
Hinweis
Literale Texte mit anderen Zeichen außer Leerräumen sollten sparsam verwendet, immer mit tt:text gekennzeichnet und nicht zeilenübergreifend angelegt werden, da Zeilenumbrüche und Einrückungen Fehlerquellen bei der Deserialisierung darstellen. Ungekennzeichnete Texte sollten der Formatierung des ST-Programms mit Zeilenumbrüchen und Leerzeichen (Einrückungen) vorbehalten sein. Um Probleme bei der Deserialisierung von literalen Texten zu vermeiden, können diese mit tt:skip übersprungen werden.
Beispiel
Das folgende ST-Programm enthält vier Elemente X1 bis X4 mit literalem Text.
tt:transform
xmlns:tt="http://www.sap.com/transformation-templates">
tt:template>
X0>
X1> a b c /X1>
X2>tt:text> d e f /tt:text>/X2>
X3> /X3>
X4>tt:text> /tt:text>/X4>
/X0>
/tt:template>
/tt:transform>
Das Ergebnis einer Serialisierung ist wie folgt, wobei die Leerzeichen in X3 nicht berücksichtigt werden:
X0>X1> a b c /X1>X2> d e f /X2>X3/>X4> /X4>/X0>
Diese XML-Daten können von obigem ST-Programm selbst wieder deserialisiert werden. Folgendes ST-Programm führt aber zur Ausnahme CX_ST_MATCH_ELEMENT, da für die Leerzeichen des Eingangsstroms innerhalb von X4 wegen der fehlenden Kennzeichnung mit tt:text keine Leerzeichen im ST-Programm vorhanden sind.
tt:transform
xmlns:tt="http://www.sap.com/transformation-templates">
tt:template>
X0>
X1>a b c/X1>
X2>tt:text>d e f/tt:text>/X2>
X3> /X3>
X4> /X4>
/X0>
/tt:template>
/tt:transform>
Auch folgendes ST-Programm kann die XML-Daten nicht deserialisieren, da es in X1 Zeilenumbrüche und durch die Einrückung mehr Leerzeichen erwartet.
tt:transform
xmlns:tt="http://www.sap.com/transformation-templates">
tt:template>
X0>
X1>
a b c
/X1>
X2>tt:text>d e f/tt:text>/X2>
X3> /X3>
X4> /X4>
/X0>
/tt:template>
/tt:transform>
Folgendes ST-Programm kann die XML-Daten deserialisieren, wobei alle Elemente mit tt:skip übersprungen werden.
tt:transform
xmlns:tt="http://www.sap.com/transformation-templates">
tt:template>
X0>
X1>tt:skip />/X1>
X2>tt:skip />/X2>
X3>tt:skip />/X3>
X4>tt:skip />/X4>
/X0>
/tt:template>
/tt:transform>
CL_GUI_FRONTEND_SERVICES - Frontend Services ROGBILLS - Synchronize billing plans
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6873 Date: 20240523 Time: 110134 sap01-206 ( 85 ms )