¿Cuáles son los pros/contras en los esquemas DTD y XML (ni siquiera estoy seguro de cuál es el nombre oficial de este último?)? ¿Cual es mejor? ¿Por qué necesitamos dos formas de hacer lo mismo?Esquema DTD o XML. ¿Cuál es mejor?
Edición: He encontrado esto en un artículo que estaba leyendo, que es lo que me impulsó a hacer la pregunta:
Por qué W3C XML Schema Language?
El lenguaje de esquema XML W3C no es el único lenguaje de esquema. De hecho, la especificación XML describe el tipo de documento definiciones (DTD) como el camino a expresar un esquema. Además, versiones preliminares de JAXB Implementación de referencia funcionó solo con DTD, es decir, no con los esquemas escritos en el lenguaje de esquema XML. Sin embargo, el lenguaje de esquema XML es mucho más rico que las DTD. Por ejemplo, los esquemas escritos en el Esquema XML El lenguaje puede describir las relaciones estructurales y los tipos de datos que no se pueden expresar (o no pueden expresarse fácilmente ) en los DTD. Existen herramientas disponibles para convertir DTD al W3C esquema XML El lenguaje, por lo que si usted tiene esquemas basados en DTD que utilizó con una versión anterior de la implementación de referencia JAXB , puede utilizar estas herramientas para convertir los esquemas a XML Schema Language. http://java.sun.com/developer/technicalArticles/WebServices/jaxb/#binsch
Supongo que me gustaría tener ejemplos que ilustren por qué XML-Schema es mejor (si es que lo es).
Puede poner XSD en línea con XML. Solo use el espacio de nombres correcto y anide el esquema dentro del documento. Los archivos WSDL hacen esto comúnmente. Las DTD están sujetas a ataques DoS. Consulte http://en.wikipedia.org/wiki/Billion_laughs – lavinio
@lavinio, creo que tiene razón al incluir XSD; He visto archivos antes que hacen esto. Interesante artículo sobre el ataque de Billion Laughs. –
¿Hay alguna función de DTD que no se puede hacer en XSD? –