XML_INSERT_BEFORE

Script-Funktion: Erstellt ein neues XML-Element und fügt dieses vor einem anderen Element ein.

Syntax

XML_INSERT_BEFORE (Parent element, Reference element, Name, Value)

Syntaxteil

Beschreibung/Format

Parent element

Verweis auf das Element, in dem sich das Verweiselement befindet.
Format: Script-Literal oder Script-Variable

Reference element Verweis auf das Element, vor dem das neue Element eingefügt werden soll. Muss sich innerhalb des Parent-Elements befinden.
Format: Script-Literal oder Script-Variable
Name Name des neuen Elements
Format: Script-Literal oder Script-Variable
Value Wert des neuen Elements
Format: Script-Literal oder Script-Variable

Rückgabewert

Verweis auf das neue Element.

Hinweise:

Das Scriptelement fügt ein neues Element vor einem angegebenen bestehenden Element innerhalb des geöffneten XML-Dokuments ein (XML_OPEN). Das Parent-Element, das darin enthaltene Verweiselement und der Name mit dem Wert des neuen Elements müssen angegeben werden.

Das eingegebene Verweiselement muss sich auf ein direktes Subelement des Parent-Elements beziehen. Andernfalls kommt es beim Ausführen des Scriptelements zu einem Laufzeitfehler.

Das Scriptelement ändert nur die XML-Struktur im Speicher. Der Inhalt der Registerkarte Dokumentation ist davon nicht betroffen.

Bitte beachten Sie, dass Leerzeichen im Elementnamen nicht erlaubt sind und zu einem Laufzeitfehler führen.

Beispiel

Das folgende Beispiel öffnet die Registerkarte Strukturierte Dokumentation als XML-Dokument. Das neue Element 'New_Element' wird vor dem Subelement 'SubChild2' innerhalb des übergeordneten Elements 'Child' eingefügt.

Anschließend werden alle Subelemente des übergeordneten Elements ausgegeben und daraufhin überprüft, ob das Element erfolgreich eingefügt wurde.

:SET &XMLDOCU#=XML_OPEN(DOCU,,"@Details")

:IF &XMLDOCU# <>
""
:SET &PARENT# = XML_SELECT_NODE(&XMLDOCU#,"Child")
:SET &REF# = XML_SELECT_NODE(&XMLDOCU#,"Child/SubChild2")

:SET &NEW# = XML_INSERT_BEFORE(&PARENT#,&REF#,"New_Element","Test")

:SET &ELEMENT# = XML_GET_FIRST_CHILD(&PARENT#)

:WHILE &ELEMENT# <> ""
: SET &NAME# = XML_GET_NODE_NAME(&ELEMENT#)
: P 'Element: &NAME#'
: SET &ELEMENT# = XML_GET_NEXTSIBLING(&ELEMENT#)
:ENDWHILE

:ENDIF



:XML_CLOSE &XMLDOCU#

Ergebnis im Aktivierungsprotokoll:

2013-08-14 13:32:27 – U0020408 Element: SubChild1
2013-08-14 13:32:27 – U0020408 Element: New_Element
2013-08-14 13:32:27 – U0020408 Element: SubChild2

Siehe auch:

auch

Script-Funktionen für XML-Elemente