dernière modification : 2023

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.

Table 1. Exemple de dialectes 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.