Manuel des Scripts Automation Engine > Organisation fonctionnelle > Lecture ou modification d'objets > XML_INSERT_BEFORE

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(élément parent, élément de référence, nom, valeur)

Élément de syntaxe

Description/format

Élément parent

Référence à l'élément où se trouve l'élément de référence.
Format : littéral de script ou variable de script

Élément de référence Référence à l'élément devant lequel le nouvel élément doit être inséré. Doit se trouver dans l'élément parent.
Format : littéral de script ou variable de script
Nom Nom du nouvel élément
Format : littéral de script ou variable de script 
Valeur 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 l'élément existant spécifié, dans le document XML ouvert (XML_OPEN). L'élément parent, l'élément de référence qu'il contient et le nom avec la valeur du nouvel élément doivent être spécifiés.

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 modifie la structure XML que 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.

Exemples

Dans l'exemple suivant, l'onglet Documentation est ouvert sous forme de document XML. Le nouvel élément ("New_Element") sera inséré avant le sous-élément ("SubChild2"), dans l'élément parent ("Child").

Tous les sous-éléments de l'élément parent s'afficheront ensuite et subiront un contrôle permettant de vérifier si l'élément a été inséré 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

 

Rubriques connexes :

Elément de script Description
XML_OPEN Ouvre un document XML en vue du traitement
:XML_CLOSE Ferme un document XML