1
10
我不相信有这样的DTD,不。 HTML正变得越来越零散,为每种可能的组合创建DTD将不现实。HTML5不是基于SGML的,有效地放弃了DTD。在将来,验证器可能必须进行更改,以便调用RDFA和ARIA等组件集合,并在结果中指出需要哪些集合来允许每个特定的标记片段保持一致。 不幸的是,我们目前确实处于过渡点,所以没有一个清晰的解决方案来解决您的问题。但是,一定数量的实用主义会给你带来很大的帮助。 现在,xhtml+rdfa 1.0可以由dtd定义为xhtml 1.1的扩展,但它实际上不是xhtml 1.1,也不是xhtml 1.0过渡或严格,或者实际上不是“xhtml+rdfa 1.0”。 所以你可以采取务实的服务方式。考虑一下HTML5对此的态度。它指出,无论您声明什么doctype,您作为text/html的任何东西都是对象模型的HTML序列化。实际上浏览器就是这样做的。 类似地,与XML内容类型(如application/xhtml+xml)一起使用的任何内容都是XML序列化。XML中那些具有XHTML名称空间的部分构成了XHTML。 因此,在实践中,只要标记满足polyglot文档的要求,就可以毫无困难地将xhtml+rdfa 1.0作为文本/html或应用程序/xhtml+xml提供服务。 这就剩下验证了。撇开RDFa不谈,您是否使用了符合XHTML 1.0过渡但不符合XHTML 1.1的标记?如果是这样,您是否足够关心完美的验证来更改这些验证,或者放弃使用RDFA?假设您使用RDFA是为了您的用户的利益,而验证实际上是您自己的一个方便工具。 最近,我遇到了一个类似的情况,当时我决定向XHTML 1.0页面添加aria属性。我认为可访问性胜过有效性,我会添加属性,忘记确保我的页面100%有效。 |
2
1
实际上,除非您关心DTD实现,否则不同的XHTML版本之间几乎没有区别,而且几乎没有任何有效的理由不使用XHTML 1.1。你的网站以什么方式依赖于1.0过渡?如果你能让你的站点在1.0严格的情况下有效,那么从1.1严格到1.1不应该引起问题,因为本质上唯一的区别是模块化的DTD,它确实没有缺点。 如果你还在为XHTML mime的哲学问题而苦苦挣扎,我不会担心,因为从概念上讲,用组织得更好的1.1dtd服务于错误的媒体类型与1.0相比,更不算犯罪。之所以实现RDFa,是因为将RDFa模块添加到XHTML 1.1DTD中只需要向主模块添加几行。对1.0 DTD这样做会更困难,也不会那么干净。 其他一些需要考虑的事情是XHTML 1.1第二版规范包含一个XML模式实现。另外,最新的XHTML+RDFa1.1工作草案最终放弃了对指定doctype的(愚蠢的)要求,因此您可以使用仅模式验证。如果您能找到一种使用XML/XHTML mimetype的方法,这就非常好地解决了,因为在支持它的浏览器(除了IE8和以下版本外,所有浏览器都不需要doctype声明)上进行标准模式呈现。 |
Arghya Saha · 如何在默认设置后创建粘贴事件? 7 年前 |
Max Koretskyi · 为什么在屏幕上呈现用户选择? 7 年前 |
navidof · 双斜杠(//)作为XML注释 7 年前 |
CodyBugstein · 记录结束标记结束内容的正确方法 10 年前 |
bprayudha · 在HTML5中有效的重要性是什么? 10 年前 |