DTD
Signifie « Document Type Definition. » Une DTD définit la structure, les éléments et les attributs d’un document XML. Elle fournit un ensemble de règles que les fichiers XML doivent respecter, ce qui garantit la cohérence et la validité de documents similaires.
Une DTD spécifie :
- Les éléments (balises) autorisés
- L’ordre et l’imbrication des éléments
- Les attributs que peuvent avoir les éléments
- Les types de valeurs que ces attributs peuvent contenir
Voici un exemple de DTD pour enregistrer des données automobiles au format XML :
<!DOCTYPE automobile [
<!ENTITY header "Car Details">
<!ELEMENT make (#PCDATA)>
<!ELEMENT model (#PCDATA)>
<!ATTLIST model doors (two | four) #REQUIRED>
<!ELEMENT year (#PCDATA)>
<!ELEMENT engine (#PCDATA)>
<!ATTLIST engine transmission (manual | automatic) #REQUIRED>
]>
Dans la DTD ci-dessus :
- Une entité nommée header est définie avec la valeur « Car Details. »
- Des éléments comme <make>, <model>, <year> et <engine> sont déclarés comme contenant des données de caractères analysées (#PCDATA), ce qui signifie qu’ils acceptent du texte.
- Les listes d’attributs (ATTLIST) définissent les valeurs d’attributs valides. Par exemple, l’élément model doit spécifier « two » ou « four » pour l’attribut doors, et l’élément engine doit inclure un attribut transmission défini sur « manual » ou « automatic. »
Cet exemple automobile est une Document Type Definition relativement simple. Les DTD utilisées dans des applications réelles — en particulier celles qui prennent en charge de grands ensembles de données XML — peuvent s’étendre sur des centaines ou des milliers de lignes. Les petites DTD sont souvent incluses dans les documents XML, tandis que les grandes sont enregistrées dans des fichiers distincts (avec une extension .DTD) et référencées au moyen d’une URL. Bien que les langages de schéma plus récents, comme XML Schema (XSD), offrent des options de validation plus flexibles, les DTD restent la méthode standard pour définir la structure des documents XML.
NOTE: HTML 2 à 4.01 (1995-1999) utilisait des DTD pour définir les balises et les attributs autorisés d’un fichier HTML. HTML5 a abandonné les références à des DTD externes et commence chaque document HTML par <DOCTYPE html>.
Testez vos connaissances