Document Type Definition : définition de type de document.
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é 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 était une fois... </description><br>
</temoignage> |
1 et 1 seul obligatoire | ||
Entités | Prédéfinies | < | < |
<expression><br> 1 <strong><</strong> 2<br>
</expression> |
Lower Than : inférieur à. | |
> | > |
|
<expression><br> 2 <strong>></strong> 1<br>
</expression> |
Greather Than : supérieur à. | ||
& | & |
|
|
Ampersand : perluète | ||
" | " |
|
|
Quote : guillemet | ||
' | ' |
|
|
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"> |
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