Originariamente inviato da kkriminale
la spiegazione è molto chiara, ma come si fa a linkare una dtd esterna ad un documento xml?
Allora... kkriminale scusami se ti rispondo solo ora... ma la vita sotto Natale è piena di impegni! 
Le DTD si includono nei documenti XML per mezzo della Document Type Declaration.
La Document Type Declaration è compresa tra <!DOCTYPE e >.
Le DTD possono essere interne o esterne.
Esempio di DTD interna è quella postata da mituzza. Tutto ciò che è compreso tra le parentesi quadre forma la dichiarazione di tipo interna.
Solitamente le DTD esterne sono dei file con estensione DTD (ma non è obbligatorio!).
Per includere una DTD di tipo esterna in un file XML basta specificare le parole chiavi SYSTEM e PUBLIC.
codice:
<!DOCTYPE messaggio SYSTEM "myDTD.dtd">
dove myDTD.dtd è il riferimento alla propria DTD (naturalmente il file espresso con path se non risiede nella stessa cartella del file XML)
PUBLIC è una parola chiave che serve per far riferimento a DTD di uso comune. Esempio più banale è quello che fariferimento alla DTD del linguaggio HTML.
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html14/strict.dtd">
Esempio file welcome.dtd:
codice:
<!ELEMENT welcomeMsg (mess)>
<!ELEMENT mess (#PCDATA)>
Ecco un esempio di file XML che fa riferimento alla DTD welcome.dtd:
codice:
<?xml version="1.0">
<!DOCTYPE benvenuto SYSTEM "welcome.dtd">
<benvenuto>
<mess>Benvenuto... da dotty78</mess>
</benvenuto>
Spero di esserti stata d'aiuto!
dotty78