Extensible Markup Language |
.xml | |
application/xml , text/xml | |
Développé par | |
Version initiale | |
Type de format | |
Extension du | |
Standard | |
Spécification | |
Site web |
L'Extensible Markup Language (XML[note 1]), « langage de balisage extensible[1] » en français, est un <
, >
) encadrant les noms des balises. L'objectif initial de XML est de faciliter l'échange automatisé de contenus complexes (
XML est compilé par un groupe de travail de onze membres[note 2], soutenu par environ 150 membres de divers groupes d'intérêt. Le débat technique a eu lieu sur la liste de diffusion commune et les questions ont été résolues par consensus ou, lorsque cela a échoué, à la majorité des voix du groupe de travail. Les corédacteurs du cahier des charges étaient à l'origine Tim Bray, qui a notamment conduit l'informatisation du
Le groupe de travail XML ne s'est jamais rencontré face-à-face, la conception a été réalisée en utilisant courrier électronique et téléconférences hebdomadaires. Les principales décisions de conception ont été prises en une vingtaine de semaines de travail intense entre juillet et novembre 1996, lorsque le premier travail de spécification XML a été publié[5]. D'autres travaux de conception sont poursuivis jusqu'en 1997, puis le XML 1.0 est devenu une recommandation
L'objectif de XML est expliqué dès le début de la spécification du avec une phrase toujours d'actualité : « Son but est de permettre au SGML générique d'être transmis, reçu et traité sur le web de la même manière que l'est HTML aujourd'hui. »[6],[7].
À la lumière des années passées, cette spécification a rempli l'objectif qu'elle se fixait, XML a été largement suivi et favorise l'
Plusieurs décisions critiques ont contribué au succès du XML.
Par défaut, SGML était en é
pour é). En
<?xml version="1.0" encoding="UTF-8"?>
<外语>Китайська мова</外语>
SGML est orienté pour la saisie humaine de texte structuré, et autorise beaucoup de raccourcis. Ainsi HTML permet d'omettre certaines balises de fermeture, de raccourcir des attributs, de mélanger minuscules et majuscules. Ces possibilités compliquent le traitement automatique et sont interdites pour les applications de XML.
<!-- Exemple d'HTML 4, application de SGML, avec attribut minimisé,
balises en minuscules et majuscules, balises fermantes optionnelles. -->
<UL compact>
<LI>Item 1
<li>Item 2</Li>
</ul>
<!-- Exemple d'XHTML, application de XML. -->
<ul compact="compact">
<li>Item 1</li>
<li>Item 2</li>
</ul>
SGML insiste surtout sur la validation, sur la conformité à un modèle contraignant. XML prévoit un usage plus souple de l'information structurée. Il spécifie un moyen de faire cohabiter plusieurs vocabulaires de balises dans un même document grâce à la définition d'
<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:tei="http://www.tei-c.org/ns/1.0"
>
<!-- Transformation XSLT (instructions XML avec le préfixe “xsl:”) qui prend
en entrée du TEI (noms avec préfixe “tei:”) et donne en sortie du HTML (noms
sans préfixe). -->
<xsl:template match="tei:abbr">
<abbr>
<xsl:apply-templates/>
</abbr>
</xsl:template>
</xsl:transform>
Paradoxalement, il reste un domaine où SGML persiste, les « HTML ». Le W3C ne développe plus XHTML (version de HTML plus stricte, avec par exemple des balises obligatoirement fermées), et se consacre plutôt à
Au-delà de HTML, le W3C avait d'autres projets exigeant une syntaxe plus facilement extensible. Ces directions ont permis une grande plasticité de XML lui offrant de nombreux usages.
La version 1.0 d'XML a été publiée le .
La version 1.1 d'XML a été publiée le . Elle apporte des améliorations dans le support des différentes versions d'Unicode, permet l'usage de caractères de contrôle dans le texte (à l'exception du caractère 0), et organise les fins de ligne de façon compatible avec les technologies IBM[9].
Le W3C recommande aux interpréteurs XML de reconnaître les deux versions, bien que la première version soit beaucoup plus répandue que la seconde.