La Lettre du bibliothécaire québécois
Numéro 10 - Mars 1998


Retour au sommaire du numéro 10


Retour à la page d'accueil de la LBQ


Ecrivez à la LBQ



L'Agence Science-Presse est fière d'héberger La Lettre du bibliothécaire québécois


4. DOSSIER

INTRODUCTION AU XML (EXTENSIBLE MARKUP LANGUAGE)


par Guy Teasdale
(29 mars 1998)


Nous poursuivons, ce mois-ci, notre examen des principaux formats de documents sur le Web. En examinant le XML, nous essaierons de comprendre par la même occasion comment et par qui ces formats sont développés et pourquoi ils apparaissent une bonne journée et semblent soudainement être sur toutes les lèvres (toute chose étant relative). Au cours des dernières chroniques, nous avons parlé de PDF et de SGML. On a vu que le format PDF est totalement orienté présentation; il ne se préoccupe que de représenter fidèlement l'apparence de notre document, peu importe la plate-forme utilisée. Ce format électronique, en fin de compte, n'aspire qu'à la condition papier.

Le second format, SGML, est plus difficile à résumer en quelques mots. En effet, on a vu que l'application SGML la plus connue et la plus utilisée, le HTML, va plutôt à l'encontre de la philosophie SGML qui vise à séparer le balisage du contenu d'un document du balisage de son apparence. HTML comporte un mélange de balises de présentation et de balises décrivant le contenu; la structure (mais en nombre très limité).

Le danger de mélanger des balises de formatage avec des balises de structure devient évident quand on veut modifier rapidement l'apparence d'un texte. Supposons qu'on a balisé une bibliographie de 500 titres en HTML et que les mots étrangers, les titres des monographies, et les titres des périodiques soient en italique. On vous demande de changer de feuille de style pour suivre plutôt les normes de l'APA où les titres doivent apparaître soulignés. Comment ferez-vous vos modifications sans toucher aux mots étrangers? Préparez du café, vous ne pourrez pas faire de "recherche-remplace" car il n'y a rien qui ressemble plus à une balise <i> qu'une autre balise <i>. Vous devrez départager visuellement les italiques représentant des titres des italiques représentant de mots étrangers. Si les balises avaient été <titre de périodique>, <mot étranger> et <titre de monographie>, vous n'auriez eu qu'un seul changement à effectuer, dans le fichier externe contenant la feuille de style associée à la DTD.

On a vu aussi que les balises HTML ne peuvent décrire toutes les catégories de documents électroniques disponibles sur le Web. Avec HTML, tout doit entrer dans le même moule. Donc, si on résume, HTML est un langage qui comporte trois avantages principaux:

* La SIMPLICITÉ: HTML est facile à apprendre et à comprendre.

* Les LIENS: les liens hypertextes sont très faciles à créer et il n'y a qu'une façon de lier des objets sur Internet: la balise <A ...>. On doit baliser la source et la cible du lien.

* La PORTABILITÉ: étant donné la faible quantité de balises, il est très facile d'intégrer la DTD HTML dans les logiciels de navigation comme Netscape ou Explorer. On n'a pas à se préoccuper de savoir si l'autre logiciel saura lire nos balises HTML.

Par contre, HTML comporte des faiblesses au niveau de:

* L'INTELLIGENCE. On a vu qu'avec SGML, on pouvait transmettre notre "intelligence" du texte au moyen de balises spécifiques. Cette absence de notion de contenu spécifique dans HTML cause d'énormes problèmes aux moteurs de recherche et des taux de rappel inacceptables.

* L'ADAPTATION. Pour pouvoir afficher des tableaux en HTML, il a fallu attendre la version 3 du langage HTML et attendre le long processus de délibération du comités HTML au W3C. Cette version a été très longue à venir, à cause de "guerres de religion" au W3C, où les partisans des documents structurés affrontaient les partisans de la simplicité. En SGML, il n'a suffi que d'emprunter une solution développée ailleurs (chez les militaires); l'inclure dans une nouvelle DTD et on pouvait faire des tableaux.

* L'ENTRETIEN. Les liens en HTML sont souvent brisés. HTML a été conçu comme si les objets présents sur Internet ne pouvaient changer de place. Or, c'est ce qu'ils font tout le temps! C'est comme si on classait nos documents en bibliothèque en disant: ce livre sera classé au 3e étage, 2e rangée, 4e tablette et à la quatorzième position à partir de la droite. Qu'arrive-t-il quand le 12e livre est emprunté? Erreur 404, document not found! C'est aussi primitif que cela. Il y a donc nécessité d'améliorer le système de liens du HTML. Un autre problème d'entretien mentionné plus haut, le mélange des balises contrôlant l'apparence, rend la réutilisation du texte très difficile et laborieuse

SGML représente la solution aux principaux désavantages de HTML mais cette solution se fait au détriment des principaux avantages de HTML. SGML n'est pas simple, les textes doivent être validés, les liens hypertextes sont plus riches mais utilisent plusieurs méthodes, encore là plus complexes. Enfin la portabilité SGML est plus problématique sur Internet: on doit installer un logiciel accessoire pour visualiser un document SGML et on doit transmettre la DTD en même temps que le document.

Malgré les merveilles que peut réaliser SGML, on doit constater que 12 ans après sa reconnaissance comme norme ISO, SGML n'a pas atteint une masse critique chez les millions d'usagers du Web. Un groupe de travail du consortium W3C s'est donc attaqué aux problèmes du HTML à la fin de 1996; cherchant un moyen terme entre la simplicité de HTML et la complexité de SGML; un SGML "léger" en quelque sorte. Les noms qui ont été suggérés pour ce nouveau langage révèlent bien l'esprit dans lequel travaillaient ses développeurs: MGML (Minimal Generalized Markup Language), SLIM (Structured Language for Internet Markup), MAGMA (Minimal Architecture for Generalized Markup Applications). Finalement c'est l'acronyme XML (eXtensible Markup Language), probablement plus "marketable", qui emporta le plus grand nombre de votes parmi les membres du comité. XML 1.0 est devenu une recommandation officielle du consortium W3C le 12 février 1998. XML combine les points forts de SGML à la simplicité de HTML. La norme SGML comporte plus de 300 pages; XML en a 32.

 

Pourquoi XML est-il important?

Le consortium W3C est un regroupement des principales industries (130) impliquées dans le développement du Web. Lorsqu'une norme devient une recommandation officielle du W3C, c'est qu'elle a passé toutes les étapes de révision, indiquant qu'il s'agit d'une norme stable sur laquelle les développeurs peuvent commencer à construire. XML a obtenu ce statut seulement en février 1998. Voilà pourquoi il n'y a pas encore beaucoup de XML sur le Web. Mais parmi les principaux rédacteurs de XML, il y avait un représentant de Microsoft, un représentant de Netscape et un représentant du Text Encoding Initiative. Le support XML fait partie des projets de développement des principaux noms de l'industrie.

 

XML comporte 3 parties importantes

* La DTD. On a vu l'importance du concept de DTD dans notre chronique précédente. Dans XML, on peut utiliser une DTD mais ce n'est pas obligatoire. Si on utilise une DTD, le document sera dit "valide"; c'est-à-dire qu'il fera appel à cette DTD et s'y conformera. Si on n'utilise pas de DTD, le document XML devra être "bien formé"; il ne devra comporter aucune ambiguïté dans le balisage. Par exemple, tous les attributs devront être entre guillements - (HTML de son côté tolère très facilement cet oubli); les éléments ne pourront être vides; chaque élément X devra se terminer par une balise de fermeture </X>; même des éléments vides en HTML, comme une ligne horizontale <HR>, devront, en XML, s'écrire <HR/> ou encore <HR></HR>. De plus, le document devra indiquer explicitement qu'il n'utilise pas de DTD en débutant ainsi: <?XML version="1.0" standalone = "yes"?>

* Le XSL Extensible Style Language est le langage utilisé pour définir les feuilles de style qui seront associées aux documents XML. C'est le fichier XSL qui permettra de définir que tel élément XML doit être affiché avec telle fonte, de telle couleur, etc. Ces décisions seront, grâce à XSL, prises par le créateur du document qui aura ainsi un meilleur contrôle sur l'apparence de son document. Il pourra également faire référence à un fichier XSL public déjà existant. Le XSL s'inspire de 2 normes de feuilles de style, le Cascading Style Sheet, qui commence à être utilisé avec des fichiers HTML et le DSSSL (Document Style Semantics and Specification Language) qui est une norme de feuilles de style pas mal plus complexe. Encore une fois les développeurs choisissent le moyen terme: XSL emprunte au CSS et au DSSSL. XSL est encore en développement, XSL n'est en effet qu'une "Note" du W3C, c'est à dire que XSL doit franchir les 3 autres étapes qui sont "brouillon", puis "recommandation proposée" avant de devenir une "recommandation officielle". (Notons toutefois que la réflexion sur les modèles de feuilles de style dont s'inspire le XSL est passablement avancée: le CSS en est rendu à sa deuxième version. CSS2 est maintenant une recommandation officielle du W3C tandis que le DSSSL est déjà une norme ISO).

* Le XLL Extensible Link Language est le langage de description des liens hypertextes en XML. XLL constitue la deuxième partie de la norme XML. XLL est encore un document de travail du W3C (juillet 1997) connu sous le nom de Extensible Markup Language (XML): Part 2. Linking. Une fois adopté, XLL permettra de résoudre plusieurs des problèmes de liens hypertextes brisés qu'on retrouve actuellement sur Internet. XLL est basé sur la norme ISO 10744, (Technologies de l'information: langage de structuration hypermédia/événementiel ) mieux connue sous le nom de HyTime. XLL comporte également des fonctionnalités présentes dans la DTD du TEI. En effet, XLL pourra permettre, entre autre, des liens bidirectionnels, des liens vers des cibles sur Internet non balisées au préalable, des liens qui pourront être gérés dans un fichier extérieur à l'instance de document et même des attributs sur des liens qui permettront de définir le type de lien (lien vers une définition, lien extérieur, etc.) Bref, des améliorations qui finiront par faire du message "404 not found" un mauvais souvenir.


Conclusion

Ces quelques lignes devraient suffire pour entrevoir la révolution qu'amène le format XML. XML est déjà supporté par Internet Explorer et on prévoit que la prochaine version de Netscape le fera aussi. Il ne manque que les développements d'une masse importante de documents XML pour qu'on commence à profiter de cette richesse de balisage et des traitements qui seront possible. Est-ce à dire que XML remplacera HTML? Non. HTML demeure et continue de se développer (HTML 4.0 est une recommandation officielle du W3C). HTML continue d'être utile pour des petits documents publicitaires ou pour des documents qui n'ont pas un cycle de vie très long. Par contre, pour les documents que l'on placera sur nos rayons virtuels, XML représente une percée technologique importante.

Dans une prochaine chronique, nous examinerons plus avant les particularités de XML et comment XML permettra de résoudre des questions bibliothéconomique importantes comme:

* l'intégration des métadonnées dans les documents ;

* l'affichage des langues non latines qui sont permises par XML ;

* je pense également aux nouveaux langages actuellement développés grâce au XML (par exemple le MML, Mathematical Markup Language, CML, Chemical Markup Language) ;

* le Channel Definition Format de Microsoft qui contrôle une nouvelle forme de Diffusion sélective sur le Web ("Push technology"), etc.

 

Pour en savoir plus:

· Les activités du groupe de travail XML au W3C: [ http://www.w3.org/XML/ ]
· Le XML FAQ (version 1.21, 3 février 1998): [ http://www.ucc.ie/xml/xml ]
· XML.COM: [ http://www.xml.com ]
· Les pages XML: [ http://www.sil.org/sgml/xml.html ]

Et ... les milliers d'articles à venir au cours de l'année.

 

Pour revenir au sommaire du numéro dix...