Le langage XML
La syntaxe du XML

HomeDown

Le XML impose des règles de syntaxe très spécifiques par rapport au Html. En outre, on retrouvera ces mêmes règles de syntaxe dans tous les langages dérivés du XML comme le XHTML ou le WML par exemple.
 
Le XML est un langage de balises [Markup Language].

Mais au contraire du Html où les balises sont définies, vous devez inventer vos balises. Rappelez-vous, le XML est eXtensible. Il faut donc écrire soi-même le nom des balises utilisées.

Il y a quelques règles pour la composition des noms (mais elle ne dérouteront pas les habitués du Javascript) :

    • Les noms peuvent contenir des lettres, des chiffres ou d'autres caractères.
    • Les noms ne peuvent débuter par un nombre ou un signe de ponctuation.
    • Les noms ne peuvent commencer par les lettres xml (ou XML ou Xml...).
    • Les noms ne peuvent contenir des espaces.
    • La longueur des noms est libre mais on conseille de rester raisonnable.
    • On évitera certains signes qui pourraient selon les logiciels, prêter à confusion comme "-", ";", ".", "<", ">", etc.
    • Les caractères spéciaux pour nous francophones comme é, à, ê, ï, ù sont à priori permis mais pourraient être mal interprétés par certains programmes.

On profitera de cette liberté dans les noms pour les rendre le plus descriptif possible comme par exemple <gras_et_italique>.
 

Les balises sont sensibles au majuscules et minuscules [case sensitive].

Ainsi, la balise <Message> est différente de la balise <message>. La balise d'ouverture et la balise de fermeture doivent donc être identiques. Ainsi par exemple ;
<Message> ... </message> est incorrect et <message> ... </message> est correct.

Une tendance se dégage pour n'écrire les balises qu'en minuscules, limitant ainsi les erreurs possibles.
 

Toute balise ouverte doit impérativement être fermée.

Fini les écritures bâclées du Html où l'on pouvait dans certains cas omettre la balise de fin comme pour le paragraphe <p> ou l'élément de liste <li>.

Ainsi en Html, ce qui suit est affiché correctement :
<p>
<ul>
<li>Point 1
<li>Point 2

Le XML est beaucoup plus strict. On devrait avoir :
<p>
<ul>
<li>Point 1</li>
<li>Point 2</li>
<p>

Les éventuelles balises uniques ou appelées aussi balises vides, comme <br>, <meta> ou <img> en Html, doivent également comporter un signe de fermeture soit balise/. Ainsi une balise <meta/> est correcte en XML.
 

Les balises doivent être correctement imbriquées.

Le XML étant très préoccupé par la structure des données, des balises mal imbriquées sont des fautes graves de sens.

Ainsi l'écriture suivante est incorrecte car les balises ne sont pas bien imbriquées :
<parent><enfant>Loïc</parent></enfant>

L'écriture correcte avec une bonne imbrication des éléments est :
<parent><enfant>Marine</enfant></parent>
 

Tout document XML doit comporter une racine.

En fait, la première paire de balises d'un document XML sera considéré comme la balise de racine [root].

Par exemple : <racine>
... suite du document XML ...
</racine>

Si on ose faire un lien avec le Html, votre élément racine était <body> ... </body>.

Tous les autres éléments seront imbriqués entre ces balises de racine.

Par exemple : <parents>
      <enfants>
           <petits_enfants> ... </petits_enfants>
      </enfants>
</parents>

Les valeurs des attributs doivent toujours être mises entre des guillemets.

Le XML peut avoir (comme le Html) des attributs avec des valeurs. En XML, les valeurs des attributs doivent obligatoirement être entre des guillemets, au contraire du Html où leur absence n'a plus beaucoup d'importance.

Ainsi, l'écriture suivante est incorrecte car il manque les guillemets.
<date anniversaire=071185>

La bonne écriture est :
<date anniversaire="071185">


 

Le XML est un langage strict. Votre document doit impérativement respecter la syntaxe du XML. On dira alors que le document est "bien formé" [Well-formed]. Seuls les documents "bien formés" seront affichés correctement. A la moindre erreur de syntaxe, le document ne sera pas ou ne sera que partiellement affiché.

Vous trouverez ci-dessous, une zone de texte pour vous entraîner à faire des documents XML dits "bien formé". Ce script ne fonctionne que sous Microsoft Internet Explorer 5 et plus !


  

[Faute avouée est déjà pardonnée ! Ce script a été directement "emprunté" du site de Microsoft. Merci...]