【发布时间】:2011-04-27 23:25:02
【问题描述】:
我可以选择根据official XHTML 1.1 DTDs(我使用复数形式,因为“主要”DTD 实际上包括其他几个)或official XHTML 1.1 XML Schemas 来验证XHTML 1.1 文档。
现在我知道 XML Schema 语言更具表现力和功能,因此可以检查更多内容。我想知道的是这些“额外”功能是否真的在官方模式中使用。换句话说,验证这些模式会比验证这些 DTD 检查更多的东西吗?
【问题讨论】:
我可以选择根据official XHTML 1.1 DTDs(我使用复数形式,因为“主要”DTD 实际上包括其他几个)或official XHTML 1.1 XML Schemas 来验证XHTML 1.1 文档。
现在我知道 XML Schema 语言更具表现力和功能,因此可以检查更多内容。我想知道的是这些“额外”功能是否真的在官方模式中使用。换句话说,验证这些模式会比验证这些 DTD 检查更多的东西吗?
【问题讨论】:
要求使用 DTD 进行验证的任何内容也应使用架构进行验证。
文档必须符合附录 C 中表达的约束。
附录 C 包含 DTD。没有提及符合附录 D 中的模式。因此,来自模式的任何额外约束都不会具有约束力,因为文档只需要满足 DTD。
(已编辑)
【讨论】:
DTD 和 XML 模式的 XHTML 1.1 页面都声明“本附录是规范性的”。这意味着他们应该执行相同的验证检查。
所以回答你的问题:不。
【讨论】:
有很多东西只能用模式来表达,这意味着对模式进行验证总是会给你一个关于 XML 文件有效性的更好的响应。
【讨论】: