jeudi 6 novembre 2014

Le XML c'est simple, ou pas!

Schéma XML

Décoder un fichier XML. Comment est-il formaté, quelles sont les syntaxes et les symboles qui le compose.

La cabalistique

Enfin un langage simple. Simple car il n'y a que très peu de symboles à connaitre avant de vous lancer dans la création de petits fichiers. En début de semaine grâce à Taylan, vous avez découvert les fondements du XPATH (permet d'effectuer des requêtes dans un fichier XML). Dans cet article nous allons approfondir l'architecture d'un XML. Mais avant tout, un peu de vocabulaire.
Comme l’a expliqué Giuseppe dans sa dernière publication, il s’agit d’un langage normalisé. Seule une toute petite quantité de caractères sont exploitées.
<    </    >    "    ‘    =    <!--    -->
Dans la figure ci-dessous une mise en évidence des différents symboles.

Vocabulaire et stucture (Source : Exercice XML, HEVS-FIG, prof. Anne Le Calve)
Ce qu'il faut retenir. Les racines, les balises, les attributs... La manière dont vous les nommez est totalement "libre". En effet ce qui compte dans un premier temps c'est l'architecture. Ci-dessous une autre manière de représenter la structure (arbre hiérarchique). Cela permet également de se familiariser avec la notion de niveau. Élément essentiel dans la compréhension du Xpath.

Affichage hiérarchique (source : le-pape.blogspot.com)


Structurer

L'objectif majeur du fichier XML c'est qu'il est particulièrement universel. Alors, si celui-ci est mal formaté cet intérêt disparaîtra aussitôt. Prenons l'exemple d'un carnet d'adresses, il y a plusieurs méthodes pour l’écrire au format XML.
Exemple A :                                                                Exemple B :
Structurer un xml (source le-pape.blogspot.com)
On comprend assez vite que l'exemple "A" permet une plus grande souplesse. Il sera possible de créer autant d'adresses "type" que désiré. Notez la balise <Adresses> avec un "s" qui contiendra toutes les balises enfants <Adresse>.

Les règles à retenir

  1. Un fichier xml doit contenir une seule balise racine.
  2. Une balise ouverte <balise> doit toujours être fermée </balise>
  3. Si une balise est vide, c'est-à-dire qui ne contient pas de texte, peut-être auto-fermante <balise/>
  4. Pas de balise imbriquée, par exemple <Adresse>Chemin de l'école<CP>1923</Adresse></CP>
  5. Par convention on privilégie les minuscules pour les noms de balises et des attributs.