L’en-tête : le prologue
Il s’agit de la première ligne d’un document XML servant à donner les caractéristiques globales du document, c’est-à-dire :
• La version XML, soit 1.0 ou 1.1, sachant que la très grande majorité des documents sont en version 1.0 et que la version 1.1 est assez décriée
• Le jeu de caractères employé (encoding). Pour fonctionner, le parseur va avoir besoin de distinguer le rôle de chaque caractère, certains étant réservés à la syntaxe et d’autres représentant des données. Pour dé?nir un jeu de caractères, XML s’appuie sur des standards ISO et Unicode (voir http://www.unicode.org/). Notre standard Europe de l’ouest (ou iso-latin) est quali?é par ISO-8859-1. Lorsque l’encodage n’est pas précisé, c’est le standard UTF-8 qui est employé (avantage d’une compatibilité ANSI).

Les nœuds élément
Les éléments gèrent la structuration des données d’un document XML, un peu à la manière des répertoires qui servent à l’organisation des fichiers. On peut les quali?er de métadonnés, au sens où ils ne font pas partie réellement des données mais servent à en désigner la nature. À la place du terme élément, on peut utiliser les termes balise, tag ou encore nœud.
Pour décrire ce que contiennent les éléments, on parle de modèle de contenu. On trouve :
• Rien : il n’y pas de contenu, l’élément est vide.
• Du texte : nous détaillerons par la suite cette notion.
• Un ou plusieurs éléments : on peut les qualifier d’éléments fils, l’élément les contenant étant appelé un élément parent.

<?xml version="1.0" encoding="ISO-8859-1"?>
<cours>
<intervenant>Phileas</intervenant>
<chapitre>Formation XML
<paragraphe>L'extension de fichier</paragraphe>
<paragraphe>Le pouvoir du XML</paragraphe>
</chapitre>
</cours>

• cours : élément racine contenant trois éléments: intervenant, paragraphe et chapitre ;
• intervenant : élément contenant du texte ;
• chapitre : élément contenant du texte et des éléments les paragraphes ;
• paragraphe : élément contenant du texte.

Si maintenant nous nous penchons sur la syntaxe, nous avons donc :
• <element> : balise ouvrante.
• </element> : balise fermante.
• <element/> : balise ouverte et fermée que l’on nomme balise autofermée. C’est l’équivalent de <element></element>. 

Les attributs d’un élément
Un attribut est un couple (clé, valeur) associé à la définition d’un élément. Il est localisé dans la balise ouvrante de l’élément. Un élément peut donc avoir de 0 à n attributs uniques. L’attribut est complémentaire de l’élément de par son rôle au sens où il ajoute une information à l’élément ou bien encore le complète dans sa définition.
Exemple :
<auteur nom="brillant" prenom="alexandre">…</auteur>
<contact email="a[a].fr"/>
nom et prenom sont des attributs de l’élément auteur alors que email est un attribut de l’élément contact.
On sépare les attributs par au moins un espace (blanc simple, tabulation, retour à la ligne).
Les valeurs d’attributs peuvent figurer sur plusieurs lignes. On utilise soit les guillemets, soit les apostrophes pour encapsuler les valeurs.