DTD

Document Type Definition : définition de type de document.

Besoin

Conception

Les DTD spécifient les grammaires de documents SGML. Cela inclut des grammaires sous-ensembles de SGML comme XML ou HTML.

DTD Version Exemple DTD Exemple XML Commentaire
Release
Technologie Technologie FixPack
Elément Vide EMPTY <!ELEMENT br EMPTY> <br/> Sans contenu.
Texte A interpréter #PCDATA <strong><!ELEMENT</strong> description <strong>(#PCDATA)></strong> <description><br> Ce cas est arriv&eacute; le <date year="2003"/>.<br> </description> Parseable Character DATA. Les balises dans le texte seront traitées et les entités seront développées
A ne pas interpréter #CDATA <strong><!ELEMENT</strong> identifiant <strong>(#CDATA)></strong> <identifiant><br> AB52<br> </identifiant> Character DATA. Les balises dans le texte ne seront pas traitées et les entités ne seront pas développées
Séquence (element1, element2, element3) <!<strong>ELEMENT</strong> voiture (marque,modele)> <voiture><br> <marque><br> Peugeot<br> </marque><br> <modele><br> 307<br> </modele><br> </voiture> L'ordre est imposé.
Liste (element1+) <!<strong>ELEMENT</strong> liste (objet+)> <liste><br> <objet><br> Objet 1<br> </objet><br> <objet><br> Objet 2<br> </objet><br> </liste> Au moins 1 élément
Optionnel Unique (element1?) <!<strong>ELEMENT</strong> prenoms (prenom,prenom?)> <prenoms><br> <prenom><br> Jerome </prenom><br> <prenom><br> Pierre<br> </prenom> <br> </temoignage> 0 ou 1 élément
Multiple (element1*) <!<strong>ELEMENT</strong> enfants (enfant*)> <enfants><br> <enfant><br> Jerome </enfant><br> <enfant><br> Jean-Pierre<br> </enfant> <br> </enfants> 0 ou n éléments
Unique (element1) <!<strong>ELEMENT</strong> temoignage (description)> <temoignage><br> <description><br> Il &eacute;tait une fois... </description><br> </temoignage> 1 et 1 seul obligatoire
Entités Prédéfinies < &lt; <expression><br> 1 <strong>&lt;</strong> 2<br> </expression> Lower Than : inférieur à.
> &gt; <expression><br> 2 <strong>&gt;</strong> 1<br> </expression> Greather Than : supérieur à.
& &amp; Ampersand : perluète
" &quot; Quote : guillemet
' &apos; Apostroph : apostrophe.
Attribut Type Texte <strong>CDATA</strong> <!<strong>ATTLIST</strong> event startDate <strong>CDATA</strong> "inconnue"> <event startDate="12/08/1972"/> Character DATA
Enuméré <em>el1</em><strong>|</strong><em>el2</em><strong>|</strong><em>el3</em>
Identifiant ID
Référence à un autreidentifiant IDREF
Références à d'autres identifiants IDREFS
Nom XML NMTOKEN NaMe TOKEN
Noms XML NMTOKENS NaME TOKENS
Entité ENTITY
Entités ENTITIES
Notation NOTATION
Valeur XML prédéfinie xml:
Valeur Par défaut <!ATTLIST event startDate CDATA <strong>"inconnue"</strong>> <event startDate="12/08/1972">
Obligatoire #REQUIRED <!<strong>ATTLIST</strong> event author <strong>CDATA #REQUIRED</strong>>
Déductible #IMPLIED <!<strong>ATTLIST</strong> event parent <strong>CDATA #IMPLIED</strong>>
Constante #FIXED <em>valeur</em> <!<strong>ATTLIST</strong> event version <strong>CDATA #FIXED </strong>"1.0">

Exemples

Un exemple de DTD est :

<strong><!DOCTYPE </strong>librairie <strong>[</strong><br> <strong><!ELEMENT </strong>librairie <strong>(</strong>sujet<strong>+)></strong><br> <strong><!ELEMENT </strong>sujet <strong>(</strong>nom<strong>,</strong>livre<strong>*)></strong><br> <strong><!ELEMENT </strong>nom <strong>(#PCDATA)></strong><br> <strong><!ELEMENT</strong> livre <strong>(</strong>titre<strong>,</strong>auteur<strong>)></strong><br> <strong><!ELEMENT </strong>titre <strong>(#CDATA)></strong><br> <strong><!ELEMENT </strong>auteur <strong>(#CDATA)><br> <!ELEMENT </strong>isbn <strong>(#PCDATA)><br> <!ATTLIST</strong> livre isbn <strong>CDATA "</strong>0<strong>"><br> ]></strong>

Il existe aujourd'hui des outils capables de générer l'éditeur de documents correspondant à une DTD donnée, comme

Limitations

Notes