You are on page 1of 19

SGML

par

Luc SONK
Docteur en mathmatiques
Prsident de STSI-SA (Socit des Technologies et Systmes dInformation), Paris

1.
1.1
1.2
1.3
1.4
1.5

Notions fondamentales ..........................................................................


Origine de SGML .........................................................................................
Quelques objectifs de SGML ......................................................................
Concept de documentation structure.......................................................
Balisage ........................................................................................................
Langages de balisage ..................................................................................

2.
2.1
2.2
2.3

Fondements conceptuels de SGML.....................................................


Rappel de quelques catgories conceptuelles ..........................................
Processus de modlisation .........................................................................
SGML est un mtalangage..........................................................................

4
4
5
5

3.
3.1
3.2
3.3
3.4
3.5
3.6

Aspects formels de SGML .....................................................................


Notions de base ...........................................................................................
Codage des caractres ................................................................................
Notion de conformit ..................................................................................
SGML et lchange de documents .............................................................
SGML sans DTD ...........................................................................................
Quelques grandes applications SGML.......................................................

7
7
11
12
12
12
13

4.
4.1
4.2
4.3
4.4

Positionnement de SGML dans le contexte normatif....................


HyTime ..........................................................................................................
SMDL ............................................................................................................
DSSSL ...........................................................................................................
SPDL..............................................................................................................

14
14
14
14
14

5.
5.1
5.2
5.3

volutions dans les annes venir .....................................................


Renforcement conceptuel ...........................................................................
Vers des profils spcialiss .........................................................................
De nouvelles normes satellites...................................................................

14
14
15
15

6.
6.1
6.2
6.3
6.4

SGML et lingnierie documentaire ....................................................


Systmes ditoriaux classiques .................................................................
Ingnierie documentaire .............................................................................
SGML et lingnierie documentaire ...........................................................
Classification des outils SGML ...................................................................

15
15
15
17
17

7.

Conclusion .................................................................................................

18

Pour en savoir plus ...........................................................................................

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

H 7 138 - 2

Doc. H 7 138

H 7 138 1

SGML ________________________________________________________________________________________________________________________________

aru en 1986, SGML (Standard Generalized Markup Language), mtalangage


de modlisation de documents structurs, suscite un grand intrt dans des
univers professionnels aussi varis que ldition, la recherche, lindustrie de
larmement et laronautique. 1988 marque, au plan international, ladoption de
SGML comme standard dchange de documents textes, par l Initiative CALS
(phase 1). En cette mme anne nat en France le projet SPEEDOC de la Marine
nationale, premier projet de mise en uvre dune architecture documentaire
articule autour de documents SGML. Depuis, lintrt des utilisateurs et des
spcialistes na fait que crotre, pour une norme relativement complique. Le
cot de lacquisition et de la mise jour de la documentation, son exploitation
optimale, les problmes lis aux changes de documents et la rcupration
intelligente de documents existants sont des raisons parmi dautres de cet essor.
SGML permet en effet la mise en uvre intelligente et efficace du concept de
documentation structure, la base de toute approche rationnelle des problmes documentaires. SGML gnralise le principe de balisage logique gnrique,
en une mthodologie de gnration de langages de balisage, et donne lutilisateur des outils conceptuels pour construire des langages de balisage adapts
ses propres applications. Notion centrale de ces langages, la Dfinition du
Type de Document (DTD) est la grammaire formelle permettant de reprsenter
les documents, en principe indpendamment de tout traitement qui pourrait leur
tre appliqu, ainsi que des moyens utiliss pour ces traitements.
Par-del ses nombreuses applications pratiques, SGML est dun grand intrt
intellectuel en tant que mtalangage et travers le caractre inclassable des
grammaires quil permet de construire.
Une rvision de SGML est en cours, qui intgrera au corps de la norme un certain nombre de concepts, trs abstraits pour certains, issus des travaux mens
dans le cadre de normes connexes, tels HyTime et DSSSL. mergent dans le
temps, pousses en particulier par les besoins en applications documentaires
professionnelles suscits par le Web-Intranet, des demandes pour une simplification de la norme. Ces demandes sont lorigine de langages drivs tels que
XML.
Ces deux tendances opposes permettent denvisager pour SGML dans les
annes venir, un accroissement de son audience dj large, allant de linternaute au chercheur spcialiste de la modlisation.
Nota : le terme Initiative caractrise, dans lchelle de ladministration amricaine, un projet (amricain) de
la plus haute importance, gnralement denvergure internationale.

1. Notions fondamentales
1.1 Origine de SGML
SGML (Standard Generalized Markup Language) est n des travaux de synthse de deux langages conus sur le concept de balisage logique : GML (Generalized Markup Language), dvelopp
chez IBM par C.F. Goldfarb et GENCODE dvelopp pour GCA (Graphic Communication Association) par W. Tunnicliffe.
SGML a aussi beaucoup profit des recherches faites sur les documents structurs, notamment dans les milieux acadmiques, et en
particulier, de langages comme Scribe de Brian Reid.
SGML a officiellement t adopt comme norme ISO (International Organization for Standardization) en octobre 1986 sous la rfrence ISO 8879.

H 7 138 2

Le prsent article aborde succinctement tous les aspects de


SGML. Il garde cependant, comme tout texte explicatif dune norme,
un caractre plus ou moins exgtique, par rapport au texte de rfrence qui demeure la norme elle-mme. Le lecteur peut galement
consulter sur le mme sujet Goldfarb [1], Bryan [2], van Herwijnen
[3] et louvrage publi en France par la Dlgation Gnrale pour
lArmement [4].

1.2 Quelques objectifs de SGML


Nous rappelons ci-aprs sans commentaire (pour ne pas alourdir
lexpos), quelques principaux objectifs de SGML tels quils apparaissent dans le texte de la norme. Cet extrait est choisi, en raison de
son poids sur certains choix techniques de la norme.
SGML doit pouvoir modliser tous types de documents.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

_______________________________________________________________________________________________________________________________

Les documents SGML doivent pouvoir se prter tous les types


dexploitation possibles.
SGML doit garantir la prennit et lchangeabilit des documents, notamment au travers de lindpendance vis--vis des
plates-formes matrielles et logicielles.
SGML doit tre indpendant des jeux de caractres et des langues
nationales.
SGML doit pouvoir tre la fois humainement et automatiquement interprtable.

1.3 Concept de documentation


structure
Longtemps rduit la vision structurelle du document, par opposition une autre vision qui serait du type prsentation , le
concept de documentation structure nest pas simple noncer. La
frontire entre structure et prsentation nest en effet pas tanche.
Certaines structurations sont conues en vue de prsentations particulires, cependant que certaines restitutions (prsentations) dun
document portent de grandes significations smantiques et structurelles.
Introduisons les dfinitions suivantes :
nous entendons par approche oriente-document , une
dmarche dorganisation du document en fonction de catgories et
modes courants de restitution ;
de mme, une approche informative est une dmarche
dorganisation du document porte par son contenu informatif,
indpendamment des traitements applicables ce contenu.
Un exemple de ces deux approches est donn dans le tableau 1.

Tableau 1 Cas dune documentation technique


de maintenance
Organisation selon une
approche oriente-document

Introduction

chapitre1
section1 (paragraphe1, ...,
paragraphen)
...
sectioni (paragraphe1, ...,
paragraphek)

...

Introduction

Maintenance prventive
Alimentation (circuit primaire, ..., fusibles)

Cabine (tableaux alarmes, ...,
commandes)

chapitrep
section1 (paragraphe1, ...,
paragraphem)
...
sectionj (paragraphe1, ...,
paragraphel)

Organisation selon une


approche informative

...

Maintenance corrective
Gnralit (paragraphe1, ...,
paragraphek)
...
Moteur (rotors, ..., tuyres)

On peut prsent donner la dfinition suivante pour le concept de


documentation structure :
Dmarche dorganisation des donnes au sein dun document, mettant en uvre une approche informative de prfrence une approche documentaire.

SGML

La prfrence signifie ici quil ny a pas dopposition systmatique


entre les deux approches, lune pouvant complter lautre loccasion.
Ce concept est le rsultat dune succession de tentatives dorganisations structurelles du document, au moyen de diffrentes techniques de marquage encore appeles balisages.

1.4 Balisage
Le balisage consiste en linsertion de marques au sein dun document, ce marquage visant permettre et faciliter ultrieurement
divers traitements sur le document. Du balisage physique au balisage logique gnrique, ce principe de marquage sest affin progressivement au gr des progrs de linformatique ditoriale. Cette
volution de la notion de balisage peut tre vue la fois comme un
largissement progressif du champ des traitements possibles sur un
document marqu, et comme la capacit accrue de marquer les
documents les plus singuliers.
On peut enfin concevoir le balisage (en particulier le balisage logique gnrique) comme une mise en uvre du concept de documentation structure.

1.4.1 Balisage physique


Le balisage physique, encore appel balisage procdural, est n
avec les premiers formateurs intgrs aux grands systmes (mainframe) des annes soixante-dix. Il consiste insrer dans le document des balises propres au systme. Destines au formateur
auquel elles indiquent toutes les fonctions excuter pour prsenter
le document, ces balises ne font pas partie du contenu informatif du
document. Elles ne sont pas ncessairement visibles par lutilisateur, ainsi que le montre lexemple ci-aprs dun balisage RTF (Rich
Text Format ) de Microsoft.
Exemple : considrons la saisie sous un diteur Word du texte suivant.
Ceci est un exemple destin illustrer le concept de balisage physique.
Les donnes RTF gnres se prsentent sous la forme du balisage
suivant :
{{ ...\lsl\adjustright\fs 20 Ceci est un exemple destin\e 9\e 0 {\b illustrer} le concept de {\i balisage physique}.\par }}
Dans cet exemple, outre le codage des caractres non ASCII,
on note les squences {\b illustrer} et {\i balisage physique}, qui
sont des exemples typiques de balisage physiques, cest--dire
de marquages destins donner au logiciel des instructions de
choix de fonte. On trouve aussi des instructions de prsentation
comme\adjustright, mais on ne voit que difficilement les instructions permettant de dire quil sagit dune liste numre.
Les formateurs ont rapidement propos des systmes de balisage
avec un nombre rduit de balises sous forme de macrocommandes.
Cette volution ne change pas le caractre procdural de tels balisages. Le contenu du concept volue sensiblement avec le balisage
logique.

1.4.2 Balisage logique


Le balisage logique peut tre dfini comme un mode de reprsentation des documents par marquage, qui consiste dcrire les
composants des documents et les relations liant ces composants,
indpendamment de la forme physique de prsentation et des supports de restitution de ces documents.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

H 7 138 3

SGML ________________________________________________________________________________________________________________________________

Cette description mle, pour un document donn, les donnes de


contenu dudit document avec les balises reprant sa structure logique spcifique. Ici une structure est dite logique en ce sens quelle
est a priori indpendante des traitements de prsentation que lon
peut oprer sur le document.
Exemple : reprenant lexemple donne au paragraphe 1.4.1 et en
sinspirant de la syntaxe du langage LATEX, on peut imaginer le balisage suivant :
\begin {enumerate}
Ceci est un exemple destin \gras {illustrer} le concept de\concept
{balisage physique}.
\item
\end {enumerate}
o lon retrouve le choix des fontes (\gras...) mais o les commandes
de prsentation de Word sont remplaces par des commandes de
structuration (enumerate, item).
Utilisant la mme syntaxe, la squence \concept {balisage physique} introduit une conception du balisage non ncessairement
oriente par la mise en forme physique du contenu balis. Ici,
lexpression balisage physique est repre en tant que concept.
Elle peut non seulement tre prsente de multiples manires selon
les supports de restitution (par exemple en italique, souligne ou en
gras sur le papier, en vido inverse ou clignotant lcran), mais
aussi indexe pour pouvoir tre recherche en tant que concept.

1.4.3 Balisage logique gnrique


Un pas supplmentaire est franchi dans la gnralisation du
concept de balisage, avec lapparition du balisage logique gnrique.
Un systme de balisage logique gnrique se dfinit comme un
balisage logique, tendu une classe de documents. Les caractristiques structurelles particulires dun ensemble de documents sont
dcrites par un ensemble unique de balises gnriques.

1.5 Langages de balisage


Un langage de balisage est une expression formelle du concept
de balisage. Dans le cas du balisage physique, on parlera plus dun
ensemble de commandes destines un formateur que dun langage au sens formel.
Avec le balisage logique apparaissent les langages de balisage
logique. Citons par exemple GML et LATEX dj voqus.
La notion de classe de documents existe en LATEX, cest--dire
que cette grammaire dfinit des variantes (en nombre limit) de
balisages logiques permettant de dcrire des ensembles particuliers
de documents.
Nous verrons au paragraphe 2.3 que SGML se situe au-del de la
notion de langage de balisage. Il sagit en fait dun gnrateur de
langages.

2. Fondements conceptuels
de SGML
Ce paragraphe sattache montrer en quoi SGML peut tre considr comme un mtalangage. Lexpos propose au lecteur des
bases conceptuelles utiles pour une bonne comprhension thorique de SGML.

H 7 138 4

2.1 Rappel de quelques catgories


conceptuelles
On rappelle ici les trois principales catgories conceptuelles lies
la dfinition et lusage dun modle au sens informatique.

2.1.1 Modle
Un modle est la description dun univers donn, en vue de sa
prise en compte automatique. Par prise en compte automatique, on
entend ici la gnration ou linterprtation, sur ordinateur, de donnes appartenant cet univers.
Le modle peut, dans une phase initiale et ventuellement plusieurs phases intermdiaires, tre spcifi au moyen de langages
graphiques tels que NIAM (Nijssen Information Analysis Method )
ou IDEF0 (Integrated computer-aided manufacturing DEFinition language - Functional Modeling ). Cependant, ayant en vue la prise en
compte automatique des modles ( la diffrence des modles
mathmatiques, par exemple), on est orient vers la dfinition de
modles formels dont lcriture en permet le traitement en machine.
Des exemples de ces modles (en restant dans le domaine documentaire) sont RTF, LATEX ou HTML [5].
Cette remarque conduit galement inclure, dans la dfinition
dun modle, les critres de conformit des futures instances du
modle.

2.1.2 Instance
Une instance est un assemblage cohrent de donnes valide dans
un univers donn, cest--dire conforme un modle donn. Elle est
drive du modle par valuation des diffrents paramtres et structures prvus au sein de celui-ci. Il sagit dune donne passive, en ce
sens que, bien que valus, les paramtres quelle contient ne sont
pas activs. Linstance peut tre gnre automatiquement ou non.
Le modle dfinit une classe dont linstance est un reprsentant.
Le nombre dinstances nest donc a priori pas limit.
La conformit de linstance au modle doit se vrifier par une procdure automatique. On parle alors de parsing indpendamment de
tout traitement possible sur cette instance. De ce point de vue, dans
le domaine documentaire, la visualisation dune instance compose
ne peut suffire pour prononcer la conformit de cette instance son
modle.

2.1.3 Occurrence
La notion doccurrence dsigne le rsultat dune excution particulire dune instance. Dfinir la gnration dune occurrence
comme une excution dune instance revient dire quune occurrence nest pas uniquement une transformation (rorganisation
structurelle, par exemple) dune instance donne. Par-del les ventuelles transformations, le processus de gnration dune occurrence peut se caractriser de la manire suivante :

les paramtres du modle valus linstanciation sont, cette fois,


activs pour produire un rsultat attendu, humainement interprtable.
Dans le domaine documentaire, la gnration dune occurrence
peut donc sapparenter lapplication de styles de prsentation.
Ainsi, loccurrence se positionne vis--vis de linstance comme
linstance elle-mme se positionne vis--vis du modle. Loccurrence est en quelque sorte une instance (du modle) au second
ordre. Il sagit cependant de la phase terminale du processus dinstanciation. Dune occurrence, en effet, on ne peut driver quune
autre occurrence.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

_______________________________________________________________________________________________________________________________

SGML

Le nombre doccurrences que lon peut gnrer partir dune instance donne est illimit.

domaine de lingnierie documentaire, lapproche SGML relve de


cette dmarche.

Sagissant des occurrences, la notion de conformit est moins


simple que dans le cas des instances. Il sagit dune conformit indirecte, car la notion est ici attache non aux occurrences ellesmmes, mais aux outils (logiciels) produisant ces occurrences. La
conformit des occurrences est indirectement garantie par la
certification des outils qui les gnrent. Un exemple de certification
en France est lattribution de la marque NF de lAFNOR.

Ainsi, une DTD (Dfinition du Type de Document) est une grammaire particulire permettant la description dune classe particulire
de documents.

2.2 Processus de modlisation


Ce paragraphe prsente brivement le processus de modlisation.
Dans une approche simplificatrice, deux tapes peuvent tre envisages au sein du processus de modlisation : la structuration
conceptuelle et lapproche formelle.

2.2.1 Structuration conceptuelle


Cette tape consiste en la dfinition de larchitecture du modle.
Elle inclut donc le recueil exhaustif des concepts caractrisant les
situations modliser, larticulation de ces concepts entre eux, etc.
Ce travail relve essentiellement des comptences des acteurs du
domaine dactivit que lon se propose de modliser. Sagissant du
domaine de lingnierie documentaire, cette tche sera prise en
charge par des diteurs, des documentalistes ou des spcialistes de
la documentation technique, par exemple. Il peuvent tre assists
dans la mise en perspective (au moyen de langages graphiques, par
exemple) de ce travail par des spcialistes.

Llment fdrateur de la norme est, dans ce cas, constitu de


lensemble des ressources normalises permettant aux utilisateurs
de gnrer leurs grammaires. Les ressources incluent, outre les dfinitions de jeux de caractres, sparateurs et syntaxes, les rgles de
dfinition des grammaires. La donne des ressources et des grammaires particulires constituent les modles des diffrents utilisateurs.
Dans le cas de la norme SGML, les ressources sont indiques
dans une partie appele SGML declaration (que nous appellerons
par la suite dclaration SGML). Un modle SGML est donc la donne dune dclaration SGML et dune DTD (en fait un prolog). Nous
reviendrons sur laspect mtalangage SGML au paragraphe 2.3.
Pour tre entirement conforme la dmarche ISO, le processus
de modlisation est complet lorsque le modle (langage ou mtalangage) dfini est accompagn des lments ncessaires la validation automatique des instances qui seront produites et la
certification (au sens o nous lavons envisag au paragraphe 2.1.3)
des pr et postprocesseurs du modle.
Nota :
un prprocesseur est un logiciel susceptible dinstancier (gnrer des instances) le
modle ;
un postprocesseur est un logiciel susceptible dinterprter les instances du modle,
cest--dire de les traiter, au sens large (par exemple, pour les modifier ou produire des
occurrences).

2.3 SGML est un mtalangage


2.3.1 Introduction : approche intuitive

2.2.2 Approche formelle


Cette tape consiste produire ce qui est habituellement appel
format ou modle neutre. Il sagit de la description dtaille de
larchitecture issue de ltape prcdente, au moyen de langages
formels traitables en machine. Selon la nature des situations
modliser, une approche spatio-temporelle peut tre adopte, o le
paramtre temps est explicitement repr, avant toute gestion des
chronologies et synchronisations gnralement traites loccurrence.
Rappelons que la neutralit du modle signifie quil est le
rsultat dun consensus et est, de ce fait, susceptible de comprhension et dusage par le plus grand nombre.
La tendance habituelle consiste, dans un domaine donn, dfinir
un modle formel dont lensemble des primitives prend en compte
tous les concepts du domaine en question. Telle est par exemple
lapproche suivie par la norme CGM [cf. Doc H 7 138], pour la modlisation des objets graphiques vectoriels en deux dimensions. On
atteint rapidement les limites dune telle approche, ds lors que
lunivers dcrire nest pas relativement simple. Et mme dans des
cas assez simples, lintroduction de nouveaux concepts entrane la
dfinition de nouvelles primitives dans le modle, et donc lamendement de celui-ci.
Lorsque les situations modliser sont de grande complexit (par
exemple, les situations dont la description exhaustive conduit
envisager un nombre de cas conduisant vers une explosion combinatoire), lusage de mtalangages savre indispensable. Cela signifie que les langages de modlisation utiliss sont en fait des
grammaires gnres par les utilisateurs (ou leurs mandataires qui
en ont la comptence), partir de ressources conceptuelles plus
gnrales. Il sagit alors de grammaires compltement conues
pour prendre en compte leurs situations spcifiques. Dans le

Considrons lexemple donn aux paragraphes 1.4.1 et 1.4.2,


comme fragment du document global, cest--dire un article consacr SGML. Une traduction SGML de ce fragment donne :
<article>
<titre>SGML</titre>
...
<p>Ceci est un exemple destin <gras>illustrer</gras> le
concept de <concept>balisage physique</concept></p>.
...
</article>
Ce balisage fait apparatre le fragment considr comme un
paragraphe (ce que signifie les balises <p> et </p>) au sein
dun document de type article (ce que signifie les balises <article> et </article>), donc le titre est SGML (ce que signifie les
balises <titre> et </titre>).
Au sein du fragment, lexpression balisage physique est repre comme concept par les balises <concept> et </concept>. Un logiciel sachant interprter le balisage dfini pourra oprer la mise en
gras du mot illustrer , ds lors quil dtectera les balises <gras> et
</gras>.
Ces explications supposent que soit dfini quelque part un
ensemble de conventions donnant notamment :
la liste et la syntaxe des balises dfinies pour marquer le
document ;
larticulation des balises au sein du document ;
les rgles particulires dutilisation des balises.
Ces rgles sont rassembles au sein de ce qui constitue le modle
du document, la DTD. Ce concept SGML de DTD sera prcisment
dfini au paragraphe 2.3.3.2, puis dvelopp au paragraphe 3.1.2.1.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

H 7 138 5

SGML ________________________________________________________________________________________________________________________________

Le balisage utilis dans lexemple qui prcde est donc dfini par
une DTD. Un aspect au moins de cette DTD est trs rudimentaire. Il
sagit de la dfinition des balises <gras> et </gras>, conues pour
indiquer, un logiciel de prsentation, la mise en gras dune partie
du texte. Inspire de la prsentation initiale du texte baliser, la dfinition de cette balise ne couvre cependant pas dautres traitements
qui, bien que diffrents de la mise en gras, relvent cependant de la
mme notion.

SGML gnralise le principe de balisage logique en ltendant en


un concept plus gnral : la GNRATION de LANGAGES de BALISAGE. En cela, SGML est un mtalangage.

On peut ainsi dfinir une nouvelle DTD permettant, travers une


mme balise, dindiquer, selon les logiciels et support de restitution,
les traitements tels que la mise en gras, la mise en italique, le soulignement, la mise en vido inverse ou la mise en clignotant. Ces traitements relvent en effet tous de la notion de mise en vidence .

En tant que mtalangage, SGML peut tre conu comme un


ensemble gnrique de rgles permettant de construire des langages de balisage logique. Ces langages de balisage sont des modles, au sens des catgories conceptuelles rappeles au dbut du
paragraphe 2. Selon ces catgories, SGML introduit donc un niveau
conceptuel supplmentaire, en de du niveau modle, le niveau
mtamodle.

Une nouvelle version SGML du fragment prsent plus haut se


prsente comme suit :
<article>
<titre>SGML</titre>

2.3.3 Document au sens SGML

Un document au sens SGML est la donne, au sein dun mme


document logique, des trois composantes :
la dclaration SGML (mtamodle) ;

...
<p> Ceci est un exemple destin <mise-en-evidence
type=gras> illustrer </mise-en-evidence> le concept de
<concept> balisage physique </concept> </p>.

le prolog (modle), que nous appellerons par la suite


prologue ;
linstance.

...
2.3.3.1 Dclaration SGML

</article>
Dans ce nouvel exemple, la balise <gras> est remplace par la
balise <mise-en-evidence type=gras>. Cette nouvelle balise permet dindiquer le type de mise en vidence souhait, en affectant
une valeur lattribut type (ici, la valeur est gras . Mais elle
pourrait tre italique , clignotant , etc.). La notion dattribut
sera dfinie au paragraphe 3.1.2.1.3.
En conclusion cette brve introduction, il apparat que :
SGML permet de dfinir un modle de document (DTD) permettant le balisage dune classe de documents ;
un mme document peut recevoir plusieurs modles de document au sens SGML.

La dclaration SGML reprsente le niveau mtamodle. Cest


lensemble des ressources permettant aux utilisateurs de gnrer
leurs propres modles, cest--dire les types de document. En thorie, la dclaration SGML permet de dfinir tout dans le modle.
Ainsi, par exemple, elle ne fige pas la syntaxe (les dlimiteurs, les
mots-cls, les symboles spciaux, etc.) dcriture des types de documents. travers la dclaration par dfaut de la norme et sa syntaxe
concrte de rfrence, SGML offre les rgles de construction des
syntaxes concrtes particulires.

Aprs ces exemples, nous allons prsent entrer plus en dtail


dans les ressorts SGML comme mtalangage.

Dans la pratique, selon le domaine dapplication, on fixera une


syntaxe concrte et lon choisira parmi les fonctionnalits proposes par la dclaration SGML celles dont on a besoin. Dfinir ainsi
un modle revient btir une application de SGML.

2.3.2 Du balisage logique la gnration


de langages de balisage

2.3.3.2 Prologue

Comme rappel au paragraphe 1.4.2, le balisage logique dun


document est le processus consistant reprer, au moyen dune
srie de marques prdfinies, les composantes de ce document et
dcrire les relations liant ces composantes, indpendamment de la
forme physique de restitution de ce document pour exploitation
humaine. Cette description mle les donnes de contenu et les donnes reprant la structure du document.
Lensemble de ces marques prdfinies (ou encore balises)
constitue un langage de balisage. Quelques exemples de langage de
balisage ont t prsents au paragraphe 1.5. Chacun de ces langages est dot dune syntaxe et dun systme propres de dsignation
des balises.
Il peut cependant arriver que deux de ces langages soient quivalents, en ce sens quils sont conus pour reprsenter une mme
classe de documents. Chaque langage nest alors quune vue structurelle particulire de la mme classe de documents. Dans ces
conditions, imposer un langage de balisage un utilisateur apparat
comme une dmarche arbitraire.
Do lide matresse des concepteurs de SGML :
Donner aux utilisateurs des outils conceptuels leur permettant
de crer par eux-mmes des langages de balisage adapts
leurs applications.

H 7 138 6

Au sens des catgories conceptuelles rappeles au paragraphe 2,


le prologue se positionne au niveau modle. Il rassemble les dclarations du type de document (DTD) et les dclarations de type de
lien (LPD - Link Process Declaration ).
De SGML, beaucoup dutilisateurs ne retiennent que cette partie
prologue, plus particulirement la DTD. Cest quimplicitement ils se
limitent aux ressources que propose la dclaration SGML par
dfaut, ce qui pose parfois des problmes, lorsque, par exemple, la
syntaxe concrte de rfrence ne suffit pas pour prendre en compte
toutes les particularits dune classe de documents donne.
2.3.3.3 Instance
Linstance est le contenu informatif du document, marqu par les
balises qui le structurent. Il sagit de la partie du document qui est la
plus accessible lutilisateur, mais qui demeure incomprhensible
en labsence de la DTD.

2.3.4 Par-del la gnration de grammaires


Nous concluons cette partie, consacre aux ressorts conceptuels
de la norme, par une discussion au sujet de la nature des grammaires que permet de gnrer SGML.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

_______________________________________________________________________________________________________________________________

SGML

Tableau 2 Syntaxe concrte de rfrence


Rubrique

Balisage

Dclarations et appels
dentits

Groupage

Modle
de contenu

Indicateur
doccurrence

Connecteur

Autre

Attributs

Syntaxe
abstraite

Signification

Syntaxe concrte
de rfrence

STAGO

Ouverture dune balise de dbut

<

ETAGO

Ouverture dune balise de fin

</

TAGC

Fermeture dune balise (dbut ou fin)

>

MDO

Ouverture dune dclaration

<!

MDC

Fermeture dune dclaration

>

PIO

Ouverture dune instruction de traitement

<?

PIC

Fermeture dune instruction de traitement

>

ERO

Ouverture dun appel dentit externe

&

PERO

Ouverture dun appel dentit paramtre

%
&#

CRO

Ouverture dun appel dentit caractre

REFC

Fermeture dun appel dentit

GRPO

Ouverture dun groupe

GRPC

Fermeture dun groupe

OPT

Occurrence optionnelle (0 ou 1 occurrence)

PLUS

Occurrence obligatoire multiple (1 occurrence et plus)

REP

Occurrence optionnelle multiple (0 occurrence et plus)

SEQ

Squence (occurrence des lments dans lordre)

OR

Choix (occurrence dun seul lment la fois)

AND

Occurrence des lments dans un ordre quelconque

&

RNI

Indicateur de nom rserv

VI

Indicateur de valeur dun attribut

LIT

Dlimiteur de la valeur littrale dun attribut

LTA

Autre dlimiteur de la valeur littrale dun attribut

Les expressions rgulires sont utilises dans la norme SGML


pour exprimer les rgles de production (plus de 200) qui constituent
la spcification de rfrence, mais galement pour lexpression des
dclarations des modles de contenu dans une DTD. Cependant, la
prsence de constructions rcursives montre que les modles de
balisage produits par SGML ne relvent pas de la catgorie des langages contextuels. On sait ainsi que les algorithmes bass sur la
thorie des automates finis sont insuffisants pour analyser des
documents SGML.
Beaucoup de rgles SGML permettant des simplications dcriture sont exprimables laide de la notation BNF. Il sagit par exemple des rgles de minimisation, des rgles dexpression des
exceptions (inclusions et exclusions). Les langages SGML ne relvent pas pour autant de la catgorie des grammaires non contextuelles. Certaines rgles de la norme, telles que la rgle de nonambigut des modles de contenu, ne sont en effet pas exprimables par une grammaire.
Si lon ajoute aux observations qui prcdent le fait que SGML
dfinit ( travers les appels abrgs et la gestion des liens, par
exemple) des traitements applicables aux diverses parties des documents (DTD et instances) lors de leur analyse, on mesure la porte
de cette norme qui est bien plus importante quun gnrateur de
langages formels. On mesure du mme coup la complexit des
outils danalyse des documents au sens SGML.

3. Aspects formels de SGML


3.1 Notions de base
Ce paragraphe expose les concepts de base de la norme SGML,
dans leurs aspects formels. Il ne sagit pas ici de dfinitions formelles telles quelles sont donnes dans la norme au moyen de rgles
de production. Nous abordons ces concepts travers ce qui est dj
une premire interprtation des rgles de production, savoir la
syntaxe concrte de rfrence.
Le tableau 2 rappelle la syntaxe concrte de rfrence.
Ce tableau illustre au passage (par la syntaxe) le caractre mtalangage de SGML, la syntaxe concrte de rfrence pouvant tre
remplace par toute autre syntaxe concrte, du moment quelle
interprte sans ambigut la syntaxe abstraite.

3.1.1 Dclaration SGML


crite uniquement laide de la syntaxe concrte de rfrence, la
dclaration SGML dfinit :
le jeu de caractres utiliss dans le document ;

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

H 7 138 7

SGML ________________________________________________________________________________________________________________________________

la capacit mmoire ncessaire au traitement du document ;


les champs dutilisation de la syntaxe concrte ;
la syntaxe concrte elle-mme ;
les fonctionnalits (choisies parmi celles proposes par la
norme) utilises dans le document ;
les informations concernant dventuelles applications spcifiques.
Les six rubriques prcdentes apparaissent dans la dclaration
SGML sous six clauses identifiables dans lordre par les noms
rservs : CHARSET, CAPACITY, SCOPE, SYNTAX, FEATURES et
APPINFO.
Nous donnons sur la figure 1 un exemple de dclaration SGML.

3.1.2 Prologue
Comme nous lavons vu au paragraphe 2.3.3.2, le prologue
contient les dclarations des types de document (DTD), dont lune
est la dclaration du type de document de base, et les dclarations
des types de liens (LPD). Ce paragraphe est consacr la description
formelle des concepts de base de ces composantes du prologue.

3.1.2.1.2 Les lments


La forme la plus gnrale de dclaration des lments est la
suivante :
<!ELEMENT (elm1, elm2, ...,elmk )
(e1, e2, ...,ei ) (ex1, ex2, ..., exn )>

(el1, el2, ...,elj )

avec :
ELEMENT mot rserv qui annonce la dclaration dun ou de
plusieurs lments ; et le modle de contenu qui se dcompose
comme suit :
(elm1, ..., elmk ) est le groupe de modle, compos des k
noms dlments que lon dfinit (il ny a pas de parenthses lorsque k = 1) ;
O sont les indicateurs domission de balisage de dbut et de
fin dlment ;
(el1, ..., elj ) est le contenu commun aux lments dclars,
compos des j lments el1, ..., elj ; et enfin les exceptions :
(e1, e2, ..., ei ) groupe dlments inclus ;
(ex1, ex2, ..., exn ) groupe dlments exclus.
Inclusions et exclusions sont dfinies ci-aprs.
Exceptions

3.1.2.1 DTD

La DTD dcrit, dans un langage spcifique (lensemble des mots


rservs de SGML et la syntaxe concrte dfinie dans la dclaration
SGML), la structure formelle du type de document que lon se propose de modliser.
Historiquement, la DTD comporte les quatre catgories de dclarations suivantes :

les dclarations dlments ;


les dclarations des listes dattributs ;
les dclarations dentits ;
les dclarations dappels abrgs.

Lexpos ne traitera pas des appels abrgs, mcanismes assez


complexes et dune mise en uvre dlicate, que la norme a abandonns.
Est dcrite ci-aprs, non pas au moyen de rgles de production
mais en utilisant la syntaxe concrte de rfrence, chacune de ces
constructions. Les mots reservs et les symboles de la syntaxe
concrte de rfrence sont indiqus en gras.
Toute dclaration ou dfinition souvre par le symbole <!(MDO) et
sachve par le symbole >(MDC) :
<! contenu_dune_dclaration >

3.1.2.1.1 Le type de document


La forme gnrale de dclaration dune DTD est la suivante :
<!DOCTYPE nom_du_type_de_document identificateur_externe
[dclarations]>

Inclusions :

(ex1, ex2, ..., exn ) Exclusion des lments ex1, ..., exn. Leur occurrence est impossible dans chacun des lments elm1, ..., elmk
mme si la dfinition des sous-lments el1, ..., elj autorise leur
prsence.

Exclusions :

+(e1, e2, ..., ei ) Inclusion des lments e1, ..., ei. Leur occurrence
est autorise dans les lments elm1, ..., elmk mme si leur dfinition nest pas explicite dans les sous-lments el1, ..., elj.
Lexclusion dun lment rendu obligatoire par le groupe de
modle est interdit.
Lexclusion a la priorit sur linclusion. Autrement dit un lment
la fois autoris par une inclusion et interdit par une exclusion est
exclu tous les niveaux hirarchiquement infrieurs au niveau o a
lieu la dclaration.
Ces deux rgles montrent quil est prfrable dindiquer les
exceptions au plus prs des lments concerns, cest--dire le plus
bas possible dans la structure hirarchique.
Groupe de modle
SGML utilise les connecteurs , , & et | pour prciser le
contenu dun groupe de modle. Le groupe de modle dcrit donc le
contenu dun lment au moyen dune expression rgulire
compose didentifiants dlments. Les lments terminaux (donnes textuelles) sont indiqus par le symbole #PCDATA.
Groupe de modle

Signification

o :
DOCTYPE est le mot rserv qui annonce la dclaration dun
type de document ;
nom_du_type_de_document est lidentificateur du type de
document. Il ne peut apparatre comme identificateur dun autre
type de lien, ni dun autre type de document, au sein du mme
prologue ;
identificateur_externe pointe sur une entit rfrence qui
constitue, avec les dclarations, la dclaration du type de
document ;
entre les crochets [dclarations] sont dclares les diverses
parties de la structure du document ainsi que les ventuelles abrviations adoptes. Nous dtaillons ci-aprs quelques-unes de ces
dclarations.

H 7 138 8

(el1, el2, ..., elj )

Les j lments doivent obligatoirement tre


prsents dans les lments dcrits, et dans
lordre qui est indiqu.

(el1& el2& ... &elj )

Les j lments doivent obligatoirement tre


prsents, mais dans nimporte quel ordre.

(el1| el2| ... |elj )

Un et un seul des j lments doit tre prsent dans les lments dcrits.

Les lments el1, el2, ..., elj peuvent ventuellement tre suivis
dun symbole doccurrence, par exemple (el1, el2*, el3?, el4+, ..., el
j ).

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

_______________________________________________________________________________________________________________________________

SGML

<!SGML "ISO 8879-1986"


-- Default SGML declaration using the reference concrete syntax -CHARSET
BASESET "ISO 646-1983//CHARSET International Reference Version (IRV)//ESC 2/5 4/0"
DESCSET
0
128
0
128
128
UNUSED
CAPACITY PUBLIC "ISO 8879-1986//CAPACITY Reference//EN"
SCOPE DOCUMENT
SYNTAX PUBLIC "ISO 8879-1986//CAPACITY Reference//EN"
SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 127 255
BASESET "ISO 646-1983//CHARSET International Reference Version (IRV)//ESC 2/5 4/0"
DESCSET
FUNCTION

0
128
RE
13
RS
10
SPACE
32
TAB
SEPCHAR
NAMING
LCNMSTRT ""
UCNMSTRT ""
LCNMCHAR "-"
UCNMCHAR "-"
NAMECASE GENERAL
ENTITY
NO
DELIM
GENERAL SGMLREF
SHORTREF SGMLREF
NAMES
SGMLREF
QUANTITYSGMLREF
FEATURES
MINIMIZE
DATATAG YES
LINK
SIMPLE
YES
OTHER
CONCUR
YES
FORMAL
NO

YES

OMITTAG YES
10 IMPLICIT
10 SUBDOC

RANK YES
YES

SHORTTAG
EXPLICIT

YES
YES
YES

10
10

APPINFO NONE>

Figure 1 Exemple de dclaration SGML

Symbole

Signification

lment obligatoire, ventuellement rptitif (1 ou plus)

lment optionnel qui ne peut tre rptitif


(0 ou 1)

lment optionnel, ventuellement rptitif


(0 ou plus)

lments contenu dclar


Le contenu dun lment contenu dclar peut prendre lune des
valeurs suivantes : CDATA, RCDATA, EMPTY, o :
CDATA (Character Data ) indique que toutes les chanes de
caractres constituant le contenu de llment dclar, y compris les

chanes de caractres interprtes comme des balises ou des appels


dentits, sont considrer (par un parseur) comme des donnes
textuelles ;
RCDATA (Replaceable Character Data ) se distingue du contenu
CDATA par le fait que les appels dentit sont ici pris en compte ;
EMPTY indique un contenu vide.
Pour les lments contenu dclar CDATA ou RCDATA, loption
de minimisation de balisage est ncessairement -- . Autrement
dit, la prsence des balises de dbut et de fin de ces lments est
obligatoire.
La balise de fin est en revanche omise pour les lments
contenu dclar EMPTY.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

H 7 138 9

SGML ________________________________________________________________________________________________________________________________

Non-ambigut des modles de contenu

3.1.2.1.4 Les entits

Il sagit dune clause non exprimable par une grammaire formelle.


Lnonc de la rgle est le suivant :

Certaines donnes ou ensembles de caractres peuvent tre destins sinsrer dans le document (des donnes issues dautres
sources, par exemple), sans quil soit ncessaire de les saisir directement. Ces ensembles sont alors rfrencs sous des noms symboliques. Ce sont les entits.

toute occurrence dun lment dans le document instance,


le parseur doit pouvoir dterminer son groupe de modle
dappartenance, sans lecture anticipe.
Lexemple ci-aprs est extrait du texte de la norme.

Les entits SGML peuvent se classer en trois catgories : les entits gnrales, les entits paramtres et les entits externes.
Les entits gnrales
Rfrences dans une DTD ou un LPD, elles sont destines tre
utilises dans le document instance. La forme de leur dclaration est
la suivante :

Le modle de contenu suivant :


<!ELEMENT e ((a,b?), b)>
est ambigu, car aprs loccurrence du a , on ne peut dterminer
absolument le groupe dappartenance de b . Lambigut peut
tre leve par une dclaration intermdiaire, ainsi quil suit :
<!ELEMENT e

(f, b)>

<!ELEMENT f

(a,b?)>

3.1.2.1.3 Les attributs


La forme courante de dfinition dattribut est la suivante :
<!ATTLIST elem attribut1

type1

valeur_par_dfaut1

attribut2

type2

valeur_par_dfaut2

type_n

valeur_par_dfaut_n >

...

attribut_n

o :
ATTLIST est le mot rserv qui annonce la dclaration dune
liste dattributs ;
elem est le nom de llment dont on dfinit les attributs ;
attribut_k est le nom du ke attribut dclar ;
type_k est un mot-cl qui prcise la nature du contenu du ke
attribut.
On a :
Mot-cl

Nature du contenu de lattribut


Nombre ou liste de nombres

NUTOKEN

Chane de caractres commenant ncessairement par un chiffre

NMTOKEN

Chane de caractres ne commenant pas


ncessairement par une lettre

ENTITY(IES)

Un nom (ou des noms) dentit(s) gnrale(s)

CDATA

Une chane de caractres quelconque

ID

Identificateur (un nom SGML) dun lment

NAME(S)

Un nom SGML

lintrieur du document, linsertion du contenu rfrenc sera


indique par un appel didentit dont la syntaxe est donne par
&nom_de_lentit ;
Exemple : on peut saisir &ISO ; dans le courant du document, au
lieu de International Organization for Standardization. Dans la DTD, on
aura alors la dclaration suivante :
<!ENTITY ISO International Organization for Standardization>
Les entits paramtres
Elles sont utilises, dans les dclarations de balisage, pour
regrouper des noms dlments jouant des rles analogues. La
dclaration et lappel dentit paramtre ont des syntaxes diffrentes de celles des entits gnrales.

Signification

#REQUIRED

La valeur de lattribut doit obligatoirement


tre indique

#IMPLIED

Le systme dfinira une valeur pour lattribut si aucune valeur nest indique

#FIXED

Lattribut a une valeur fixe qui est unique

#CURRENT

La dernire valeur indique sera utilise par


dfaut si aucune valeur nest spcifie

contenu_rfrenc>

o :
nom_de_lentit est le nom de lentit dclare ;
contenu-rfrenc est le contenu de lentit dclare, du texte
entre crochets.
Dans la DTD, lappel se fera par % nom_de_lentit.
Les entits externes
Il sagit dentits paramtres ou gnrales, mais dont le contenu
rfrenc est externe. contenu_rfrenc est alors la rfrence (par
exemple, un nom de fichier) au texte de lentit qui est stock par
ailleurs. Les entits externes ont lune des formes de dclaration suivantes.
Entit systme :
<!ENTITYnom_de_lentit

En outre, valeur_par_dfaut_k est une des valeurs autorises


(entre quotes) pour le ke attribut, ou un des mots-cls suivants :

H 7 138 10

contenu_rfrenc>

<!ENTITY % nom_de_lentit

NUMBER(S)

Mot-cl

<!ENTITY nom_de_lentit

o :
ENTITY est le mot rserv qui annonce la dclaration dune
entit ;
nom_de_lentit est le nom de lentit dclare ;
contenu_rfrenc est le contenu de lentit dclare, avec
pour valeur possible : un paramtre littral, du texte entre crochets,
des donnes textuelles, une spcification dentit externe.

SYSTEM

identificateur_systme>

o :
SYSTEM est le mot rserv qui caractrise une entit systme ;
identificateur_systme indique au systme la valeur de lentit
dclare.
Entit public :
<!ENTITY % nom_de_lentit PUBLIC identificateur_public
identificateur_systme>
o :
PUBLIC est le mot rserv qui caractrise une entit publique ;
identificateurpublic indique lidentit de lentit dclare, qui
est indpendant du systme ;
identificateur_systme indique la manire dont le systme
accde localement lentit dclare.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

_______________________________________________________________________________________________________________________________

Lentit public est ncessairement formel lorsque loption


FORMAL est active dans la dclaration SGML. La dclaration est
type par lun des mots-cls du tableau suivant.

SGML

dire que plusieurs occurrences de la balise portant lattribut IDREF


sont possibles au sein du mme document instance.

3.1.2.1.7 Les sections marques


Signification

Mot-cl
SUBDOC

Lentit contient un sous-document

CDATA

Lentit contient des donnes textuelles

SDATA

Lentit contient des donnes spcifiques


au systme

NDATA

Lentit contient des donnes qui ne sont


pas des donnes SGML

Notation :

Elle permet dappeler des donnes externes qui ne contiennent


pas du texte SGML. Deux formes de dclaration sont possibles :
<!NOTATION nom_de_notation SYSTEM identificateur_systme>
<!NOTATION nom_de_notation PUBLIC identificateur_public
identificateur_systme>

3.1.2.1.5 Les commentaires


Au sein dune dclaration, tout texte encadr par deux doubles
tirets -- est considr comme un commentaire ; par exemple :
<!-- ceci est un commentaire -->
SGML permet le contrle de la structure et de la syntaxe des lments dclars, mais pas leur smantique. Lusage efficace des
commentaires peut aider apprhender la smantique des lments et autres contraintes qui leur sont attaches.
Les commentaires sont dune grande utilit pour fournir informations et contraintes non exprimables par le langage seul, notamment :
des informations au sujet des lments (smantique, conseil
dutilisation, etc.) ;
des informations au sujet de lobjectif, de la structure et du statut (version, mise jour, etc.) de la DTD ;
des informations au sujet de la signification des attributs ;
des informations au sujet des outils spcifiques permettant
lorganisation et la mise en uvre de lapplication.
Les commentaires peuvent ventuellement tre exprims au
moyen de langages formels adapts (par exemple, un langage de
contrle qui prcise le contenu smantique dun lment dclar
on parle alors de contenu typ). Des parseurs volus peuvent
alors prolonger lanalyse structurelle et syntaxique des documents
par lanalyse smantique de leur contenu. De tels parseurs existent
dans le commerce, gnralement bass sur des grammaires
dexpressions rgulires.

3.1.2.1.6 Les rfrences croises ID IDREF


Ce mcanisme permet dattacher un lment (comme attribut)
de la DTD un identificateur unique ID. Llment peut ainsi tre partout rfrenc par un autre lment, lui-mme muni dun autre identificateur IDREF.
Exemple dun fragment de dclaration utilisant le mcanisme IDIDREF :
<!ELEMENT ref
- O EMPTY -- lment utilis pour acqurir une
rfrence interne -->
<!ATTLIST ref ref IDREF
#REQUIRED
-- nom de llment rfrenc -->
<!ELEMENT livre - O (aa, bb, cc) -- structure livre
-->
<!ATTLIST livre
nom
ID
#IMPLIED>
ID et IDREF sont bijectivement associs lun lautre. Dans une
instance cependant, la relation ID IDREF est multivoque, cest--

Il sagit dune fonctionnalit de base de la norme, mme si certains systmes ne les traitent pas tous. Elles dclarent certaines parties du document destines recevoir des traitements particuliers.
La forme de la dclaration est la suivante :
<![type_de_traitement [contenu__traiter]]>
o contenu__traiter est le texte de la section marque et
type_de_traitement peut prendre lune des valeurs suivantes :
IGNORE : contenu__traiter est ignor ;
INCLUDE : contenu__traiter est inclus ;
RCDATA : seuls les appels dentits sont traits dans
contenu__traiter ;
CDATA : les caractres spciaux SGML de contenu__traiter
sont ignors ;
TEMP : contenu__traiter est inclus, mais temporaire.
3.1.2.2 LPD
Les dfinitions de processus de liens (LPD - Link Process
Definition ) ne sont voques ici qu titre historique, les objectifs
viss par ces constructions tant dsormais repris intgralement par
la norme DSSSL (cf. [Doc H 7 138]).
Les LPD ont en effet t conus au dpart pour associer, un type
de document donn (DTD), un autre type de document, dans un but
de formatage. Il sagit dune transformation du type document
logique document physique.
Concrtement, le LPD regroupe au sein du prologue un ensemble
de dclarations dattributs. Ces attributs spcifiques sont associs
(mis en correspondance) avec les lments dune DTD donne, sans
modification de cette dernire.

3.1.3 Instance
Linstance SGML correspond bien la dfinition gnrale que
nous avons donne de la notion dinstance au paragraphe 2.1.2. Il
sagit du document balis conformment son modle, la DTD.
Les divers lments dclar dans la DTD reoivent ici leurs contenus sous forme de texte ou didentifiant des adresses de leurs
contenus ; les attributs sont valus, les liens sont rsolus. Linstance
peut contenir des sections marques et des sous-documents.
Linstance est donc le document apte recevoir (presque) tous les
traitements de gestion et dexploitation mis en place par les utilisateurs dans le cadre dapplications particulires ; par exemple :
la migration de composants du document vers une base de
donnes de gestion de fragments ;
lchange de fragments ;
la composition selon divers styles.
3.1.3.1 Instructions de traitement
Parce que lis des systmes particuliers, certains traitements
effectus sur une instance peuvent exploiter, outre le balisage du
document conformment sa DTD, des instructions spcifiques
insres dans le corps du document. Il sagit des Processing Instruction (PI).
Les PI peuvent apparatre nimporte quel endroit au sein du
document. Leur syntaxe est la suivante :
<?instruction_de_traitement>
o :
<? est la syntaxe concrte pour PIO (processing instruction
open - ouverture dune instruction de traitement) ;

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

H 7 138 11

SGML ________________________________________________________________________________________________________________________________

instruction_de_traitement une instruction destine au systme


de traitement du document.
Lors de lanalyse du document, le parseur ignore les PI, cest-dire quil suspend lanalyse partir de la dtection du PIO (<?) et ne
la reprend quaprs le PIC (fermeture dune instruction de traitement, >).
3.1.3.2 Forme canonique
On appelle ainsi la forme dune instance SGML valide telle
quelle peut tre rcupre la sortie dun parseur. Un tel document se caractrise par sa compltude et la prsence systmatique
des balises volontairement omises la saisie (lorsque la fonction
OMITTAG est active). La compltude du document implique la
rsolution des liens, la substitution des valeurs dentit leurs
appels dans les lments contenu dclars RCDATA, le traitement
des rfrences aux sections marques, etc.

Document SGML de base


Un document SGML de base est un document bas sur la syntaxe
concrte de rfrence entire et les capacits de rfrence telles
quindiques dans la dclaration SGML, les seules fonctionnalits
actives tant SHORTTAG et OMITTAG.
Document SGML minimal
Un document SGML minimal est un document bas sur la syntaxe
concrte de rfrence minimale et les capacits de rfrence telles
quindiques dans la dclaration SGML, sans aucune fonctionnalit
active.
Autres documents SGML
Il sagit des documents SGML bass sur des variantes de syntaxe
concrte.

3.4 SGML et lchange de documents


3.2 Codage des caractres
Lun des objectifs explicitement viss par SGML est lindpendance vis--vis des jeux de caractres. Ainsi, bien que la dclaration
SGML par dfaut soit base sur le codage ISO 10646, la norme permet de redfinir le jeu de caractres, en fonction des besoins des
applications que lon souhaite btir.
Tout jeu de caractres permettant la reprsentation de lettres, de
chiffres, de blanc inscable et autres dlimiteurs, est candidat potentiel pour le codage de documents SGML.
Cette possibilit de redfinir le jeu de caractres est manifestement un avantage, lorsque lon considre les possibilits trs limites du jeu de caractres de la dclaration SGML par dfaut.
Elle pose cependant quelques problmes pratiques lorsque
les documents sont changs, les systmes de part et dautre
ntant pas toujours en mesure dinterprter les diffrents jeux
de caractres. Cette difficult devrait tre surmonte prochainement avec ladoption par SGML du codage UNICODE
(ISO 10646) (cf. [Doc H 7 138]).

3.3 Notion de conformit


tant donn la complexit et les nombreuses fonctionnalits de
SGML, il savre difficile de trouver des outils susceptibles de couvrir lintgralit des possibilits de la norme. Conscients de cette difficult, les concepteurs de la norme ont dfini pour les documents
SGML plusieurs niveaux de conformit. La notion de document
SGML est entendue au sens de la dfinition donne au paragraphe
2.3.2.
Dans la pratique, la conformit dun document SGML est tablie,
moyennant lanalyse de ses trois composantes (dclaration SGML,
prologue, instance) par un parseur. En thorie, un tel parseur devrait
tre certifi, cest--dire avoir subi avec succs un examen bas sur
une suite de tests SGML, et avoir reu un label SGML par un centre
agr.

Parmi les objectifs poursuivis par SGML, lchange des documents entre partenaires est lun des plus importants. Lchange est
ici entendu au sens de lEDI (Electronic Data Interchange ), cest-dire dordinateur ordinateur, voir dapplication application. Le
but vis est la non-intervention manuelle dans la chane lectronique de linformation.
SDIF (Standard Document Interchange Format ) spcifie dans la
norme ISO 9069 (cf. [Doc H 7 138]) le format dchange de documents SGML. Il spcifie lempaquetage, au sein dun flot unique de
donnes, des divers parties (types de documents, entits externes,
documents externes, etc.) dun document SGML, au moyen de descripteurs indiquant les liens entre ces parties.
Entre autres donnes, SDIF permet la transmission entre systmes :
du jeu de caractres utilis ;
des instructions de traitement (dlimiteurs spcifiques pour les
balises complmentaires) ;
des informations extrieures devant sinsrer dans le document ;
des informations concernant le balisage du document (par
exemple, lutilisation des diverses fonctionnalits proposes par
SGML) ;
de la syntaxe du langage utilis pour construire le balisage (les
dlimiteurs, les mots-cls et symboles spciaux qui permettent de
construire le systme de balisage particulier lapplication) ;
des modles de document ;
des instances.

3.5 SGML sans DTD


Envisager de btir des applications SGML sans DTD est une
dmarche conceptuellement droutante, voire rgressive, pour un
spcialiste SGML. Cest pourtant lapproche adopte par les concepteurs de la partie Web du rseau Internet travers HTML ttons au
dpart, plus formellement par la suite.

SGML distingue historiquement la syntaxe concrte de rfrence


entire autorisant lemploi des appels abrgs dans les DTD tout en
dterminant la liste des dlimiteurs autoriss (comme abrviations),
de la syntaxe concrte de rfrence minimale qui nadmet pas
dappels abrgs.

Cr pour satisfaire au besoin croissant dune utilisation professionnelle de lInternet, le concept dIntranet a rapidement atteint les
limites de HTML comme norme dchanges dapplications documentaires professionnelles. XML est ainsi n et se positionne
demble comme la (future) norme pour les applications Web-Intranet.

Sur la base de ces distinctions, nous pouvons donner les dfinitions ci-aprs.

Du point de vue du spcialiste SGML, ces deux spcifications


apparaissent simplement comme des profils dapplications SGML.

H 7 138 12

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

_______________________________________________________________________________________________________________________________

Nous donnons ci-aprs un aperu de leurs philosophies. Leurs


notions de bases ne prsentent pas de difficults particulires pour
les personnes familires de SGML. Elles sont mme dun niveau
conceptuel moindre. Leur expos nentre cependant pas dans le
cadre restreint du prsent article. Les lecteurs intresss pourront
consulter les documents cits en [Doc H 7 138].

3.5.1 HTML

SGML

En dehors de quelques particularits telles que la syntaxe <TAG/>


pour la balise de fin des lments dclars EMPTY, lessentiel des
notions XML sont des clauses restrictives partir des concepts
SGML ; tel est le cas par exemple de linterdiction par XML de
lomission de balisage.
XML spcifie des mcanismes hypertextes pour les applications
Web, en prenant appui sur les mcanismes dadressage HyTime,
permettant notamment la dfinition de liens typs et de liens
cibles multiples.

HTML est conu sur le principe du balisage procdural, ceci prs


que le balisage est pens non pour permettre le formatage des
documents, mais essentiellement orient par la navigation hypertextuelle (ce qui dune certaine faon revient au mme, tant
lexploitation lectronique de linformation) sur le rseau Internet,
depuis un poste client quelconque.

Lvolution de XML prvoit la spcification de feuilles de style normalises bases sur la norme DSSSL.

On peut classer les balises HTML en trois catgories :


les balises daffichage des documents, qui organisent linformation selon la logique documentaire ;
les balises servant aux renvois intradocumentaires ou aux
appels dobjets externes ;
les balises de localisation des serveurs dinformation.

3.5.2.2 Document bien form au sens XML

Toutes ces balises font abondamment appel au mcanisme SGML


des attributs, pour grer la localisation de linformation, ou pour
indiquer les caractristiques de laffichage de linformation (taille
des caractres, mise en vidence, etc.).
Les experts SGML ont par la suite entrepris lcriture dune DTD
HTML, considrant que lensemble des balises de ce langage ad hoc
pouvaient sarticuler au sein dune grammaire cohrente qui,
moyennant la spcification dune dclaration SGML adapte, pouvait sinterprter comme un modle de document sens SGML.
Cette DTD na cependant pour unique intrt que le fait de ranger
HTML au nombre des applications SGML. Conu en effet dans le
seul but dtre accessible en consultation, le document HTML ne se
soucie pas dtre valide au sens SGML. La visualisation du document depuis un poste client quip dun navigateur HTML tient lieu
de parsing. La DTD est donc condamne demeurer implicite, du
moins dans loptique actuelle du Web.
HTML est donc considr dsormais comme un profil application
SGML destin la normalisation des applications Web. La version
4.0 de cette spcification est en cours de dfinition et devrait contenir des mcanismes normaliss de localisation incluant URL, requtes SQL et noms de fichiers.

3.5.2 XML
3.5.2.1 Objet de XML
Projet du W3C, XML (eXtensible Markup Language) vise la diffusion, travers le Web, de vritables instances SGML. La spcification peut donc sentendre (comme le suggre ce nom) comme une
extension de HTML permettant lutilisateur de dfinir ses propres
balises. Comme nous lavons indiqu en introduction, XML est en
fait une restriction particulire des possibilits de SGML, ce qui est
la dfinition mme dun profil dapplication.
On peut donc schmatiquement situer XML entre SGML et HTML.
Sa naissance a t suscite par les limites rencontres dans lutilisation de ces deux dernires normes, pour la ralisation dapplications
Web professionnelles.
Ces limites peuvent se rsumer dans les deux points qui suivent :
la structuration insuffisante et labsence de smantique dans
lapproche HTML (et donc le trop peu de possibilits dindexation
des documents) ;
la lourdeur de mise en uvre dans lapproche SGML, due pour
lessentiel la prsence obligatoire du modle de document (DTD),
ce qui exige la prsence doutils danalyse de conformit toutes les
tapes le long dune chane documentaire SGML.

Signalons, pour terminer, que le jeu de caractres de rfrence


pour les documents XML est UNICODE.

Le document bien form est la seule notion XML que nous prsentons ici. Nous renvoyons la lecture du document [6] dit par le
W3C, pour plus de dtail sur le contenu de la spcification. Pour une
prsentation introductive, voir larticle de F. Chahuneau [7].
La notion XML de document bien form ne sapparente que de
loin la notion de validit au sens SGML (conformit un modle),
la prsence de la DTD ntant plus requise pour les documents XML.
La dfinition ci-aprs est une interprtation de la dfinition formelle du document officiel de la spcification XML. La dfinition
exacte nous conduirait un expos dtaill des notions XML soumises aux contraintes WFC (well-formedness constraint), ce qui est
hors du propos du prsent article.
Un document texte est dit bien form au sens XML si la structure reconstituable partir de son balisage est complte et ferme, et peut tre mise en bijection avec lensemble des nuds
dun arbre hirarchique.
La notion de fermeture implique une forte exhaustivit locale du
document (suppression des rfrences externes).
Cette dfinition implique la notion dhritage, mais aussi un
niveau de dterminisme lev quant au contenu des instances dune
telle DTD, do la suppression de nombreuses possibilits de SGML,
au nombre desquelles :

les inclusions et les exclusions ;


les dfinitions rcursives ;
les rfrences externes pour le contenu des attributs ;
les valeurs par dfaut CURRENT et CONREF.

La notion de document bien form fait de XML un profil SGML


rductible des grammaires assez simples et compltement exprimables au moyen dexpressions rgulires. Il sensuit qu la diffrence de SGML le dveloppement doutils danalyse et la mise en
uvre dapplications XML sont relativement simples et rapides.
3.5.2.3 Conclusion
XML allie les capacits de structuration de SGML la souplesse
de HTML, en permettant dune part la dfinition de structures nouvelles (balises) par lutilisateur, dautre part le balisage, le traitement
et lchange de documents avec la possibilit domettre la DTD.
Dans loptique de la ralisation dapplications Web-Intranet, XML
cumule en quelque sorte les avantages de SGML et HTML.
Il y a fort parier que le champ dutilisation de XML ne se limitera
pas aux applications Web-Intranet. Dans de nombreuses autres
applications en effet, les utilisateurs souhaitent un allgement
de SGML, tant il est vrai que cette norme leur apparat comme une
affaire de spcialistes.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

H 7 138 13

SGML ________________________________________________________________________________________________________________________________

3.6 Quelques grandes applications SGML


De nombreux projets et applications SGML ont vu le jour travers
le monde, depuis la parution de la norme. SGML est progressivement entr dans la culture des entreprises. Nous citons ci-aprs
quelques applications denvergure, illustrations de ce dynamisme
de SGML.
CALS (Continuous Acquisition and Life-cycle Support ) est une Initiative bien connue du ministre amricain de la Dfense (DoD Department of Defense ), que lon ne saurait limiter SGML. Au sein
du corpus des normes adoptes par CALS, SGML a un rle central,
en tant que norme dintgration de donnes documentaires htrognes. Lenvergure de CALS et son impact tant sur lindustrie amricaine que sur les partenaires des tats-Unis ont contribu au
rayonnement de SGML, ds les annes qui ont suivi la parution de
la norme.
Lassociation des diteurs amricains (AAP - Association of American Publishers ) a conu des DTD pour ses documents courants
(livres, articles, etc.).
Le syndicat de ldition a conduit un travail similaire en France,
avec dailleurs plus de rigueur dans lcriture formelle.
Oxford University Press a bti une application SGML pour le
Oxford English Dictionary.
AECMA (Association Europenne des Constructeurs de Matriel
Arospatial) a conu des DTD pour les modules dinformation (data
modules ) tels que dfinis dans sa spcification AECMA 1000D. Les
systmes documentaires des avions Rafale et Eurofither sont bass
sur cette spcification.
SPEEDOC (Systme de Production et dExploitation lectronique
de la Documentation) est le programme lanc en France en 1988 par
la Direction des Constructions Navales, pour linformatisation de la
documentation des SNLE/NG (Sous-marin Nuclaire Lanceur
dEngins/Nouvelle Gnration). Il sagit historiquement du tout premier projet franais mettant en uvre une architecture documentaire entirement conue autour de SGML.
TEI (Text Encoding Initiative ) est trs utilise dans les milieux de
la recherche en sciences humaines pour le codage des documents
anciens [8].

4. Positionnement de SGML
dans le contexte normatif
Il sagit ici de situer SGML non dans le contexte normatif gnral,
mais par rapport au corpus de ses normes satellites , cest-dire :

Un hyperdocument est une structure dinformations mlant des


donnes htrognes (textes, graphiques, sons, squences animes, etc.) ventuellement rparties sur des mdias diffrents, et
restitues lutilisateur final suivant un scnario prdfini.
La notion centrale de HyTime est la forme architecturale, dont les
diffrents constituants dune DTD (lments, liens, etc.) peuvent tre
considrs comme des instances, au sens des catgories dfinies au
paragraphe 2. HyTime dfinit un langage de requte pour laccs
aux constituants de lhyperdocument.
Unique standard permettant la modlisation des hyperdocuments, HyTime, assure la prennit des donnes manipules indpendamment des moyens matriels et logiciels utiliss, et assure
ainsi lindpendance des utilisateurs vis--vis des applications cls
en mains .

4.2 SMDL
SMDL (Standard Music Description Language ISO/IEC 10743)
(cf. [Doc H 7 138]) est une application-extension SGML pour la
description et lchange lectronique de documents musicaux.
SMDL est lorigine de lapproche temporelle de la modlisation utilisant la syntaxe SGML, ide reprise par la suite par
HyTime. On pourrait interprter SMDL comme une structuration
SGML du temps.

4.3 DSSSL
Longtemps attendu par tous les acteurs du monde ditorial,
DSSSL (Document Style Semantics and Specification Language
ISO/IEC 10179) (cf. [Doc H 7 138]) est la dernire norme conue par
le mme comit international ayant travaill il y a quelques annes
la dfinition de la norme SGML.
DSSSL vient complter la modlisation des donnes (SGML,
HyTime) par la modlisation des traitements ralisables sur ses donnes, le formatage en particulier.
Elle dfinit cet effet un langage permettant lexpression formelle
et rigoureuse :
des spcifications de prsentation et autres traitements automatiques dinstances SGML (textes baliss) ;
des traitements raliss par une gamme de formateurs la plus
large possible, des outils natifs aux composeurs actuels, laide de
traducteurs spcifiques.
Imagine au dpart pour standardiser la manire dindiquer les
styles et actions de composition associs un texte balis selon une
DTD SGML, cette spcification sest en fait gnralise en vritable
langage de manipulation dinstances SGML, la composition apparaissant comme un cas particulier de telles manipulations.

les normes drives de SGML (HyTime, SMDL) ;


les normes associes des processus mettant en uvre des
donnes SGML (DSSSL, SPDL).

DSSSL est bas sur une vue base de donnes dune instance
SGML. Le fichier (en entre dun processeur DSSSL) nest donc pas
parcouru squentiellement. Cest ainsi que la spcification a introduit un langage de requte permettant laccs direct une partie
donne du document (instance SGML).

4.1 HyTime

4.4 SPDL

HyTime (Hypermedia Time-based structuring language ), extension-application de SGML, est parue en 1992, sous la rfrence
ISO/IEC 10744 (cf. [Doc H 7 138]). HyTime est une modlisation
spatio-temporelle tendant aux hyperdocuments les principes de
descriptions gnriques dfinis par SGML.

SPDL (Standard Page Description Language ISO/IEC 10180)


(cf. [Doc H 7 138]) est un langage de description de page standardisant ( travers des notions telles que celle de pav) dun
document compos, cest--dire le format de sortie dun composeur. Lobjectif vis est la garantie de lchangeabilit du

H 7 138 14

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

_______________________________________________________________________________________________________________________________

document format, permettant ainsi limpression papier ou


quivalent lectronique (consultation lcran en mode page)
par les outils capables dinterprter SPDL.
Lessentiel des experts ayant contribu llaboration du standard
sont des professionnels du secteur de ldition classique, plus particulirement de la composition. Les standards de fait tels que Postcript dAdobe System Inc visent des objectifs que SPDL essaie
datteindre dans un cadre consensuel.

5. volutions dans les annes


venir
lexamen des travaux en cours autour de SGML, deux tendances opposes se dgagent : lune dans le sens du renforcement des
capacits conceptuelles de la norme, lautre dans le sens dune simplification visant une mise en uvre facile.

SGML

cours) au standard ISO 8879 (SGML), permettant la prise en compte


des aspects propres XML.

5.3 De nouvelles normes satellites


Pour clore cette partie consacre aux perspectives, nous voquons brivement deux projets consacrs des aspects particuliers
dexploitation de structures dinformations SGML.
SMSL
SMSL (Standard Multimedia/hypermedia Scripting Language ) est
un projet men conjointement par deux groupes de travail du JTC 1/
ISO/IEC : le SC 18/WG 8-SGML et le SC 29/WG 12-MHEG. Ce travail
vise le dveloppement dun standard assurant la compatibilit et la
portabilit, entre plates-formes htrognes, de scripts interactifs
pour le multimdia. Le projet est pour linstant en veilleuse.
Topic Navigation Map

5.1 Renforcement conceptuel


Cette tendance est celle des experts au sein du JTC 1/SC 18/WG 8
de lISO/IEC. Elle sinscrit dans la dmarche qui a donn naissance
SGML : dcrire le plus prcisment possible les documents, en faisant abstraction des ides de traitement qui leur sont applicables. La
mise en uvre des applications est laffaire des utilisateurs et le
champ naturel de la comptition entre prestataires divers : consultants, fournisseurs de logiciels spcialiss, intgrateurs, etc.
La rvision de SGML est ici envisage comme une dmarche
dunification de la norme et des parties purement descriptives de
ses deux principales normes satellites, savoir DSSSL et HyTime.
Le corps de la norme pourrait ainsi notamment hriter :

Conduit par le JTC 1/SC 18/WG 8 de lISO/IEC, ce projet vise la formalisation de lenrichissement smantique de documents SGML
existants. En dautres termes, il sagit de dcrire la manire dtablir
des rapprochements, dajouter de linformation et de la pertinence
des documents existants, sans modifier leur contenu initial ni interfrer sur leur cycle de vie. Un rseau de liens est cr par-dessus
les documents.

6. SGML et lingnierie
documentaire

de la notion abstraite de grove introduite par DSSSL ;


des mcanismes dadressage et de liens issu de HyTime.
Seraient alors laisses dans les normes satellites les notions
consacres aux traitements des documents (ou, plus prcisment,
des structures dinformations) dcrits par la nouvelle version de
SGML. Ainsi, par exemple, resteraient dans DSSSL les notions
lies aux styles et la transformation dinstances, mais aussi le
langage de requte (qui par ailleurs unifie les approches HyTime et
DSSSL).

Aprs une dfinition de lingnierie documentaire, nous allons


montrer en quoi SGML se prsente comme lun des meilleurs outils
conceptuels, pivots dans la conception et la mise en uvre darchitectures fonctionnelles dingnierie documentaire.

Fondamentalement, SGML garderait son originalit comme mtalangage, mais gagnerait en pouvoir de conceptualisation et, corollaire naturel, en complexit de mise en uvre.

6.1 Systmes ditoriaux classiques

5.2 Vers des profils spcialiss


Les utilisateurs sont lorigine de cette tendance, mme si les travaux qui en sont issus restent laffaire de spcialistes au sein de
groupes dintrts tels que le W3C.
Il ne sagit plus ici de standardiser quelques grandes DTD applicatives, mais de modifier la norme elle-mme, pour en obtenir des versions allges rpondant au besoin dune mise en uvre simplifie.
XML voqu au paragraphe 3.5.2 procde dune telle dmarche.
Ces langages drivs gnrent parfois des concepts propres ou
des singularits syntaxiques qui crent des divergences avec le
corps de la norme. Ainsi, par exemple, la compatibilit
XML SGML sera obtenue au prix dun correctif technique (en

La vue document peut tre lexpression caractrisant la


dmarche des systmes ditoriaux classiques. Lensemble des
moyens organisationnels et techniques dune telle dmarche est
orient vers la production du document, le document tant ici un
produit fini ddition, cest--dire des informations organises et formates selon lide classique du livre, quels que soient par ailleurs
leurs supports de diffusion.
Polariss par la production du document, les moyens conceptuels
mis en uvre par le systme ditorial classique le sont aussi. Ainsi,
par exemple, la modlisation du document sera naturellement
oriente par les problmes de formatage de document, en priorit
sur dautres problmes documentaires.
Le rle de plus en plus important de linformatique dans les
mtiers de ldition est essentiel dans lvolution que connat depuis
prs dune dcennie le systme ditorial classique, vers lingnierie
documentaire.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

H 7 138 15

SGML ________________________________________________________________________________________________________________________________

6.2 Ingnierie documentaire


Lingnierie documentaire peut se dfinir comme lensemble
des activits de conception, de mise en uvre et de maintien en
condition oprationnelle dun systme dinformation documentaire.

La notion de systme dinformation sentend ici au sens global


dun ensemble de processus lmentaires. Il sagit dun ensemble
de processus associs aux traitements (gnration, gestion ou interprtation) de donnes documentaires htrognes. En somme, les
donnes sont considres sur leur cycle de vie, de leur acquisition
leur diffusion sous forme de produits ddition, en passant par leur
mise jour et la prise en compte des retours dutilisation.
La vue systme dinformation documentaire marque ici la diffrence essentielle avec les systmes ditoriaux classiques. Lapport
de linformatique dans ce domaine sest accompagn dune dmarche mthodologique dont nous donnons ci-aprs la substance sous
forme de quelques principes.
Les principes noncs ici ne sont pas exhaustifs. Ils ont historiquement guid la mise en uvre de lingnierie documentaire dans
le cadre de linitiative CALS.

Lactivit de gestion des donnes sappuie sur la notion de base


de donnes, en tant quensemble structur de donnes accessibles
par lordinateur pour satisfaire simultanment plusieurs utilisateurs
en un temps opportun. Pour mmoire, un Systme de Gestion de
Base de Donnes (SGBD) est le logiciel qui permet dinteragir avec
une base de donnes.
Dans le domaine spcifique de lingnierie documentaire, le
concept de Bases dInformations Modulaires est apparu, ces dernires annes, pour faire face la gestion dinformations lmentaires,
susceptibles dtre utilises dans des documents plus complexes.
Lide initiale des Bases dInformation Modulaires est la constitution, pour un domaine donn (bibliothque, entreprise, avionique,
etc.), dune base de primitives documentaires, partir de laquelle
pourront tre gnrs automatiquement tous les documents relatifs
au domaine, lobjectif tant la rutilisabilit de ces primitives
documentaires, dans un souci de cohrence et de non-redondance.
Dfinitions
Une primitive documentaire (ou module, ou granule dinformation) est une unit dinformation autosuffisante.
Une unit dinformation est dite autosuffisante lorsque son
contenu est signifiant en soi.

Principes
Prennit des donnes vhicules travers lensemble des processus du systme dinformation documentaire.
Suppression des lots dinformation (un systme est fait
dlots, ds lors quune de ses composantes se trouve dconnecte
du reste du systme. La pertinence des donnes nest plus alors
assure).
Indpendance du systme dinformation vis--vis des platesformes logiciels et matriels.
Minimisation du Cot Global de Possession (LCC Live-Cycle
Cost dans la terminologie CALS).

Ces dfinitions signifient que la pertinence smantique de la primitive documentaire est complte ds lors que lon a connaissance
de son contenu, ce contenu tant exhaustif, en ce sens que toutes
les informations ncessaires la pertinence smantique sont physiquement prsentes ou rfrences avec possibilit daccs dynamique au contenu des donnes.

Ces principes impliquent :


la continuit smantique, travers le flux de donnes, dun
processus aux processus connexes ;
le bouclage et litration possible des processus (ce qui implique en particulier la remonte, vers les processus amont, des donnes en retour dutilisation) ;
la notion de systme dinformation intgr.

Une base dinformation modulaire est caractrise par un


modle de SGBD mettant en uvre des primitives documentaires dans un domaine donn.

Les processus au sein dune architecture dingnierie documentaire peuvent se rpartir en trois grandes activits primaires :
lacquisition des donnes, le stockage et la gestion des donnes, la
diffusion et lexploitation des donnes. Le rappel de larchitecture
globale et une brve description de chacune de ces activits nous
permettront de positionner SGML au sein de larchitecture fonctionnelle dun systme dinformation documentaire, mais aussi de donner une classification des outils SGML.
Architecture globale
En utilisant la mthode IDEF0, larchitecture globale peut se dcliner comme sur la figure 2.
Par affinement progressif, les trois principales activits repres
peuvent elles-mmes tre dclines en sous-activits jusquau plus
bas niveau, selon la mme syntaxe de reprsentation IDEF0.
Acquisition
Lacquisition des donnes met en uvre deux types de processus,
lis lorigine des donnes. Elle sopre par saisie directe ou par
transcodage, selon que les informations sont gnres ex nihilo ou
rcupres de sources existantes, lectroniques ou mme papier.
Gestion : bases dinformation modulaires
Nous sommes ici au cur de larchitecture globale.

H 7 138 16

Plusieurs primitives documentaires peuvent ainsi partager des


donnes communes comme une illustration ou une rfrence
bibliographique.
On peut prsent donner la dfinition suivante.

Lactivit de gestion des donnes au sein des architectures dingnierie documentaire sappuie sur des bases dinformation modulaires.
Rappelons pour finir que, quelle que soit la mthode suivie pour
constituer lensemble des modules dinformation, elle doit obir
deux principes :
lexhaustivit (la base dinformation doit contenir toutes les
informations permettant de rpondre toute demande documentaire dun domaine donn) ;
la non-redondance ( travers le partage de linformation, la
base dinformation doit viter autant que possible la duplication des
donnes).
Cest en cela quune base dinformation modulaire dans un
domaine donn est considre comme une base documentaire
orthonorme pour le domaine en question.
Diffusion
Trois types de diffusion des donnes sont aujourdhui considrs
comme classiques :
la diffusion de type documentaire (lorganisation et la diffusion
de linformation sous forme de documents, au sens classique), sur
support papier ou non ;
la diffusion lectronique dextraits de la base dinformation
sous forme de lots de primitives documentaires ;
la diffusion en ligne des deux catgories prcdentes.

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

_______________________________________________________________________________________________________________________________

Contrle local

Donnes
brutes

Contrle global

SGML

Contrles spcifiques

Donnes
structures

Acqurir

Stocker / Grer

Modules
d'information

Diffuser
Donnes
consultables

Transcodage,
saisie directe

SGBD

Formatage / composition

Figure 2 Architecture globale


selon la mthode IDEF0

Dans chacun de ces cas, un processus de composition est ncessaire pour formater les donnes de manire les rendre humainement exploitables par destinataires.
On peut complter ses modes de diffusion par la diffusion/exploitation interactive qui a donn lieu quelques travaux importants ces
dernires annes [9] [10] [11] [12].

6.3 SGML et lingnierie documentaire


Aprs lexpos du paragraphe prcdent, SGML et ses normes
satellites apparaissent comme lensemble cohrent de modles, formats et mthodes susceptibles de faciliter lapproche de lingnierie
documentaire selon les principes rappels au paragraphe 6.2.
Reprenant la figure 1 et en prenant quelques liberts avec IDEF0,
on obtient le schma de la figure 3.
Le principe du systme dinformation intgr est presque naturel
ici, les processus est les formats des donnes tant normaliss par
SGML et ses normes satellites. La notion de SGML repository est
lapproche SGML des bases dinformation modulaires.

6.4 Classification des outils SGML


Nous ne dressons pas ici une typologie des outils SGML du march, par souci de neutralit vis--vis des fournisseurs. Il sagit plutt
dtablir quelques critres de choix des outils, selon leur positionnement au sein dune architecture globale dingnierie documentaire.
Parseur
Les parseurs sont les outils danalyse et de validation des documents SGML. Ils peuvent tre intgrs divers outils de la chane
documentaire, ou utiliss seuls pour valider les documents avant
leur transmission un partenaire ou la rception par un destinataire. Ils peuvent aussi tre utiliss seuls, pour gnrer la forme
canonique des documents SGML.
Le march offre un choix doutils, allant des parseurs simples
bass sur des gnrateurs danalyseurs syntaxiques comme YACC,
aux parseurs puissants capables deffectuer certaines analyses

smantiques. Le critre de choix sera essentiellement le niveau de


contrle et de validation que lutilisateur souhaite obtenir pour les
documents en entre ou en sortie de son application.
Outils dacquisition des donnes
Les diteurs SGML (saisie directe des donnes)
Les quelques critres prendre en compte sont :
les dlais dintroduction dune nouvelle DTD (paramtrage) ;
la possibilit de saisie contextuelle guide et contrle ;
la prsence doutil de validation intgr ;
les capacits ergonomiques (approche WYSIWYG, reprsentation arborescente, etc.).
Les transcodeurs (rcupration)
Les quelques critres prendre en compte sont :
les dlais dintroduction dune nouvelle DTD (paramtrage) ;
les types de formats dentre accepts.
Stockage et gestion des donnes
Des gestionnaires de fichiers aux bases de donnes documentaires, en passant par les bases de donnes relationnelles et les bases
de donnes objets, aucune des technologies disponibles nest utilisable en ltat, pour la mise en uvre du concept de SGML repository telle que nous lavons prsente. Cela est d au caractre
mtalangage de SGML. Le choix des outils est ici dtermin par leur
dimensionnement aux applications mettre en place.
Restitution des donnes
Les outils considrs ici mettent en uvre des transformations et
des traitements sur des documents SGML. Un des critres importants considrer sera donc la possibilit de raliser ces traitements
conformment aux normes satellites de SGML conues cet effet.
Les composeurs (formatage)
Les quelques critres prendre en compte sont :
lacceptation de DSSSL et les dlais dintroduction dune nouvelle feuille de styles ;
les capacits de validation SGML et DSSSL ;
les capacits gnrer des donnes consultables au format
SPDL ;
le mode opratoire et lefficacit : travail en batch ou la
vole ?

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

H 7 138 17

SGML ________________________________________________________________________________________________________________________________

Parsing local

Donnes
brutes

Saisie /
Transcodage

Parsing global

DSSSL

Instances
SGML

SGML
repository

Fragments
SGML

Formatage /
Diffusion
Donnes
SPDL

Les navigateurs (consultation)

Les quelques critres prendre en compte sont :


les capacits dinterprtation des donnes consultables au format SPDL ;
les capacits de validation SPDL.

Figure 3 Architecture globale


dans le contexte SGML

Les ressorts conceptuels de la norme se sont affins, en particulier sous limpulsion des travaux mens dans le cadre des normes
satellites. Il en rsulte un abandon de certaines notions dont lutilit
ntait pas manifeste, telles que les rfrences abrges. Il se dessine une volution de la norme vers un corps de concepts de base
assez abstraits, toujours sous-tendus par la puissance conceptuelle
de lapproche mtalangage.

Aprs une dcennie dexistence et en dpit de son caractre de


mtalangage qui en fait un modle pas simple a priori, SGML peut
tre considr comme un succs, ainsi que le tmoignent ses nombreuses applications.

Dans le mme temps apparaissent des profils dapplications qui


visent une plus grande facilit de mise en uvre et un plus grand
nombre dutilisateurs. Ces diffrents profils ne sont pas ncessairement des candidats la marginalisation de la norme elle-mme. Ils
signifient peut-tre simplement que SGML reste dun accs difficile
pour un grand nombre dutilisateurs. Laccroissement de laudience
de SGML passe alors (du moins pour linstant) par quelques simplifications, la tendance commune toutes ces simplifications tant un
renoncement lapproche mtalangage.

Ces applications se retrouvent aujourdhui dans tous les secteurs


dactivit aux prises avec des problmes de conception et de mise
en uvre de documentations structures.

Tant pour son intrt thorique que pour ses possibilits dapplication, on peut prvoir pour SGML un nombre dutilisateurs en augmentation dans les annes venir.

7. Conclusion

H 7 138 18

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie est strictement interdite.
Techniques de lIngnieur, trait Informatique

P
O
U
R

SGML

par

E
N

Luc SONK
Docteur en mathmatiques
Prsident de STSI-SA (Socit des Technologies et Systmes dInformation), Paris

Bibliographie
[1]

GOLDFARB (C.F). The SGML Handbook.


Oxford University Press (1991).

[2]

[3]

[6]

[10]

BRYAN (M.). SGML an authors guide to The


Standard Generalized Markup Language.
Addison-Wesley Publishing Company (1988).

The eXtensible Markup Language (XML),


Draft version no 2. Wold Wide Web Consortium (avr. 1997).

MIL-D-87269. Data Base, Revisable : Interactive Electronic Technical Manuals, for the
support of. DoD (oct. 1992).

[7]

[11]

Van HERWIJNEN (E.). Practical SGML.


Kluwer Academic Publishers second printing
(1991).

CHAHUNEAU (F.). SGML sans DTD. Document numrique vol 1 n 1, Herms (fv.
1997).

MIL-Q-87270. Quality Assurance Program :


Interactive Electronic Technical Manuals and
Associated Technical Informations ; Requirements for. DoD (oct. 1992).

[8]

ROLE (F.). DTD/TEI H 7 143 Techniques de


lIngnieur, trait Informatique vol. H4 (1998)
paratre.

[12]

Metafile for Interactive Documents (MID),


Specification for the Encoding of Interactive
Documents. US Navy (nov. 1994).

[9]

MIL-M-87268. Interactive Electronic Technical Manuals (IETM) : General Content, Style,


Format, and User-Interactive Requirements.
DoD (oct. 1992).

Ouvrage

[4]

DGA/SLM/D6-9102. Guide dutilisation de


SGML. Ministre de la Dfense - Dlgation
gnrale pour lArmement (sept. 1991).

[5]

Hypertext Markup Language (HTML) V 3.2.


Wold Wide Web Consortium (mars 1997).

TRAVIS et WALDT. The SGML implementation


guide. Springer Verlag (1995).

Normalisation
SGML a officiellement t adopt comme norme ISO (International Organization for Standardization) en octobre 1986 sous la rfrence ISO 8879.
LAFNOR a, quant elle, adopt la norme en 1990, sous la rfrence NF
EN 28879. La norme a reu en 1988 un amendement (Amendement 1) qui est
incorpor au texte de rfrence. Conformment aux procdures de lISO, une
premire rvision de la norme a eu lieu en 1991 et une deuxime en 1996.
Aucune de ces rvisions na pour linstant donn lieu la diffusion dune nouvelle version de la norme. Un rectificatif technique a cependant t publi
en 1996.
ISO 8879

ISO 8632-1

ISO/IEC 10179

1986 Information processing - Text and office systems - The


Standard Generalized Markup Language (SGML).
[Traitement de linformation - Systmes bureautiques
- langage normalis de balisage gnralis (SGML)]
Incorpore lAmendement 1-1988. Rectificatif technique
1-1996. Technical Corringendum to The Standard
Generalized Markup Language (SGML) (en anglais
seulement).
1992 Computer Graphic Metafile (CGM) for the storage and
transfer of picture description information (Technologie de linformation - Infographie - Metalfichier de
stockage et de transfert des informations de description - Partie 1 : Description fonctionnelle). Amendement 1-1994 - Rgles pour profils (en anglais
seulement).
1996 Information processing - Document Style Semantics
and Specification Language (DSSSL). (Technologie de
linformation - Langages de traitement - Smantique
de prsentation de documents et langage spcifique
(DSSSL) (en anglais seulement).

ISO/IEC 10646-1 1993 Information technology - Universal Multiple-Octet


Coded Character Set (UCS) - Part 1 : Architecture and
Basic Multilingual Plane. (Technologies de linformation - Jeu universel de caractres cods plusieurs
octets - Partie 1 : Architecture et table numrique) (en
anglais seulement). Rectificatif technique 1 : 1996.
Nombreux Amendements.
ISO 9069

1988 Information processing - SGML support facilities SGML Document Interchange Format (SDIF). [Traitement de linformation - Facilit de support SGML - Format dchange de documents SGML (SDIF)].

ISO/IEC 10744

1997 Information processing - Hypermedia/Time-based


Structuring Language (Hytime). [Technologies de
linformation - Langage de structuration temporelle/
hypermdia (HyTime)] (en anglais seulement).

ISO/IEC 10743

1994 Information processing - SGML support facilities Standard Music Description Language (SMDL).

ISO/IEC 10180

1995 Information processing - Text composition - Standard


Page Description Language (SPDL). [Technologies de
linformation - Langage de traitement - Langage de
description de page normalise (SPDL)] (en anglais
seulement).

Pour consulter ces normes, on pourra faire appel aux adresses suivantes :
http://www.ornl.gov/sgml/wg4
http://www.ornl.gov/sgml/wg8/wg8home.htm
http://www.hightext.com/tnm

Toute reproduction sans autorisation du Centre franais dexploitation du droit de copie


est strictement interdite. Techniques de lIngnieur, trait Informatique

Doc. H 7 138 1

S
A
V
O
I
R
P
L
U
S

You might also like