Show TOC

Dokumentation zur SyntaxAdressierung von Unterknoten Dieses Dokument in der Navigationsstruktur finden

Bei der Adressierung von Unterknoten muss zwischen undefiniertem und definiertem aktuellen Knoten unterschieden werden.

Unterknoten bei undefiniertem aktuellen Knoten

Wenn der aktuelle Knoten undefiniert ist, sind die Unterknoten der Datenwurzeln des Templates wie folgt adressierbar:

"name.node1.node2. ... .noden"

Dabei ist "name" der symbolische Name einer Datenwurzel und "node1" bis "noden" sind die tatsächlichen Namen von Komponenten der Hierarchiestufen 1 bis n. Bei Ausführung der Transformation muss das an die Datenwurzel angebundene ABAP-Datenobjekt einen strukturierten Typ mit den entsprechenden Komponenten haben.

Hinweis Hinweis

Bei undefiniertem aktuellen Knoten wird der erste Name einer Kette immer als Name einer Datenwurzel interpretiert. Insbesondere bezeichnet "name" die Datenwurzel selbst.

Ende des Hinweises.
Unterknoten bei definiertem aktuellen Knoten
  • Die Unterknoten des aktuellen Knotens sind wie folgt adressierbar:

    "node1.node2. ... .noden"

    oder

    Dabei sind "node1" bis "noden" die tatsächlichen Namen von Komponenten der Hierarchiestufen 1 bis n unterhalb des aktuellen Knotens. Bei definiertem aktuellen Knoten wird der erste Name einer Kette immer als Name einer Komponente des aktuellen Knotens interpretiert. Obige Kette ist deshalb gleichbedeutend zu

    "$ref.node1.node2. ... .noden"

    wobei $ref den aktuellen Knoten bezeichnet.

  • Die Unterknoten der Datenwurzeln des Templates sind wie folgt adressierbar:

    ".name.node1.node2. ... .noden"

    Dabei ist "name" der symbolische Name einer Datenwurzel und "node1" bis "noden" sind die tatsächlichen Namen von Komponenten der Hierarchiestufen 1 bis n. Der Punkt "." umgeht die Verschattung durch den aktuellen Knoten.

Bei Ausführung der Transformation muss das an den aktuellen Knoten bzw. die Datenwurzel angebundene ABAP-Datenobjekt einen strukturierten Typ mit den entsprechenden Komponenten haben.

Hinweis Hinweis

Bei definiertem Knoten wird der erste Name einer Kette immer als Name einer Unterkomponente des aktuellen Knotens interpretiert. Insbesondere bezeichnet "node" keine Datenwurzel, sondern eine direkte Unterkomponente des aktuellen Knotens.

Ende des Hinweises.
Beispiel

Das folgende ST-Programm ist geeignet, eine geschachtelte ABAP-Struktur zu serialisieren.

Syntax Syntax

  1. <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
  2.   <tt:root name="ROOT"/>
  3.   <tt:template>
  4.     <X>
  5.       <X1>
  6.         <tt:value ref="ROOT.COL1" />
  7.       </X1>
  8.       <X2>
  9.         <tt:value ref="ROOT.COL2" />
  10.       </X2>
  11.       <X3>
  12.         <X1>
  13.           <tt:value ref="ROOT.STRUC2.COL1" />
  14.         </X1>
  15.         <X2>
  16.           <tt:value ref="ROOT.STRUC2.COL2" />
  17.         </X2>
  18.       </X3>
  19.     </X>
  20.   </tt:template>
  21. </tt:transform>
Ende des Codes

Der aktuelle Knoten wird für jeden tt:value-Befehl einzeln auf einen Unterknoten der Datenwurzel gesetzt. Ansonsten ist der aktuelle Knoten undefniert und die Datenwurzel ROOT kann über "ROOT" angesprochen werden.

Siehe das Beispiel im Abschnitt Strukturen für einen Aufruf der Transformation.