2 Modèles de documents et transformation dans les applications documentaires

Ce chapitre présente les besoins de transformation dans les systèmes de documents électroniques.

Les différentes représentations des documents sont d'abord présentées. Nous étudions en particulier les formes de stockage et de représentation des documents électroniques en discutant de l'utilisation de chacune. Les applications documentaires sont également étudiées ainsi que la façon dont elles tirent parti de l'information codée dans le document.

Nous exposons ensuite les avantages de l'utilisation des documents structurés dans les application documentaires. Nous étudions également les problèmes posés par l'édition ces documents.

Nous poursuivons par le rôle de la transformation de documents dans la chaîne éditoriale. Cette partie met en évidence les besoins de transformation au cours de la vie des documents. Les différentes formes de transformations sont identifiées ainsi que la problématique qu'elles apportent.

La fin de ce chapitre est consacrée à la transformation intervenant lors de l'étape d'édition des documents structurés. Nous identifions les spécificités des transformations dans ce champ d'application pour cerner le domaine de ce travail.

2.1 Modèles et formats de documents électroniques

Le terme document électronique désigne une entité abstraite qui, pour être manipulée et stockée, doit être représentée sous une forme concrète.

Le modèle définit la représentation des documents au niveau abstrait. Il définit la nature de l'information représentée dans le document et comment cette information est organisée.

Un document peut être un flot d'informations, mêlant le contenu du document et les informations de formatage. Les modèles qui définissent cette représentation des document sont dits linéaires. Les modèles de documents linéaires sont présentés dans la section 2.2.

D'autres modèles représentent les documents comme une hiérarchie d'éléments typés et définissent les relations hiérarchiques possibles entre les types de ces éléments. Ce sont les modèles de documents structurés présentés dans la section 2.3.

Le stockage des documents nécessite leur représentation physique dans un ou plusieurs fichiers. La représentation physique d'un document est définie par une convention exprimant la représentation physique du modèle de document : le format de document.

Les formats de documents peuvent être propriétaire, c'est à dire spécifiques à une application particulière, ou standard pour permettre l'échange de document entre applications différentes. Les formats standard de documents sont définis par des organismes de standardisation (ISO [ISO], W3C [W3C]). Ces normes garantissent la pérennité du format de document.

Un format de document présente deux spécificités : la forme de stockage qui définit le niveau lexical du format et la représentation du document qui définit les aspects syntaxiques et sémantiques des informations contenues dans le document.

Un format peut utiliser une forme de stockage textuelle ou binaire. Le stockage sous forme textuelle produit un fichier ASCII, ISO-Latin [ISO 98b] ou Unicode [Unicode 96] lisible immédiatement. Le contenu du document et les informations supplémentaires (informations de présentation, de structure) sont codées à l'aide de marqueurs textuels. Ces marqueurs peuvent prendre la forme de macros, comme c'est le cas du format LaTeX [Lamport 85] (voir figure 1) ou de balises comme dans les formats HTML [Raggett 98], SGML [ISO 86] et XML [Bray 98a] (voir figure 2).

\section{Mod\`{e}les et formats de documents
\'{e}lectroniques}
Un format peut utiliser une forme de stockage textuelle ou
binaire. Le stockage sous forme textuelle produit un fichier
ISO-Latin \cite{bib0} ou Unicode \cite{bib0} lisible 
imm\'{e}diatement. Le contenu du document et les 
informations suppl\'{e}mentaires (informations de 
pr\'{e}sentation, de structure) sont cod\'{e}es \`{a} l'aide
de marqueurs textuels. Ces marqueurs peuvent prendre la 
forme de macros, comme c'est le cas du format \LaTeX\ 
\cite{bib19} (voir figureFig.~\ref{fig0}) ou de balises 
comme dans les formats SGML \cite{bib17} et XML \cite{bib27}
(voir figure Fig.~\ref{fig1}). 

Figure 1 - Extrait d'un document LaTeX

<h2><a name="secta1">1.Mod&eagrave;les et formats de
documents &eacute;lectroniques </a></h2>
<p>Un format peut utiliser une forme de stockage textuelle
ou binaire. Le stockage sous forme textuelle produit un 
fichier ISO-Latin <a href="#bib0"></a> ou Unicode <a 
href="#bib0"></a> lisible imm&eacute;diatement. Le contenu
du document et les informations suppl&eacute;mentaires 
(informations de pr&eacute;sentation, de structure) sont 
cod&eacute;es &agrave; l'aide de marqueurs textuels. Ces 
marqueurs peuvent prendre la forme de macros, comme c'est 
le cas du format LaTeX <a href="these.html#bib19">[Lam]</a> 
(voir figure<a href="these.html#fig1"> 1</a>) ou de balises
comme dans les formats SGML <a href="these.html#bib17"> 
[ISO86]</a> et XML <a href="these.html#bib27">
[W3C98]</a> (voir figure <a href="these.html#fig2"> 2</a>).
</p>

Figure 2 - Extrait d'un document HTML

L'information contenue dans un document stocké sous forme binaire est un mélange du contenu du document, généralement sous forme textuelle mais parfois aussi codé en binaire, et de codes de contrôle décrivant les informations associées qui sont toujours représentées en binaire.

La forme binaire permet un stockage plus compact des documents. La lecture du document par une application est plus performante car elle ne nécessite pas d'analyse lexicale de l'information associée. La forme textuelle permet la modification d'un document hors d'une application spécialisée : un simple éditeur de texte suffit (voir section 2.3.2). Mais si le document peut être modifié directement par un utilisateur, rien ne garantit qu'il soit encore conforme à son modèle après modification.

L'aptitude à permettre la ré-utilisation de documents que présente la forme textuelle est un facteur dépréciant pour la publication de ces documents. En effet, la diffusion sous forme textuelle d'un livre ou d'un journal électronique ne garantit pas l'intégrité des documents publiés. Les éditions électroniques des quotidiens nationaux par exemple utilisent un format binaire (comme PDF) pour garantir que le journal conserve son intégrité de contenu comme de présentation.

Dans les deux sections suivantes nous détaillons les modèles et formats de document linéaires et structurés en soulignant l'expressivité de chacun d'eux, la facilité d'échange avec les autres formats et leur aptitude à être utilisés par les applications documentaires.

2.2 Documents linéaires

Les documents linéaires sont modélisés par un flot de données qui mêle le contenu du document aux informations de présentation et/ou de typage. Les formats de documents linéaires sont très proches de leurs modèles : ils sont une simple transcription de l'information contenue dans le modèle.

2.2.1 Documents texte plein

Le modèle de document dit « texte plein » ne contient que la composante textuelle du document. Aucune information supplémentaire n'est représentée dans ce modèle.

Ces documents peuvent facilement être importés dans des applications documentaires sous leur forme originelle. Pour la conversion de ces documents dans un autre format, l'apport d'une information supplémentaire est nécessaire. Cette information permet d'analyser le contenu du document pour identifier les entités qui le composent. La section 2.4.1.1 présente cette opération de structuration.

Les messages électroniques (ou e-mail) sont un format de documents sous forme de texte plein, mais ils comportent un en-tête comprenant un ensemble de champs (expéditeur, destinataire, date et heure, sujet, etc.) et un corps contenant le message proprement dit. Une application de messagerie électronique doit analyser le contenu du message pour identifier ces composantes et les traduire dans son modèle de données.

2.2.2 Documents numérisés

Un document numérisé est une image du document. Cette image est représentée par une matrice de points; le contenu textuel du document n'apparaît pas explicitement. Les techniques d'O.C.R. (Optical Character Recognition) permettent de retrouver le contenu textuel du document. De plus, des techniques d'analyse d'image permettent d'exploiter les caractéristiques graphiques du document (taille et type des fontes, position des blocs de texte) pour permettre sa conversion dans des formats plus explicites (voir section 2.4.1.1.)

Les formats de documents numérisés sont utilisés pour l'acquisition de documents papier dans un système de documentation électronique (formats TIFF, JPEG). Ils sont également utilisés pour la télécopie de documents (formats CCITT)

2.2.3 Documents formatés

Le modèle de documents formatés est linéaire. Le contenu textuel du document est entrecoupé d'indications de changement de format du flot de texte. Ces indications peuvent être sous forme binaire, comme dans la plupart des formats utilisés par les traitements de texte, ou sous forme textuelle, ce qui permet leur interprétation par différentes applications.

Le format RTF (Rich Text Format [Microsoft 98]) utilise une forme textuelle pour les indications de formatage de documents, des macros sont déclarées dans l'en-tête du document pour définir des styles. Ces macros sont utilisées dans le corps du document pour indiquer le style des caractères et le formatage du texte (marges, retraits, interlignes, etc.). C'est aussi la structure des documents au format TeX.

LaTeX est un ensemble de macros TeX permettant une expression plus abstraite du formatage du document. LaTeX permet de formater un document en donnant un style (article, chapitre, etc.) et en déclarant les composantes de ce document. Par exemple, pour un article on dispose entre autres de macros identifiant le titre, les auteurs, les titres des différents niveaux de section.

2.2.4 Postscript et PDF

Les formats PostScript [Adobe 91] et PDF [Adobe] développés par la société Adobe occupent une place particulière dans la classification que nous donnons. Leur singularité se manifeste tant au niveau de leur utilisation que de la représentation qu'ils utilisent.

PostScript est un langage de programmation avec des instructions graphiques. Un document Postscript est donc un programme. Ce format est principalement utilisé pour l'impression de qualité. Le langage Postscript est interprété par une machine virtuelle qui produit une image de qualité du document.

Bien que les documents Postscript aient une forme textuelle, comme tous les programmes, ils ne peuvent que difficilement être modifiés ou utilisés par une autre application qu'un interpréteur Postscript.

PDF (Portable Document Format) est un format binaire pour la représentation de l'aspect graphique d'un document. Ce format utilise le même modèle que PostScript, mais se différencie par le fait qu'il utilise un langage simplifié et une forme compressée des données ce qui produit des documents plus compacts. Il est possible d'éditer un document PDF pour y ajouter de l'information telle que des annotations, des zones sensibles et des références, mais le contenu du document originel ne peut pas être modifié.

2.3 Documents structurés

Contrairement aux formes de documents présentées précédemment, les documents structurés sont fondés sur les relations logiques entre les différents composants du document plutôt que sur leur apparence et leur position dans la page. Cette différence se répercute sur les formats de stockage qui dissocient l'information de structure du document des informations nécessaires à son exploitation : formatage, édition, etc.

2.3.1 Modèle de documents structurés

Le modèle de documents structurés représente le document par une organisation logique de ses composants. Les autres aspects du document, par exemple sa présentation, sont le résultat d'un traitement appliqué à cette structure logique.

2.3.1.1 Structure logique

Un document structuré est une collection d'éléments typés composés entre eux selon des relations principalement hiérarchiques.

Par exemple, le document de type chapitre présenté dans la figure 3 est composé d'un élément titre, d'un élément introduction et d'un élément section. L'introduction est elle-même composée de deux éléments paragraphe, les sections sont composées d'un élément titre_section, d'une suite d'éléments paragraphe et d'une suite de (sous) sections, ainsi de suite jusqu'aux éléments de base qui représentent le contenu du document.

  • chapitre
    • titre
      • texte
    • introduction
      • paragraphe
        • texte
        • image
      • paragraphe
        • texte
    • section
      • titre_section
        • texte
      • paragraphe
        • Texte
      • section
        • titre_section
          • texte
        • paragraphe
          • texte
      • section
        • titre_section
          • texte
        • paragraphe
          • texte

Figure 3 - Structure logique d'un chapitre

Les éléments sont porteurs de sens non seulement par leur contenu, mais aussi par leur type et leur position dans la hiérarchie. Ainsi le titre d'une section du premier niveau ne joue pas le même rôle que le titre du chapitre ou que le titre d'une section de second niveau. Grâce à leurs types et à la structure logique, ces éléments seront considérés de façon différente par une application ou par une autre.

2.3.1.2 Structure logique générique et classe de documents

La hiérarchie d'éléments composant la structure logique est définie par la structure logique générique. Cette structure définit les types des éléments pouvant intervenir dans un document et la façon dont ils peuvent être combinés pour former la structure du document. La structure logique générique définit une classe de documents. Tous les documents dont la structure logique est conforme aux définitions de la structure logique générique font partie de la classe que celle-ci définit.

Par exemple, la structure logique générique des documents de la classe Chapitre énonce qu'un chapitre est composé successivement des éléments Titre, Introduction et d'une liste de sections. Cette structure énonce également que l'introduction est composée d'une liste de paragraphes et qu'une section est composée d'un titre de section, d'une liste de paragraphes et d'une liste de sections.

Les structures logiques génériques sont généralement exprimées sous la forme d'un ensemble de règles de production et peuvent être comparées aux grammaires hors-contexte utilisées pour décrire les langages de programmation :

  • Il existe une règle de départ décrivant l'élément racine d'un document structuré, respectivement le programme.
  • Les symboles décrits dans une grammaire peuvent être terminaux ou non. Les types d'éléments décrits dans une structure logique générique peuvent être des types construits ou des types de base.
  • Chaque règle est composée d'un symbole non terminal et de la définition de ce symbole à l'aide de constructeurs, de symboles non terminaux et de symboles terminaux.

Les constructeurs utilisés dans les règles de définition des structures logiques génériques sont les suivants :

  • L'agrégat qui définit un ensemble ordonné ou non d'éléments de type différents ;
  • La liste qui définit un ensemble ordonné d'éléments de même type ;
  • Le choix qui définit une alternative entre plusieurs types d'éléments.

La figure 4 donne la structure logique générique de la classe de documents chapitre. Les constructeurs sont indiqués en gras et les types d'éléments terminaux en italique.

chapitre -> agrégat (titre,
introduction, liste (section))
titre -> texte
introduction -> liste (paragraphe)
section -> agrégat (titre_section,
liste (paragraphe), liste (section))
titre_Section -> Texte
Paragraphe -> liste
(choix (Texte, Image))

Figure 4 - Structure générique de la classe de documents chapitre

Un document structuré est dit conforme si deux conditions sont vérifiées : les types des éléments qui composent sa structure logique sont définis dans la structure générique qui définit sa classe ; les relations hiérarchiques entre les éléments de la structure logique du document sont conformes aux règles de la structure logique générique.

La structure logique d'un document structuré peut également comporter des attributs. Les attributs permettent d'associer une information aux éléments de la structure logique du document. La structure logique générique définit les attributs qui peuvent être utilisés dans une classe de documents. Cette structure précise également à quels types d'éléments les attributs peuvent être associés. Dans un document chapitre, un attribut peut donner le numéro de la première page du chapitre, un attribut peut également définir la langue des éléments.

2.3.1.3 Présentation des documents structurés

La présentation des documents structurés n'est pas incluse dans le document comme c'est le cas pour les documents linéaires mais elle est définie relativement à la structure logique générique de la classe de documents.

Bien qu'elle ne soit pas notre préoccupation première, la présentation est un exemple typique d'une application exploitant la structure logique des documents. Pour construire l'image du document, le processus de formatage parcourt la structure logique du document en appliquant les règles associées aux types des éléments rencontrés.

Les règles de présentation peuvent définir une présentation fixée des types d'éléments, comme avec le langage CSS (Cascading Style Sheets) [Bos 98], elles peuvent aussi à leur tour tirer profit de la structure logique du document pour mettre en oeuvre des mécanismes d'héritage pour la présentation des éléments. Le système Thot utilise un langage appelé P (pour présentation) qui permet également de décrire les caractéristiques physiques d'un élément en fonction de ses ancêtres, de ses voisins ou de ses descendants.

2.3.2 Formats de documents structurés

Les formats de documents structurés sont définis pour stocker la structure logique des documents. Ils linéarisent cette structure en vue de son écriture dans un fichier. Ils ont en commun une structure générale de la forme :

Document := Element
Element  := Declaration_type Declaration_attributs Contenu
Contenu  := (Element | Element_de_base)*

Chaque élément est décrit par son type, l'ensemble de ses attributs et son contenu. Le contenu est la linéarisation de la descendance de l'élément dans la structure logique. Cette descendance peut contenir des éléments structurés ou des éléments de base (texte, symboles graphiques, images, etc.)

Thot, avant d'adopter la norme XML, utilisait un format binaire dans lequel le début de chacune des composantes du document était identifié par une marque. Les structures logiques génériques et les règles de présentation sont stockées dans des fichiers communs à l'ensemble des documents d'une classe appelés respectivement schémas de structure et de présentation.

Les formats SGML (Standard Generalized Markup Language) et XML (eXtensible Markup Language) délimitent les éléments de structure par une balise de début d'élément et une balise de fin d'élément. Chaque balise de début d'élément contient le type de l'élément et ses attributs, s'il en a.

Les structures logiques génériques des classes de documents XML et SGML sont appelées DTD (Document Type Definition).

A titre d'exemple, DTD mail présentée dans la figure 5 définit une structure générique de messages électroniques. Cette définition exprime qu'un document mail est composé des éléments de type date, recipient, sender, subject et textbody, les quatre premiers contenant un élément texte. L'élément textbody est composé d'une suite de paragraphes de type p qui peuvent contenir des éléments de type texte et des éléments de type cite. La figure 6 représente un document XML conforme à la DTD mail. De plus, cette DTD définit un attribut textuel ref portant sur l'élément mail.

<!ELEMENT mail          (recipient, sender,
                         subject, textbody) >
<!ELEMENT date          (#PCDATA)           >
<!ELEMENT recipient     (#PCDATA)           >  
<!ELEMENT sender        (#PCDATA)           >
<!ELEMENT subject       (#PCDATA)           >
<!ELEMENT textbody      (p)+                >
<!ELEMENT p             (#PCDATA | cite)*   > 
<!ELEMENT cite          (#PCDATA)           >
<!ATTLIST mail    ref   CDATA   #REQUIRED   >

Figure 5 - La DTD mail

<mail ref="sb332">
 <date>30-07-1998</date>
 <recipient>Cecile.Roisin@inrialpes.fr</recipient>
 <sender>Stephane.Bonhomme@inrialpes.fr</sender>   
 <subject>littérature XML</subject>
 <textbody>
  <p>Bonjour Cécile,</p>
  <p>As-tu lu <cite>SGML, Java and the Future of the
Web</cite></p>
  <p>Stéphane.</p>
 </textbody>
</mail>

Figure 6 - Un document mail

Contrairement aux documents SGML, dont la structure est toujours liée à une DTD, le format XML définit deux niveaux de conformité des documents :

  • Un document est bien formé si sa structure logique est correctement décrite : à chaque balise de début d'élément correspond une balise de fin d'élément de façon que l'ensemble des balises forment une expression bien parenthésée. Un document bien formé ne fait pas nécessairement référence à une DTD.
  • Un document valide est un document bien formé dont la structure est conforme à une DTD donnée.

La forme textuelle, telle qu'elle est proposée par SGML et XML nécessite une analyse plus coûteuse que la forme binaire lors de la lecture d'un document. Par contre, elle facilite le partage des documents entre applications. Ceci est dû à deux facteurs :

  • L'utilisation d'une syntaxe universelle pour le codage des documents et des structures génériques permet de partager les outils d'analyse syntaxique (parser) de documents entre des applications différentes.
  • Chaque application peut effectuer un traitement différent d'un même document. L'interprétation des balises peut varier selon les besoins de l'application. Par exemple une application de transfert de messages n'interprétera que les éléments mail, recipient et sender de la structure des documents mail, tandis qu'une application de lecture de courrier électronique interprétera les éléments p et cite afin de construire une représentation graphique du message.

Ce dernier facteur est commun à l'ensemble des formats de documents structurés, cependant la forme textuelle permet d'avoir un aperçu de la structure du document en visualisant le fichier avec un simple éditeur de texte. Cette possibilité permet de développer des outils très simples de traitement de documents basés sur cette forme.

SGML qui existe en tant que standard depuis 1986, n'a cependant connu une application grand public que depuis peu de temps. Il a longtemps été utilisé dans des domaines techniques spécialisés comme la documentation aéronautique (avec la DTD ATA [ATA]), la représentation de documents littéraires (avec la DTD TEI [Burnard 95]) ou multimédia (DTD HyTime [ISO 98a]). La première - et jusqu'a présent la seule - application « grand public » de SGML est le World Wide Web et la DTD définissant la structure des documents hypertexte HTML (HyperText Markup Language [Raggett 98]).

La norme SGML comporte des aspects syntaxiques complexes qui se sont révélés d'une utilisation délicate et que de nombreux outils de traitement diponibles ([Pepper], [Cover]) ne permettent pas de manipuler facilement. XML [Bray 98a] est une norme de description de documents structurés proche de SGML et épurée des aspects complexes de sa syntaxe.

Le format XML est proposé au moment où de nombreux outils de manipulation de documents se basent sur la notion de documents structurés. De plus XML utilise une syntaxe simplifiée par rapport à SGML et tire les enseignements des expériences d'utilisation de ce dernier.

Des propositions, telles que l'utilisation d'espaces de noms [Bray 98b] permettant d'utiliser plusieurs jeux de balises spécifiques à des applications différentes dans un même document, sont en cours d'élaboration et devraient favoriser l'utilisation de ce format pour l'échange de documents entre applications.

Des DTD XML sont d'ores et déjà proposées pour la représentation structurée des formules mathématiques [Ion 98] ainsi que pour la définition de graphiques structurés. Ces DTD répondent aux limitations de HTML pour le codage de ces types de documents et connaîtront certainement un succès plus important que leur équivalent SGML.

Les applications de la norme XML s'étendent au delà de la représentation des documents structurés. Des applications d'XML dans divers domaines tels que les bases de données, la planification de travail de groupe (Workflow) ou la recherche d'information sont constamment proposées. Il convient de citer des propositions telles que RDF (Resource Description Framework) [Lassila 98] ou XLinks [Maler 98].

RDF permet de décrire des métadonnées (métadata) associées au documents du Web. Ces métadonnées fournissent aux applications des informations sur la nature du document et leur permettent d'adapter leurs traitements en fonction de cette nature.

XLink spécifie un mécanisne de liens entre objets. Ces liens sont typés, c'est à dire qu'ils permettent non seulement de pointer vers un objet (comme le font les liens définis par l'élément A de HTML) mais aussi d'exprimer la sémantique du lien et des objets pointés. Bien qu'elle soit définie pour les applications documentaires, la norme XLink peut représenter des liens vers des objets divers tels que ceux des bases de données.

Ces exemples montrent que le champ d'application de XML ne se limite pas au domaine du document structuré mais est ouvert à la représentation de données structurées.

2.3.3 Documents structurés et applications documentaires

Les applications exploitant des documents structurés basent leurs traitements sur la structure logique de ces documents. Deux classes d'applications manipulent les documents structurés, chacune utilisant des modalités d'interaction différentes avec le document : les applications interactives et celles qui ne le sont pas.

Les applications non interactives ne permettent pas la manipulation de la structure et du contenu du document via une interface utilisateur. Les composants utilisés par ces applications sont illustrés dans la figure 7. Ils assurent la lecture d'un document à l'aide d'un parser et offrent un ensemble de primitives permettant d'accéder aux éléments, aux attributs et au contenu du document, de les modifier ou d'en créer de nouveaux. Ces primitives sont accessibles à travers une interface de programmation ou API.

Thot propose une API décrite dans [Quint]. DOM (Document Object Model [Wood 98]) est une recommandation du consortium W3C proposant des primitives de manipulation de documents structurés.

[Here is a Drawing]

Figure 7 - Application de traitement de documents structurés

À la différence des précédentes, les applications interactives supportent les interactions d'un utilisateur avec le document.

En plus des composants utilisés par les applications non interactives, un mécanisme de notification (figure 8

) permet à une application d'associer des traitements à des événements déclenchés par les actions de l'utilisateur sur le document structuré. Ces actions incluent l'insertion, la modification et la destruction d'éléments ou d'attributs, leur lecture ou leur sauvegarde, la sélection ou l'activation d'éléments. Les traitements peuvent porter sur un élément quelconque du document ou être spécifiques à un type d'élément.

Les documents structurés et les mécanismes permettant ce mode d'interaction sont désignés sous le terme de document actif dans [Quint 94].

[Here is a Drawing]

Figure 8 - Application interactive d'édition de documents structurés

2.3.4 Systèmes d'édition de documents structurés

Les systèmes d'édition de documents structurés (SEDS) tels que Thot ([Bonhomme 97]), FrameMaker ([Adobe 95]), Rita ([Cole 90], [Cole 92]) permettent la création et l'édition interactive des documents structurés. Ces systèmes permettent non seulement l'édition de la composante textuelle et de la présentation graphique des documents, mais ils prennent aussi en compte la structure des documents.

Grâce à la notion de structure générique, les éditeurs de documents structurés permettent une édition homogène d'objets de natures différentes [Furuta 88a]. Le même modèle de documents permet de représenter diverses structures tels que des articles, des documentations techniques, des supports de présentation, des graphiques structurés ou encore de documents multimédia [Layaida 97]. La composante graphique de ces documents, quel qu'en soit le support physique (écran d'ordinateur, papier, rétroprojection) est le résultat d'un traitement sur la structure (voir 2.3.1.3). Du fait de cette unité de représentation et de présentation, la création d'éléments de diverses natures et leur insertion dans le document est effectuée par le même processus.

Par conséquent les documents manipulés par les SEDS sont conformes au modèle qui a permis de les créer. Pour obtenir ce résultat, deux approches sont possibles, qui présentent chacune des avantages et des inconvénients : le contrôle de la conformité du document peut être strict ou relâché. Un éditeur se fondant sur un contrôle de structure strict assure que le document est conforme au modèle tout au long de sa rédaction. Il ne permet que les opérations d'édition qui maintiennent le document en conformité avec le modèle. Cette approche pose des problèmes lors de l'édition du document :

  • Au cours de sa rédaction, le document ne peut être complet en permanence et il arrive que certains éléments imposés par le modèle ne soient pas encore créés. Pour répondre à cela, l'éditeur Thot crée spontanément les éléments vides imposés par le schéma de structure du document. Ces éléments sont clairement indiqués par des pavés grisés, incitant l'utilisateur à leur donner un contenu.

    Ainsi lorsqu'un document mail est créé, les éléments vides sender, recipient, subject et textbody sont également créés, indiquant à l'auteur que leur présence est imposée et qu'il doit les remplir.

  • La structure de certains éléments peut devoir changer au cours de l'édition. Par exemple dans la rédaction d'un article, l'importance d'une section peut s'avérer moindre que ce qui était prévu au départ et devenir un groupe de paragraphes titrés. À l'opposé, il peut être utile de changer le niveau d'une sous-section pour en faire une section.

    Un éditeur de documents structurés fondé sur un contrôle strict doit donc permettre de changer le type ou de déplacer des éléments de structure. Ce problème est abordé dans la section 2.4.1.2.

  • Certains éléments peuvent être intégrés à partir d'une forme primaire non structurée. Lors de leur importation dans le système d'édition, ils doivent se conformer au modèle du document.

Le contrôle de structure relâché permet temporairement d'éditer un document structuré indépendamment de son modèle et de créer des éléments dont le type ne se conforme pas aux définitions de la structure générique. Cette approche répond aux trois points précédents, mais elle impose une phase de mise en conformité du document édité avec le modèle. En effet l'édition sous contrôle relâché pouvant mener à une divergence entre la structure du document édité et la structure générique, le document doit être transformé a posteriori pour se conformer à son modèle.

Ainsi, l'édition de documents structurés, que l'on utilise un contrôle de structure strict ou relâché, nécessite des transformations de structure de document. Nous exposons dans la partie suivante d'une manière plus fine les types de transformations nécessaires lors des différentes étapes d'édition et de gestion des documents électroniques.

2.4 Environnement applicatif de la transformation de documents

Les activités des intervenants lors de la conception et de la rédaction d'un document diffèrent selon l'environnement utilisé, la nature du document, son but. Nous pouvons cependant dégager certaines activités communes à la conception et à la réalisation de la plupart des documents :

La figure 9 présente l'évolution d'un document au cours de ces différentes étapes. La conception d'un document passe par la réutilisation d'informations existantes provenant de sources diverses (a). Cette information doit être adaptée aux modèles utilisés par l'outil d'édition (b). L'étape d'édition proprement dite (c) fait subir de nombreuses modifications au document qui finalement est publié et/ou archivé (d).

[Here is a Drawing]

Figure 9 - Les transformations dans la chaîne éditoriale

Chacune de ces activités implique des personnes différentes et met en oeuvre des outils divers. Les documents structurés, qui ont la particularité de dissocier la représentation du document des traitements possibles, sont particulièrement adaptés à une gestion homogène des documents tout au long du processus. Cela se reflète dans les projets d'applications documentaires qui utilisent actuellement ce modèle de document.

2.4.1 Production et édition de documents

De nombreux éditeurs permettent aujourd'hui de produire des documents électroniques. Les traitements permis par ces éditeurs dépendent du format dans lequel est représenté le document en mémoire.

Lorsque le document est saisi avec un éditeur de texte, en intégrant éventuellement des informations de formatage (LaTeX) ou de structure (SGML, HTML, XML), aucune aide à l'édition n'est disponible. L'auteur doit assurer lui-même la conformité de son document avec le format choisi pour le stocker.

Les traitements de texte permettent des traitements sur le contenu (correction orthographique, recherche et substitution de texte, indexation) et sur l'organisation du document (plan, feuille de style). Mais le modèle de document qu'ils utilisent est « pauvre » et ne permet pratiquement pas d'autres traitements. Ils permettent également d'insérer des éléments de différentes natures (tableaux, graphiques, images), mais la manipulation de ces éléments nécessite l'utilisation d'outils spécifiques.

Nous avons évoqué dans la section 2.3.4 les contraintes imposées par les SEDS. Nous avons également souligné l'utilité des transformations de structure pour lever ces contraintes. C'est ce qui donne toute son importance à la restructuration d'éléments pour l'édition de documents : elle permet de bénéficier des avantages du modèle de documents structurés tout en apportant une réponse aux problèmes posés par les contraintes d'édition de ces documents.

Nous nous proposons dans cette partie d'identifier les transformations nécessaires non seulement pour l'édition de documents structurés, mais pour tout le cycle de vie de ces documents. Ces transformations sont de différentes sortes :

  • Transformations entre formats de documents : pour importer des parties non structurées dans le document (structuration), pour exporter un document structuré dans un format de publication (conversion),
  • Transformations au sein du format d'édition : pour manipuler interactivement la structure du document et échanger des éléments entre modèles (restructuration et conversion).
2.4.1.1 Structuration d'éléments importés

La structuration « a posteriori » ou up-translation est le traitement qui consiste à adopter un document non structuré dans un formalisme structuré. Cette opération implique la déduction des types des éléments et de leur organisation logique conformes à un modèle donné, en s'appuyant sur des informations intrinsèques au format d'origine.

La structuration d'un document se fait généralement en deux étapes :

  1. Détermination de la structure logique et/ou physique (structuration).

    Cette étape conduit à une composition hiérarchique des éléments du document. Cette structure peut être libre de contraintes ou se conformer à une DTD d'acquisition (Rainbow [Sklar 94], HTML [Raggett 98]).

  2. Application d'un modèle de document : la deuxième étape consiste à transformer la structure logique produite et à la conformer à une DTD voulue. Pour cela les éléments doivent être typés et la conformité de la hiérarchie d'éléments avec la structure générique doit être assurée.

Différentes techniques s'appliquent selon le format d'origine du document à structurer :

  • La reconnaissance de caractères est utilisée pour extraire le contenu textuel d'un document numérisé.
  • L'analyse d'image permet de déduire la structure physique d'un document numérisé. Le document est découpé en blocs selon la position des éléments dans le document. Les positions relatives des blocs est ensuite analysée pour en déduire une structure. La segmentation en blocs peut également se fonder sur l'interprétation des espaces dans l'image du document [Rus 94].
  • Le contenu textuel d'un document ou le résultat d'une reconnaissance de caractères peut être exploité par plusieurs méthodes :

    L'analyse de la typographie du document permet d'identifier des éléments caractéristiques comme les listes (items précédés de tirets), les énumérations, les titres de section (précédés du numéro de section), les paragraphes (retrait sur la première ligne), etc.

    Le contenu du document peut être également analysé au niveau linguistique pour déduire des éléments de structure logique : les titres ne sont pas forcément des phrases (absence de verbe), un résumé est très descriptif.

  • Analyse du style du document : les formats de traitement de texte contiennent des informations de style (balises RTF) pouvant être interprétées par un système de structuration. Cette approche est utilisée par la plupart des outils de structuration de documents issus de traitements de texte tels que DynaTag [Inso].

Pour la reconnaissance de la structure d'un document à partir de son image, [Belaïd 97] propose une combinaison des différentes techniques de structuration. Deux approches sont proposées :

  • L'approche perceptuelle produit une structure représentant l'organisation physique du document. Cette structure est composée d'objets assemblés entre eux par les constructeurs agrégat (des objets alignés d'aspect différents), séquence (des objets alignés et identiques), choix (un objet isolé) et mosaïque (des objets non alignés). La structuration est fondée sur une interprétation de la disposition des objets résultant de l'analyse d'image et engendrée par une analyse ascendante des boites composant l'image d'un document.
  • L'approche conceptuelle cherche à déduire directement la structure logique du document en isolant les concepts apparaissant dans le document. L'analyse de l'image est combinée avec une analyse lexicale de la sortie de l'OCR. Cette approche est adaptée aux micro-structures. Le projet GRAPHEIN [Belaïd 97], par exemple, cherche à structurer des références bibliographiques à partir d'images numériques.

Les techniques présentées dans cette section permettent d'effectuer la première phase de la structuration de documents, c'est à dire qu'elles permettent de produire un document ayant une structure représentant les informations contenues dans le format d'origine du document (style, position des éléments). La structure engendrée ne peut pas être utilisée en l'état car elle ne reflète généralement pas la structure logique du document.

La difficulté est de convertir les structures produite par la première étape dans des structures utilisables par l'applications cible. Ces structures sont généralement définies par les DTD utilisées par ces applications. Nous exposons dans la suite des techniques de transformation permettant de réaliser la seconde étape.

2.4.1.2 Conversion et restructuration pour l'édition de documents structurés

Un système d'édition structuré doit produire des documents conformes au modèle utilisé. Or certaines commandes standard d'édition comme le déplacement d'éléments (couper / coller) peuvent mener à des structures incorrectes.

Pour résoudre ce problème certains éditeurs (FrameMaker [Adobe 95]) permettent, durant l'édition, de manipuler une structure incorrecte. L'utilisateur doit alors revenir à un état cohérent avant la sauvegarde du document. Cette approche permet l'utilisation des commandes d'édition traditionnelles, mais impose à l'utilisateur des manipulations supplémentaires pour conformer le document au modèle.

Une autre solution consiste à restructurer les éléments sur lesquels porte la commande pour les rendre conformes au modèle de structure. Nous détaillerons dans la section suivante les techniques qui peuvent être mises en oeuvre pour la restructuration dans le cadre de l'édition interactive.

La restructuration permet d'implémenter des commandes d'édition spécifiques aux éditeurs de documents structurés. La suppression de niveaux de structure, l'englobement dans un élément composite ou le changement de type d'un élément en font partie. La figure 10 montre des exemples de code HTML avant et après l'exécution de quelques commandes de restructuration.

[Here is a Drawing]

Figure 10 - Transformations pour l'édition interactive de documents HTML

Ces exemples montrent que la correspondance entre les structures source et destination n'est pas triviale : des niveaux de structure peuvent disparaître (supprimer), d'autres peuvent être créés (englober), des éléments doivent éventuellement être insérés si le contexte les rend obligatoires.

Ces transformations peuvent être déclarées explicitement si l'éditeur ne permet de manipuler qu'un seul modèle de document. C'est le cas d'Amaya [Quint 98] qui permet de spécifier par des règles les transformations proposées à l'utilisateur [Bonhomme 96]. On reviendra sur ces règles au chapitre 3.4.2.

Si l'on considère un éditeur permettant de manipuler des documents de différentes classes, la définition explicite des transformations devient impossible à cause du nombre de relations éventuelles entre types d'éléments. Une méthode fondée sur la recherche de correspondance entre structures génériques comme celle que nous proposons dans cette thèse semble plus appropriée.

2.4.2 Publication de documents

Lors du processus de publication, un document subit des transformations entre la version rédigée par les auteurs et l'épreuve diffusée. Le format du document original dépend de l'outil utilisé par l'auteur. Le document soumis peut être une épreuve papier et doit alors être capturé par OCR ou ressaisi. Il doit ensuite être formaté pour sa publication.

La soumission peut également être sous forme électronique. L'éditeur peut imposer un format pour la soumission (Latex, HTML, traitement de texte avec feuille de style). Le document sera alors mis en forme par l'éditeur pour assurer une cohérence graphique de la publication. L'auteur doit, dans ce cas, traduire le document depuis le format de production dans le format de soumission.

La publication électronique, apparue avec le développement des réseaux de télécommunications (Internet, Intranet) et les protocoles d'échange de documents électroniques (HTTP [Fielding 98]) permet de diffuser instantanément des documents à un large nombre de lecteurs. Les formats couramment utilisés pour l'impression d'épreuves papier ou la publication électronique (PDF, Postscript, HTML) sont généralement différents des formats d'édition et de soumission (LaTeX [Lamport 85], word [Microsoft 92], RTF [Microsoft 98]). L'éditeur doit donc transformer les documents vers le format de publication.

Dans le cas de la publication électronique, la transformation du document dans le format de publication peut être faite dynamiquement pour engendrer un document personnalisé selon le profil ou une requête d'un lecteur. Certains journaux électroniques proposent ainsi une sélection d'articles en fonction des centres d'intérêt du lecteur.

2.4.3 Gestion de bases documentaires

Comme nous l'avons noté précédemment la publication d'un document ne signifie pas la fin de son traitement informatique. Les documents électroniques continuent à être utilisés après leur publication par des systèmes de recherche d'information, des outils de consultation et d'annotation. Certains passages peuvent être cités ou inclus par de nouveaux documents, etc.

Les documents formatés (PDF, PostScript), largement utilisés pour la publication électronique, ne seront pas réutilisables par de futures applications. Le format de documents structurés, au contraire, peut être exploité par n'importe quelle application, du moment qu'elle garantit la concordance du document avec son modèle. Le même document peut être manipulé et échangé par les applications existantes et à venir.

Le développement de nouveaux outils s'accompagne d'une évolution des structures génériques des classes de documents structurés. Le problème de la conversion des documents se pose alors pour la maintenance d'une base de documents structurés. Deux approches sont possibles pour résoudre ce problème :

  • Un traducteur de documents est écrit à chaque modification d'un modèle de document. Certains outils (IDM [Digithome], Scrimshaw [Arnon 93], SIMON [Feng 93] étudiés dans le chapitre suivant) permettent de programmer des filtres de conversion à partir de règles de correspondance entre l'ancienne et la nouvelle structure logique générique.
  • Un système de conversion générique traduit automatiquement les documents, se basant sur la comparaison des modèles de document comme nous le proposons dans le chapitre 5.

2.4.4 Synthèse

Outre les besoins de transformation de documents dans un atelier éditorial, cette partie a mis en avant l'intérêt du format de documents structurés pour permettre la production et l'exploitation d'un même document tout au long de son cycle de vie. Les documents structurés présentent l'avantage de pouvoir être facilement transformés et de pouvoir offrir des représentations différentes à partir d'une structure unique.

2.5 Objectif de notre travail

Cette partie définit le contexte de ce travail et délimite la portée de la contribution que nous voulons apporter. Nous situons ici la position dans la chaîne éditoriale du système de transformation que nous proposons.

Notre thème de recherche est centré sur les systèmes d'édition interactive de documents structurés. Nous nous intéressons donc principalement aux transformations appliquées à l'édition de documents structurés. Cependant, dans notre étude, nous serons amenés à examiner des systèmes de transformation appliqués à d'autre domaines (génération de documents depuis des bases de données, formatage de documents). Les transformations qui nous intéressent particulièrement interviennent alors que les tâches suivantes sont effectuées (figure 11) :

[Here is a Drawing]

Figure 11 - Les transformations pour l'édition de documents structurés

Les besoins de transformation exprimés ci-dessus nous permettent de définir les caractéristiques du système de transformation de documents structurés que nous proposons dans ce travail :

Ce chapitre à présenté une approche applicative de la transformation de documents. Nous allons nous intéresser dans les chapitres suivants aux techniques de transformation et à la manière dont ces dernières sont exprimées. L'étude menée dans ces chapitres nous permettra de compléter les trois caractéristiques énoncées ci-dessus en prenant en compte les aspects techniques et l'expression des transformations.

Nous analysons les techniques de transformation de document existantes suivant une méthodologie particulière. Nous avons identifié trois familles de techniques de transformation fondées sur des principes différents : les filtres, les systèmes de transformation explicite et les systèmes de transformation automatique.

Dans la suite, nous présentons la technique de transformation utilisée par chaque famille en trois parties :

Dans ce cadre, nous avons expérimenté un filtre de transformation lors de l'évolution d'une structure générique de document structuré. Le filtre de conversion des documents Article en Rapport à été utilisé pour la conversion des documents du projet (cf. section 3.2).

Amaya propose une transformation de type pour l'édition de documents HTML. Cette fonction à été initialement développée pour expérimenter un système de transformation explicite dans le contexte d'un outil d'édition (voir section 3.4).

L'éditeur Thot propose des commandes de restructuration génériques basées sur la technique de transformation automatique décrite au chapitre 5.

Cette approche expérimentale de l'état de l'art nous permet non seulement de connaître les techniques utilisées pour la transformation de documents structurés, mais aussi d'évaluer l'intérêt de ces techniques dans le cadre spécifique de l'édition de documents.


[Section 3] [Table of contents]