XSD vs. DTD
XML Schema Definition (noto anche come XSD) è uno dei tanti linguaggi dello schema XML. Questa particolare lingua è stata pubblicata come raccomandazione del W3C. Era il linguaggio prototipo per quelli che seguivano che erano in grado di separare il linguaggio dello schema per XML e il primo a ottenere lo stato di raccomandazione dal W3C. Come mezzo per evitare confusione con altri usi della frase XML Schema, molti utenti hanno iniziato a riferirsi alla lingua come WSD (per differenziarlo come linguaggio raccomandato dal W3C - che sta per W3C XML Schema). Tuttavia, altri utenti hanno fatto riferimento alla sua forma più comune, XSD - che significa XML Schema Document.
Document Type Definition (noto anche come DTD) è un insieme di dichiarazioni di markup che vengono utilizzate specificamente per definire un tipo di documento per linguaggi di markup della famiglia SGML (i tre più comuni dei quali sono SGML, XML e HTML). Così com'è, DTD è un tipo specifico di schema XML. Le DTD utilizzano una sintassi formale concisa, il che significa che è una dichiarazione di markup che dichiara gli elementi esatti e i riferimenti che sono in grado di apparire in un particolare tipo di documento. Dichiara anche quali sono i contenuti e gli attributi degli elementi. Un altro aspetto importante della DTD è la sua capacità di dichiarare entità che hanno la possibilità di essere utilizzate nel documento di istanza.
XSD ha la capacità di essere utilizzato per esprimere un insieme di regole a cui un documento XML deve aderire. I documenti XML devono essere conformi a questo insieme di regole per poter essere considerati "validi" in base al loro particolare schema. Ciò che distingue XSD da altri linguaggi dello schema XML è che è stato progettato anche con l'idea che la determinazione della validità di un documento avrebbe prodotto una raccolta di informazioni che aderivano a tipi di dati specifici. Sebbene questo set di informazioni post-validazione sia utile nello sviluppo di software di elaborazione di documenti XML, la sua dipendenza da tipi di dati specifici è una caratteristica che ha suscitato una notevole quantità di critiche.
Le DTD sono prevalenti nelle applicazioni che richiedono caratteri di pubblicazione speciali (ad esempio, i riferimenti alle entità dei caratteri XML e HTML). Questi caratteri editoriali speciali provenivano dai set più grandi definiti come funzionalità dello sforzo standard ISO SGML. Una specifica definizione del tipo di documento associa una DTD a un documento XML. Le DTD appaiono in doctypedecl - un frammento sintattico - vicino all'inizio di un documento XML. Questa dichiarazione stabilisce che il documento XML è un'istanza di un tipo referenziato e definito DTD. Ci sono due dichiarazioni specifiche che il DTD fa: Un sottoinsieme interno, che fa parte della DTD nel documento stesso, e un sottoinsieme esterno, che si trova in un file di testo separato.
Sommario:
1. XSD è un linguaggio di schema XML consigliato tramite W3C; DTD è un insieme di dichiarazioni di markup utilizzate per definire un tipo di documento.
2. XSD è usato per esprimere un insieme di regole a cui un documento XML deve aderire; una definizione del tipo di documento associa un DTD a un documento XML.