DTD Tutorial

La definizione di tipo di documento (DTD) può definire i moduli costruttivi validi di un documento XML. Utilizza una serie di elementi validi per definire la struttura del documento.

Il DTD può essere dichiarato in linea nel documento XML o come riferimento esterno.

Dichiarazione interna DOCTYPE

Se il DTD è incluso nel file sorgente XML, dovrebbe essere racchiuso nella dichiarazione DOCTYPE secondo la seguente sintassi:

!DOCTYPE radice [dichiarazioni elementi]>

Esempio di documento XML con DTD (aprire in IE5 e versioni superiori, e selezionare Visualizza codice sorgente):

<?xml version="1.0"?>
!DOCTYPE note [
  !ELEMENT note (to,from,heading,body)
  !ELEMENT to      (#PCDATA)
  !ELEMENT from    (#PCDATA)
  !ELEMENT heading (#PCDATA)
  !ELEMENT body    (#PCDATA)
>
<note>
  <to>George</to>
  <from>John</from>
  <heading>Promemoria</heading>
  <body>Non dimenticare l'incontro!</body>
</note>

Aprire questo file XML nel tuo browser e selezionare il comando "Visualizza codice sorgente.

La seguente spiegazione del DTD è la seguente:

!DOCTYPE note (riga seconda) Definizione di questo documento come note documento di tipo.

!ELEMENT note (riga terza) Definizione note L'elemento ha quattro elementi: "to,from,heading,body"

!ELEMENT to (riga quarta) Definizione to L'elemento è di tipo "#PCDATA"

!ELEMENT from (riga quinta) Definizione from L'elemento è di tipo "#PCDATA"

!ELEMENT heading (riga sesta) Definizione heading L'elemento è di tipo "#PCDATA"

!ELEMENT body (riga settima) Definizione body L'elemento è di tipo "#PCDATA"

Dichiarazione documento esterno

Se il DTD si trova all'esterno del file XML sorgente, deve essere encapsulato nella definizione DOCTYPE con la seguente sintassi:

!DOCTYPE radice SYSTEM "nomefile"

Questo documento XML è lo stesso dell'XML sopra, ma ha un DTD esterno: (Aprire in IE5e selezionare il comando "Visualizza codice sorgente"。(

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

Questo è il file "note.dtd" che contiene il DTD:

!ELEMENT note (to,from,heading,body)
!ELEMENT to (#PCDATA)
!ELEMENT from (#PCDATA)
!ELEMENT heading (#PCDATA)
!ELEMENT body (#PCDATA)

Perché utilizzare DTD?

Grazie ai DTD, ogni file XML può portare una descrizione del proprio formato.

Grazie ai DTD, gruppi indipendenti possono utilizzare in modo coerente un DTD standard per scambiare dati.

E la tua applicazione può utilizzare un DTD standard per verificare i dati ricevuti dall'esterno.

Puoi anche utilizzare DTD per verificare i tuoi dati.