Der folgende Befehl erlaubt es, XML-Elemente bei der Deserialisierung zu überspringen.
<tt:skip [name="name"] [count="cnt"]/>
Der Befehl tt:skip kann an beliebiger Stelle eines Templates stehen.
Bei der Serialisierung hat tt:skip keine Wirkung.
Bei der Deserialisierung hat tt:skip folgende Wirkung:
Der tt:skip-Befehl wird bei der Deserialisierung beim Abgleich des Templates mit der Struktur des XML-Eingangsstroms so abgeglichen, als ob an seiner Stelle die übersprungenen Elemente aufgeführt sind. D.h. ein tt:skip-Befehl mit dem Attribut name ist nur korrekt, wenn an dieser Stelle des XML-Eingangsstroms auch entsprechend viel Elemente des angegebenen Namens stehen und das nach einem tt:skip-Befehl aufgeführte Element des Templates muss zu dem Element des XML-Dokuments passen, das den übersprungenen Elementen folgt.
In der folgenden Simple Transformation ist das Template in Teile für Serialisierung und Deserialisierung aufgeteilt. Bei der Deserialisierung werden die ersten zwei X1-Elemente, alle X2-Elemente hinter dem ersten X2-Element und das Y-Element inklusive seiner Unterelemente übersprungen.
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
<tt:root name="ROOT"/>
<tt:template>
<struc
tt:ref="ROOT">
<tt:serialize>
<X1><tt:value ref="COL0" /></X1>
<X1><tt:value ref="COL1" /></X1>
<X1><tt:value ref="COL2" /></X1>
<X2><tt:value ref="COL3" /></X2>
<X2><tt:value ref="COL4" /></X2>
<X2><tt:value ref="COL5" /></X2>
<Y>
<X3><tt:value ref="COL6" /></X3>
<X3><tt:value ref="COL7" /></X3>
<X3><tt:value ref="COL8" /></X3>
</Y>
<X4><tt:value ref="COL9" /></X4>
</tt:serialize>
<tt:deserialize>
<tt:skip name="X1" count="2" />
<X1><tt:value
ref="COMPA" /></X1>
<X2><tt:value ref="COMPB" /></X2>
<tt:skip name="X2" count="*" />
<tt:skip name="Y" count="1" />
<X4><tt:value ref="COMPC" /></X4>
<tt:skip />
</tt:deserialize>
</struc>
</tt:template>
</tt:transform>
Das folgende ABAP-Programm kann die Transformation aufrufen:
DATA xml_string TYPE string.
DATA: BEGIN OF
struc,
col0 TYPE i VALUE 0,
col1 TYPE i VALUE 1,
col2 TYPE i VALUE 2,
col3 TYPE i VALUE 3,
col4 TYPE i VALUE 4,
col5 TYPE i VALUE 5,
col6 TYPE i VALUE 6,
col7 TYPE i VALUE 7,
col8 TYPE i VALUE 8,
col9 TYPE i VALUE 9,
END OF
struc.
DATA: BEGIN OF
result,
compa TYPE i,
compb TYPE i,
compc TYPE i,
END OF
result.
CALL TRANSFORMATION
...
SOURCE root = struc
RESULT XML
xml_string.
CALL TRANSFORMATION
...
SOURCE XML xml_string
RESULT root =
result.
Nach der Deserialisierung enthalten die Komponenten von result die Werte der dritten, vierten und zehnten Komponente von struc.