Les DTD

DTD est l'acronyme de Document Type Definition (Définition de Type de Document)

 

Le rôle d'une DTD est de définir la structure d'un document XML. Une DTD est caractérisée par un ensemble de règles permettant de spécifier les éléments du document XML, ainsi que leur ordre et leur fréquence d'apparition.

 

Une DTD est décrite selon la norme EBNF (Extended Backus-Naur Form) ; à ce titre, elle n'est pas une application XML mais un héritage de SGML. De ce fait, elle n'est pas manipulable par les outils XML mais par des outils qui lui sont spécifiques.

 

La DTD est une caractéristique optionnelle d'un fichier XML. Si le fichier XML n'a pas de DTD, ce dernier devra alors être "bien formé" (well-formed) et respecter les règles imposées par XML. Si une DTD est rattachée au fichier XML, ce dernier est automatiquement considéré comme valide puisque la définition des balises du document y est incluse.

 

La DTD peut être incluse au fichier XML. On dit alors qu'elle est interne, ou externe et dissociée du fichier XML, le nom du fichier contenant la DTD lui est alors associé.

 

Une DTD commence toujours par <!DOCTYPE et se termine par ]>. La racine du document est renseignée après <!DOCTYPE et doit être également définie comme un élément de la DTD.

 

La DTD est donc construite à partir d'un ensemble de déclarations permettant de définir le type, la nature et les contraintes liés à chaque nouvelle balise. Cet ensemble de déclarations comprend :

 

- la déclaration de types d'éléments, permettant de définir le contenu du fichier XML ;

- la déclaration de listes d'attributs, permettant d'enrichir la sémantique des éléments ;

- la déclaration d'entités ;

- la déclaration de notations.

 

Une DTD externe peut être modifiée ou complétée par une DTD interne.

 

Une DTD permet de définir les contraintes que doivent suivre les éléments (par exemple, un élément " adresse " est constitué d'un élément " rue ", d'un élément " complément d'adresse ", optionnel, d'un élément " code postal ", d'un élément " ville " et d'un élément " pays ", optionnel).

 

La DTD permet également de définir les attributs possibles avec éventuellement des valeurs fixées ou des valeurs par défaut.

 

- Cours à l'Université de Lille, 2020/2021 - -