W3C | traductions

XML en 10 points

XML, XLink, Namespace, DTD, Schema, CSS, XHTML,... Si vous découvrez XML, il vous est peut-être difficile de savoir par où commencer. Ce résumé en 10 points présente les concepts de base et donne un aperçu global des importantes applications dérivées d'XML. Et si vous devez effectuer une présentation sur XML, pourquoi ne pas commencer par ces 10 points ?

1. XML est une méthode pour structurer des données

On entend par " données structurées " des éléments tels que des feuilles de calcul, des carnets d'adresses, des paramètres de configuration, des transactions financières, des dessins techniques, etc. XML est un ensemble de règles, de lignes directrices, de conventions (quel que soit le nom que vous voulez leur donner) pour la conception de formats texte permettant de structurer des données. XML facilite la réalisation de fichiers qui ne soient pas ambigus, et qui évitent les pièges courants, tels que la non-extensibilité, l'absence de prise en charge de l'internationalisation/localisation et la dépendance par rapport à certaines plates-formes. XML est conforme à Unicode.

2. XML ressemble un peu à HTML

Comme HTML, XML utilise des balises (des mots encadrés par '<' et '>') et des attributs (de la forme nom="valeur"). Mais alors que HTML définit la signification de chaque balise et de chaque attribut (et souvent la manière dont le texte qu'ils encadrent apparaîtra dans un navigateur), XML utilise les balises seulement pour délimiter les éléments de données et laisse l'entière interprétation des données à l'application qui les lit. En d'autres termes, si vous voyez "<p>" dans un fichier XML, ne supposez pas qu'il s'agit d'un paragraphe. Selon le contexte, cela peut être un prix, un paramètre, une personne, un p... (d'ailleurs, qui a dit qu'il devait s'agir d'un mot commençant par "p" ?).

3. XML est du texte, mais il n'est pas destiné à être lu

Les programmes qui produisent de telles données les stockent souvent sur disque, dans un format binaire ou un format texte. Ce dernier format vous permet, si nécessaire, de consulter les données sans le programme qui les a produites. Les fichiers XML sont des fichiers texte, mais ils sont encore moins destinés à être lus par des individus que les fichiers HTML. Ce sont des fichiers texte, car ils permettent à des experts (tels que les programmeurs) de déboguer plus facilement des applications, et en cas d'urgence, d'utiliser un simple éditeur de texte pour corriger un fichier XML endommagé. Mais les règles des fichiers XML sont beaucoup plus strictes que celles des fichiers HTML. Une balise oubliée ou un attribut sans guillemets rendent le fichier inutilisable, alors qu'avec HTML, de telles pratiques sont souvent explicitement permises, ou au moins tolérées. Les spécifications officielles de XML indiquent que les applications ne sont pas autorisées à essayer de deviner ce qu'a voulu faire le créateur d'un fichier XML endommagé ; si le fichier est endommagé, une application doit s'arrêter immédiatement et émettre une erreur.

4. XML est bavard, mais ce n'est pas un problème

Comme XML est un format texte et qu'il utilise des balises pour délimiter les données, les fichiers XML sont presque toujours d'une taille plus importante que les formats binaires équivalents. Il s'agit là d'une décision prise en toute conscience par les développeurs de XML. Les avantages d'un format texte sont évidents (voir le point 3 ci-dessus), et ses inconvénients peuvent être généralement compensés à un autre niveau. L'espace disque n'est plus aussi coûteux qu'auparavant, et les programmes tels que zip et gzip compressent très bien et très rapidement les fichiers. De plus, les protocoles de communication tels que les protocoles de modem et HTTP/1.1 (le protocole de base du Web) peuvent compresser des données à la volée, ce qui économise de la bande passante aussi efficacement qu'un format binaire.

5. XML est une famille de technologies

Il existe XML 1.0, la spécification qui définit ce que sont les "balises" et les "attributs", mais autour de cette spécification, un nombre de plus en plus important de modules facultatifs fournissant des ensembles de balises et d'attributs ou des lignes directrices pour des tâches particulières ont été définis. C'est, par exemple, le cas de Xlink, qui décrit une méthode standard pour ajouter des liens hypertextes à un fichier XML. XPointer et XFragments sont des syntaxes pour pointer sur des parties d'un document XML. Un XPointer ressemble à un URL, mais au lieu de pointer sur des documents du Web, il pointe sur des éléments de données au sein d'un fichier XML. CSS, le langage des feuilles de style, s'applique à XML de la même façon qu'à HTML. XSL est le langage évolué pour la définition de feuilles de style. Il est basé sur XSLT, un langage de transformation utilisé pour réorganiser, ajouter ou supprimer des balises et des attributs. Le DOM est un ensemble d'appels de fonctions standard pour manipuler des fichiers XML (et HTML) à partir d'un langage de programmation. Les Schémas XML 1 et 2 aident les développeurs à définir précisément leurs propres formats basés sur XML. Plusieurs autres modules et outils sont disponibles ou en cours de développement. Consultez régulièrement la page des rapports techniques du W3C.

6. XML est nouveau, mais pas si nouveau que ça

Le développement de XML a commencé en 1996, et XML est une norme du W3C depuis février 1998, ce qui peut laisser supposer qu'il s'agit d'une technologie plutôt immature. En fait, il ne s'agit pas d'une technologie très nouvelle. Avant XML, il existait SGML, développé au début des années 80, devenu norme ISO depuis 1986 et largement utilisé dans des projets de documentation de taille importante. Et il existait bien sûr HTML, dont le développement a commencé en 1990. Les concepteurs de XML ont simplement pris les meilleures parties de SGML, profité de l'expérience de HTML, et produit une technologie qui n'est pas moins puissante que SGML, mais infiniment plus régulière et plus simple à utiliser. Certaines évolutions, cependant, peuvent être assimilées à des révolutions... Il faut également savoir que SGML est principalement utilisé pour des documentations techniques et beaucoup moins pour d'autres types de données, alors que c'est exactement l'inverse avec XML.

7. XML conduit HTML à XHTML

Une application importante d'XML est le langage XHTML comme successeur de HTML. On retrouve dans XHTML beaucoup d'éléments du langage HTML. La syntaxe a été légèrement modifiée afin de se conformer aux règles d'XML. Plus généralement, un document fondé sur XML hérite sa syntaxe d'XML modulo quelques exceptions : par exemple, XHTML autorise la balise "<p>" mais pas "<r>". XML ajoute aussi un sens à cette syntaxe : par exemple, XHTML dit que "<p>" signifie "paragraphe" et non "prix" ou "personne" ou etc.

8. XML est modulaire

XML permet de définir un nouveau format de document en associant et en réutilisant d'autres formats. Cependant, deux formats développés indépendamment peuvent avoir des éléments ou attributs de même nom. Il faut alors être très attentif à ne pas confondre les noms : "<p>" signifie-t-il "paragraphe" ou "personne" ? Pour éviter toute confusion lors de l'association de noms identiques, XML fournit un mécanisme d'espaces de nom. XSL et RDF sont de bons exemples de technologies fondées sur XML qui utilisent les espaces de nom. XML Schema a été conçu pour répercuter cette fonctionnalité modulaire pour la définition des structures XML, puisqu'il est facile de combiner deux schémas pour en produire un troisième qui sera associé au document fusionné.

9. XML est le fondement de RDF et du Web Sémantique

RDF, la norme du W3C pour les métadonnées, est un texte au format XML qui autorise la description de ressources et les applications métadonnées, tels que recueils de musiques, albums photos, et bibliographies. Par exemple, RDF pourrait vous laisser identifier des personnes dans un album photo sur le Web en utilisant des informations puisées dans une liste de contacts ; puis, votre messagerie pourrait automatiquement envoyer un message prévenant les personnes que leurs photos sont sur le Web. Tout comme les éléments HTML intégrés, comme les menus et formulaires, RDF intègre les applications et les agents en un Web Sémantique. De la même manière que les humains ont besoin de se mettre d'accord sur les mots qu'ils utilisent en communicant entre eux, les machines ont aussi besoin de mécanismes pour communiquer efficacement. Les descriptions formelles de terminologies dans un domaine particulier (la grande distribution ou l'industrie, par exemple) sont appelées ontologies, et sont une partie nécessaire du Web Sémantique. RDF, ontologies, et la représentation des connaissances sont tous des sujets décrits dans l'activité Web Sémantique.

10. XML est libre de droits, indépendant des plates-formes et correctement pris en charge

En choisissant XML pour un projet, vous bénéficiez d'un ensemble important et sans cesse croissant d'outils (et il est possible que l'un d'eux remplisse déjà la fonction dont vous avez besoin !) et d'ingénieurs expérimentés dans cette technologie. Opter pour XML, c'est un peu comme choisir SQL pour des bases de données : vous devez encore construire votre propre base de données et vos propres programmes ou procédures qui la manipulent, mais un grand nombre d'outils et d'individus peuvent vous y aider. Et comme XML est libre de droits, vous pouvez vous en servir pour construire votre propre logiciel sans avoir à payer quoi que ce soit à qui que ce soit. Sa prise en charge est importante, et ne cesse de croître, ce qui signifie également que vous n'êtes pas lié à un seul fournisseur. XML n'est pas toujours la meilleure solution, mais il vaut toujours la peine d'être pris en considération.


W3C Communications Team, w3t-comm@w3.org
(dernière mise à jour : $Date: 2003/01/10 10:30:18 $)
Créé le 27 Mar 1999 par Bert Bos (version précédente)