Le format XML
Définition :
XML est le sigle de eXtensible Markup Language est un format basé sur l'utilisation de balises pour structurer les données.
Les balises sont utilisées pour encadrer un contenu : il y a une balise ouvrante et une balise fermante. Le format d'un fichier XML est facilement lisible par un humain et compréhensible.
C'est un langage extensible :
selon ses besoins, on peut définir et utiliser les étiquettes que l'on souhaite ;
une fois qu'un jeu d'étiquettes est défini, même par quelqu'un d'autre, on peut l'étendre en y ajoutant ses propres créations.
Version tableau :
Prenom | Nom | Age | Ville | |
Robert | Lepingre | bobby@exemple.com | 41 | Paris |
Jeanne | Ducoux | jeanne@exemple.com | 32 | Marseille |
Pierre | Lenfant | pierre@exemple.com | 23 | Rennes |
Version XML :
La première ligne du document XML est une déclaration, elle commence par un \(<?\) et se termine par un \(?>\). Elle signifie simplement que le XML contenu dans ce fichier correspond à la version \(1.0\) de la norme W3C[2], et que le fichier est encodé avec le jeu de caractères UTF-8.
<liste>
<personne>
<Prenom>Robert</Prenom>
<Nom>Lepingre</Nom>
<Email>bobby@exemple.com</Email>
<Age>41</Age>
<Ville>Paris</Ville>
</personne>
<personne>
<Prenom>Jeanne</Prenom>
<Nom>Ducoux</Nom>
<Email>jeanne@exemple.com</Email>
<Age>32</Age>
<Ville>Marseille</Ville>
</personne>
<personne>
<Prenom>Pierre</Prenom>
<Nom>Lenfant</Nom>
<Email>pierre@exemple.com</Email>
<Age>23</Age>
<Ville>Rennes</Ville>
</personne>
</liste>
La structure de base d'un fichier XML – on parlera d'ailleurs plutôt de « document » XML – est assez simple, et très précise.
Un document est composé d'éléments ( le XML est une évolution du HTML, il est donc logique d'y retrouver le même genre d'éléments) représentés sous la forme d'une arborescence avec une racine (unique), des branches et des feuilles.
Un élément XML est composé d'une balise ouvrante : \(<Email>\), d'un contenu, et d'une balise fermante \(</Email>\). Un élément peut ne pas avoir de contenu, auquel cas on peut utiliser une notation contractée : \(<Email/>\).
Attention :
Un élément peut contenir un ou plusieurs sous-éléments, comme c'est le cas sur notre exemple. En revanche, deux éléments ne peuvent pas se chevaucher : il n'est pas possible d'avoir deux balises ouvrantes à la suite, puis la balise fermante de la première balise, suivie de la balise fermante de la deuxième.
La première règle de validité d'un document XML, est qu'il ne doit posséder qu'un seul nœud racine. Dans notre exemple, il ne serait pas possible d'ajouter un deuxième nœud liste à la suite du premier. Notre document posséderait alors deux nœuds racine, ce qui est illégal. Si on ose faire un lien avec le HTML, votre élément racine était <body> ... </body>.
Remarque :
Il est possible de créer des attributs sur un élément. Il n'y a pas de limite au nombre d'attributs que l'on peut mettre dans un élément. Un attribut possède un nom et une valeur.
Exemple : l'attribut \(id\) pour l'élément personne.
La valeur d'un attribut est nécessairement rangée entre guillemet double ", à la différence du HTML où l'on peut aussi utiliser le guillemet simple '.
<personne id="1">
<Prenom>Robert</Prenom>
<Nom>Lepingre</Nom>
<Email>bobby@exemple.com</Email>
<Age>41</Age>
<Ville>Paris</Ville>
</personne>