Un file DTD (Document Type Definition) è un file di testo specializzato utilizzato per definire la struttura, gli elementi consentiti e gli attributi di un documento XML, SGML o HTML. Agisce come un progetto o un insieme di regole che un documento deve seguire per essere considerato 'valido' secondo quella specifica definizione. Definendo l'annidamento degli elementi, la frequenza della loro occorrenza e i tipi di dati che possono contenere, un DTD garantisce coerenza e affidabilità quando i dati vengono scambiati tra diverse applicazioni software o organizzazioni. Sebbene i DTD siano stati il metodo originale per definire gli schemi XML, presentano alcune limitazioni, come la mancanza di supporto per tipi di dati complessi e per i namespace XML. Di conseguenza, molti sviluppatori moderni preferiscono XML Schema (XSD) o Relax NG per una convalida più robusta. Tuttavia, i DTD sono ancora ampiamente utilizzati nei sistemi legacy, nei flussi di lavoro editoriali e per definire la struttura di formati standard come EPUB o versioni precedenti di HTML. Poiché sono file di testo semplice, possono essere modificati in qualsiasi editor di testo di base o in ambienti di sviluppo XML specializzati.