Le format XML

Le XML est un format standard du net, notamment pour les flux RSS[1] (contenu produit automatiquement en fonction des mises à jour d'un site Web).

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

Email

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.

1
<?xml version="1.0" encoding="UTF-8"?>
2
<liste>
3
	<personne>
4
		<Prenom>Robert</Prenom>
5
		<Nom>Lepingre</Nom>
6
		<Email>bobby@exemple.com</Email>
7
		<Age>41</Age>
8
		<Ville>Paris</Ville>
9
	</personne>
10
	<personne>
11
		<Prenom>Jeanne</Prenom>
12
		<Nom>Ducoux</Nom>
13
		<Email>jeanne@exemple.com</Email>
14
		<Age>32</Age>
15
		<Ville>Marseille</Ville>
16
	</personne>
17
	<personne>
18
		<Prenom>Pierre</Prenom>
19
		<Nom>Lenfant</Nom>
20
		<Email>pierre@exemple.com</Email>
21
		<Age>23</Age>
22
		<Ville>Rennes</Ville>
23
	</personne>
24
</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 '.

1
	<personne id="1">
2
		<Prenom>Robert</Prenom>
3
		<Nom>Lepingre</Nom>
4
		<Email>bobby@exemple.com</Email>
5
		<Age>41</Age>
6
		<Ville>Paris</Ville>
7
	</personne>