XSD vs. DTD
La definición de esquema XML (también conocida como XSD) es uno de una variedad de lenguajes de esquema XML. Este lenguaje en particular fue publicado como una recomendación del W3C. Fue el lenguaje prototipo para los que siguieron el que pudo separar el lenguaje de esquema para XML y el primero en obtener el estado de la Recomendación por parte del W3C. Como medio para evitar confusiones con otros usos de la frase Esquema XML, muchos usuarios comenzaron a referirse al lenguaje como WSD (para diferenciarlo como un lenguaje recomendado por el W3C, que corresponde al Esquema XML del W3C). Sin embargo, otros usuarios se refirieron a su forma más común, XSD: documento de esquema XML..
Definición de tipo de documento (también conocido como DTD) es un conjunto de declaraciones de marcado que se utilizan específicamente para definir un tipo de documento para los lenguajes de marcado de la familia SGML (los tres más comunes son SGML, XML y HTML). Tal como está, DTD es un tipo específico de esquema XML. Las DTD utilizan una sintaxis formal concisa, lo que significa que es una declaración de marcado que declara los elementos y referencias exactos que pueden aparecer en un tipo de documento en particular. También declara cuáles son los contenidos y atributos de los elementos. Otro aspecto importante de la DTD es su capacidad para declarar entidades que tienen la posibilidad de ser utilizadas en el documento de instancia..
XSD tiene la capacidad de usarse para expresar un conjunto de reglas a las que debe adherirse un documento XML. Los documentos XML deben cumplir con este conjunto de reglas para que se consideren "válidos" según su esquema particular. Lo que diferencia a XSD de otros lenguajes de esquema XML es que también fue diseñado con la idea de que determinar la validez de un documento produciría una colección de información que se adhirió a tipos de datos específicos. Si bien este conjunto de información posterior a la validación es útil al desarrollar software de procesamiento de documentos XML, su dependencia de tipos de datos específicos es una característica que ha generado una cantidad considerable de críticas..
Los DTD prevalecen en aplicaciones que requieren caracteres de publicación especiales (por ejemplo, las Referencias de entidad de caracteres XML y HTML). Estos caracteres de publicación especiales provienen de conjuntos más grandes que se definieron como características del esfuerzo del estándar ISO SGML. Una definición específica de tipo de documento asocia una DTD con un documento XML. Las DTD aparecen en doctypedecl, un fragmento sintáctico, cerca del comienzo de un documento XML. Esta declaración establece que el documento XML es una instancia de un tipo DTD referenciado y definido. Hay dos declaraciones específicas que realiza la DTD: un subconjunto interno, que forma parte de la DTD en el propio documento, y un subconjunto externo, que se encuentra en un archivo de texto separado.
Resumen:
1. XSD es un lenguaje de esquema XML recomendado a través de W3C; DTD es un conjunto de declaraciones de marcado utilizadas para definir un tipo de documento.
2. XSD se usa para expresar un conjunto de reglas a las que debe adherirse un documento XML; una definición de tipo de documento asocia una DTD con un documento XML.