
DTD et Entités
Déclaration d'entités dans les DTD

XML permet de créer des entités, c'est-à-dire de déclarer un groupe d'éléments sous un nom afin de ne pas avoir à réécrire ces derniers plusieurs fois dans la DTD s'ils se répètent.
Exemple de DTD avec une entité (lettre.dtd)
<!ELEMENT lettre (dest,objet,texte)>
<!ELEMENT dest (#PCDATA)>
<!ELEMENT objet (#PCDATA)>
<!ELEMENT texte (#PCDATA)>
<!ENTITY nom "Easy-Micro">
<!ELEMENT dest (#PCDATA)>
<!ELEMENT objet (#PCDATA)>
<!ELEMENT texte (#PCDATA)>
<!ENTITY nom "Easy-Micro">
Et le fichier XML corespondant (lettre.xml)
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE lettre SYSTEM "lettredtd.dtd">
<lettre>
<dest>Easy-Micro</dest>
<objet>site web</objet>
<texte>Salut &nom;, on surf quand ?</texte>
</lettre>
<!DOCTYPE lettre SYSTEM "lettredtd.dtd">
<lettre>
<dest>Easy-Micro</dest>
<objet>site web</objet>
<texte>Salut &nom;, on surf quand ?</texte>
</lettre>
Le "&nom; appel l'entité définie dans la DTD.