在What is difference between XML Schema and DTD? ,两个回答者声明 DTD“已弃用”。其中一位用户 vtd-xml-author 指出
DTD is pretty much deprecated because it is limited in its usefulness [...]
用户 Jesse Chisholm 评论
Deprecated? No. [XDR is deprecated] Going out of fashion? Maybe [...]
在What is DTD exactly? ,用户 AlexR 对答案的评论如下:
Note that DTD is deprecated in favor of the more declarative and powerful XSD.
在这种情况下,没有人会反对。
那么 DTD 是否被弃用了?这肯定是事实,而不是意见。大概是 W3C 或其他一些标准机构有权决定 DTD 实际上是否被弃用。当然,在给定上下文(例如,特定软件系统)中使用 DTD 可能会被弃用,而 DTD 本身不会在该(或任何)上下文之外被弃用。
最佳答案
DTD 并未正式弃用,但现在有比 DTD 更好的选择来指定 XML 词汇表和语法。
通俗地说,已弃用 通常用于指代不再鼓励的旧方法。在这种意义上,有人可能会说 DTD 已被弃用。 XSD 比 DTD 更具表现力。 (RELAX NG 和 Schematron 也是更好的选择。)此外,在许多领域,XSD 的采用早已超过 DTD,用于指定 XML 词汇表和语法。
但是,从技术上讲,已弃用 通常适用于由对标准、API、库或其他在其控制下的工件负责的一方的官方行为。 W3C 从未声明过要弃用 DTD,因此说 DTD 已弃用在技术上是不正确的。
撇开语义不谈,为您开始的任何新 XML 词汇和语法工作选择 XSD(或 RELAX NG 或 Schematron)。在这个时间点,DTD 不必被正式弃用就成为一个糟糕的选择。
关于xml - DTD 是否被弃用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42893680/