Met een DTD (Document Type Definition) beschikt u over een middel om XML-bestanden te valideren op basis van een set regels. Als u een DTD-bestand maakt, kunt u regels opgeven waarmee de structuur kan worden bepaald van eventuele XML-bestanden die verwijzen naar het DTD-bestand.
Een DTD kan declaraties bevatten waarmee elementen, kenmerken, notaties en entiteiten worden gedefinieerd voor eventuele XML-bestanden die verwijzen naar het DTD-bestand. Er worden ook beperkende voorwaarden vastgelegd voor de manier waarop elk element, kenmerk, notatie en entiteit kan worden gebruikt binnen een van de XML-bestanden die verwijzen naar het DTD-bestand.
Om als een geldig XML-bestand beschouwd te worden, moet het document vergezeld gaan van een DTD (of een XML-schema) en voldoen aan alle declaraties in de DTD (of het XML-schema).
Bepaalde XML-parsers kunnen DTD's lezen en kunnen controleren of het XML-bestand dat wordt gelezen aan al die regels voldoet. Terwijl de parser het XML-bestand leest, wordt voor elke regel gecontroleerd of deze voldoet aan de regels die zijn vastgelegd in het DTD-bestand. Als er een probleem optreedt, genereert de parser een foutbericht en wordt aangegeven waar de fout in het XML-bestand optreedt. Een dergelijke parser wordt een validatieparser genoemd omdat deze de content van het XML-bestand valideert op basis van de DTD.