DOM Create XML element arrays
DOM Create XML element arrays ( refElément ; xChemin {; tabNomsAttributs ; tabValeursAttributs} {; tabNomsAttributs2 ; tabValeursAttributs2 ; ... ; tabNomsAttributsN ; tabValeursAttributsN} ) -> Résultat
Paramètre | Type | Description | |
---|---|---|---|
refElément | Text | → | Référence d’élément XML racine |
xChemin | Text | → | Chemin XPath de l’élément XML à créer |
tabNomsAttributs | Text array | → | Tableau de noms d’attributs |
tabValeursAttributs | Text array | → | Tableau de valeurs d’attributs |
Résultat | Text | ← | Référence de l'élément XML créé |
Description
La commande DOM Create XML element arrays permet d’ajouter un nouvel élément dans l’élément XML refElément ainsi que, facultativement, des attributs et leurs valeurs sous forme de tableaux.
Hormis la prise en charge de tableaux (cf. ci-dessous), cette commande est identique à DOM Create XML element. Reportez-vous à la description de cette commande pour le détail de son fonctionnement.
Facultativement, la commande DOM Create XML element arrays permet de passer plusieurs couples d’attributs et de valeurs d’attributs sous forme de tableaux dans les paramètres tabNomsAttributs et tabValeursAttributs. Vous pouvez passer dans tabValeursAttributs des tableaux de type texte, date, numérique et image. 4D effectue automatiquement les conversions nécessaires, vous pouvez modifier ces conversions à l’aide de la commande XML SET OPTIONS.
Les tableaux doivent avoir été créés au préalable et fonctionner par paires. Vous pouvez passer autant de couples de tableaux et autant d’éléments dans chaque couple que vous voulez.
Exemple
Nous souhaitons créer l'élément suivant :
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
<Elem1>
<Elem2>
<Elem3 Font="Verdana" Size="10" Style="Bold"></Elem3>
</Elem2>
</Elem1>
</RootElement>
Pour cela, il suffit d'écrire :
ARRAY TEXT(tNomsAtt;3)
ARRAY TEXT(tValeursAtt;3)
tNomsAtt{1}:="Font"
tValeursAtt{1}:="Verdana"
tNomsAtt{2}:="Size"
tValeursAtt{2}:="10"
tNomsAtt{3}:="Style"
tValeursAtt{3}:="Bold"
vRefRacine:=DOM Create XML Ref("RootElement")
vxPath:="/RootElement/Elem1/Elem2/Elem3"
vRefElement:=DOM Create XML element arrays(vRefRacine;vxPath;tNomsAtt;tValeursAtt)