Retour au format normal

Qu’est-ce qu’une DTD

10 novembre 2006

Technolangue.net

 

Entretien avec Lise Savourat qui a consacré ses mémoires de Maîtrise et de DEA en Sciences de l’information et de la communication, aux applications du langage XML à la documentation.

La DTD (Définition de type de document) est un document informatique qui accompagne un document structuré par des balises dans un langage de structuration comme le XML. La DTD donne les règles de cette structuration.


-  Comment définir la DTD ?

Littéralement, la DTD signifie « Document Type Definition », soit en français « définition de type de document ». C’est quelque chose qui préexiste au langage XML et qui existait déjà avec le langage SGML. La DTD permet de définir un modèle descriptif de structuration des données contenues dans un document XML. Elle aide à organiser les données de manière normalisée et permet de partager des documents XML. La DTD ne fait pas partie du document XML. Elle vient le compléter pour que les données contenues dans ce document XML soient organisées de manière normalisée et puissent être partagées suivant un modèle commun pour le partage de documents XML, soit dans un domaine de connaissances similaire, soit pour répondre à des besoins définis.


-  Concrètement, une DTD se présente comment ?

La DTD peut se présenter de deux manières :

• soit la DTD est externe : c’est un fichier à part, avec une extension point DTD, qui est associé par une ligne de programmation dans le document XML et qui a uniquement les informations dans une syntaxe propre à la DTD. Ces informations listent les éléments contenus dans le document XML, listent toutes les règles syntaxiques, qui s’appliquent à l’imbrication de ces éléments dans le document XML, comme une hiérarchie si vous voulez, listent enfin les règles qui s’appliquent à chacun de ces éléments, à savoir s’ils sont facultatifs ou obligatoires, s’ils sont répétables ou citables une seule fois, ou des règles qui définissent s’il s’agit de séquences de caractères ou de séquences alphanumériques, etc.

• soit la DTD est en ligne : Si vous avez peu d’éléments dans votre document XML, vous pouvez parfaitement intégrer la DTD en haut de votre document XML, c’est ce qu’on appelle une DTD en ligne


-  A quoi sert une DTD ?

Une DTD définit un modèle de données, qui structure un document XML selon des règles bien définies. L’idée est de définir une structure commune à un ensemble d’utilisateurs et de programmateurs de documents XML, qui partagent cette structure et qui peuvent échanger de cette manière aisément les documents XML puisque ceux-ci ont une structure de base qui est commune. C’est surtout ce côté normatif qui importe dans la DTD.


-  La DTD est-elle indispensable au langage XML ?

Elle peut être facultative. Quand vous définissez une DTD et que vous l’associez à un document XML, il y a des outils en ligne, qui vous permettent de vérifier la validité ou la conformité du document XML à cette DTD. A ce moment là, on dit que le document XML est valide.

Cela dit la DTD n’est pas obligatoire pour un document XML. Un document XML peut exister sans, on dira alors qu’il est bien formé. Néanmoins, la DTD est tout à fait recommandée dans la mesure où elle donne une organisation logique au document XML et à partir du moment où le document XML se conforme à cette organisation logique, il peut s’afficher parfaitement dans un navigateur et puis, encore une fois, être partagé, retravaillé, etc.


-  La DTD s’applique au langage XML, peut-elle s’appliquer à d’autres langages ?

Oui, la DTD existait avant le langage XML, il y a des DTD qui existent sous SGML. Il y a aussi une DTD, appelée la TEI (Text Encoding Initiative), qui s’applique plus particulièrement dans le cas d’échange de données textuelles, en particulier issues du domaine des Sciences Humaines et des textes littéraires. Cette DTD qui est à l’heure actuelle utilisée sous sa forme complète ou allégée (la TEI light) avec XML, existait en fait déjà sous une autre forme avec SGML.


-  Qui conçoit la DTD ?

Si vous décidez, par exemple, de créer des pages Web où il y a du code source XML, vous pouvez parfaitement définir vous-même votre propre DTD , parce qu’il y a peu d’enjeu de partage de données. En plus, l’avantage d’une DTD est qu’elle fonctionne suivant une syntaxe, concise et assez claire, qui se comprend assez aisément à partir du moment où vous savez comment s’écrivent des lignes dans une DTD.

L’autre avantage, c’est qu’à partir du moment où il y a des institutions qui définissent des DTD et qui les rendent partageables, vous pouvez aller les télécharger, éventuellement en adapter des bribes aux exigences de votre propre fond documentaire.

Il existe par exemple plusieurs DTD qui ont été définies pour les références bibliographiques. La DTD de BiblioML est une retranscription du format Unimarc dans une syntaxe propre à une DTD et applicable à des documents XML qui seraient des notices bibliographiques codées dans ce langage. Cette DTD BiblioML est utilisée par exemple par la BNF, par le Ministère de la culture et par un certain nombre d’institutions.

Vous avez aussi pour des références bibliographiques, le DocBook, qui est un ensemble d’éléments intégrables dans une DTD complète, et qui est adaptable selon les besoins et la complexité de son propre fond. Je peux aussi ajouter pour les fonds d’archives, la DTD EAD (« Encoded Archival Description »), qui est développée notamment par les Archives de France.


-  Pour quel public ?

Les publics peuvent être assez variés. La DTD sert à tous ceux qui ont à faire avec de l’information.


-  Sur quelles technologies repose la DTD ?

La DTD s’écrit dans une syntaxe qui lui est propre. Il n’y a pas de technologies sous jacente à cela. C’est une programmation qui fonctionne suivant des annotations précises pour les éléments, les attributs, les entités, etc.


-  Existe-t-il une méthodologie pour concevoir une DTD ?

Je n’ai pas à ma connaissance de méthodologie, mais il doit en exister, d’autant que cela s’inscrit dans une logique de mutualisation des compétences, de partage donc. Vous avez des sites web sur la mutualisation de compétences XML, qui vous indiquent une manière méthodique pour construire une DTD si vous la créer vous-même, ou comment l’utiliser si vous aller la chercher la télécharger sur des sites donnés.


-  Comment met-on en œuvre une DTD ?

Vous avez défini un certain nombre d’éléments, de métadonnées pour caractériser l’information qui est inclue dans votre document XML. Tout ce qui est compris entre balises sera donc des éléments dont vous devrez reprendre chaque type un à un dans votre DTD. Par exemple, si vous avez des données d’ordre bibliographique, un élément « édition », qui aurait comme attributs le lieu, la date, le nom de l’éditeur, sera transposé de manière normalisée dans la DTD en disant que cet élément « édition » aura 3 attributs. Vous donnez les valeurs de ces attributs et la façon dont ils s’organisent entre eux, lequel apparaît avant l’autre, etc.

Si vous voyez que certains attributs ne sont pas utilisés ou n’apparaissent pas par rapport à votre document XML, vous pouvez quand même les écrire grâce aux règles de la DTD, à savoir des signes de ponctuation ( « + », «  ; », «  ? »), qui caractérisent leur caractère répétable ou optionnel.

À la base vous partez nécessairement de ce que vous avez défini comme étant des éléments propres à votre document XML. Maintenant si vous allez chercher vous-même une DTD et vous l’appliquez à votre document XML, cela marche donc aussi. C’est deux façons de fonctionner différentes. De toute façon, on définit d’abord le besoin que l’on a par rapport à ses propres documents XML et aux données qui y sont, après on va chercher une DTD ou on fabrique sa propre DTD.


-  Quels sont les usages possibles ?

Les usages sont nombreux. Tout va dépendre du type et de la nature du fonds documentaire qui renvoie au document XML dont vous disposez. Si vous partagez par exemple des références bibliographiques, vous pouvez être amenés à créer ou à partager une DTD, et donc vous irez chercher des DTD qui reprennent des éléments significatifs pour ce type d’information.

Il peut exister autant de DTD qu’il y a de type d’informations et de contenus possibles dans un document XML. Les usages, c’est finalement vous-même qui les induisez si vous décidez de travailler avec du XML et de fait de travailler avec des DTD.


-  Les bibliothèques électroniques peuvent-elles utiliser une DTD ?

Si elles fonctionnent avec du langage XML, que ce soit avec du XML natif si les informations sont structurées directement en XML, ou avec des flux XML si ces bibliothèques sont susceptibles de les générer.

La DTD intervient surtout en amont de la conception du document XML. Après, en sortie, quand des bibliothèques numériques ne reposent pas nécessairement sur du XML, elle peut ne plus être utilisée et ce sont d’autres technologies qui rentrent en jeu pour générer l’information suivant qu’elle doit être dans un format XML ou non.


-  Pourriez-vous donner un exemple d’application du langage XML à la documentation ?

Il y en a de plus en plus à l’heure actuelle, surtout si, par documentation, on considère les fonds documentaire et pas forcément le secteur d’activité. Vous avez des bibliothèques numériques de nature patrimoniale qui fonctionnent avec XML et leur DTD propre. C’est le cas de la BNF et du Ministère de la culture où un certain nombre d’applications fonctionnent en XML.

Après vous avez des bibliothèques numériques universitaires et notamment Codex à l’Université Paris X, Péléas à l’Université de Marne la Vallée ou la plate forme Cyberthèses. Ces bibliothèques se chargent de diffuser électroniquement des mémoires universitaires, des thèses suivant un principe de structuration en XML et fonctionnent avec leur propre DTD, que ce soit de la DTD TEI, ou même la combinaison de plusieurs DTD.


-  Peut-on imaginer qu’il y ait des normes qui soient établies dans le but d’une meilleure interopérabilité de tous les documents ?

Si vous avez des références bibliographiques, ce sera nécessairement la DTD de référence en bibliographie, que vous utiliserez. On peut imaginer en effet qu’on arrive à une seule et même chose, adaptable mais commune sur le principe. Dans l’absolu, ce serait mieux.

Le bémol vient du fait que la DTD connaît déjà ses propres limites. Sa principale limite est qu’elle n’est pas écrite dans une syntaxe XML. C’est une syntaxe propre à la DTD, qui est relativement claire mais rapidement limitée. À l’heure actuelle, des XML-schémas sont développés et reposent sur une syntaxe XML. Ils peuvent être interprétés par des outils de lecture de documents XML alors que la DTD ne peut pas l’être, puisque celle-ci ne fonctionne pas sur cette même syntaxe. C’est problématique parce que, finalement, la DTD se veut un principe de normalisation et en même temps il n’y a pas normalisation entre le document XML écrit dans une syntaxe et la DTD écrite dans une autre syntaxe qui lui est propre.

Aujourd’hui, le XML-schéma est plus rigoureux, peut-être plus complexe à élaborer, mais propose davantage de choses que la DTD. On peut se demander pourquoi ce XML-schéma n’a pas supplanté directement la DTD. Comme à chaque fois, c’est un problème lié aux habitudes des personnes qui ont développé des DTD et pour lesquelles ça marche bien. Ils ne se voient pas passer au XML-schéma, parce qu’il n’y a pas de passerelles entre les deux qui permettent de convertir une DTD en XML schéma. Cela signifiera de toute façon de fournir un nouveau travail d’élaboration de schémas.


-  On ne peut donc pas attendre d’évolution de la DTD ou inventer une nouvelle forme ?

Cette nouvelle forme de DTD sera le XML-schéma. Il y a un certain nombre d’institutions, qui développent des schémas à défaut de développer des DTD, parce que, par rapport à la complexité de leurs fonds documentaires, le schéma répond davantage à leurs exigences et offre plus de possibilités par rapport à la structuration.

Je me permets de citer un répertoire de modèles pour l’administration, qui est disponible en téléchargement sur le site de l’ADAE (Agence pour le Développement de l’Administration Electronique). Il propose un certain nombre de DTD et de schémas liés à l’administration. Les différents ministères travaillent à des projets différents suivant leur fonds documentaire en développant tantôt des DTD, tantôt des schémas. Enfin, Word Office 2003 offre la possibilité de créer vous-même vos documents XML et Microsoft n’a pas défini des DTD pour associer à ces documents XML mais des schémas.


-  Pouvez-vous donner des exemples d’application dans le domaine des TICES (les technologies de communication et d’informations dans l’enseignement) ?

On peut citer le projet ARIANE, qui développe à la fois un modèle de documents en XML et une infrastructure capable de supporter ces documents XML.

Il y a également un consortium d’universités et de structures de l’enseignement pour définir un ensemble de métadonnées descriptives pour les ressources pédagogiques. Les deux structures associées ont mis en place l’initiative LOM (Learning Object Metadata), qui est un ensemble de métadonnées s’attachant à couvrir tous les aspects de l’information pertinente pour l’enseignement c’est-à-dire beaucoup de choses qui tant par le type que par le contenu ont à voir avec le secteur de l’enseignement. Cet ensemble de métadonnées a permis de mettre au point des DTD spécifiques.

Le langage XML est un métalangage parce qu’il permet lui-même de définir d’autres langages propres à chaque secteur d’activité. Pour le secteur d’éducation, de l’enseignement et de la pédagogie, il y a l’EduML qui donne lieu à deux DTD. L’une s’attache à décrire un contenant de document pour l’enseignement avec des éléments comme les introduction, les chapitres, etc., et l’autre DTD s’attache à décrire le contenu même de ce type de document avec les informations pertinentes qu’on peut retrouver dans plusieurs documents sur la même thématique.


-  Les enseignants vont-ils devoir se former à XML et aux DTD ?

Si le travail est réalisé en amont, ils n’auront pas nécessairement à avoir une connaissance pointue, mais plutôt une idée de comment ça fonctionne. Comme cela a été le cas pour les documentalistes, les bibliothécaires, les archivistes dans leurs relations avec les informaticiens qui conçoivent le document XML en tant que tel, les enseignants seraient susceptibles d’apporter leur point de vue sur le contenu et de définir les éléments pertinents par rapport à leur propre connaissance du contenu : ce qu’il faut faire ressortir, comment hiérarchiser, etc.

Dans le cadre d’EduML par exemple, ils peuvent partager sur le web leurs supports de cours. Ils doivent pour cela intervenir tantôt sur la DTD, tantôt sur le document XML à partir du moment où celui-ci est associé à une DTD.

Propos recueillis par Marie-Noëlle Rohart
Pour le laboratoire CRIS - Université Paris X
Printemps 2004


En savoir plus :

-  Bibliographie


-  Liens internet