DTD是否已被弃用?

时间:2017-03-19 23:34:51

标签: xml xsd deprecated dtd

What is difference between XML Schema and DTD?中,两位回答者声明DTD"已被弃用"。其中之一,用户vtd-xml-author,声明

  

DTD几乎被弃用,因为它的用途有限[...]

用户Jesse Chisholm评论

  

弃用?没有。[XDR已被弃用]走出时尚?也许[...]

What is DTD exactly?中,用户AlexR对答案的评论如下:

  

请注意,不推荐使用DTD,而是使用声明性更强且功能更强大的XSD。

在这种情况下,没有人表示不同意。

DTD是否已被弃用?这肯定是事实,而不是意见。据推测,W3C或其他标准机构有权决定DTD是否实际上已被弃用。当然,在给定的上下文(例如,特定的软件系统)中使用DTD可能会被弃用,而DTD本身不会在该(或任何)上下文之外被弃用。

1 个答案:

答案 0 :(得分:5)

DTD尚未正式弃用,但现在有更好的选择来指定XML词汇和语法而不是DTD。

通俗地说,已弃用通常用于指代不再鼓励的旧方式。在这种意义上,可以说DTD已被弃用。 XSD比DTD更具表现力。 (RELAX NG和Schematron也是更好的选择。)此外,XSD的采用早已超过DTD,用于指定多个领域的XML词汇表和语法。

但从技术上讲,已弃用通常适用于负责人的官方行为,适用于其控制下的标准,API,库或其他工件。 W3C从未声明DTD被弃用,因此说弃用DTD在技术上是不正确的。

除了语义之外,选择XSD(或RELAX NG或Schematron)来开始任何新的XML词汇和语法工作。在这个时间点,DTD不必被正式弃用为一个糟糕的选择。