Med en DTD (dokumenttypsdefinition) kan du validera XML-filer mot en uppsättning regler. När du skapar en DTD-fil kan du ange regler som styr strukturen för eventuella XML-filer som refererar till DTD-filen.
En DTD kan innehålla deklarationer som definierar element, attribut, noter och entiteter för eventuella XML-filer som refererar till DTD-filen. Den upprättar också regler för hur varje element, attribut, not och entitet kan användas inom någon av de XML-filer som refererar till DTD-filen.
Om ett dokument ska betraktas som en giltig XML-fil måste det åtföljas av en DTD (eller ett XML-schema) och överensstämma med alla deklarationer i DTDn (eller XML-schemat).
Vissa XML-tolkar kan läsa DTDer och kontrollera om den XML-fil den läser uppfyller alla reglerna. När tolken läser XML-filen kontrollerar den varje rad för att säkerställa att den uppfyller de regler som finns i DTD-filen. Om det finns något problem genererar tolken ett fel och pekar på den plats där felet förekommer i XML-filen. Den här typen av tolk kallas valideringstolk eftersom den validerar innehållet i XML-filen mot DTDn.