Che cos’è un DTD?

Utente HTML.it
chiede

Che cos’è un DTD?

Redazione HTML.it
risponde

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 libro(capitolo+)>
<!ELEMENT capitolo(testo+)>
<!ELEMENT testo(#PCDATA)>
<!ATTLIST capitolo titolo CDATA #REQUIRED>

Le prime tre dichiarazioni (<!ELEMENT>) definiscono gli elementi e la loro relazione strutturale. Ad esempio, la prima dichiarazione indica che l’elemento libro contiene uno o più elementi capitolo, mentre la terza dichiarazione indica che l’elemento testo non contiene altri elementi ma soltanto sequenze di caratteri.
L’ultima dichiarazione indica che l’elemento capitolo prevede un attributo obbligatorio titolo.