xml - 为什么对 XML 同时使用 XSD 和 DTD?

标签 xml xsd dtd

Stackoverflow 有几个很好的问题 contrasting XSD and DTDchoosing between XSD and DTD .但是我遇到了同时使用 XSD 和 DTD 的数据格式和库。 XML 文档指定 DTD,但支持库需要 XSD 进行编码和解码。

同时使用 XSD 和 DTD 有什么好处?

最佳答案

我看到 DTD 和 XSD 一起使用的最重要的一次与您引用的示例有关:一个行业标准组很久以前就使用 DTD 定义了他们的 XML 词汇表和语法,但 XML 的特定消费者想要使用工具例如需要 XSD 的 JAXB。因此,消费者使用 XSD 创建了一个并行模式,以便能够利用工具或满足其他需要 XSD 的依赖项,同时保持与通过先前建立的 DTD 指定的模式的兼容性。

除了解决此类遗留问题外,不要为 DTD 而烦恼。新项目应该只使用更现代的 XML 架构语言,例如 XSD、RELAX NG 或 Schematron。

关于xml - 为什么对 XML 同时使用 XSD 和 DTD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38727905/

相关文章:

xml - 如何让 nokogiri 选择节点属性并将它们添加到其他节点?

java - 在jsp中从mysql获取xml格式的数据

java - 从 DTD 生成 XML 绑定(bind)代码的最佳方法是什么?

java - 如何将 JPA 与随机数据库(即用户提交的)一起使用

sql - 找不到句柄为 0 的准备好的语句。(SQL 错误)

xml - targetNamespace 有什么作用?我做对了吗?

.net - XmlDocument.Validate 不检查无效的命名空间

java - Unmarshaller.unmarshal() 的二元形式

python - 使用哪个验证 python XML api?

java - 禁止对 XML 的一部分进行验证