Blog

Espace de noms XML


Espace de noms XML

Qu’est-ce qu’un élément XML? Un élément XML désigne tout ce qui est compris entre une balise ouvrant  et une balise fermante. Il peut contenir du texte, des attributs ou d’autres éléments XML.

En XML, un élément vide est un élément qui ne dispose pas de contenu (texte ou autres éléments XML). Il peut être représenté de deux façons:

<element></element>
<element />

Noms d’éléments en XML

Pour bien nommer les éléments XML, il faut respecter un certain nombre de règles et de bonnes pratiques de nommage en XML.
Les noms d’éléments XML (balise):

  • doivent commencer obligatoirement par une lettre ou un underscore;
  • ne doivent jamais commencer par les lettres xml;
  • peuvent contenir des lettres, des chiffres des tirets, des underscores;
  • ne doivent pas contenir d’espace;

On notera aussi que les tirets et les points sont à éviter.

Namespaces (espace de noms) en XML

XML est un espace de liberté de nommage où les noms de balises sont définis par le développeur lui-même. Cette liberté est souvent une source de conflits (ou collision) de noms quand ce dernier essaye de mixer des documents XML à partir de différentes applications XML (langages qui gravitent autour de XML). C’est la raison pour laquelle les espaces de noms ont été introduits en XML. Ces derniers fournissent une méthode toute simple qui permet le mélange de plusieurs vocabulaires au sein d’un même document. Ce sont des espaces de conventions dans lesquels les noms de balises ont une signification ou une portée instructive (et la portée d’une déclaration d’un espace de noms est l’élément dans lequel elle est faite).

Il existe un espace de noms par défaut associé au préfixe vide. Son utilisation permet d’alléger l’écriture des documents XML en évitant de mettre un préfixe aux éléments les plus fréquents. Ainsi, les conflits de nom en XML peuvent être facilement résolus en utilisant un préfixe de nom (non vide) comme ceci:

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

Comme, on peut aussi déclarer un espace de noms via l’attribut xmlns dans la balise ouvrante de l’élément XML concerné. Cet attribut peut prendre pour valeur une URN (Universal Resource Name). Cela simplifie grandement le mécanisme en considérant que l’élément qui porte cette déclaration au même titre que ses descendants appartiennent tous à ce namespace. En voici un exemple qui illustre cette technique:

<table xmlns="http://www.w3.org/TR/html4/">
  <tr>
    <td>Apples</td>
    <td>Bananas</td>
  </tr>
</table>

18 octobre 2015
Commentaires