La norme XML en tant que telle doit être vue comme un outil permettant
de définir un langage (on dit alors qu'il s'agit d'un métalangage),
permettant de créer des documents structurés à l'aide de balises.
Une balise est une chaîne de caractère du type:
<balise>
Ainsi, un document XML, c'est-à-dire le fichier créé en suivant les
spécifications de la norme XML pourra par exemple ressembler à ceci:
<annuaire>
<personne class = "etudiant">
<nom>Pillou</nom>
<prenom>Jean-Francois</prenom>
<telephone>555-123456</telephone>
<email>webmaster@commentcamarche.net</email>
</personne>
<personne>
...
</personne>
</annuaire>
Enfin il est possible d'ajouter des commentaires dans le document XML de la manière suivante:
<!-- Voici des commentaires XML -->
En réalité un document XML est structuré en 3 parties:
La première partie, appelée prologue permet d'indiquer
la version de la norme XML utilisée pour créer le document (cette indication
est obligatoire) ainsi que le jeu de caractères (en anglais encoding)
utilisé dans le document (attribut facultatif, ici on spécifie qu'il s'agit du
jeu ISO-8859-1, jeu LATIN, pour permettre de prendre en compte les accents français). Ainsi le prologue est une ligne du type
<?xml version="1.0" encoding="ISO-8859-1"?>
Le prologue se poursuit avec des informations facultatives sur des instructions
de traitement à destination d'applications particulières. Leur syntaxe est la suivante:
<?instruction de traitement?>
Le second élément est une déclaration de type de document (à l'aide
d'un fichier annexe appelé DTD - Document Type Definition)
Et enfin la dernière composante d'un fichier XML est l'arbre des éléments
(comme celui ci-dessus).
L'arbre des éléments, c'est-à-dire le véritable contenu
du document XML, est constitué d'une hiérarchie de balises comportant
éventuellement des attributs.
Un attribut est une paire clé valeur écrit sous la forme Cle="Valeur",
ainsi une balise affectée d'un attribut aura la syntaxe suivante:
<balise cle="valeur">
Toute donnée est ainsi encapsulée entre une balise ouvrante <balise>
et une balise fermante </balise> (Sachant qu'une donnée peut éventuellement
être un ensemble d'éléments XML). Ainsi un élément vide est
uniquement constitué d'une balise spécifique dont la syntaxe est la suivante : <balise/>.
D'autre part, il est interdit en XML de faire chevaucher des balises, c'est-à-dire d'avoir
une succession de balises du type:
<balise1>
<balise2>
</balise1>
</balise2>
D'autre part, il est possible entre les balises (donc pas à l'intérieur d'une balise)
d'ajouter:
- des espaces
- des tabulations
- des retours chariots
Cela est très utile pour définir une indentation des balises (ce qui est possible
puisqu'elles ne se chevauchent pas).
<annuaire>
<personne class = "etudiant">
<nom>Pillou</nom>
<prenom>Jean-Francois</prenom>
<telephone>555-123456</telephone>
<email>webmaster@commentcamarche.net</email>
</personne>
</annuaire>
|