Quali sono i pro/contro negli schemi DTD e XML (non sono nemmeno sicuro di quale sia il nome ufficiale di quest'ultimo!)? Che è migliore? Perché abbiamo bisogno di due modi per fare la stessa cosa?DTD o schema XML. Qual è il migliore?
Edit: Ho trovato questo in un articolo che stavo leggendo, che è ciò che mi ha spinto a porre la domanda:
Perché W3C XML Schema linguaggio?
Il linguaggio dello schema XML W3C non è il linguaggio dello schema solo . In effetti, la specifica XML descrive le definizioni del documento tipo (DTD) come modo di esprimere uno schema con . Inoltre, le versioni pre-release dell'elaborazione di riferimento JAXB hanno funzionato solo con con DTD, ovvero non con gli schemi scritti in XML Schema Language. Tuttavia, lo XML Schema Language è molto più ricco di DTD. Ad esempio, gli schemi scritti nello schema XML lingua possono descrivere relazioni e tipi di dati strutturali che non possono essere espressi (o non possono essere facilmente espressi) in DTD. Ci sono strumenti disponibili per convertire DTD al W3C XML Schema Lingua, quindi se avete schemi DTD-based che si è utilizzato con una versione precedente del JAXB Reference Implementation, è possibile utilizzare questi strumenti per convertire gli schemi a XML Schema Language.
Credo che mi piacerebbe esempi che illustrano perché XML-Schema è migliore (se lo è davvero).
È possibile inserire XSD in linea con XML. Basta usare il giusto spazio dei nomi e annidare lo schema all'interno del documento. I file WSDL lo fanno comunemente. I DTD sono soggetti a attacchi DoS. Vedi http://en.wikipedia.org/wiki/Billion_laughs – lavinio
@lavinio, penso che tu abbia ragione riguardo all'integrazione di XSD; Ho visto file prima di farlo. Interessante articolo sull'attacco di Billion Laughs. –
C'è qualche funzione DTD, che non può essere eseguita in XSD? –