Introduction
Un langage à balise est un formalisme permettant de spécifier la structure d’un document texte conformément à une grammaire donnée. XML est un langage à balise.
Une balise est une marque déposée dans le document,
matérialisée par une suite identifiable de caractères.
Cette suite de caractères est différente de tout ce que l’on peut rencontrer
dans le contenu du document.
<entité/> est un exemple de balise XML.
1. Données et métadonnées
Une métadonnée est une donnée sur des données. Par exemple, en bibliographie, un livre est une donnée. Une fiche bibliographique est un ensemble de métadonnées : auteurs, éditeur, ISBN, nombre de pages, etc.
Autre exemple de méta-données : les annotations. C’est est un moyen d’introduire de l’information dans un texte, pour l’enrichir ou le corriger, sans le modifier. Historiquement, les annotations étaient des ajouts de notes dans la marge ou entre les lignes d’un ouvrage.
Il existe des spécifications formelles de méta-données, comme :
-
EXIF, les méta-données sur les images JPEG,
-
ID3, les méta-données sur les fichiers musicaux MP3,
-
RDF, les méta-données sur des ressources web, etc.
Les langages à balises permettent également d’exprimer des relations données/méta-données :
ceci est un texte <note>ceci est la note</note> annoté.
Au-delà de l’enrichissement, ces langages permettent de structurer le texte, qui devient en quelque sorte une base de données, tout en restant un texte brut, lisible sur n’importe quelle plate-forme, par n’importe quel logiciel.
2. Document XML
Les documents XML ont une structure arborescente :
<élément_1>
blabla
<élément_2>
blabla <élément_3/> blabla <élément_4/>blabla
</élément_2>
blabla
</élément_1>
Le jeu de balises est libre. Ainsi, XML permet de structurer toutes sortes de connaissances quelle que soit la thématique.
3. Dialecte XML
Lorsqu’une communauté souhaite utiliser XML pour structurer ses documents, elle a tout intérêt (pour les normaliser) à imposer le jeu de balises ainsi que les règles d’utilisation (par exemple les règles d’imbrication de ces balises). Ces définitions donnent alors lieu à un sous-langage dénommé dialecte XML.
XML permet donc de définir une infinité de dialectes. Il est par conséquent plus un méta-langage qu’un simple langage.
Définir un dialecte revient à définir un modèle de documents. Cela se fait via une DTD (document type definition) ou un schéma XML.
| Sigle | Nom | Domaine d’utilisation |
|---|---|---|
CML |
Chemical Markup Language |
Chimie |
DocBook |
Livres, articles etc. |
|
KML |
Keyhole Markup Language |
Données géospatiales |
MathML |
Mathematical Markup Language |
Mathématiques |
SMIL |
Synchronized Multimedia Integration Language |
Multimedia |
SVG |
Scalable Vector Graphics |
Graphiques vectoriels (utilisé par Inkscape) |
ODF |
OpenDocument |
Documents bureautiques (utilisé par Libreoffice) |
RSS |
Really Simple Syndication |
Flux d’information |
XHTML |
eXtensible HyperText Markup Language |
Pages Web |
XML Schema |
Modèles de documents |
|
XSL-FO |
eXtensible Stylesheet Language - Formatting Objects |
Mise en page de documents |
XSLT |
eXtensible Stylesheet Language Transformations |
Transformation de documents XML |
XUL |
Xml-Based User interface Language |
Interfaces graphiques (utilisé par Firefox et Thunderbird) |
4. XML en pratique
XML partage une histoire commune avec le langage de programmation Java (1996). Aujourd’hui, un grand nombre d’outils et de bibliothèques permettent de le manipuler et de le visualiser.
XML ne cherche pas à optimiser la taille des documents : ceux-ci sont verbeux. Ils ne sont pas destinés à être manipulés, ni même lus, par des humains.