DTD XML

Un documento XML con sintassi corretta viene chiamato "ben formato".

Un documento XML verificato secondo DTD è sia "ben formato" che "valido".

Cos'è DTD?

DTD Rappresenta la definizione di tipo di documento (Document Type Definition).

DTD Definisce la struttura del documento XML e gli elementi e attributi validi.

Documento XML valido

Un documento XML "valido" è sia "ben formato" che conforme alle regole del DTD:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Promemoria</heading>
<body>Non dimenticare l'incontro!</body>
</note>

La dichiarazione DOCTYPE sopra contiene un riferimento al file DTD. Di seguito è illustrato e spiegato il contenuto del file DTD.

DTD XML

L'obiettivo del DTD è definire la struttura dei documenti XML e gli elementi e attributi validi:

Note.dtd:

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

Ecco una spiegazione dettagliata del DTD sopra riportato:

!DOCTYPE note - Definire che l'elemento radice del documento è note
!ELEMENT note - Definire che l'elemento note deve contenere i seguenti elementi: "to, from, heading, body"
!ELEMENT to - Definire l'elemento to come tipo "#PCDATA"
!ELEMENT from - Definire l'elemento from come tipo "#PCDATA"
!ELEMENT heading - Definire l'elemento heading come tipo "#PCDATA"
!ELEMENT body - Definire l'elemento body come tipo "#PCDATA"

Suggerimento:#PCDATA rappresenta i dati di carattere analizzabili (parseable character data).

Dichiarazione di entità con DTD

La dichiarazione DOCTYPE può anche essere utilizzata per definire caratteri speciali o stringhe utilizzati nel documento:

Esempio

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp " ;">
<!ENTITY writer "Writer: Bill Gates.">
<!ENTITY copyright "Copyright: CodeW3C.com.">
]>
<note>
<to>George</to>
<from>John</from>
<heading>Promemoria</heading>
<body>Non dimenticare l'incontro!</body>
<footer>&writer; ©right;</footer>
</note>

Suggerimento:Un'entità è composta da tre parti: inizia con il simbolo di assegnazione (&), segue il nome dell'entità e termina con un punto e virgola (;).

Quando utilizzare DTD?

Con DTD, gruppi indipendenti possono concordare su standard di scambio dati.

Utilizzando DTD, è possibile verificare se i dati ricevuti dall'esterno sono validi.

È possibile utilizzare DTD per verificare i propri dati.

Se desideri imparare DTD, leggi le nostre Guida al DTD.

Quando non utilizzare DTD?

Per l'XML, DTD non è necessario.

Se stai testando XML o stai utilizzando file XML molto piccoli, creare DTD potrebbe essere una perdita di tempo.

Se stai sviluppando un'applicazione, aspetta che lo standard sia stabile prima di aggiungere DTD. Altrimenti, il tuo software potrebbe fermarsi a causa di errori di validazione.