Show TOC Anfang des Inhaltsbereichs

Syntaxdokumentation Adressierung von Unterknoten  Dokument im Navigationsbaum lokalisieren

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

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

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

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.

Beispiel

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

 

<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">

  <tt:root name="ROOT"/>

  <tt:template>
    <X>
      <X1>
        <tt:value ref="ROOT.COL1" />
      </X1>
      <X2>
        <tt:value ref="ROOT.COL2" />
      </X2>
      <X3>
        <X1>
          <tt:value ref="ROOT.STRUC2.COL1" />
        </X1>
        <X2>
          <tt:value ref="ROOT.STRUC2.COL2" />
        </X2>
      </X3>
    </X>
  </tt:template>

</tt:transform>

 

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.

 

Ende des Inhaltsbereichs