XML_INSERT_BEFORE
Fonction de script : Crée un nouvel élément XML et l'insère devant un autre élément.
Syntaxe
XML_INSERT_BEFORE (parent element, Reference element, Name, Value)
Elément de syntaxe |
Description / format |
---|---|
Parent element |
Élément où se trouve l'élément de référence. |
Reference element | Élément devant lequel le nouvel élément doit être inséré. Il doit se trouver dans l'élément parent. Format : littéral de script ou variable de script |
Name | Nom du nouvel élément Format : littéral de script ou variable de script |
Value | Valeur du nouvel élément Format : littéral de script ou variable de script |
Code retour |
---|
Référence au nouvel élément. |
Remarques :
L'élément de script insère un nouvel élément devant un élément existant spécifié dans le document XML ouvert (XML_OPEN). Il faut spécifier l'élément parent, l'élément de référence qu'il contient et le nom ainsi que la valeur du nouvel élément.
L'élément de référence saisi doit se référer à un sous-élément direct de l'élément parent. Sinon, une erreur d'exécution se produit à l'exécution de l'élément de script.
L'élément de script ne fait que modifier la structure XML dans la mémoire. Le contenu de l'onglet Documentation n'est pas affecté.
Notez que les espaces ne sont pas autorisés dans le nom de l'élément et provoquent une erreur d'exécution.
Exemple
L'exemple suivant illustre l'ouverture d'un onglet Documentation structurée en tant que document XML. Le nouvel élément "New_Element" est inséré devant le sous-élément "SubChild2" dans l'élément "Child".
Tous les sous-éléments de l'élément parent s'affichent ensuite pour vérifier qu'ils ont été insérés avec succès.
: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#
Résultat dans le rapport d'activation :
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
Voir aussi :