Esercitazione DTD
Che cos'è un DTD?
Un DTD è una definizione del tipo di documento.
Un DTD definisce la struttura, gli elementi legali e gli attributi di un documento XML.
Perché usare un DTD?
Con un DTD, gruppi indipendenti di persone possono concordare un DTD standard per lo scambio di dati.
Un'applicazione può utilizzare un DTD per verificare che i dati XML siano validi.
Una dichiarazione DTD interna
Se il DTD è dichiarato all'interno del file XML, deve essere racchiuso all'interno della definizione <!DOCTYPE>:
Documento XML con DTD interno
<?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>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>
Visualizza file XML »
Nel file XML, seleziona "visualizza sorgente" per visualizzare il DTD.
Il DTD sopra è interpretato in questo modo:
- !DOCTYPE note definisce che l'elemento radice di questo documento è note
- !ELEMENT note definisce che l'elemento note deve contenere quattro elementi: "to,from,heading,body"
- !ELEMENT to definisce l'elemento to di tipo "#PCDATA"
- !ELEMENT from definisce l'elemento from di tipo "#PCDATA"
- L' intestazione !ELEMENT definisce l'elemento dell'intestazione di tipo "#PCDATA"
- !ELEMENT body definisce l'elemento body di tipo "#PCDATA"
Una dichiarazione DTD esterna
Se la DTD è dichiarata in un file esterno, la definizione <!DOCTYPE> deve contenere un riferimento al file DTD:
Documento XML con riferimento a un DTD esterno
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Visualizza file XML »
Ed ecco 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)>