Derniers tutoriels de développement web
 

Tutorial DTD


Qu'est-ce qu'un DTD?

Une DTD est un Document Type Definition.

Une DTD définit la structure et les éléments juridiques et les attributs d'un document XML.


Pourquoi utiliser un DTD?

Avec un DTD, des groupes indépendants de personnes peuvent se mettre d'accord sur une DTD standard pour l'échange de données.

Une application peut utiliser une DTD pour vérifier que les données XML est valide.


Une déclaration DTD interne

Si la DTD est déclarée dans le fichier XML, il doit être enveloppé dans le <!DOCTYPE> définition:

document XML avec une DTD interne

<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
Voir le fichier XML »

Dans le fichier XML, sélectionnez "view source" la "view source" pour afficher la DTD.

La DTD ci-dessus est interprétée comme ceci:

  • !DOCTYPE note la !DOCTYPE note définit ce que l'élément racine de ce document est la note
  • !ELEMENT note la "to,from,heading,body" !ELEMENT note définit ce que l'élément de note doit contenir quatre éléments: "to,from,heading,body" à "to,from,heading,body" à la "to,from,heading,body" le "to,from,heading,body"
  • !ELEMENT to définit le à l' élément à être de type "#PCDATA"
  • !ELEMENT from définit l'élément d'être de type "#PCDATA"
  • !ELEMENT heading définit l'élément de titre à être de type "#PCDATA"
  • !ELEMENT body définit l'élément de corps pour être de type "#PCDATA"

Une déclaration DTD externe

Si la DTD est déclarée dans un fichier externe, le <!DOCTYPE> définition doit contenir une référence au fichier DTD:

document XML avec une référence à une DTD externe

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>
Voir le fichier XML »

Et voici le fichier "note.dtd" , qui contient la DTD:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>