ST-Programme sind XML-Dokumente, die aus literalen Elementen und ST-Befehlen bestehen. ST-Befehle unterscheiden sich von literalen Elementen (XML-Elementen, Attribute und Text) durch ihren Namensraum “http://www.sap.com/transformation-templates“, für den als Konvention das Präfix tt verwendet wird.
Bei Serialisierungen und Deserialisierungen werden literale Elemente ungeändert in ein Zieldokument übernommen bzw. aus einem Ausgangsdokument konsumiert und abgeglichen. ST-Befehle werden gemäß ihrer Semantik ausgeführt.
Die Adressierung von Daten geschieht über Baumstrukturen, deren Wurzelknoten (Datenwurzeln) an ABAP-Datenobjekte angebunden sind. Die Wurzelknoten sind immer direkt über ihren Namen adressierbar. Zusätzlich kann ein aktueller Knoten definiert werden, der über $ref adressierbar ist.
Befehl |
Bedeutung |
<tt:apply ...> |
Ruft ein Unter-Template auf.. |
<tt:assign ...> |
Zuweisung eines Werts an Daten. |
<tt:attribute ...> |
Definiert ein nicht-literales Attribut. |
<tt:call ...> |
Ruft ein ST-Programm auf. |
<tt:call-method ...> |
Ruft eine statische Methode oder eine Instanzmethode von ABAP Objects auf. |
<tt:cast ...> |
|
<tt:clear ...> |
Initialisierung von Daten. |
<tt:cond ...> |
Definiert eine bedingte Transformation. |
<tt:cond-var ...> |
Definiert eine Bedingung für Variablen. |
<tt:context ...> |
Definiert einen Kontext für lokale Datenwurzeln in Unter-Templates. |
<tt:copy ...> |
Transformiert beliebige Datenobjekte außer Referenzvariablen nach asXML. |
<tt:create-object ...> |
Erzeugt ein Objekt von ABAP Objects. |
<tt:d-cond ...> |
Definiert eine bedingte Transformation für die Deserialisierung. |
<tt:deserialize ...> |
Definiert die Richtung der Transformation. |
<tt:empty ...> |
Definiert ein leeres Muster. |
<... tt:extensible=″...″ ...> |
Steuert die Erweiterbarkeit von literalen XML-Elementen. |
<tt:front ...> |
Legt den Anfangsteil eines strukturierten Typs fest. |
<tt:group ...> |
Definiert eine Gruppierung von bedingten Transformationen. |
<tt:include ...> |
Bindet ein ST-Programm ein. |
<... tt:lax=″...″ ...> |
Steuert den Namensabgleich von literalen XML-Elementen. |
<tt:loop ...> |
Transformiert interne Tabellen. |
<tt:namespace ...> |
Deklariert einen Namensraum. |
<tt:node ...> |
Deklarierte eine Komponente eines Typs. |
<tt:parameter ...> |
Deklariert einen Parameter. |
<tt:read ...> |
|
<tt:ref ...> |
Setzt den aktuellen Knoten in eigenem Kontext.. |
<... tt:ref=″...″ ...> |
Setzt den aktuellen Knoten für ein literales XML-Element. |
<tt:root ...> |
Deklariert eine Datenwurzel. |
<tt:serialize ...> |
Definiert die Richtung der Transformation. |
<tt:s-cond ...> |
Definiert eine bedingte Transformation für die Serialisierung. |
<tt:skip ...> |
Überspringt XML-Elemente bei der Deserialisierung. |
<tt:switch ...> |
Definiert eine Fallunterscheidung zwischen bedingten Transformationen. |
<tt:switch-var ...> |
Definiert eine Fallunterscheidung für Variablen. |
<tt:template ...> |
Definiert ein Haupt-Template oder Unter-Templates. |
<tt:text ...> |
Kennzeichnet explizit literalen Text.. |
<tt:transform ...> |
Wurzelelement eines ST-Programms. |
<tt:type ...> |
Definiert einen Typ. |
<tt:value ...> |
Transformiert elementare Datenobjekte. |
<... tt:value-ref =″...″ ...> |
Kurzform zur Transformation elementarer Datenobjekte in literalen XML-Elementen. |
<tt:variable ...> |
Deklariert eine Variable. |
<tt:with-parameter ...> |
Übergibt Werte an aufgerufene ST-Programme, Unter-Templates und ABAP-Methoden. |
<tt:with-root ...> |
Übergibt Datenknoten an aufgerufene ST-Programme und Unter-Templates. |
<tt:write ...> |
Schreibt den Wert einer Variable nach XML. |