FI/10/98

Comprendre les enjeux deXML

Jacqueline Dousson, SIC, Jacqueline.Dousson@epfl.ch

<?XML!>

Comprendre les enjeux de XML, tel était le but du forum XML qui vient de réunir plus de 200 personnes à Paris. En effet ce sont trois lettres que l'on voit de plus en plus dans la presse spécialisée ou les annonces publicitaires et il est nécessaire de comprendre ce qui se cache derrière cette norme, afin d'en appréhender les enjeux.

La mode XML a été lancée très médiatiquement en octobre 97 par Bill Gates: «I think XML is really a breakthrough, because it brings the database and the publishing world into having an abstract way of describing properties». Après une déclaration aussi lumineuse, que rajouter de plus?

Un peu d'histoire

Il semble que les technologies échappent la plupart du temps à leurs créateurs.

Le standard SGML qui sépare le contenu, la présentation et la structure d'un document, dans le but de gérer des présentations et supports multiples, d'échanger des documents et d'en garantir la pérennité, a connu un grand succès dans le milieu de la gestion documentaire lourde (exemple: gestion de la documentation technique d'un avion).

HTML, le langage du Web, mélange allégrement contenu et présentation et ignore la structure d'un document. HTML ne permet donc pas d'afficher un contenu personnalisé ou de gérer des supports différents (problème bien connu de la mauvaise qualité d'impression d'une page Web). Pour gérer des pages Web, il faut alors bien souvent faire appel à des scripts ou des extensions non standard. Par contre HTML a des qualités évidentes et qui sont à l'origine de son succès: un nombre limité de marques ou balises, et du fait même que la présentation soit associée aux marques, une grande facilité d'utilisation.

Comment les deux mondes se sont-ils rencontrés?

Les SGMLiens en regardant autour d'eux, se sont rendus compte que le consortium Web se préoccupait lui aussi de normes, de structure, de visualisation, concepts qu'ils maîtrisent à la perfection depuis une dizaine d'années. Un petit groupe de SGMLiens, qu'on imagine déguisés, pour faire plus fun, a donc noyauté le consortium pour porter la bonne parole à ces béotiens et peut-être, aussi pour éviter de voir leur monde disparaître... et très rapidement ils sont arrivés à formuler XML et à le faire adopter comme recommandation W3C en février 98.

XML est un SGML simplifié, on peut aussi dire que c'est du SGML amélioré

SIMPLIFIÉ

SGML est une réponse complexe à des problèmes lourds (gestion documentaire industrielle), le standard remplit 800pages, un parseur, outil d'analyse de fichiers SGML, élément de base de tout applicatif (éditeur, visualiseur, debugger,...) fait au moins 100'000 lignes de code. Par conséquent, les outils dans le monde SGML sont rares et chers. Le standard XML tient au contraire sur 32 pages, écrire un parseur XML est un exercice qui peut être donné à un étudiant en fin d'études informatiques, on peut donc s'attendre à une multiplication des outils (en un an, il a été développé autant d'outils autour de XML qu'en dix ans autour de SGML).

AMÉLIORÉ

En effet là où un fichier SGML a besoin de la DTD (voir le glossaire pour la définition d'une DTD) associée pour pouvoir être analysé et donc validé, XML introduit la notion de document bien formé (well-formed document) où indépendamment des règles définies dans une DTD devenue optionnelle, on est capable de déterminer si syntaxique-ment le fichier XML est correct. Le rôle de la DTD se limite aux cas où elle est réellement nécessaire, par exemple dans le cas d'échanges de documents.

L'affichage sur écran d'un fichier SGML n'a pas de solution directe, il faut en général passer par un filtre qui va fabriquer du HTML. Au contraire, l'arrivée de browsers XML (IE5 et NSCommunicator 5 en principe) devrait permettre non seulement d'afficher directement du XML mais aussi de regrouper au niveau du poste client des informations structurelles d'où la possibilité d'un traitement local des données.

Une des caractéristiques d'XML, comme son nom l'indique, est la possibilité d'étendre le jeu de marques (ou balises ou tags) par des tags spécifiques à des applications:

exemple d'un fichier XML

<?xml version="1.0" standalone="yes"?>
<body>
     <individu>
<h1><prenom>William</prenom>
<font color="red"><nom>Gates</nom></font</h1>
<naissance>1955</naissance>
<p></p>
<societe>Microsoft</societe><img src="bill.jpg"></img>
</individu>
</body>

On voit dans ce fichier des tags HTML classiques et des tags propres à une application qui permettraient un traitement en vue d'un affichage dépendant du profil de l'utilisateur (la naissance et pas la société si vous êtes astrologue...).

Par rapport à HTML, XML est beaucoup moins laxiste; pour que le fichier soit bien formé, il faut:

XML: une première étape seulement

XML une fois défini, on est malheureusement loin d'avoir tout ce qu'il faut pour permettre à cette norme d'atteindre les objectifs qu'on lui a fixés. Il manque encore des standards sans lesquels les outils ne peuvent encore arriver sur le marché. De nombreuses discussions animent donc les groupes de réflexion correspondants du W3C, et il semble que contrairement à la définition de XML qui s'est faite de façon consensuelle et rapide, la bagarre des enjeux commerciaux se fait sentir et ralentit le processus. Parmi les normes associées à XML, les plus importantes sont XSL, XLink et XML-Data.

XSL

C'est le langage de feuilles de style pour les fichiers XML. C'est la définition de ce standard qui pourra nous permettre d'avoir des navigateurs XML normalisés. Tant que XSL n'est pas figé, on peut s'attendre à des déviations d'interprétation entre IE et NS Communicator. Les CSS, norme déjà existante (voir FI 10/97), précisent la présentation associée à des tags (les H1 seront en rouge, les H3 en vert etc.). XSL va plus loin car, outre le fait d'exprimer comment les tags XML seront affichés, il permettra de travailler sur la structure du document, donc de filtrer, réorganiser.

XLink

Appelé précédemment XLL, XLink généralise la notion de liens qui peuvent être de nature différente (simple lien hypertexte comme prévu dans HTML ou une adresse dans un arbre XML).

XML-Data

Cette norme soutenue par Microsoft vise à terme à remplacer les DTD dans les domaines autres que la gestion documentaire. Comme dans une DTD, c'est le fichier XML-Data qui décrit la syntaxe des tags utilisés dans le fichier XML.

Exemple de XML-Data associé au fichier XML décrit plus haut:

<elementType id="individu">
     <element  type="nom" occurs="ONE">
     <element type="prenom"occurs="ONEORMORE">
     <element type="naissance" occurs="OPTIONAL">
     element type="societe" occurs="OPTIONAL">
</element Type>

La figure ci-aprè permet d'avoir une vision globale des différents travaux en cours et de leur interconnexion.

image en provenance du site: http://WWW.Stars.com/Authoring/Languages/XML/Overview/pix.html

L'avenir de XML

Certains pensent que XML supplantera EDI pour le commerce électronique, d'autres y voient un moyen de gérer de la documentation on-line, d'autres encore des ouvertures pour des extensions mathématiques (mathML est déjà une recommandation du W3C depuis avril 1998) ou multimedia (SMIL utilisé par les nouveaux serveurs de RealNetworks). Mais, ce qui est sûr, c'est que ce sera sans doute le format d'échanges de données structurées sur le Web de demain avec des usages multiples aux intérêts parfois divergents. Rendez-vous dans quelques mois!

Si vous voulez vous-mêmes expérimenter XML, voici quelques outils proposés lors du forum:

Editeurs XML:

Navigateurs XML

Parseurs

Internaugraphie

Glossaire

CSSCascading Style Sheets
DTDDocument Type Definition, définit le langage dans lequel sera écrit un document qui devra respecter les règles sémantiques de la DTD associée pour être valide.
EDIElectronic Data Interchange
HTMLHyperText Markup Language, une application de SGML pour le Web
SGMLStandard Generalized Markup Language (ISO 8879)
SMILSynchronized Multimedia Integration Language
XLinkXML Linking Language
XMLeXtensible Markup Language
XSLeXtensible Style Language
W3CWorld Wide Web Consortium

retour au sommaire du Flash informatique du mois de décembre 98
retour à la page principale des Flash informatique
Vos commentaires
© FI-10-98 du 15 décembre 1998