Le moyen le plus rudimentaire et simple à mettre en oeuvre pour valider un document XML est la DTD ou Document Type Definition.
Le contenu est soit un type de donnée soit un ou plusieurs éléments séparés par une virgule pour un ET et d'un | pour un OU.
Les types de données sont les suivants:
Les élements
<!ELEMENT nomElement (contenu)>
Le contenu est soit un type de donnée soit un ou plusieurs éléments séparés par une virgule pour un ET et d'un | pour un OU.
Les types de données sont les suivants:
- (nomAutreElement) entre parenthèses
- (#PCDATA ) ou Parsable Character Data pour du texte
- EMPTY si vide (pas de données) ex: <em></em>
- ANY si la valeur peut être n'importe quoi (element, texte,vide)
Les attributs
<!ATTLIST nomElement nomAttribut type Multiplicité>
Les types peuvent être les suivants:
- CDATA ou Character Data pour du texte
- ID pour un identifiant unique (alphanumérique)
- IDREF pour référence vers un ID
- IDREFS pour une liste de ID séparé par un blanc
- NMTOKEN pour un mot
- NMTOKENS pour une liste de mots séparés par un blanc
- Une énumération entre parenthèses séparés par le symbole |
Les multiplicité possibles:
- #REQUIRED pour obliger
- #IMPLIED pour facultatif
- #FIXED suivie d'une valeur entre guillemets doubles pour créer une constante
- définir une valeur par défaut entre guillemets doubles