Un DTD peut contenir des déclarations qui définissent des éléments, des attributs, des notations et des entités pour tout fichier XML référençant le fichier DTD. Il établit également des contraintes sur la manière dont chaque élément, attribut, notation et entité peuvent être utilisés au sein d'un fichier XML référençant le fichier DTD.
Pour être considéré comme un fichier XML valide, le document doit être accompagné d'un DTD (ou un schéma XML) et se conformer à toutes les déclarations du DTD (ou schéma XML).
Certains analyseurs syntaxiques XML ont la possibilité de lire des DTD et de vérifier si le fichier XML lu respecte toutes ces règles. Lorsque l'analyseur syntaxique lit le fichier XML, il vérifie chaque ligne afin de s'assurer de la conformité aux règles présentes dans le fichier DTD. Si un incident survient, l'analyseur syntaxique génère une erreur et pointe vers l'endroit où l'erreur se produit dans le fichier XML. Ce type d'analyseur syntaxique est appelé analyseur syntaxique de validation puisqu'il valide le contenu du fichier XML par rapport au DTD.