XML : aperçu de l’« extensible markup language »

Le XML est un format de données basé sur du texte qui est notamment utilisé pour stocker des données et des échanges de données indépendants de toute plateforme en ligne. Le XML constitue le fondement d’autres langages tels que le HTML et peut être lu aussi bien par des humains que par des machines.

Qu’est-ce que le XML ?

XML signifie « Extensible Markup Language » (« langage de balisage extensible » en français). Il s’agit d’un langage de balisage utilisé pour représenter des données dans un fichier texte structuré, qui peut être évalué par des humains comme par des ordinateurs. Ce méta langage a été développé par le World Wide Web Consortium dès 1998 et constitue désormais un élément vital du développement Web. La version actuelle du XML, sa cinquième édition, fut publiée en 2008. Le codage standard de caractères des documents XML est UTF-8.

Les usages et fonctions du XML

Le XML peut être utilisé de multiples manières. Tout commence par la création d’un fichier XML, lequel correspond à un document texte doté de l’extension .xml, créé à l’aide d’un éditeur de texte. Pour qu’un document soit valide, vous devez adhérer à la syntaxe du langage. Ces documents peuvent être utilisés, par exemple, lorsque le HTML atteint ses limites. C’est souvent le cas, par exemple, avec les sitemaps de sites. Ici, un fichier sitemap.xml est créé.

Pour lire les documents XML, on a besoin de ce qu’on appelle un analyseur. Ce dernier offre une interface de programmation à travers laquelle les applications peuvent accéder au document XML. L’accès se fait via :

  • DOM : le document XML est représenté sous la forme d’une arborescence et peut être ainsi lu. Il est également possible de modifier la structure en arborescence et d’écrire à la structure.
  • Pull-API : les données issues d’un document XML sont traitées de manière séquentielle et, la plupart du temps, sur la base d’événements.
  • SAX : le document XML est traité comme un flux de données séquentiel.

Un analyseur est en général inclus dans les navigateurs Web standard, ce qui simplifie la lecture des documents XML.

L’utilisation du XML

Le langage de balisage extensible est utilisé à travers de nombreux domaines différents. À titre d’exemple, il peut être utilisé comme base pour d’autres langages. Le HTML (« Hypertext Markup Language ») est basé sur le XML. Le SVG, le format de fichier le plus populaire qui soit pour les graphiques vectoriels, a également pour socle le XML.

Néanmoins, l’intérêt du XML ne se limite pas au fait qu’il sert de base à d’autres langages. En développement Web, le XML pur est souvent utilisé pour configurer des sitemaps de sites Web. De plus, le langage de balisage extensible peut être utilisé pour créer des bases de données XML. Ces bases de données orientées documents sont plus flexibles que les bases de données relationnelles et, sans surprise, très populaires.

Comment le XML est-il structuré ?

De prime abord, les documents XML ressemblent aux documents HTML. Ceci est dû au fait que le HTML est construit à partir du langage de balisage extensible et utilise la même notation en accédant à différents attributs et tags.

Avec le XML, vous pouvez distinguer différents types de documents. Les documents XML centrés sur le document sont en majeure partie accessible aux lecteurs humains sans informations additionnelles et ne sont que quelque peu structurés. Néanmoins, ceci réduit drastiquement leur lisibilité par des machines. En un sens, les documents XML centrés sur les données peuvent être perçus comme leurs opposés. Leur haut niveau de structuration va de pair avec une bonne lisibilité par les machines. Pour les lecteurs humains, les documents centrés sur les données sont intuitifs, mais assez peu compréhensibles. Finalement, à titre de compromis, il existe des documents dits semi-structurés.

Le XML est-il un langage de programmation ?

Le langage de balisage extensible est un langage de balisage qu’on ne peut qualifier de langage de programmation de plein droit. Il n’inclut pas de compilateur XML, et il est impossible de créer des fichiers exécutables à l’aide du XML. Enfin, les langages basés sur XML ne sont pas considérés comme des langages de programmation.

Les différents éléments du XML

Les composants les plus importants du langage de balisage extensible sont ce qu’on appelle les éléments. On peut définir leurs noms en toute liberté. Les éléments commencent et s’achèvent par des tags. Pour déclarer l’élément « house » dans votre document XML, par exemple, le code ressemblerait à ceci :

<maison></maison>
Vous pouvez énumérer le contenu de la maison ici.

Les éléments peuvent être imbriqués comme bon vous semble. Vous pouvez également ajouter des attributs aux éléments qui contiennent des informations additionnelles au sujet de vos éléments. Si vous souhaitez ajouter un toit et deux pièces numérotées à votre maison, ceci modifiera le document XML comme exposé ci-dessous :

<maison></maison>
Vous pouvez énumérer le contenu de la maison ici.
	<toit></toit>
	Le toit de la maison.
	
	<numéro de="" la="" pièce="« 1 »"></numéro>
	La pièce 1 de votre maison.
	
<numéro de="" la="" pièce="« 2 »"></numéro>
	La pièce 2 de votre maison.

Les numéros des pièces sont les attributs mentionnés précédemment.

Les autres composants des documents XML peuvent être des commentaires sous la forme <!—contenu-du-commentaire-->.

Les entités XML

Vous pouvez accéder à des entités prédéfinies avec le langage de balisage extensible. Créer vos propres entités est tout aussi simple. Il s’agit de contenus spécifiques qui sont définis pour un usage ultérieur. D’autres documents XML peuvent être inclus à l’aide d’entités.

Parmi les entités importantes pour utiliser du XML, on retrouve par exemple <; pour le caractère < ou > pour le caractère >. Vous pouvez créer vos propres entités dans le document XML comme suit :

<!--ENTITY ex « Exemple d’entité »-->

Le XML et le HTML : quelles différences ?

Le HTML, qui en est actuellement à sa cinquième version avec HTML5, est basé sur le XML et semble, en apparence, très proche du langage de balisage extensible. À la différence du HTML, il n’existe pas d’ensembles prédéfinis d’attributs et de balises permissibles. Avec le XML, ceux-ci peuvent être définis par les programmeurs. Autre différence entre les deux : le XML est sensible à la casse. Enfin, le XML se distingue également par la nécessité de recourir à des balises fermées. Un saut de ligne commençant par
en HTML donnerait
en XML.