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 <!ELEMENT description (#PCDATA)> <description>
Ce cas est arriv&eacute; le <date year="2003"/>.
</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 <!ELEMENT identifiant (#CDATA)> <identifiant>
AB52
</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) <!ELEMENT voiture (marque,modele)> <voiture>
<marque>
Peugeot
</marque>
<modele>
307
</modele>
</voiture>
L'ordre est imposé.
Liste (element1+) <!ELEMENT liste (objet+)> <liste>
<objet>
Objet 1
</objet>
<objet>
Objet 2
</objet>
</liste>
Au moins 1 élément
Optionnel Unique (element1?) <!ELEMENT prenoms (prenom,prenom?)> <prenoms>
<prenom>
Jerome </prenom>
<prenom>
Pierre
</prenom>
</temoignage>
0 ou 1 élément
Multiple (element1*) <!ELEMENT enfants (enfant*)> <enfants>
<enfant>
Jerome </enfant>
<enfant>
Jean-Pierre
</enfant>
</enfants>
0 ou n éléments
Unique (element1) <!ELEMENT temoignage (description)> <temoignage>
<description>
Il &eacute;tait une fois... </description>
</temoignage>
1 et 1 seul obligatoire
Entités Prédéfinies < &lt; <expression>
1 &lt; 2
</expression>
Lower Than : inférieur à.
> &gt; <expression>
2 &gt; 1
</expression>
Greather Than : supérieur à.
& &amp; Ampersand : perluète
" &quot; Quote : guillemet
' &apos; Apostroph : apostrophe.
Attribut Type Texte CDATA <!ATTLIST event startDate CDATA "inconnue"> <event startDate="12/08/1972"/> Character DATA
Enuméré el1|el2|el3
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 "inconnue"> <event startDate="12/08/1972">
Obligatoire #REQUIRED <!ATTLIST event author CDATA #REQUIRED>
Déductible #IMPLIED <!ATTLIST event parent CDATA #IMPLIED>
Constante #FIXED valeur <!ATTLIST event version CDATA #FIXED "1.0">

Exemples

Un exemple de DTD est :

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

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

Limitations

Notes