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, Referenzelement, Name, Wert)
Syntaxteil |
Beschreibung/Format |
---|---|
Parent-Element |
Verweis auf das Element, in dem sich das Referenzelement befindet. |
Referenzelement | 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 |
Wert | Wert des neuen Elements Format: Script-Literal oder Script-Variable |
Rückgabewert |
---|
Verweis auf das neue Element. |
Das Script-Element fügt ein neues Element vor einem angegebenen bestehenden Element innerhalb des geöffneten XML-Dokuments ein. Geben Sie das Parent-Element an, das darin enthaltene Referenzelement und den Namen zusammen mit dem Wert des neuen Elements.
Wichtig!
- Das eingegebene Referenzelement muss sich auf ein direktes Unterelement des Parent-Elements beziehen. Andernfalls kommt es beim Ausführen des Script-Elements zu einem Laufzeitfehler.
- Leerzeichen sind im Elementnamen nicht erlaubt und führen zu einem Laufzeitfehler.
Hinweise:
- Die XML-Struktur wird nur im Speicher geändert. Das Script-Element hat keinen Einfluss auf die Registerkarte "Dokumentation".
- Verwenden Sie die Script-Funktion XML_OPEN, um das XML-Dokument zu öffnen. Weitere Informationen finden Sie unter XML_OPEN.
Beispiel
Das folgende Beispiel öffnet die Registerkarte Strukturierte Dokumentation als XML-Dokument. Das neue Element 'Neues_Element' wird vor dem Unterelement 'SubChild2' innerhalb des Parent-Elements 'Child' eingefügt.
Anschließend werden alle Unterelemente des Parent-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#,"Neues_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: Neues_Element
2013-08-14 13:32:27 – U0020408 Element: SubChild2
Siehe auch: