2. Principe du Langage XML

La possibilité qu'offre XML de définir ses propres balises n'est pas sans conséquences. Lorsque deux apllications par exemple échangent des informations. Il est en effet nécessaire de définir des règles que les documents doivent respecter. Sans cela, il est impossible d'échanger ou de traiter de manière automatique les documents. 

Comme tout langage, pour se comprendre, il est impératif de définir un vocabulaire qui est l'ensemble des noms de balises utilisables, mais aussi une grammaire qui fixe la relation qui existe entre ces différentes balises (leur imbrication) et leurs natures (simples ou complexes).

Les processeurs XML sont des programmes permettant de vérifier que des documents XML sont bien formés.

Ils traitent le contenu des éléments de manière déterministe. On parle aussi d’analyseurs syntaxiques XML (XML parsers)

Le fonctionnement d’un processeur XML peut être décrit de la manière suivante :

  • À la rencontre d’une balise de début, entrer dans l’état de traitement de cette balise
  • À la rencontre de la balise de fin correspondante, sortir de cet état et revenir à l’état précédent
  • S’il n’y a pas d’état précédent, alors on vient de quitter l’état de traitement de l’élément racine : par conséquent, le document est bien formé.
  • Si une balise de fin ne correspond pas à l’état en cours, le document est mal formé

Quelques exemples:

mauvaise imbrication
<personne>

          <nom><prenom></nom></prenom>

</personne>

sensibilité à la casse
<personne></Personne> 

balise non fermée
<personne>

         <nom><prenom></prenom>

<personne>
Quelques exemples de langage basés sur XML:

MathML Mathematical Markup Language notation mathématique sur le web
CML Chemical Markup Language pour la publication Internet des formules chimiques, de molécules
VML Vector Markup Language langage de balisage d'information graphique vectorielle
SMIL Synchronized Multimedia Integration Language pour la création multimédia, il spécifie comment et quand des éléments multimédia peuvent apparaître dans une page web
WML Wireless Markup Language le langage de balisage pour l'internet mobile