Le DTD (Document Type Definition)est l'ensemble des règles et des propriétés que doit suivre le document XML.
Ces règles définissent généralement le nom
et le contenu de chaque balise et le contexte dans lequel elles doivent exister. Cette formalisation des
éléments est particulièrement utile lorsqu'on utilise de façon récurrente des balises dans un document
XML.On peut utiliser un DTD externe à plusieurs développeurs pour échanger leur données.
DTD (Document Type Definition).
Un fichier XML sera :
- Valid
- (Valide) si il possède une DTD
- Well-formed
- (bien formé)si il en est dispensé
Le DTD interne :
Le DTD est interne donc indépendant, on met le standalone="yes"
On met l'élément racine et on définit dans cette racine les sous éléments.
On définit chaque sous élément avec la nature de son information.
#PCDATA indique au Parser XML que l'élément contient des données en chiffres ou en lettres.
Les types prédéfinis :
- ANY : L'élément peut contenir tout type de données
- EMPTY : L'élément ne contient pas de données spécifiques
- #PCDATA : L'élément doit contenir une chaîne de caractères
Les règles d'utilisation :
- + : L'élément doit être présent au minimum une fois
- * : L'élément peut être présent plusieurs fois (ou aucune)
- ? : L'élément peut être optionnellement présent
- | : L'élément A ou l'élément B peuvent être présents
- , : L'élément A doit être présent et suivi de l'élément B
- () : Les parenthèses permettent de regrouper des éléments afin de leur appliquer les autres opérateurs
ces types d'attributs peut être suivi d'un mot clé particulier permettant de spécifier le niveau de nécessité de l'attribut :
- #IMPLIED : signifie que l'attribut est optionnel, c'est-à-dire non obligatoire
- #REQUIRED : signifie que l'attribut est obligatoire
- #FIXED : signifie que l'attribut sera affecté d'une valeur par défaut s'il n'est pas défini. Il doit être immédiatement suivi de la valeur entre guillemets
Pour information le DTD pour la balise
![]()
du XHTML :