Un DTD (Document Type Definition) è una descrizione formale della grammatica di un linguaggio di markup. Esso descrive gli elementi utilizzabili in un documento XML, la loro reciproca relazione nei confronti della struttura del documento e altre informazioni sugli attributi di ciascun elemento.
Da un punto di vista cronologico, esso rappresenta il primo approccio per la definizione di grammatiche per documenti XML.
Il seguente è un esempio di DTD per il documento XML per la descrizione di un libro visto precedentemente:
<!ELEMENT capitolo(testo+)>
<!ELEMENT testo(#PCDATA)>
<!ATTLIST capitolo titolo CDATA #REQUIRED>
Le prime tre dichiarazioni (<!ELEMENT>