Un documento XML con sintassi corretta è chiamato "Well Formed" .
Un documento XML convalidato contro un DTD è sia "Well Formed" e "Valid" .
Validi documenti XML
Un "Valid" documento XML è un "Well Formed" documento XML, conforme anche alle regole di una DTD:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
La dichiarazione DOCTYPE, nell'esempio di cui sopra, è un riferimento a un file DTD esterno. Il contenuto del file è mostrato nel paragrafo seguente.
DTD XML
Lo scopo di un DTD è definire la struttura di un documento XML. Si definisce la struttura con una lista di elementi legali:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
Il DTD sopra è interpretato in questo modo:
- ! DOCTYPE nota definisce che l'elemento radice del documento è nota
- ! Nota elemento definisce che l'elemento nota deve contenere gli elementi: "to, from, heading, body"
- ! ELEMENT alla definisce l'elemento ad essere di tipo "#PCDATA"
- ! ELEMENT dal definisce l'elemento da essere di tipo "#PCDATA"
- ! ELEMENT voce definisce l'elemento intestazione essere di tipo "#PCDATA"
- ! ELEMENT corpo definisce l'elemento del corpo per essere di tipo "#PCDATA"
#PCDATA Significa dati di testo parse-grado.
Utilizzando DTD per dichiarazione di entità
Una dichiarazione doctype può anche essere utilizzata per definire i caratteri speciali e stringhe di caratteri, utilizzati nel documento:
Esempio
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp
" ">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: w3ii.">
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer; ©right;</footer>
</note>
Prova tu stesso " Un'entità ha tre parti: una e commerciale (&) , un nome di entità, e un punto e virgola (;) .
Quando utilizzare un DTD / Schema?
Con un DTD, gruppi indipendenti di persone possono accordarsi per utilizzare una DTD standard per l'interscambio dei dati.
Con un DTD, è possibile verificare che i dati che riceve dal mondo esterno è valido.
È inoltre possibile utilizzare una DTD per verificare i propri dati.
Se si vuole studiare DTD, si prega di leggere la nostra DTD Tutorial .
Quando non usare un DTD / Schema?
XML non richiede un DTD / Schema.
Quando si stanno sperimentando con XML, o quando si lavora con i file XML di piccole dimensioni, la creazione di DTD può essere una perdita di tempo.
Se si sviluppano applicazioni, attendere che la specifica è stabile prima di aggiungere una definizione di documento. In caso contrario, il software potrebbe non funzionare a causa di errori di convalida.