首页 文章

DTD与RFDa和XHTML 1.0过渡支持

提问于
浏览
12

是否有可用于XHTML 1.0过渡支持和RDFa支持的W3C文档类型?

我知道XHTML RDFa 1.0(http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd)DTD,但这是XHTML 1.1,它与我当前的网站不兼容 . 似乎还有一个HTML4 RDFa 1.0(http://www.w3.org/MarkUp/DTD/html4-rdfa-1.dtd)DTD可用 .

我不服务XHTML 1.1的主要原因是Internet Explorer ofcourse,虽然如果没有别的办法,我可能会把它作为IE用户的text / html服务 .

2 回答

  • 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对此的态度 . 它表示您作为text / html提供的任何内容都是对象模型的HTML序列化,无论您声明的是什么DOCTYPE . 这实际上是浏览器所做的事情 .

    同样,您使用XML内容类型(例如application / xhtml xml)提供的任何内容都是XML序列化 . 具有xhtml命名空间的XML部分构成XHTML .

    因此,在实践中,只要标记符合多语言文档的要求,您就可以毫无困难地将XHTML RDFa 1.0作为text / html或application / xhtml xml提供 .

    这留下了验证 . 抛开RDFa,是否有任何标记你正在使用符合XHTML 1.0 Transitional但不符合XHTML 1.1的标记?如果是这样,你是否足够关心完美验证要么改变它们,要么放弃使用RDFa?据推测,您正在使用RDFa为您的用户带来好处,而验证本身就是一种便利工具 .

    最近我遇到了类似的情况,当时我决定将ARIA属性添加到我的XHTML 1.0页面 . 我决定Accessibility胜过有效性,我会添加属性,忘记确保我的页面100%有效 .

  • 1

    实际上,除非您关注DTD实现,否则各种XHTML版本之间几乎没有差异,并且几乎没有合理的理由不使用XHTML 1.1 . 您的网站以什么方式依赖于1.0过渡?如果你可以让你的网站有效率为1.0严格,那么从那里移动到1.1应该不会引起问题,因为基本上唯一的区别是模块化的DTD,它实际上没有任何缺点 .

    如果您仍在努力解决XHTML MIME的哲学问题,我不会担心,因为概念上使用更好的有组织的1.1 DTD提供错误的媒体类型并不比使用1.0更具犯罪性 . 实现RDFa的原因是因为将RDFa模块添加到XHTML 1.1 DTD只涉及向主模块添加几行 . 对1.0 DTD这样做会更难,而不是那么干净 .

    其他一些需要考虑的事项是XHTML 1.1第二版规范包括XML模式实现 . 此外,最新的XHTML RDFa 1.1工作草案最终完全放弃了指定doctype的(愚蠢)要求,因此您可以使用仅模式验证 . 如果你能想出一种使用XML / XHTML mimetypes的方法,这将非常有效,因为在支持它的浏览器上获得标准模式渲染时不需要doctype声明(所有这些都是IE8及以下版本) .

相关问题