DOM Creer element XML

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 2004


DOM Creer element XML (refElément; xChemin{; nomAttribut; valeurAttribut}{; nomAttribut2; valeurAttribut2; ...; nomAttributN; valeurAttributN}) Chaîne

ParamètreTypeDescription
refElémentChaîneRéférence d'élément XML racine
xCheminTexteChemin XPath de l'élément XML à créer
nomAttributChaîneAttribut à définir
valeurAttributChaîneNouvelle valeur d'attribut
RésultatChaîneRéférence de l'élément XML créé

Description

La commande DOM Creer element XML permet de créer un nouvel élément dans l'élément XML refElément à l'emplacement du noeud désigné par le paramètre xChemin et de lui ajouter éventuellement des attributs.

Passez dans refElément la référence de l'élément racine (créé par exemple à l'aide de la commande DOM Creer ref XML).

Passez dans xChemin le chemin d'accès de l'élément à créer en notation XPath (cf. paragraphe "Utilisation de la notation XPath" dans la section Présentation des commandes XML). Si des éléments du chemin n'existent pas, ils sont créés.

Il est possible de passer directement dans xChemin un nom d'élément simple afin de créer un sous-élément à partir de l'élément courant (cf. exemple 3).

Note : Si vous avez défini un ou plusieurs espace(s) de nommage pour l'arbre désigné par refElément (cf. commande DOM Creer ref XML), vous devez préfixer le paramètre xChemin du nom de l'espace à utiliser (par exemple "MonNameSpace:MonElément").

Vous pouvez passer dans les paramètres facultatifs nomAttribut et valeurAttribut un couple attribut / valeur d'attribut (sous forme de variables, champs ou valeurs littérales). Vous pouvez passer autant de couples que vous voulez.

La commande retourne en résultat la référence XML de l'élément créé.

Exemples

(1) Nous souhaitons créer l'élément suivant :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3> </Elem3>
         <Elem3> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

Pour cela, il suffit d'écrire :

   C_ALPHA(16;vRefRacine;vRefElement)
   vRefRacine:=DOM Creer ref XML("RootElement") 
   vxPath:="/RootElement/Elem1/Elem2/Elem3"
   vRefElement:=DOM Creer element XML(vRefRacine;vxPath) 
   vxPath:="/RootElement/Elem1/Elem2/Elem3[2]"
   vRefElement:=DOM Creer element XML(vRefRacine;vxPath) 

(2) Nous souhaitons créer l'élément suivant (comportant des attributs) :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3 Font=Verdana  Size=10> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

Pour cela, il suffit d'écrire :

   C_ALPHA(16;vRefRacine;vRefElement)
   C_ALPHA(80;$aAttrNom1;$aAttrNom2;$aAttrVal1;$aAttrVal2)
   $aAttrNom1:="Font"
   $aAttrNom2:="Size"
   $aAttrVal1:="Verdana"
   $aAttrVal2:="10"

   vRefRacine:=DOM Creer ref XML("RootElement") 
   vxPath:="/RootElement/Elem1/Elem2/Elem3"
   vRefElement:=DOM Creer element XML(vRefRacine;vxPath;$aAttrNom1;$aAttrVal1;$aAttrNom2;$aAttrVal2)

(3) Nous souhaitons créer et exporter la structure suivante :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Racine>
   <Elem1>Hello</Elem1>
</Racine>

Nous souhaitons utiliser la syntaxe basée sur un nom d'élément simple. Pour cela, il suffit d'écrire :

   C_ALPHA(16;$root)
   C_ALPHA(16;$ref1)

   $root:=DOM Creer ref XML("Racine")
   $ref1:=DOM Creer element XML($root;"Elem1")
   DOM ECRIRE VALEUR ELEMENT XML($ref1;"Hello")
   DOM EXPORTER VERS FICHIER($root;"mondoc.xml")
   DOM FERMER XML($root)

Référence

DOM Lire element XML, DOM SUPPRIMER ELEMENT XML.

Variables et ensembles système

Si la commande a été exécutée correctement, la variable système OK prend la valeur 1, sinon elle prend la valeur 0 et une erreur est générée.

Gestion des erreurs

Une erreur est générée lorsque :

la référence de l'élément racine n'est pas valide

le nom de l'élément à créer n'est pas valide (par exemple, s'il débute par un chiffre).


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant