Règles de syntaxe XML
Les règles de syntaxe de XML sont très simples et logiques. Les règles sont faciles à apprendre et faciles à utiliser.
Les documents XML doivent avoir un élément racine
Les documents XML doivent contenir un élément racine qui est le parent de tous les autres éléments :
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Dans cet exemple , <note> est l'élément racine :
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Le prologue XML
Cette ligne s'appelle le prologue XML :
<?xml version="1.0" encoding="UTF-8"?>
Le prologue XML est facultatif. S'il existe, il doit figurer en premier dans le document.
Les documents XML peuvent contenir des caractères internationaux, comme le norvégien øæå ou le français êèé.
Pour éviter les erreurs, vous devez spécifier l'encodage utilisé ou enregistrer vos fichiers XML au format UTF-8.
UTF-8 est le codage de caractères par défaut pour les documents XML.
L'encodage des caractères peut être étudié dans notre didacticiel sur les jeux de caractères .
UTF-8 est également l'encodage par défaut pour HTML5, CSS, JavaScript, PHP et SQL.
Tous les éléments XML doivent avoir une balise de fermeture
En XML, il est illégal d'omettre la balise de fermeture. Tous les éléments doivent avoir une balise fermante :
<p>This is a paragraph.</p>
<br />
Remarque : Le prologue XML n'a pas de balise de fermeture ! Ce n'est pas une erreur. Le prologue ne fait pas partie du document XML.
Les balises XML sont sensibles à la casse
Les balises XML sont sensibles à la casse. La balise <Letter> est différente de la balise <letter>.
Les balises d'ouverture et de fermeture doivent être écrites avec la même casse :
<message>This is correct</message>
Les "balises d'ouverture et de fermeture" sont souvent appelées "balises de début et de fin". Utilisez ce que vous préférez. C'est exactement la même chose.
Les éléments XML doivent être correctement imbriqués
En HTML, vous pouvez voir des éléments mal imbriqués :
<b><i>This text is bold and italic</b></i>
En XML, tous les éléments doivent être correctement imbriqués les uns dans les autres :
<b><i>This text is bold and italic</i></b>
Dans l'exemple ci-dessus, "Properly nested" signifie simplement que puisque l'élément <i> est ouvert à l'intérieur de l'élément <b>, il doit être fermé à l'intérieur de l'élément <b>.
Les valeurs d'attribut XML doivent toujours être entre guillemets
Les éléments XML peuvent avoir des attributs dans des paires nom/valeur comme en HTML.
En XML, les valeurs d'attribut doivent toujours être entre guillemets :
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
Références d'entité
Certains caractères ont une signification particulière en XML.
Si vous placez un caractère comme "<" à l'intérieur d'un élément XML, cela générera une erreur car l'analyseur l'interprète comme le début d'un nouvel élément.
Cela générera une erreur XML :
<message>salary < 1000</message>
Pour éviter cette erreur, remplacez le caractère "<" par une référence d'entité :
<message>salary < 1000</message>
Il existe 5 références d'entités prédéfinies en XML :
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
Seuls < et & sont strictement illégaux en XML, mais c'est une bonne habitude de remplacer > par > également.
Commentaires en XML
La syntaxe pour écrire des commentaires en XML est similaire à celle du HTML :
<!-- This is a comment -->
Deux tirets au milieu d'un commentaire ne sont pas autorisés :
<!-- This is an invalid -- comment -->
L'espace blanc est préservé en XML
XML ne tronque pas plusieurs espaces blancs (HTML tronque plusieurs espaces blancs en un seul espace blanc) :
XML: | Hello Tove |
HTML: | Hello Tove |
XML stocke la nouvelle ligne en tant que LF
Les applications Windows stockent une nouvelle ligne sous la forme : retour chariot et saut de ligne (CR+LF).
Unix et Mac OSX utilisent LF.
Les anciens systèmes Mac utilisent CR.
XML stocke une nouvelle ligne en tant que LF.
XML bien formé
Les documents XML conformes aux règles de syntaxe ci-dessus sont dits documents XML "bien formés".