Bei der Dokumenten Typ Definition (DTD) handelt es sich um eine Menge von Markup-Deklarationen, die für alle Dokumente einer bestimmten Art und Klasse passen. Diese Klassen werden genau durch die DTD definiert. In der DTD findet man die für die Dokumenteninstanz verfügbaren Entitäten und die hierarchisch eingebetteten Elemente mit ihren Attributen. Diese können wie erwähnt sowohl ausgelagert wie auch verteilt sein, was auch der Praxis entspricht.
Struktur einer DTD:
<!DOCTYPE dtdName [
<!ELEMENT briefSammlung - O (brief+)>
<!ELEMENT brief - O (an, von, text)>
<!ELEMENT (an, von) - O (#PCDATA)>
<!ELEMENT datum - - (#PCDATA)>
]>
Falls die DTD vollständig ausgelagert ist, so ist dieser Teil wie in Kapitel 4.2 erwähnt verhältnismäßig kurz. Zum Beispiel:
<!DOCTYPE dtdName SYSTEM ``/dtd/doku1.dtd``>