DTD XML
Un document XML avec une syntaxe correcte est appelé "Well Formed".
Un document XML validé par rapport à une DTD est à la fois "bien formé" et "valide".
Qu'est-ce qu'une DTD ?
DTD signifie Définition de type de document.
Une DTD définit la structure et les éléments et attributs juridiques d'un document XML.
Documents XML valides
Un document XML "Valide" est "Bien Formé", ainsi qu'il est conforme aux règles d'une DTD :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
La déclaration DOCTYPE ci-dessus contient une référence à un fichier DTD. Le contenu du fichier DTD est illustré et expliqué ci-dessous.
DTD XML
Le but d'une DTD est de définir la structure et les éléments et attributs légaux d'un document XML :
Remarque.dtd :
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
La DTD ci-dessus est interprétée comme suit :
- !DOCTYPE note - Définit que l'élément racine du document est note
- !ELEMENT note - Définit que l'élément note doit contenir les éléments : "to, from, header, body"
- !ELEMENT to - Définit l'élément to comme étant de type "#PCDATA"
- !ELEMENT from - Définit l'élément from comme étant de type "#PCDATA"
- !ELEMENT en-tête - Définit l'élément d'en-tête comme étant de type "#PCDATA"
- !ELEMENT body - Définit l'élément de corps comme étant de type "#PCDATA"
Conseil : #PCDATA signifie données de caractères analysables.
Utilisation de la DTD pour la déclaration d'entité
Une déclaration DOCTYPE peut également être utilisée pour définir des caractères spéciaux ou des chaînes, utilisés dans le document :
Exemple
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp
" ">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: W3Schools.">
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer; ©right;</footer>
</note>
Essayez-le vous-même »
Conseil : Une entité comporte trois parties : elle commence par une esperluette (&), puis vient le nom de l'entité et se termine par un point-virgule (;).
Quand utiliser une DTD ?
Avec une DTD, des groupes indépendants de personnes peuvent convenir d'utiliser une DTD standard pour échanger des données.
Avec une DTD, vous pouvez vérifier que les données que vous recevez du monde extérieur sont valides.
Vous pouvez également utiliser une DTD pour vérifier vos propres données.
Si vous souhaitez étudier la DTD, veuillez lire notre Tutoriel DTD .
Quand NE PAS utiliser une DTD ?
XML ne nécessite pas de DTD.
Lorsque vous expérimentez XML ou lorsque vous travaillez avec de petits fichiers XML, la création de DTD peut être une perte de temps.
Si vous développez des applications, attendez que la spécification soit stable avant d'ajouter une DTD. Sinon, votre logiciel pourrait cesser de fonctionner en raison d'erreurs de validation.