Dernière modification: 1999-06-24
Texte publié dans ICO Québec, vol. 6, nos 1-2, printemps 1994, pp. 56-65.
Yves Marcoux détient un baccalauréat en informatique de l'Université Laval et un doctorat en informatique théorique de l'Université de Montréal. Il a travaillé dix ans en développement et maintenance de systèmes au Canada, aux États-Unis et en Europe. Depuis 1991, il est professeur d'informatique documentaire à l'EBSI de l'Université de Montréal.
Nous proposons d'abord un cadre de référence abstrait permettant de définir clairement les différentes notions sur lesquelles repose le concept de document structuré. Nous donnons ensuite un aperçu des avantages et des inconvénients que peut entraîner l'utilisation de formats de documents structurés dans les systèmes de traitement de documents. Enfin, nous présentons les principales caractéristiques des trois formats normalisés de documents structurés actuellement reconnus par l'ISO: SGML, ODA et HyTime. Le positionnement relatif actuel de ces trois normes dans le domaine des applications est aussi discuté brièvement.
We first propose an abstract framework in which the various notions underlying the concept of structured document can be clearly defined. We then give an overview of the advantages and disadvantages of using structured document formats in document processing systems. Finally, we present the main features of the three standardized structured document formats currently recognized by ISO: SGML, ODA and HyTime. The current relative positioning of these three standards in the applications domain is also discussed briefly.
L'informatique est à l'heure actuelle en plein mouvement d'ouverture. Ce mouvement affecte bien des facettes de l'industrie, dont la plus importante est peut-être l'interrelation entre la micro-informatique personnelle et l'informatique "lourde" traditionnelle. Il semble bel et bien, en effet, que des cultures informatiques qu'on aurait dites auparavant irréconciliables, soient sur le point de se fusionner en un espace continu, dans lequel les différences d'échelle ne seront plus synonymes de jargons différents et d'univers culturels disjoints. Aujourd'hui, il nous apparaît tout à fait naturel de transférer des données, d'établir des sessions interactives, d'expédier du courrier électronique et des documents de toutes sortes d'un ordinateur à l'autre, peu importe que l'un soit un micro-ordinateur et l'autre un ordinateur central, qu'ils soient de fabrications différentes, qu'ils aient des systèmes d'exploitation différents, ou qu'ils soient localisés littéralement aux antipodes géographiques l'un de l'autre.
Ce mouvement s'appuie surtout sur les développements récents dans deux domaines: les télécommunications et les systèmes ouverts. D'une part, avec les progrès enregistrés dans le domaine des procotocles de communication, on peut pratiquement prendre pour acquis que deux sytèmes informatiques, du moment qu'ils sont reliés par une connexion physique, pourront communiquer et coopérer. La connectivité des systèmes informatiques, c'est-à-dire la nature et le volume des échanges d'information qu'ils peuvent entretenir avec le reste du monde, préoccupe actuellement toute l'industrie informatique.
D'autre part, l'industrie et les utilisateurs de l'informatique (peut-être plus les seconds que la première) ont acquis suffisamment de maturité pour cesser de croire que les différences d'échelle ou de fabriquants entre les systèmes informatiques étaient une raison valable pour les empêcher de communiquer et de coopérer. Grâce à l'adoption de normes, les concepteurs de systèmes informatiques ont de plus en plus à leur disposition un ensemble de fonctionnalités bien documentées, qu'ils peuvent agencer à leur guise, selon leurs besoins, sans avoir à se soucier outre mesure des logiciels particuliers qui implanteront ces fonctionnalités, ni du matériel qui les supportera.
Évidemment, cette normalisation des fonctionnalités s'accompagne nécessairement d'une normalisation des formats de représentation de l'information, puisque les composantes des systèmes ouverts doivent forcément communiquer entre elles. En fait, sans normalisation de la représentation de l'information, la normalisation des fonctionnalités serait pour ainsi dire impossible.
Certains auteurs ont déjà annoncé la mort prochaine du document tel que nous le connaissons actuellement, alors que d'autres, plus réalistes selon nous, lui prédisent encore un rôle prépondérant dans le transfert des connaissances pour plusieurs décennies, avec peut-être certaines transformations. Quoi qu'il en soit, il est clair que le document, sous une forme ou une autre, sera encore pendant longtemps le véhicule principal de transfert des connaissances qu'il est aujourd'hui. Au coeur de la question de la normalisation des représentations de l'information, se trouve donc celle de la normalisation des représentations des documents.
Qu'est-ce, exactement, qu'un "document"? Bien qu'il n'existe pas de définition universelle de ce terme, on peut considérer qu'un document est un ensemble d'information qui représente, dans les activités normales de manipulation ou d'acquisition des "connaissances" à l'échelle humaine, une unité que l'on peut raisonnablement considérer comme indivisible et complète. Le contenu d'un mémo, d'une note de service, d'un livre, d'une encyclopédie (même en plusieurs volumes), d'un film, d'un disque compact, d'un tableau créé à l'aide d'un chiffrier électronique, sont autant d'exemples de ce que nous considérons être des "documents". Un document peut bien sûr contenir des "sous-documents".
Par opposition à ces exemples, il serait bien peu probable qu'un seul caractère, même s'il représentait une information cruciale pour la communication entre deux composantes informatiques, puisse être considéré comme un "document". En effet, on peut difficilement imaginer une situation à l'échelle humaine dans laquelle l'unité d'information formant un tout complet puisse se ramener à un seul caractère. De la même façon, le contenu complet d'une bibliothèque universitaire ne constituerait pas non plus pour nous un "document". Ici, l'unité information pourrait être considérée comme complète, mais non indivisible.
Notez que nous ne définissons pas le document par un critère de quantité d'information, mais bien d'unité et de complétude d'un ensemble d'informations. Indéniablement, ces éléments sont parfois reliés, mais le critère que nous proposons est bel et bien celui de l'unité et de la complétude d'un ensemble d'informations.
Cette définition informelle de "document" étant posée, il est clair que la normalisation des façons de représenter les documents se situe au coeur de la problématique des systèmes ouverts. En effet, tous les transferts d'information où l'émetteur et le récepteur sont humains tombent sous la définition d'échange de documents. Pour que de tels transferts puissent être effectués de façon transparente par un système ouvert, les différentes représentations utilisées pour les documents doivent nécessairement être normalisées.
Il est important de noter ici que les échanges de documents entre systèmes peuvent se faire non seulement dans l'espace (entre systèmes éloignés), mais également dans le temps, d'un système vers lui-même, avec un laps de temps plus ou moins important entre l'émission et la réception. C'est le cas, par exemple, de la récupération de données archivées. Les télécommunications ont bien peu à offrir pour solutionner ce problème; par contre, la normalisation des représentations de documents est cruciale. Elle assure ici, non pas la transmissibilité géographique des documents, mais leur pérennité, c'est-à-dire leur transmissibilité dans le temps.
Il n'est donc pas surprenant que les normes de représentation des documents connaissent un vif intérêt en ce moment. Depuis la deuxième moitié des années 1980, trois formats particulièrement importants ont été adoptés comme normes internationales. Ce sont: SGML (Standard Generalized Markup Language, ISO 8879), ODA (Office Document Architecture, ISO 8613) et HyTime (Hypermedia/Time-based Document Structuring Language, ISO 10744). Il s'agit en fait de formats de documents structurés, qui permettent de représenter les documents à un niveau d'abstraction suffisant pour que leur structure logique (division en parties, chapitres, sections, etc.) soit préservée. L'importance de ces normes peut difficilement être surestimée, dans la mesure où elles permettent pour la première fois de concevoir des systèmes capables d'échanger des documents de façon transparente et universelle (du moins théoriquement). Toute personne impliquée dans le développement ou l'utilisation active de systèmes ouverts (et cette dénomination n'inclura-t-elle pas la plupart des systèmes informatiques dans l'avenir?) se doit de connaître ces normes et les possibilités qu'elles offrent.
Le but de cet article est d'exposer la nature des trois formats SGML, ODA et HyTime, et de souligner quelques-unes des possibilités qu'ils offrent pour les systèmes de gestion de documents. L'article est surtout axé sur les principes de base et sur l'évolution ayant mené à l'apparition des formats normalisés de documents structurés; nous ne faisons ni une présentation détaillée, ni une comparaison, de SGML, ODA et HyTime. Nous nous concentrons sur les documents textuels, même si les normes dont nous traitons sont capables de représenter des documents multimédia (c'est-à-dire incluant des parties de contenu non textuel, comme des sons, des images fixes, des séquences vidéo, etc.)
L'article est structuré comme suit: dans un premier temps, nous présentons les concepts de base sur les formats de documents électroniques. Nous introduisons ensuite la notion de document structuré, puis discutons rapidement l'impact qu'ils peuvent avoir sur l'architecture d'un système de gestion de documents. Nous terminons en présentant quelques-unes des principales caractéristiques des formats normalisés de documents structurés que sont SGML, ODA et HyTime.
Dans le reste de cet article, "format" signifie "format de documents électroniques", à moins d'avis contraire.
Un document électronique est la représentation d'un document sous la forme d'une structure de données informatique entreposable dans la mémoire d'un ordinateur et transmissible d'un ordinateur à un autre. Notons d'emblée qu'un document électronique nécessite un support de stockage pour exister, mais est indépendant de celui-ci: il peut être copié d'un support à un autre (par exemple, d'une disquette à une autre) sans perdre son identité. Notons également qu'un document électronique peut correspondre à un document existant aussi sur support traditionnel: ce serait le cas, par exemple, de la version électronique d'un article de journal produit à l'aide d'un logiciel de traitement de textes. Mais il pourrait aussi s'agir d'un document "abstrait", n'existant concrètement que sur support électronique. Ce serait le cas, par exemple, d'une encyclopédie électronique dotée d'une structure hypertextuelle, non reproduisible directement sur les supports traditionnels.
Une des structures de données les plus utilisées pour représenter les documents électroniques est la séquence de caractères (qui est en fait plus précisément une séquence d'octets). C'est la structure la plus utilisée par l'ensemble des formats de documents électroniques existant actuellement. Une séquence de caractères est facile à manipuler dans un système informatique, puisqu'elle s'identifie à un fichier. Un document électronique sous forme de séquence de caractères peut être directement stocké et transmis en tant que fichier dans un système informatique.
Dans certains cas rares (incluant cependant ODA), la structure de données conceptuelle utilisée pour représenter un document électronique est plus complexe que la séquence de caractères; il s'agira alors le plus souvent de structures hiérarchiques (c'est le cas d'ODA). Concrètement, cependant, une telle structure peut toujours être ramenée à une séquence de caractères, puisque c'est de toutes façons sous cette forme qu'elle doit, par nécessité, être transmise d'un système à un autre lorsque les mécanismes standard de transmission sont utilisés (par exemple, le transfert de fichier). Nous supposerons donc, dans cette présentation, qu'un document électronique peut toujours se ramener à une séquence de caractères (cette supposition n'a d'incidence que sur la terminologie utilisée).
Un document électronique n'est que la représentation d'un document. Comme toute représentation, celle-ci doit être interprétée lorsqu'on veut effectuer des opérations sur le document lui-même, comme par exemple le modifier ou l'imprimer. C'est le format auquel se conforme un document électronique qui détermine comment il faut faire cette interprétation.
Un format de documents électroniques est un ensemble de règles ou conventions qui régissent l'interprétation de documents électroniques. On distingue la syntaxe et la sémantique d'un format. La syntaxe est un ensemble de règles auxquelles une séquence de caractères doit se conformer pour être reconnue comme un document valide; la sémantique est un ensemble de règles permettant de transformer un document électronique valide en un document "réel"; il peut s'agir d'un document concret (par exemple, sur papier), ou d'un document abstrait, n'existant que dans un modèle conceptuel défini par la sémantique du format (par exemple, un modèle de documents hypertextuels).
La plupart des utilisateurs de micro-ordinateurs sont familiers avec un logiciel de traitement de textes (WordPerfect, Word, Write, etc.) À peu près tous ces utilisateurs ont, un jour ou l'autre, pris conscience du format dans lequel leur logiciel entrepose les textes, ne serait-ce qu'en essayant par erreur de faire afficher un document directement à l'écran, et en n'obtenant qu'un charabia incompréhensible: c'est que le système essayait d'interpréter le document comme une suite de caractères directement affichables à l'écran (par exemple, des caractères ASCII), alors qu'en réalité, ils auraient dû être interprétés selon le format propre au logiciel de traitement de textes. La sémantique du format n'était pas respectée par le système.
La plupart des utilisateurs ont aussi constaté que les documents que leur logiciel peut traiter doivent respecter une certaine forme (syntaxe), ne serait-ce, encore une fois, qu'en essayant par erreur de faire lire un document créé avec un autre logiciel, et en obtenant un message du genre: "Ceci n'est pas un document valide". Évidemment, le logiciel lui-même ne crée que des documents valides, et il est capable de les interpréter correctement, par exemple, de les afficher à l'écran ou de les imprimer.
La plupart du temps, le format utilisé par un logiciel de traitement de textes est décrit en détail dans la documentation de celui-ci, ou du moins dans la documentation technique pour développeurs (il peut cependant arriver qu'un format "secret" soit utilisé). Bien que les deux éléments du format (syntaxe et sémantique) ne soient pas nécessairement distingués dans la documentation, on peut toujours reconstituer l'un et l'autre; s'il en était autrement, la description du format serait incomplète.
Dans cet exemple, les documents sont des images fixes. On sait depuis fort longtemps qu'on peut enregistrer et restituer une image sous la forme d'un ensemble de carrés minuscules représentant chacun une petite région de l'image et étant chacun d'une seule couleur uniforme. Il s'agit d'un phénomène perceptuel exploité par, entre autres, la télévision. Comme tous les carrés ont la même dimension et que chacun n'a qu'une seule couleur, tout ce qu'il y a à retenir pour mémoriser une image est la couleur de chacun des carrés (ou le ton de gris, dans le cas d'une image noir et blanc). Si on associe à chaque couleur un code numérique, on peut alors représenter une image par une série de nombres. C'est ce qu'on appelle une représentation matricielle des images. Les "bit maps" en sont un exemple.
Une telle représentation d'images constitue bel et bien un format de documents. En effet, la syntaxe de ce format correspond aux aspects comme la forme exacte que doivent avoir les nombres représentant les couleurs, les codes de couleur valides, le nombre de carrés dans une image, etc. La sémantique du format, quant à elle, correspond aux aspects comme la correspondance entre les codes de couleur et les couleurs réelles.
Selon les opérations prévues sur les documents, la sémantique d'un format sera en général définie en fonction d'objets conceptuels pouvant correspondre à des sections du document électronique ayant une position et une longueur variables. Par exemple, dans un format de traitement de textes, les opérations prévues incluent la mise en page, qui est définie en fonction d'objets conceptuels comme des mots, des paragraphes, des pages, etc. Ces objets sont qualifiés de conceptuels, car ils n'existent pas a priori dans la structure informatique sous-tendant les documents électroniques: la séquence de caractères. Pour délimiter ces différents objets conceptuels dans les documents électroniques, les règles syntaxiques d'un format prévoiront l'utilisation de balises ou codes.
Une balise ou un code est une chaîne de caractères consécutifs (en général assez courte) qui identifie, dans un document électronique, le début ou la fin d'un segment correspondant à un objet conceptuel, ou qui sert de séparateur entre deux segments correspondant à des objets conceptuels distincts. On parlera de balise dans le cas où les caractères utilisés sont directement lisibles par l'humain (par exemple, des caractères ASCII), et de code autrement. Pour simplifier la terminologie, le terme "balise" est souvent utilisé dans les deux cas. Par extension, on désigne aussi parfois l'ensemble de la composante syntaxique d'un format par le terme balisage.
Nous verrons deux exemples de balisage dans la Section 3.
Tôt ou tard, lorsqu'on travaille avec un document électronique, on voudra le restituer, c'est-à-dire, obtenir à partir de celui-ci un document "concret", sous une forme directement perceptible par l'humain. Avec un format de traitement de textes, par exemple, l'opération habituelle de restitution est l'impression sur papier. Celle-ci s'effectue à l'aide d'un logiciel qui "comprend" le format, par exemple, le logiciel de traitement de textes lui-même. Avec les représentations matricielles d'images, la restitution est habituellement l'affichage sur écran cathodique. Elle est réalisée par un logiciel capable de piloter l'écran graphique d'un ordinateur à partir des images codées.
Dans tous les cas, la restitution se fait par l'intermédiaire d'un dispositif de restitution, qui a la possibilité de produire des documents sous une forme directement perceptible par l'humain. Il peut bien sûr s'agir, comme dans les exemples donnés ci-dessus, d'une imprimante ou d'un écran vidéo, mais ce pourrait aussi être des appareils plus "exotiques", comme un générateur de signal audio, si on travaillait avec des documents sonores, ou un dispositif d'écriture en braille, pour restituer des textes en braille.
Pour bien des formats, la sémantique est suffisamment précise pour permettre de prédire une et une seule forme restituée pour chaque document électronique. C'est le cas de la plupart des logiciels de traitement de textes: leur format contient non seulement les caractères constituant le texte, mais également l'information sur l'imprimante utilisée, et la police de caractères à utiliser pour chacun des caractères. On peut donc savoir exactement de quoi aura l'air le document restitué, à partir du seul document électronique. Un tel format est dit strict. Les représentations matricielles d'images sont des formats stricts. La représentation des sons qu'on retrouve sur les disques compacts est aussi un format strict (au grand bonheur des mélomanes!)
Bien que la plupart des formats courants soient stricts, il y a des exceptions. Un exemple très connu de format non strict est le code ASCII pur (sans séquences d'échappement) pour la représentation des textes. On pourrait être porté à penser que, comme le code ASCII donne la séquence exacte des caractères constituant un texte, on pourra déduire la forme précise que devra avoir le document restitué. Rien n'est cependant moins vrai. Entre autres choses, le code ASCII ne donne aucune information sur les polices de caractères à utiliser; en fait, il ne dit même rien sur le genre de restitution à utiliser. En effet, un texte en ASCII peut aussi bien être restitué sur un écran que sur une feuille de papier et, clairement, les documents résultant de ces deux types de restitution ne pourront avoir exactement la même forme! Le code ASCII pour la représentation des textes constitue donc un format non strict. SGML est un autre format non strict; nous en reparlerons plus loin.
Avec un format non strict, la question se pose tout naturellement: comment les documents électroniques sont-ils restitués? La réponse est simplement que les décisions sur l'apparence finale des documents restitués sont laissées à l'application informatique prenant en charge l'opération de restitution. Autrement dit, ce n'est pas l'auteur d'un document électronique qui décide de l'apparence finale de son document une fois restitué.
Il est à noter cependant que, même avec un format non strict, il est souvent possible pour "l'utilisateur" de paramétrer la restitution des documents: ce paramétrage s'effectue dans l'application prenant en charge cette opération. Dans la mesure où "l'utilisateur" est la même personne que l'auteur d'un document, celui-ci peut donc quand même contrôler la restitution; cependant, ce contrôle ne s'exerce pas via les documents électroniques eux-mêmes, mais par des instructions données indépendamment des documents électroniques.
Une méthode répandue de paramétrage de la restitution des documents avec un format non strict est l'utilisation de feuilles de style, sur laquelle nous reviendrons un peu plus tard.
Parmi les formats stricts, on appelle formats de restitution ceux dont les documents électroniques peuvent être "compris" directement par un dispositif de restitution. Le format dans lequel un document doit être transmis à une imprimante est un exemple de format de restitution (ce format variera en général d'une imprimante à l'autre, ce qui oblige les logiciels de traitement de textes à être "configurés" pour chaque imprimante spécifique). La sémantique d'un format de restitution est définie entièrement en termes de l'opération du dispositif de restitution correspondant.
Il est important de bien dissocier un format de documents électroniques et les applications qui utilisent ce format. Cette dissociation est parfois difficile en raison de l'abondance des formats "propriétaires", qui ne sont associés qu'à une seule application ou un seul logiciel. Cependant, il peut très bien arriver qu'un même format soit utilisé par plus d'une application.
Il est facile de trouver des exemples d'une telle situation avec les formats normalisés de documents structurés, mais les exemples sont plutôt rares avec les formats plus courants comme les formats de traitement de textes. On peut tout de même imaginer la situation suivante: une application qui parcourt un document électronique dans un certain format de traitement de textes, en extrait tous les mots en caractères gras, et les imprime, triés par ordre alphabétique, sous forme de lexique. Dans ce cas, le même format est utilisé, à la fois par le logiciel de traitement de textes lui-même, pour formater les documents, et par l'application décrite ci-dessus, pour produire les lexiques.
Une situation rencontrée fréquemment est celle où une application de traitement de documents n'est en fait qu'une "traduction" d'un format à un autre. Pour comprendre ceci, examinons en détail ce qui se passe lors de l'impression d'un document dans un logiciel de traitement de textes: le document est d'abord transformé dans le format de restitution correspondant à l'imprimante utilisée, puis ce nouveau "document électronique" est transmis à l'imprimante. En fait, ces deux opérations sont à ce point distinctes que, dans bien des logiciels de traitement de textes, on peut faire sauvegarder le document électronique en format de restitution. Une fois sauvegardé, ce document peut par exemple être copié sur un autre système, et imprimé (sur une imprimante identique) sans recourir au logiciel de traitement de textes. Dans ce cas, l'opération du logiciel de traitement de textes s'est effectivement résumée à "traduire" le document électronique d'un format (le format de traitement de textes) à un autre (le format de restitution de l'imprimante).
Dans certains systèmes de traitement de documents, cette façon de procéder est le seul mode d'opération prévu. Ainsi, il n'est pas rare de voir trois ou même quatre applications "en cascade", effectuant des transformations des documents électroniques, les amenant chacune d'un format "plus abstrait" vers un format "plus concret", la fin de la chaîne étant un format de restitution. La cascade suivante de formats correspond à un cas rencontré en pratique:
SGML --> TeX --> dvi --> PostScript
TeX (prononcé "tèk") est le format associé au logiciel de typographie pour textes scientifiques du même nom. Le logiciel TeX produit des documents en format "dvi" (pour "device independent"). PostScript est un format de restitution d'imprimante. Chacune des flèches (-->) représente une application traduisant d'un format à un autre.
Un même document peut donc exister dans plusieurs formats. Lorsqu'un document est dans le même format que celui dans lequel il a été créé, on dit qu'il s'agit d'un document révisable. Un tel document peut être modifié en travaillant au même niveau d'abstraction que l'auteur originel. Dans la chaîne ci-dessus, seul le document en SGML serait considéré comme document révisable (et ce, même si le format TeX est parfois utilisé pour créer directement des documents). Intuitivement, le document révisable est le type de documents que s'échangeraient des co-auteurs.
La conversion est un autre type de traduction, effectuée le plus souvent par les logiciels de traitement de textes pour transformer vers leur format propriétaire des documents produits à l'aide d'autres logiciels. Ici cependant, contrairement aux applications en cascade, les niveaux d'abstraction des formats source et cible seront en général similaires.
Dans un format qui n'est pas un format de restitution, les objets conceptuels de la sémantique ne sont pas définis en termes de l'opération d'un dispositif de restitution, mais en termes plus abstraits, correspondant aux différentes opérations prévues sur les documents.
Dans la plupart des formats de traitement de textes, les opérations prévues sont du type "mise en page", et les objets conceptuels du format sont ceux qui sont significatifs pour ce genre d'opérations, à savoir: les mots, les phrases, les paragraphes, les pages, les tabulations, les marges etc. On dit alors que le format utilise un balisage procédural.
Cette appellation est justifiée du fait que, par nécessité, le format utilisera une structuration syntaxique identifiant les objets conceptuels significatifs pour la mise en page, et que chaque balise pourra être associée à une opération de formatage. Le document électronique contiendra donc de l'information sur comment formater le document: il constituera une "recette" indiquant la suite d'opérations de formatage à effectuer pour restituer le document, d'où le nom de "procédural".
Le balisage procédural n'est cependant pas le seul type de balisage possible. La sémantique d'un format peut aussi être définie en termes d'objets conceptuels plus abstraits, ne relevant pas de la mise en page. À la limite, les balises peuvent être associées non pas à des opérations, mais aux différentes fonctions jouées par les segments de texte dans un document. Les balises, plutôt que d'indiquer la façon dont les objets conceptuels doivent être formatés, décrivent alors le type d'information qu'on retrouve dans chacun de ces objets. On parle alors de balisage descriptif.
Un exemple clarifiera la distinction entre les deux types de balisage. Voici tout d'abord un mémo, tel qu'il pourrait se présenter comme document électronique pour un logiciel de traitement de textes typique:
.PL 66
.MT 6
.MB 9
^A^BMÉMORANDUM
Date:^B
1993-06-09
^BDe:^B Julie
^BÀ:^B Jean
^A^BObjet:^B
Journée sur la normalisation des formats de documents
Il me fait
plaisir de t'inviter à participer à cette journée.
(Fin de l'exemple)
Ce format (inspiré du format WordStar) utilise deux types de balises: les lignes commençant par un point (.) et l'accent circonflexe (^) suivi d'une lettre majuscule. La signification des balises est comme suit: .PL règle le nombre de lignes par page, .MT règle la marge supérieure, .MB la marge inférieure, ^A cause le centrage de la ligne sur laquelle elle se trouve et le texte entouré de ^B est mis en caractères gras. Comme on le voit, le balisage est très orienté vers la mise en page.
Voici maintenant de quoi pourrait avoir l'air le même mémo, dans un format utilisant un balisage descriptif (inspiré de SGML):
<mémo>
<auteur>Julie
<destinataire>Jean
<date>1993-06-09
<sujet>Journée sur la
normalisation des formats de documents
<paragraphe>Il me fait plaisir
de t'inviter à participer à cette journée.
</mémo>
Ici, les balises sont des séquences de caractères délimitées par "<" et ">". La balise <mémo> identifie le début du mémo, et </mémo> la fin. Les autres balises identifient les différentes composantes du mémo.
On remarque tout de suite qu'il n'y a aucune indication sur la mise en page du mémo. En fait, même le titre "MÉMORANDUM" ne se trouve nulle part dans le document électronique. Également, même si la date est donnée après l'auteur et le destinataire, rien n'indique qu'elle se retrouvera à cette position relative dans le mémo restitué. En fait, tous ces éléments font partie des décisions typographiques de mise en page s'appliquant à tous les mémos, et n'ont rien à voir avec ce mémo spécifique. Avec le balisage descriptif, ils sont évacués des documents électroniques. Seuls demeurent dans les documents électroniques les éléments de contenu spécifiques à un mémo particulier, accompagnés des balises nécessaires à leur identification.
Ce second exemple est-il un format strict ou non strict? En fait, les deux cas seraient possibles. Il pourrait s'agir d'un format strict, à condition que toutes les décisions typographiques dont nous avons parlé fassent partie de la sémantique même du format. Alors, la documentation du format spécifierait par exemple que si le document électronique est délimité par les balises <mémo> et </mémo>, alors le mot "MÉMORANDUM" doit apparaître centré et en caractères sur la première ligne du document restitué, etc.
Cependant, il serait étonnant qu'un format utilise simultanément un balisage aussi abstrait, et une sémantique aussi concrète. Le plus "naturel", pour le second format donné en exemple ci-dessus, serait donc d'être non strict (ce qui est le cas de SGML). La sémantique se contenterait alors de définir la structure générale d'un mémo, sans préciser le formatage des différents éléments. Les décisions de formatage devraient bien sûr être prises au moment de restituer les documents, mais elles n'auraient rien à voir avec le format lui-même, et ne toucheraient qu'une des opérations possibles sur les documents: la restitution.
En fait, avec un format utilisant un balisage descriptif, la notion même "d'opérations prévues" sur les documents perd de son sens. De nouvelles opérations sur les documents, même non prévues au moment de l'élaboration du format, peuvent être définies en tout temps sans affecter le format. C'est justement un des principaux avantages du balisage descriptif: permettre la dissociation des documents et des opérations sur les documents. D'ailleurs, la situation serait tout à fait possible avec le deuxième format présenté comme exemple ci-dessus: on pourrait très bien développer une application qui expédierait un mémo comme message électronique, plutôt que de l'imprimer sur papier (pour peu que l'identification du destinataire soit une adresse électronique valide). Cette nouvelle opération pourrait être définie et implantée sans aucune modification au format.
La structure logique d'un document traditionnel réfère à sa division en unités "sectionnelles": parties, chapitres, sections, sous-sections, etc. Elle identifie également les unités "flottantes" du document, à savoir, les notes de bas de page, les figures, les illustrations, les références bibliographiques, etc.
Évidemment, chaque type de documents possède une structure logique particulière. Pour certains types de mémos, par exemple, la structure logique pourrait correspondre au balisage utilisé dans le second exemple donné ci-dessus. Bien qu'il soit impossible de donner une définition unique de la "structure logique" d'un document, on peut dire qu'elle réfère à un type de structuration permettant de présenter de façon cohérente et logique le contenu des documents.
Une des formes les plus naturelles de balisage descriptif est le balisage logique, par lequel des balises sont utilisées pour décrire la structure logique d'un document. Ce type de balisage s'avère très intéressant pour un format de document, puisqu'il permet une séparation des composantes d'un document, à partir de laquelle on pourra définir la plupart des opérations "naturelles" sur les documents.
Par exemple, avec le balisage logique des mémos utilisé dans l'exemple ci-dessus, il est possible d'identifier directement le destinataire d'un mémo. Ceci permet, d'une part, d'appliquer à cette information un formatage particulier dans les documents restitués, mais permet également à une application d'effectuer l'acheminement électronique d'un tel mémo. En général: le balisage logique permet de découper un document en composantes "naturelles" de telle façon que la plupart des opérations peuvent s'exprimer directement en termes de ces composantes, sans découpage additionnel.
La capacité d'un format à représenter la structure logique des documents sert à distinguer les formats "structurés" des formats "non structurés". Un format est dit structuré, ou format de documents structurés, s'il permet un balisage logique des documents. En général, un format structuré permet n'importe quel type de balisage descriptif, pas seulement le balisage logique; ce n'est cependant pas toujours le cas (nous verrons que ODA, par exemple, est une exception).
Une feuille de style est, grosso modo, une table de correspondance entre une série de balises et une série de directives de formatage. Une feuille de style pour le format de mémos présenté ci-dessus pourrait par exemple établir que le nom de l'auteur d'un mémo doit figurer à telle position sur la feuille de papier, écrit avec telle police de caractères, précédé de tant de lignes blanches, etc.
Les feuilles de style interviennent principalement de deux façons dans les formats de documents électroniques. D'une part, comme nous avons mentionné précédemment, une feuille de style peut servir à paramétrer l'opération de restitution des documents avec un format non strict. D'autre part, la notion de feuille de style peut être incluse dans un format structuré de façon à en faire un format strict. Le format prévoit alors l'utilisation d'un balisage logique et, simultanément, l'inclusion (directe ou par référence) d'une feuille de style dans les documents électroniques. Chaque document électronique "transporte" donc avec lui ses propres instructions de restitution. ODA est un exemple de format structuré où les feuilles de style sont incluses dans les documents électroniques, ce qui en fait donc un format strict.
On retrouve aussi les feuilles de style dans certains logiciels de traitement de textes. Elles servent alors à regrouper ensemble certaines instructions de formatage et à les associer à de nouvelles balises. Dans certains cas, cette fonctionnalité est suffisamment développée pour permettre le balisage logique des documents. Il faut noter cependant que les opérations prises en charge par le logiciel de traitement de textes se résument quand même habituellement à la restitution, et que le développement de nouvelles applications peut être ardu, vu la nature "propriétaire" du format. Cependant, les feuilles de style représentent un avantage certain, puisqu'elles peuvent être modifiées séparément des documents.
Jusqu'à présent, nous avons énoncé qu'un format structuré doit permettre le balisage logique d'un type de documents, sans préciser ce qu'il advient des autres types de documents. Manifestement, deux types différents de documents ne pourront pas toujours partager la même structure logique; faudra-t-il un format distinct pour chaque type de document? La réponse est dans l'utilisation d'un "méta-format", à l'intérieur duquel il est possible de définir différents types de structures logiques, et de leur associer des ensembles de balises.
Dans un tel "méta-format", chaque document électronique commence par un "préambule" définissant son type de structure logique et les balises associées. Ces balises sont ensuite utilisées dans le corps du document pour en décrire la structure logique spécifique. C'est l'approche utilisée dans SGML, ODA et HyTime; on l'appelle le balisage généralisé.
Dans les faits, donc, les formats structurés sont des "méta-formats" de balisage généralisé. Cette caractéristique en fait de véritables "langages" de description de documents, ce qui explique entre autres choses le nom de SGML. Cette généralité fait aussi des formats structurés des formalismes complexes, qui, entre autres choses, exigent une mécanique logicielle sophistiquée pour être traités: la moindre application de traitement de documents devra faire appel à un analyseur syntaxique suffisamment puissant pour reconnaître toutes les balises susceptibles de se présenter dans les documents électroniques. Cette complexité constitue le principal désavantage des formats structurés.
Le balisage procédural est simple à comprendre et à traiter, puisqu'il fait référence à des opérations concrètes et simples: les opérations de mise en page d'un document. En revanche, ce type de balisage présente deux principaux désavantages par rapport au balisage descriptif.
Le premier désavantage apparaît lorsqu'on désire réviser les décisions typographiques de mise en page des documents. Par exemple, si l'on veut modifier le formatage des titres de sous-sections d'un certain type de documents, il faudra parcourir tous les documents, localiser tous les titres de sous-sections, et modifier les balises de formatage correspondantes. En comparaison, pour effectuer un changement similaire avec un balisage descriptif, il suffit de modifier la feuille de style utilisée. Cette modification se fait à un seul endroit.
Le deuxième désavantage apparaît lorsqu'on désire convertir d'un format à un autre (par exemple, s'il est nécessaire de changer de logiciel). Même si les formats source et cible utilisent tous deux le balisage procédural, il est probable qu'ils ne réfèrent pas exactement aux mêmes opérations de formatage. Par exemple, il est possible qu'un logiciel permette le formatage sur plusieurs colonnes et qu'un autre ne le permette pas. Un des formats aura donc des balises pour définir la largeur des colonnes, activer le formatage en colonnes, le désactiver, etc., et l'autre n'aura aucune balise correspondante. Comment alors convertir automatiquement d'un format à l'autre? Le problème est que, les formats étant tellement liés aux fonctionnalités d'un logiciel, la conversion de l'un à l'autre n'est possible que si ces fonctionnalités sont similaires, sinon identiques.
Ce phénomène devient un facteur bloquant lorsqu'on veut normaliser les formats de documents: en effet, les fonctionnalités des différents systèmes de production de documents varient, et elles varieront toujours. Il est donc impossible d'utiliser un unique jeu de balises pour les représenter toutes. Pour cette raison, il aurait été très difficile, avant l'introduction du balisage descriptif, de concevoir un format normalisé de documents révisables.
L'importance de formats normalisés de documents dans l'industrie a été soulignée au début de cet article, et nous n'y reviendrons pas.
L'impact le plus important des formats de documents structurés est peut-être la "factorisation du travail" qu'ils entraînent dans la production de documents. La séparation nette apportée par les documents structurés entre le contenu d'un document et les traitements à effectuer sur le document favorise une séparation équivalente entre les tâches de l'auteur et du typographe. L'auteur peut se concentrer sur le contenu, au lieu de devoir prendre toutes sortes de décisions typographiques n'ayant rien à voir avec le contenu. Le typographe, par exemple dans l'élaboration de feuilles de style, se concentre pour sa part sur les façons cohérentes de mettre en page toute une classe de documents, et non un seul.
Une factorisation du travail apparaît également à un autre niveau. Rappelons-nous que tout document structuré possède un préambule indiquant le type de structure utilisé et les balises associées. Le rôle de cette information est absolument crucial: tous les traitements à effectuer sur le document (mise en page, etc.) seront définis en fonction de ce type de structuration. De façon générale, adapter les traitements à un nouveau type de structuration demandera des efforts considérables. Dans la pratique, donc, il est hors de question d'utiliser un type de structuration distinct pour chaque document: on utilisera des structures génériques, auxquelles on référera à partir de chaque document individuel. On définira par exemple une structure générique "mémo", à laquelle on référera dans le préambule de tous les documents de type "mémo".
La seconde factorisation du travail que nous avons mentionnée se situe justement au niveau de la création des structures génériques. La conception d'une structure générique est tellement importante, et a tellement d'impact sur l'ensemble des fonctionnalités possibles d'un système de traitement de documents, qu'en fait, cette tâche est confiée non pas aux auteurs, mais à des spécialistes qu'on nomme "architectes de documents". On peut dire d'une part que cette factorisation du travail laisse les auteurs encore plus libres de se concentrer sur le contenu de leurs documents. D'autre part, cependant, l'utilisation de certaines structures génériques prédéfinies est une contrainte à laquelle les auteurs doivent se plier, et qui ne facilite pas nécessairement toujours leur tâche. Une structure générique prédéfinie délimite un cadre à l'intérieur duquel ils sont forcés d'évoluer.
Cet état de choses rend la conception de structures génériques une étape encore plus cruciale dans l'élaboration d'un système de traitement de documents. Il faut donc que les méthodologies de conception soient revues de façon à inclure l'analyse documentaire requise pour l'identification des caractéristiques essentielles des structures génériques de documents.
Un autre impact potentiel des documents structurés, moins bien compris celui-là, est l'influence qu'ils peuvent avoir sur la recherche d'information dans une base de documents. Intuitivement, l'information structurelle qui accompagne un document constitue une "valeur ajoutée" qu'on pourrait avoir intérêt à exploiter pour le repérage d'information.
Cette idée est tellement naturelle que plusieurs langages d'interrogation de bases de documents structurés sont déjà en développement. Mentionnons simplement SFQL (Structured Full-text Query Language), basé sur le langage SQL des bases de données relationnelles et développé par la Air Transport Association aux É.-U., HyQ, un langage d'interrogation faisant partie intégrante de HyTime, et SGML/Search, développé en France par Advanced Information Systems. Il y a certains produits commerciaux capables de faire du repérage sur des bases de documents structurés, par exemple, PAT, de Open Text Systems, et Dynatext, de Electronic Book Technologies. Des modèles théoriques de repérage dans les documents structurés ont aussi été développés (voir par exemple Meghini et al. et Croft et al.)
Jusqu'à présent, cependant, aucune étude n'a démontré clairement le type de bénéfices auxquels on peut s'attendre avec l'exploitation de la structure des documents pour le repérage d'information, ni le type de structuration qui convient le mieux à cette fin.
Nous avons vu que le balisage descriptif permet entre autres choses le balisage logique; mais d'autres types de structuration sont a priori possibles.
Le balisage par contenu, par exemple, utilise des balises pour identifier le type de chaque élément important référé dans un texte. Ainsi, dans un manuel de procédures, on entourerait de balises prédéterminées chaque mention de l'utilisation d'un outil, ce qui permettrait par exemple de produire automatiquement un index croisé outils-procédures.
Un autre type de balisage ayant été suggéré est le balisage selon la structure argumentationnelle des textes. Cette approche a été proposée par Kircz pour des corpus de textes scientifiques, dont la structure rhétorique est assez fixe, dans le but d'améliorer le repérage d'information pour certains types de lecteurs. L'idée est de baliser chaque segment de texte selon le rôle qu'il joue dans l'argumentation de l'auteur (prémisse théorique, cadre expérimental, conclusion, etc.) Il est à noter que, avec SGML, il est possible de baliser un document selon plusieurs structures logiques de façon concomitante. La structure argumentationnelle pourrait donc être incluse dans un document tout en y conservant la structure logique, ou tout autre type de structuration.
Il convient finalement de noter que, bien que les formats de documents structurés permettent le balisage logique, ils ne peuvent en aucune façon l'imposer. Ainsi, rien n'empêcherait un concepteur de structure logique générique de définir un jeu de balises qui correspondraient, une à une, à des directives de formatage... On peut donc toujours mal utiliser l'outil, peu importe sa puissance.
Nous présentons maintenant quelques-unes des caractéristiques principales de SGML, ODA et HyTime. Il s'agit bien sûr de trois formats de documents structurés, et de trois normes internationales ISO (International Organization for Standardization).
SGML est le plus vieux des formats normalisés de documents structurés. Il fut adopté en 1986. SGML prend sa source dans les travaux de Charles F. Goldfarb, de IBM, qui remontent à 1969, sur GML (Generalized Markup Language), produit commercial de IBM.
SGML utilise comme structure informatique sous-jacente la séquence de caractères, et ses balises sont lisibles par l'humain, ce qui fait qu'il s'insère sans difficulté dans l'univers culturel traditionnel: on peut "voir" directement les documents SGML. SGML permet le balisage descriptif en général, et non pas seulement le balisage logique; il permet également le balisage "concomitant" de documents selon plusieurs structures génériques (appelées DTD, pour Document Type Definition). Il peut donc être utilisé pour d'autres types de balisage, comme le balisage par contenu et par structure argumentationnelle.
SGML est un format non strict, qui laisse délibérément de côté tous les aspects de mise en page des documents. Il n'y a en particulier aucune façon de décrire le formatage des documents autrement qu'en définissant une application. Ceci est parfois perçu comme une faiblesse de SGML, et est probablement à l'origine des travaux de l'ISO sur la norme DSSSL, mentionnée ci-dessous, qui vise à fournir une façon normalisée de spécifier le formatage de documents SGML.
Comme SGML sépare à ce point contenu et formatage, il a percé initialement dans les domaines où la rédaction et le formatage correspondent réellement à des opérations très disjointes. C'est donc surtout dans le milieu de l'édition, et particulièrement l'édition technique, que SGML a d'abord été adopté. SGML, le plus répandu des trois formats, jouit cependant maintenant d'une grande popularité, et son utilisation commence à déborder sensiblement ce cadre initial.
SGML est un format qui aspire à l'universalité, et il doit donc être ouvert aux différentes langues et aux différents contenus non textuels. L'ouverture aux langues est réalisée par la possibilité de définir n'importe quel jeu de caractères à l'intérieur de SGML. Ceci rend donc possible l'utilisation d'éventuels jeux de caractères normalisés, sans modification de SGML. L'ouverture aux contenus non textuels est réalisée par la possibilité de donner à certaines composantes d'un document un statut "non SGML", et de leur associer une application externe qui est responsable de leur traitement.
Ces différents mécanismes d'ouverture sont facilités par des procédures rigoureuses d'enregistrement d'entités "publiques", lesquelles procédures font même l'objet d'une autre norme ISO. Après enregistrement, ces entités peuvent être référencées, sans inclusion, dans n'importe quel document SGML.
Initiatives reliées à SGML
L'initiative qui a le plus contribué au succès de SGML est probablement le projet CALS (Computer-aided Acquisition and Logistics Support) du département de la défense américain. Ce vaste programme de rationalisation du processus d'acquisition de matériel militaire vise, en ce qui a trait à la documentation technique, à réduire les coûts reliés à la production, au stockage, à la mise à jour et à la consultation de l'ensemble des manuels techniques d'équipement militaire.
Pour le projet CALS, SGML se présentait comme un outil pouvant favoriser un traitement rationnel de la documentation, et il fut adopté non seulement en principe, mais également sous la forme de lignes de conduites pour l'élaboration de DTD. Le projet CALS touche non seulement les fournisseurs directs du département de la défense, mais également tous les sous-contractants. Un vaste mouvement de mobilisation est perceptible dans toute l'industrie.
La vague CALS s'est propagée en Europe, et plus récemment au Canada, où on a assisté, à l'été 1993, à la formation d'un groupe de coordination industrielle CALS, le "Canadian CALS Industry Steering Group", sous l'égide du EDI World Institute de Montréal. On retrouve plusieurs autres groupes de coordination industrielle ailleurs dans le monde.
Indépendamment du programme CALS, on relève plusieurs organisations ou groupes qui travaillent à l'élaboration de DTD spécifiques ou de lignes de conduite pour la conception de DTD dans certains domaines. On note, entre autres, les efforts du groupe Davenport, rassemblant des producteurs de logiciels pour plate-forme UNIX, de l'Association of American Publishers, de la Aircraft Industry Association et la Air Transport Association.
Également digne de mention est la Text Encoding Initiative (TEI), projet supporté par l'Association for Computational Linguistics, l'Association for Literary and Linguistic Computing et l'Association for Computers and the Humanities, dont l'objectif à long terme n'est rien de moins que l'encodage en SGML de toute la production littéraire classique.
La communauté SGML possède maintenant sa propre conférence annuelle (intitulée simplement "SGML") et son bulletin d'information, <TAG> ("tag" signifiant "balise", en anglais). C'est la Graphic Communications Association qui est à l'origine de ces deux initiatives.
Mentionnons également que SGML commence à être associé de plus en plus au concept d'EDI (Échange de documents informatiques), le scénario envisagé étant que SGML serve de support à d'éventuelles normes EDI.
Types de produits SGML disponibles
SGML est le seul des trois formats normalisés de documents structurés pour lequel il existe des produits commerciaux. Un consortium de développeurs de logiciels s'est récemment formé, qui inclut entre autres ArborText, Avalanche Development, Electronic Book Technologies, Interleaf, Oracle et SoftQuad. Le nombre de produits ou options de produits reliés à SGML est maintenant si important qu'un répertoriage complet devient extrêmement difficile. Nous nous contenterons d'en donner une typologie avec exemples.
Les éditeurs SGML sont des éditeurs spécialisés dans la création de documents balisés en SGML. Typiquement, on fournit à l'éditeur une DTD, et celui-ci guide l'auteur dans la pose des balises en n'offrant en tout temps (via un menu) que les balises valides à ce point précis du document. Il en résulte un contrôle à la source du balisage, qui assure des documents conformes à la DTD. Auteur/Éditeur de SoftQuad, Grif de Grif S.A. et SGML Editor de ArborText sont des exemples de tels éditeurs. Tout dernièrement, IADS (Interactive Authoring and Display System), un système de création et d'affichage de documents SGML, a été annoncé par le International SGML Users' Group. Ce système, qui se présente comme une application MS-Windows, est disponible sans frais sur l'Internet par transfert ftp anonyme.
Les analyseurs syntaxiques, ou parseurs, SGML constituent le noyau de toute application SGML. Il existe un parseur minimal, du domaine public, SGMLS, disponible sans frais sur l'Internet par transfert ftp anonyme. D'autres parseurs plus sophistiqués sont en fait de véritables traducteurs ou compilateurs généraux de documents. On compte parmi eux OmniMark de Exoterica, le SGML Translator de IBM et MarkIt de Sema.
Un autre type de produit est ce qu'on appelle les baliseurs rétrospectifs. Il s'agit de logiciels capables de parcourir des corpus de documents non balisés (par exemple, dans un format de traitement de textes), d'y détecter certaines structures et d'insérer les balises correspondantes selon une DTD et des instructions pré-établies. FastTag de Avalanche est un tel produit.
Nous avons déjà mentionné des produits capables d'effectuer du repérage d'information sur des documents structurés en SGML: PAT, de Open Text Inc. et DynaText, de Electronic Book Technologies. Le produit BASIS SGMLserver, de Information Dimensions, Inc. (récemment acquise par OCLC, Online Computer Library Center, Inc.) est un véritable système de gestion de bases de documents SGML.
Signalons finalement que de plus en plus d'activités de formation de toutes sortes sur SGML sont offertes par différentes firmes dont, entre autres, Advanced Information Systems en France, Exoterica à Toronto et Documensa à Montréal.
ODA a été adopté par l'ISO en 1989. Son origine remonte aux travaux du comité technique 29 de l'ECMA (European Computer Manufacturer Association), autour de 1982. ODA a été conçu dès le départ avec en tête l'échange de documents "à l'aveugle", c'est-à-dire sans aucune concertation préalable de l'expéditeur et du destinataire. On a également dès le début voulu intégrer les documents mutimédia.
ODA signifie "Office Document Architecture", mais cette appellation a été remplacée par "Open Document Architecture" dans certaines versions nationales de la norme, dont la version canadienne.
La structure informatique de support dans ODA n'est pas la séquence de caractères, mais plutôt une structure orientée objet (sans les "méthodes", pour les lecteurs familiers avec l'orientation objet). La notion de balisage n'existe donc pas directement, mais ODA est comparable à un format utilisant des codes, en ce que les documents ODA ne sont pas directement lisibles par l'humain. ODA est donc, au premier abord, plus éloigné de l'univers traditionnel des documents que SGML.
ODA est un format strict. Un document est constitué d'une structure logique et d'une structure physique, ainsi que d'éléments de contenu partagés par les deux structures. C'est la présence de la structure physique qui fait de ODA un format strict. Une feuille de style détermine la correspondance entre les deux structures. Les structures logique et physique sont les deux seules structures prévues dans la norme pour un document. Ceci rendrait donc a priori difficile l'utilisation de ODA pour implanter un type de structuration autre que la structuration logique, par exemple, la structuration par contenu ou selon la structure argumentationnelle.
Tout comme SGML, ODA aspire à l'universalité et se doit donc d'être ouvert aux différentes langues et aux différents contenus non-textuels. Cependant, en accord avec la philosophie d'échange à l'aveugle qui a guidé le développement de ODA, cette ouverture n'est pas réalisée de la même façon qu'en SGML. Un certain nombre d'autres normes ont été incluses "statiquement" dans ODA, et en font partie intégrante. Différents jeux de caractères et formats de contenu non textuel sont ainsi intégrés à la norme ODA.
Tout comme SGML, ODA doit faire face à l'essor que connaissent actuellement les documents hypertextuels. Un groupe de travail serait actuellement en train de jeter les bases d'un "HyperODA", mais il faudra probablement attendre encore quelques années avant de voir le fruit de leur labeur.
Il est intéressant de noter que ODA fait partie des normes préconisées par CALS, mais pas de la même façon que SGML. Alors que pour SGML, CALS énonce des règles de conduite pour la conception de structures génériques (DTD), ODA n'est mentionné qu'à titre de norme admissible.
Bien qu'il n'existe pas encore à l'heure actuelle de produits ODA pour utilisateurs finaux, un consortium ODA a été formé, incluant entre autres IBM, Bull, DEC et Olivetti. Ce consortium a développé une boîte à outils ODA, à l'intention des développeurs de logiciels, qui est commercialisée depuis mars 1993.
HyTime est une extension compatible de SGML, destinée à inclure la possibilité de représenter des documents hypertextuels et à composante temporelle (son, séquences vidéo, etc.)
HyTime, adopté en 1992, est le dernier né des formats normalisés de documents structurés. Son origine remonte aux travaux du comité technique X3V1.8 de l'ANSI sur un langage normalisé de description de la musique, commencés en 1986, et auxquels s'est joint Charles Goldfarb par la suite. HyTime bénéficie maintenant de l'appui total de Goldfarb, qui l'a même qualifié de "futur de SGML". Signe incontestable de cet appui: Goldfarb, père de SGML et auteur du "SGML Handbook", travaille présentement à la rédaction d'un "HyTime Handbook".
HyTime réalise l'intégration des documents hypertextuels et à composante temporelle en permettant d'associer à certaines balises une sémantique spécifique, qui peut par exemple être un lien vers une section spécifique du même document ou d'un autre document. Un document HyTime est donc un document SGML à part entière, mais dont il est prévu que certaines composantes seront interprétées selon une sémantique particulière à HyTime. Évidemment, HyTime doit aussi inclure toute une mécanique "d'adressage" (identification et référence) des différentes parties d'un document, dans un système de coordonnées qui inclut entre autres un axe temporel.
HyTime ne possède pas de produits commerciaux en ce moment. Cependant, certains produits expérimentaux sont en développement, et certains producteurs de produits hypertexte utilisant SGML (en particulier, Electronic Book Technologies, producteur de DynaText) ont au moins énoncé l'intention de se conformer à HyTime.
Nous mentionnons dans cette section certains autres formats et normes reliés aux documents structurés.
Le format SDIF (SGML Document Interchange Format) est un format destiné à l'échange de documents SGML. Comme SGML utilise le balisage "en clair", et la séquence de caractères comme structure informatique de support, un document SGML peut être transmis d'un système informatique à un autre directement, sans aucune transformation. Cependant, le problème se complexifie quelque peu lorsqu'il s'agit de transférer des documents composés de sous-documents, ou faisant référence à des entités qui leur sont externes. Le format SDIF prévoit ces types de transfert.
DSSSL (Document Style Semantics and Specification Language) est parfois décrit comme la réponse des développeurs de SGML au fait que ce dernier ne permet pas de décrire l'apparence des documents restitués. DSSSL n'est à l'heure actuelle qu'une proposition de norme ISO ("Draft International Standard"), qui a déjà subi plusieurs transformations majeures. DSSSL se veut un langage généralisé dans lequel on peut décrire n'importe quelle fonctionnalité relative à la restitution de documents. Il ne s'agit pas d'un mince objectif, et il est clair que certains choix devront être faits. DSSSL promet malgré tout d'être une norme fort complexe.
De par sa généralité, DSSSL pourrait, une fois accepté comme norme ISO, être utilisé dans d'autres formats, dont ODA, pour décrire les documents à un niveau d'abstraction correspondant aux instructions de formatage, en particulier dans la définition des feuilles de style.
SPDL (Standard Page Description Language) est un format de restitution normalisé pour dispositifs orientés page. Il fut adopté comme norme ISO en mai 1993. SPDL est conçu pour permettre l'échange de document imprimables, mais non révisables. On présente souvent l'enchaînement SGML --> DSSSL --> SPDL comme le modèle naturel de traitement de documents SGML.
ODA, parce qu'il utilise une structure informatique de support qui n'est pas la séquence de caractères, doit obligatoirement s'appuyer sur un format d'échange explicite pour le transfert de documents. Ce format, ODIF (Office Document Interchange Format) fait donc partie intégrante de la norme ODA. ODIF définit la présentation de l'information en termes abstraits, qui peuvent être réalisés de diverses façons. L'une d'elles (prévue dans ODIF) est l'utilisation de balises SGML! Le format correspondant s'appelle ODL (Office Document Language).
Dans cet article, nous avons d'abord exposé les concepts de base reliés aux formats de documents électroniques. Nous avons ensuite présenté la notion de document structuré, et parlé quelque peu de son impact sur les systèmes de traitement de documents. Finalement, nous avons mentionné quelques-unes des principales caractéristiques des trois formats normalisés de documents structurés ayant fait leur apparition depuis 1986: SGML, ODA et HyTime.
Les normes, même internationales, ne sont pas figées, elles évoluent. SGML a déjà connu une révision en 1989, et il est possible qu'une autre survienne d'ici peu. Des développements sont prévus dans ODA; HyperODA arrivera éventuellement. Est-ce à dire que l'objectif d'universalité et de pérennité est raté et que, par conséquent, les normes ne servent à rien?
L'évolution des normes est un phénomène sain, qui en assure la cohérence avec l'environnement technologique. Mais elles n'évoluent pas comme n'importe quel autre format de documents. Plutôt que d'évoluer à la moindre avance technologique, elles évoluent plus lentement, en réflétant de façon "réfléchie" les grands courants technologiques. Elles sont comme un fil conducteur à travers la masse de formats non normalisés qui naissent et disparaissent à chaque jour. Leur évolution ne diminue donc en rien leur valeur.
On peut aussi se demander si la présence de deux normes "concurrentes" (SGML et ODA) ne peut pas nuire à leur acceptation. C'est probablement le cas. Cependant, notre opinion personnelle sur ce point est la suivante: les ressemblances entre SGML et ODA sont plus importantes que leurs différences. La plus grande menace pour SGML n'est pas ODA (ni vice-versa), mais bien l'absence de normes. Une norme ne peut en effet s'imposer que sous la pression des utilisateurs, et l'utilisation généralisée de formats non normalisés ne peut qu'affaiblir leur pouvoir de pression. D'autre part, nous croyons personnellement que l'évolution de SGML et ODA pourrait les rendre plus proches l'une de l'autre qu'elles ne le sont en ce moment.
Pour conclure, nous nous permettrons de citer les propos tenus par Charles Goldfarb à la conférence SGML'92, tels que rapportés par C.M. Sperberg-McQueen (traduction libre de l'auteur):
"(...) Malgré ses succès, SGML n'a aucune garantie solide d'une longue vie: dans le tableau global des technologies de l'information, SGML n'est encore qu'un simple trait de crayon. L'industrie a une forte tendance à définir de nouvelles représentations de l'information pour les nouvelles technologies, de façon à minimiser l'effort d'utiliser ces technologies. Les défenseurs de SGML doivent constamment réaffirmer les avantages de leur approche, qui prend le chemin difficile d'adapter la représentation à l'information, et non à quelque dispositif matériel spécifique, voué à la disparition dès la moindre avance technologique. (...)"
BARRON, D. Why use SGML? Electronic Publishing, 2(1), 1989.
CAMPBELL-GRANT, I.R. "Introducing ODA." Computer Standards & Interfaces, 11:149-157, 1991.
CROFT, W.B., R. KROVETZ et H. TURTLE. "Interactive retrieval of complex documents." Information Processing & Management, 26(5):593-613, 1990.
DANISH STANDARDS ASSOCIATION. SGML - ODA; présentation des concepts et comparaison fonctionnelle. Paris: AFNOR, 1991.
GOLDFARB, C.F. The SGML Handbook. New York: Oxford University Press, 1991.
Groupe permanent d'étude des marchés - informatique et communication. Les systèmes ouverts; guide de l'achat public. Paris: AFNOR, 1992.
KIRCZ, J.G. "Rhetorical structure of scientific articles: the case for argumentational analysis in information retrieval." Journal of Documentation, 47(4):354-372, 1991.
MEGHINI, C., F. RABITTI et C. THANOS. "Conceptual document modelling and retrieval." Computer Standards & Interfaces, 11:195-213, 1991.
NEWCOMB, S.R., KIPP, N.A. et NEWCOMB, V.T. The "HyTime" hypermedia/time-based document structuring language, Communications of the ACM, 34(11), 1991.
ROLE, F. "La norme SGML: pour décrire la structure logique des documents." Documentaliste-Sciences de l'information, 28(4-5):187-192, 1991.
SPERBERG-McQUEEN, C.M.: SGML'92, a trip report. Article #1379 du newsgroup comp.text.sgml, 2 nov. 1992.
Van HERWIJNEN, E. Practical SGML. Norwell, MA: Kluwer Academic Publishers, 1990.
WRIGHT, H. "SGML frees information." Byte, 17(6):279-286, 1992.
1Cet article est une version augmentée du texte de la conférence prononcée par l'auteur à l'occasion de la journée d'échange sur les formats normalisés de documents organisée par le GIRICO le 9 juin 1993 à l'Université du Québec à Montréal.