Pour savoir à quoi ressemble du XML, le mieux est certainement d'en voir. Commençons par un exemple simplifié. Il propose une transposition du début de cet article dans un langage XML appliqué à la documentation technique, DocBook.
xmlns="http://docbook.org/ns/docbook"> > Extensible Markup Language>> >XML> (Extensible Markup Language, « langage de balisage extensible »)... > >
Dans ce code, chacun peut identifier des portions de texte (exemple : Extensible, XML…) et des mots clés encadrés de chevrons (<, >) :
Ce qui est spécifique à XML, c'est le choix des chevrons pour identifier les balises, et l'obligation de les fermer. Les mots clés ne sont pas définis par la norme XML, mais par le vocabulaire choisi. En XHTML, l'élément racine aurait été , en XSLT, cela peut être
Cet exemple illustre une autre spécificité de ce format. À part SGML, peu d'autres syntaxes permettent de séparer la définition sémantique de l'information (qu'est-ce qui est titre, lien, section…), de l'apparence qu'on lui souhaite (aujourd'hui un titre est souligné, demain on le voudra peut-être en bleu). Cela fait d'XML un excellent format pour conserver des textes ou des données. Pour s'en convaincre, regardons ce que la même information donne dans d'autres formats.
Les logiciels, surtout pour le grand public, aboutissent généralement à des fichiers. Le format se soucie d'abord d'être fiable et performant, mais est-il échangeable ? Le format d'enregistrement natif du traitement de texte Word est l'exemple du format binaire le plus déployé. Il n'est pas lisible par l'humain. Le texte est difficile à extraire, le lien avec sa structuration (gras, italique…) est difficile à reconstruire. Dans la pratique, un document Word pose beaucoup de problèmes de conservation sur le long terme.
ÐÏ à¡± á > þÿ ! # þÿÿÿ ÿÿ% ð ¿ a bjbj%ç%ç Extensible Markup Language XML (Extensible Markup Language, « langage de balisage extensible ») i 8 @ñÿ 8 N o r m a l CJ _H aJ mH sH tH N @ N T i t r e 1 ÿ [… beaucoup d'informations binaires supprimées ] ÿ ÿÿÿÿ À F Document Microsoft Word MSWordDoc Word.Document.8 ô9²q
L'éditeur, Microsoft, propose désormais un format d'enregistrement en XML.
Afin de favoriser l'échange avec d'autres traitements de texte, Microsoft proposa RTF Rich Text Format « format texte riche » (1987). Ce n'est pas un format binaire, les commandes sont inscrites en texte lisible, mais elles ne sont pas destinées à être écrites par un humain.
{\rtf {\f2\fs36\b Extensible Markup Language}\par {\b XML} (Extensible Markup Language, « langage de balisage extensible »)... \par }
On retrouve le besoin d'encadrer du contenu avec un marqueur (ici les accolades {}), d'attacher des propriétés à ces groupes. Ainsi, {\b XML} indique que les lettres XML sont en gras, bold : \b. Pour le titre, humains comme logiciels ne peuvent pas l'identifier par "\f2\fs36\b", ce code indique en fait l'apparence du paragraphe (gras, gros…). Ce format a montré qu'il pouvait fonctionner dans des logiciels, mais sa croissante complexité nous instruit sur ses limites. Il est difficilement extensible, et en tous cas, inutilisable pour structurer la sémantique d'un texte.
Donald Knuth, auteur de The Art of Computer Programming « l'Art de la programmation » s'est interrompu en 1977, excédé par la mauvaise qualité d'impression de ses ouvrages. Il développa TX, une syntaxe très élaborée destinée à l'écriture humaine, spécialement puissante pour les équations mathématiques. On remarquera que RTF lui a repris ses séparateurs (\, {, }), mais pas son système de macros pour factoriser les commandes.
\documentclass[a4paper, 11pt]{article} \title{Extensible Markup Language} \begin{document} \maketitle \end{document}
TX reste le standard de l'édition scientifique de qualité, en particulier pour la mise en forme des équations complexes. Toutefois, cela reste un langage de programmation dédié à la mise en forme, davantage conçu pour l'apparence des documents que pour stocker/transférer des données.
Une syntaxe wiki sait aussi séparer le contenu de la présentation.
=={{lang|en|Extensible Markup Language}}== '''XML''' ({{lang|en|Extensible Markup Language}}, « langage de balisage extensible »)…
Cependant, cette structuration repose ici sur des séquences de caractères particulières (==, '''
). Or, le nombre de caractères sans signification n'est pas indéfini. Un tel format peut être approprié pour un seul type de document, mais ce n'est pas une syntaxe générique et facilement extensible.
Comparé aux langages plus haut, XML est une syntaxe générique et extensible. Il permet de structurer une grande variété de contenus, car son « langage » (vocabulaire et grammaire) peut être redéfini.