【发布时间】:2016-12-08 05:58:43
【问题描述】:
Stackoverflow 有几个很好的问题 contrasting XSD and DTD 和 choosing between XSD and DTD。但是我遇到了一种同时使用 XSD 和 DTD 的数据格式和库。 XML 文档指定 DTD,但支持库需要 XSD 进行编码和解码。
同时使用 XSD 和 DTD 有什么好处?
【问题讨论】:
Stackoverflow 有几个很好的问题 contrasting XSD and DTD 和 choosing 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。
【讨论】: