我不相信有这样的DTD,不。
HTML 变得越来越碎片化,为每种可能的组合创建 DTD 将变得不切实际。HTML5 不是基于 SGML 的,并且有效地放弃了 DTD。将来,验证器可能必须进行更改,以便调用 RDFa 和 ARIA 等组件集合,并在其结果中指出需要哪些集合才能使每个特定的标记符合要求。
不幸的是,我们目前确实处于过渡点,因此您的问题没有干净的解决方案。但是,一定程度的实用主义会让你走得很远。
现在,DTD 可以将 XHTML+RDFa 1.0 定义为 XHTML 1.1 的扩展,但它实际上不是 XHTML 1.1,也不是 XHTML 1.0 过渡或严格,或者实际上不是“XHTML+RDFa 1.0”。
所以你可以采取务实的服务方式。考虑一下 HTML5 对此的态度。它表示任何作为 text/html 的内容都是对象模型的 HTML 序列化,而不管您声明的任何 DOCTYPE。这实际上是浏览器所做的。
同样,您使用 XML 内容类型(例如 application/xhtml+xml)提供的任何内容都是 XML 序列化。XML 中具有 xhtml 名称空间的那些部分构成了 XHTML。
因此,在实践中,您可以毫无困难地将 XHTML+RDFa 1.0 作为 text/html 或 application/xhtml+xml 提供,前提是标记满足多语言文档的要求。
这就留下了验证。撇开 RDFa 不谈,您使用的标记是否符合 XHTML 1.0 Transitional 但不符合 XHTML 1.1?如果是这样,你是否足够关心完美的验证来改变这些,或者放弃使用 RDFa?假设您使用 RDFa 是为了让您的用户受益,而验证本质上是一种方便您自己的工具。
当我决定将 ARIA 属性添加到我的 XHTML 1.0 页面时,我最近遇到了类似的情况。我认为可访问性胜过有效性,我会添加属性而忘记确保我的页面 100% 有效。