Présentation des commandes 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.1 (Modifiée)


4e Dimension inclut un ensemble de commandes permettant d'écrire et d'analyser des objets contenant des données XML (eXtensible Markup Language).

A propos du langage XML


Le langage XML est une norme d'échange de données. Il est basé sur l'emploi de balises permettant de décrire de manière précise les données échangées ainsi que leur structure. Les fichiers XML sont des fichiers au format Texte, leur contenu est analysé (parsing) par les applications qui importent les données. Aujourd'hui, de nombreuses applications prennent en charge ce format.

Pour plus d'informations sur le XML, reportez-vous, par exemple, au site http://xmlfr.org.

Pour la prise en charge du XML, 4e Dimension utilise une librairie nommée Xerces.dll développée par la société Apache Foundation. 4e Dimension prend en charge XML version 1.0.

Note : 4e Dimension permet également d'importer et d'exporter directement des données au format XML à l'aide de l'éditeur d'import/export standard.

Commandes DOM et commandes SAX


4e Dimension propose deux ensembles distincts de commandes XML, préfixées DOM et SAX.

Que sont DOM et SAX ?

DOM (Document Object Model) et SAX (Simple API XML) sont deux modes d'analyse différents des documents XML.

Le mode DOM effectue l'analyse d'une source XML et construit sa structure (son "arbre") en mémoire. De ce fait, l'accès à chaque élément de la source est extrêmement rapide. Cependant, la totalité de l'arbre étant contenu dans la mémoire, le traitement de gros documents XML peut dépasser la capacité de la mémoire et provoquer des erreurs.

Le mode SAX ne construit pas d'arbre en mémoire. Dans ce mode, des "événements" (tels que le début et la fin d'un élément) sont générés lors de l'analyse de la source. Ce mode autorise l'analyse de documents XML de toute taille, quelle que soit la quantité de mémoire disponible.

Pour plus d'informations sur les standards XML, vous pouvez consulter les sites http://www.saxproject.org/?selected=event et http://www.w3schools.com/xml/.

Création, ouverture et fermeture 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 l'ouverture des objets XML dans 4e Dimension sont DOM Analyser source XML et DOM Analyser variable XML.

De nombreuses commandes permettent ensuite de lire, d'analyser et d'écrire les éléments et les attributs. La récupération des erreurs s'effectue via la commande LIRE ERREUR XML (commune aux deux standards XML).

La commande DOM FERMER XML permet de finalement refermer la source.

Création, ouverture et fermeture des documents XML via SAX

Les commandes SAX travaillent avec des références de documents standard de 4e Dimension (DocRef, référence de type Heure). Il est donc possible d'utiliser ces commandes conjointement avec les commandes 4D permettant de gérer les documents, par exemple ENVOYER PAQUET ou Ajouter a document.

La création et l'ouverture par programmation de documents XML est effectuée via les commandes Creer document et Ouvrir document. Par la suite, l'utilisation d'une commande XML avec ces documents provoquera la mise en oeuvre automatique des mécanismes XML tels que l'encodage. Par exemple, l'en-tête <?xml version="1.0" encoding="… encodage …" standalone = "no "?> sera automatiquement écrit dans le document.

Note : Les documents destinés à la lecture SAX doivent impérativement être ouverts en mode "lecture seule" par la commande Ouvrir document. Ce principe est destiné à prévenir les conflits pouvant survenir entre 4e Dimension et la librairie Xerces lors de l'ouverture simultanée de documents "standard" et de documents XML. Si vous exécutez une commande d'analyse SAX avec un document ouvert en lecture-écriture, un message d'alerte est affiché et l'analyse est impossible.

La fermeture d'un document XML doit être effectuée à l'aide de la commande FERMER DOCUMENT. Si des éléments XML étaient ouverts, ils sont automatiquement refermés.

Utilisation de la notation XPath (DOM)


Trois commandes DOM (DOM Creer element XML, DOM Chercher element XML et DOM ECRIRE VALEUR ELEMENT XML) acceptent la notation XPath pour l'accès aux éléments XML.

La notation XPath est issue du langage XPath, consacré à la navigation à l'intérieur des structures XML. Elle permet de désigner directement des éléments au sein d'une structure XML via une syntaxe du type "chemin d'accès", sans devoir nécessairement indiquer le chemin complet pour y parvenir. Soit par exemple la structure suivante :

   <RootElement>
      <Elem1>
         <Elem2>
            <Elem3 Font=Verdana  Size=10> </Elem3>
         </Elem2>
      </Elem1>
   </RootElement>

La notation XPath permet d'accéder à l'élément 3 via la syntaxe /RootElement/Elem1/Elem2/Elem3.

4e Dimension accepte également les éléments XPath indexés, avec la syntaxe Elément[NumElément]. Soit par exemple la structure suivante :

   <RootElement>
      <Elem1>
         <Elem2>aaa</Elem2>
         <Elem2>bbb</Elem2>
         <Elem2>ccc</Elem2>
      </Elem1>
   </RootElement>

La notation XPath permet d'accéder à la valeur "ccc" via la syntaxe /RootElement/Elem1/Elem2[3].

Pour une illustration de la notation XPath, reportez-vous aux exemples des commandes DOM Creer element XML et DOM Chercher element XML.

Prise en charge des transformations XSL


4e Dimension prend en charge l'application de feuilles de style XSL (eXtended Stylesheet Language). Le langage XSL permet de modifier le balisage d'un document XML.

Le langage XSL comporte deux facettes :

le formatage : il permet d'appliquer des règles de style et d'affichage pour les éléments XML, un peu à l'image des CSS (Cascading StyleSheet) du langage HTML.

la transformation : il permet de transformer un balisage XML en un autre système de balisage, par exemple en HTML. Cette fonction de transformation est plus spécifiquement appelée XSLT. Une feuille de style XSL peut entièrement réorganiser les éléments XML d'un document en les sélectionnant puis en les transformant en d'autres éléments. Cette fonction est utile par exemple pour harmoniser un ensemble de documents XML disparates.

Note : 4e Dimension utilise la librairie Xalan-C_1_6_0.dll pour la réalisation des transformations XSL. Xalan est un processeur XSLT du domaine public. Pour plus d'informations, reportez-vous à l'adresse http://xml.apache.org/xalan-c/index.html.

Les feuilles de style XSL sont des documents texte (extension ".xsl") générés manuellement ou à l'aide d'applications spécialisées. Le langage XSL comporte divers éléments et fonctions permettant d'effectuer tout type de transformation dynamique. Pour plus d'informations sur ce langage, reportez-vous au site http://xmlfr.org (par exemple).

4e Dimension vous permet de transformer un document XML à l'aide d'une feuille de style XSL existante (commande APPLIQUER TRANSFORMATION XSLT). En outre, 4e Dimension vous permet de modifier à la volée des paramètres de la feuille de style XSL via la commande FIXER PARAMETRE XSLT.

Note : Une option de la boîte de dialogue d'exportation permet également d'utiliser une feuille de style XSL lors d'un export XML et donc de générer un document XML transformé.

Terminologie


Le langage XML utilise de nombreux termes et acronymes spécifiques. Cette liste non exhaustive explicite les principales notions XML utilisées par les commandes et fonctions de 4e Dimension.

Attribut : Sous-balise XML associée à un élément. Un attribut comporte toujours un nom et une valeur (cf. schéma ci-dessous).

Bien formé : Un document XML est déclaré "bien formé" par l'analyseur XML lorsqu'il est conforme aux spécifications XML génériques. Voir aussi Validation.

DTD : Document Type Declaration (Déclaration de type de document). La DTD recense l'ensemble des règles et des propriétés spécifiques que doit suivre un document XML. Ces règles définissent notamment le nom et le contenu de chaque balise ainsi que leur contexte. Cette formalisation des éléments permet de vérifier qu'un document XML est conforme (dans ce cas il est déclaré "valide").

La DTD peut être incluse dans le document XML (DTD interne) ou dans un document tiers (DTD externe). A noter que la DTD n'est pas obligatoire.

Elément : Balise XML. Un élément comporte toujours un nom et une valeur. Facultativement, un élément peut contenir des attributs (cf. schéma).

Enfant : Dans une structure XML, élément d'un niveau directement inférieur à un autre.

Frère : Dans une structure XML, élément du même niveau qu'un autre.

Parent : Dans une structure XML, élément d'un niveau directement supérieur à un autre.

Parsing, parser (Analyser, analyseur) : Action d'analyser le contenu d'un objet structuré afin d'en extraire les informations utiles. Les commandes du thème "XML" permettent d'analyser le contenu de tout objet XML.

Racine (Root) : Elément situé au premier niveau d'une structure XML.

RefElément : Référence XML utilisée par les commandes XML de 4D pour désigner une structure XML (documents ou élément). Cette référence est constituée de 8 caractères codés sous forme hexadécimale, ce qui signifie qu'elle est composée de 16 caractères.

Structure XML : objet XML structuré. Cet objet peut être un document, une variable, un élément.

Validation : Un document XML est "validé" par l'analyseur XML lorsqu'il est "bien formé" et conforme aux spécifications de la DTD. Voir aussi Bien formé.

XML : eXtensible Markup Language (Langage balisé évolutif). Norme d'échange de données informatisées permettant de transférer des données ainsi que leur structure. Le langage XML est basé sur l'emploi de balises et d'une syntaxe spécifiques, à l'instar du langage HTML. Toutefois, à la différence de ce dernier, le langage XML permet de définir des balises personnalisées.

XSL : eXtensible Stylesheet Language (Langage des feuilles de style évolutif). Langage permettant de définir des feuilles de style utilisables pour traiter et afficher le contenu d'un document XSL.


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