Définir une DTD

Le moyen le plus rudimentaire et simple à mettre en oeuvre pour valider un document XML est la DTD ou Document Type Definition.

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