XML DOM
Présentation des commandes XML DOM
Voir la section XML, DOM et SAX pour une définition de XML DOM.
Créer, ouvrir et fermer des documents XML via DOM
Les objets créés, modifiés ou analysés par les commandes DOM de 4D peuvent être des textes, des URLs, des documents ou des BLOBs. Les commandes DOM utilisées pour ouvrir les objets XML dans 4D sont DOM Parse XML source et DOM Parse XML variable.
De nombreuses commandes permettent ensuite de lire, d'analyser et d'écrire les éléments et les attributs. Les erreurs sont récupérées à l'aide de la commande XML GET ERROR. N'oubliez pas d'appeler la commande DOM CLOSE XML pour fermer la source à la fin.
Note sur l'usage de paramètres BLOBs XML : Pour des raisons historiques, les commandes XML telles que DOM Parse XML variable acceptent les paramètres de type BLOB. Cependant, il est fortement recommandé de stocker les structures XML sous forme de texte. L'utilisation des BLOBs est réservée au traitement des données binaires. Conformément aux spécifications XML, les données binaires sont automatiquement encodées en Base64, même si le BLOB contient du texte.
Prise en charge de la notation XPath
Plusieurs commandes XML DOM (DOM Create XML element, DOM Find XML element, DOM Create XML element arrays et DOM SET XML ELEMENT VALUE) prennent en charge certaines expressions XPath pour accéder aux éléments XML.
La notation XPath provient du langage XPath, conçu pour naviguer dans les structures XML. Elle permet de définir des éléments directement dans une structure XML via une syntaxe de type "pathname", sans qu'il soit nécessaire d'indiquer le chemin complet pour y accéder.
Soit par exemple la structure suivante :
<RootElement>
<Elem1>
<Elem2>
<Elem3 Font=Verdana Size=10> </Elem3>
</Elem2>
</Elem1>
</RootElement>
La notation XPath vous permet d'accéder à l'élément 3 en utilisant la syntaxe /RootElement/Elem1/Elem2/Elem3.
4D accepte également les éléments XPath indexés à l'aide de la syntaxe Element[ElementNum]. Soit par exemple la structure suivante :
<RootElement>
<Elem1>
<Elem2>aaa</Elem2>
<Elem2>bbb</Elem2>
<Elem2>ccc</Elem2>
</Elem1>
</RootElement>
La notation XPath vous permet d'accéder à la valeur "ccc" en utilisant la syntaxe /RootElement/Elem1/Elem2[3].
Pour une liste complète des expressions XPath prises en charge, se référer à la description de la commande DOM Find XML element.
À partir de 4D 18 R3, la mise en œuvre de XPath a été modifiée pour être plus conforme et pour prendre en charge un plus grand nombre d'expressions. Si vous souhaitez bénéficier des fonctionnalités étendues dans vos bases de données converties, vous devez sélectionner l'option Utiliser XPath standard de la page de compatibilité.
Gestion des erreurs
De nombreuses fonctions de ce thème renvoient une référence à un élément XML. Si une erreur se produit pendant l'exécution de la fonction (par exemple, si la référence à l'élément racine n'est pas valide), la variable OK est mise à 0 et une erreur est générée.
En outre, la référence renvoyée dans ce cas est une séquence de 32 caractères zéro "0".