Hay una en mi humilde opinión tema muy importante utilizar una DTD (tal vez junto con un XSD si que necesita en-profundo-validación):
en DTD puede definir sus propias entidades por ejemplo:
<!ENTITY MyName "DrDr.Hannibal Xerxes Utah,MBA and CEO">
en el documento se puede wherevever necesaria simplemente código y MiNombre; en lugar de escribir todo esto.
Además suponga que tiene un archivo XML similar (tal vez producido por alguna otra aplicación) que consiste en una gran cantidad de etiquetas similares, pero ninguna raíz en etiquetas, por ejemplo:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- you need this when using foreign characters like 'ü' -->
<Book Author="Author1">
<Titel>Erstes Buch</Titel>
</Book>
...
<Book Author="Author5">
<Titel>Fünftes Buch</Titel>
</Book>
Asumir este archivo se denomina " Booklist.TXT",
Ahora puede codificar su amo-xml:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- you need this when using foreign characters like 'ü' -->
<DOCTYPE MyRoot [
<ENTITY AllBooks SYSTEM "Booklist.TXT">
]
<MyRoot>
... some prefix-stuff as needed ...
&AllBooks; <!-- here are all the Books -->
... some post stuff es needed ...
</MyBook>
y siempre que lo necesite los libros en otro contexto sólo se debe codificar el xml circundante y no habe a t ouch o copie la lista de libros en sí, además puede mantenerla en un solo lugar y tener todos los cambios en cualquier documento.
superposición grande con la pregunta vs.: http://stackoverflow.com/questions/1544200/what-is-difference-between-xml-schema-and-dtd –