为啥 HTML5 和 XHTML 2 是不同的标准?
Posted
技术标签:
【中文标题】为啥 HTML5 和 XHTML 2 是不同的标准?【英文标题】:Why are HTML5 and XHTML 2 separate standards?为什么 HTML5 和 XHTML 2 是不同的标准? 【发布时间】:2010-10-03 02:30:05 【问题描述】:这两个标准分开制定有什么原因吗?他们似乎在解决同样的问题,但有什么区别?如果他们要保持独立,他们希望在未来的 Web 开发中扮演什么角色?
【问题讨论】:
【参考方案1】:本文仅回答部分问题。它没有解释这两个标准在未来可能扮演的角色。:
X/html 5 Versus XHTML 2
至于可能的角色,人们说:
W3C 开始研究 XHTML 2,放弃了向后兼容性 有些人不喜欢这样,开始定义 HTML 5 最终,W3C 也被说服采用 HTML 5 浏览器供应商似乎落后于 HTML 5(但不是 XHTML 2)如果浏览器供应商不支持 XHTML 2,那么我不知道它的作用是什么。另一方面,XHTML 2 可以或多或少地转换为 XHTML 1,例如使用 XSL 转换,所以在我看来,任何人都可以(如果愿意)比 HTML 5 更容易支持。
【讨论】:
您无需将 XHTML5 转换为任何东西,就可以将其提供给 XHTML 1.0 用户代理并让旧功能正常工作。新功能显然行不通。否则,它们不会是新的。 :-)【参考方案2】:HTML 5 在构建时考虑了向后兼容性,与 XHTML 2 不同,XHTML 2 的创建是为了摆脱与向后兼容性相关的限制。
W3C 允许使用XHTML 2 working group to expire,基本上结束了 XHTML 2 的开发。具有向后兼容性和新功能的 HTML 5 将成为未来的文档类型。
【讨论】:
【参考方案3】:XHTML2 已死。
看看 Jeremy Keith 的 HTML5 FOR WEB DESIGNERS 的第一章,它以总结的方式很好地解释了这些差异。
【讨论】:
【参考方案4】:这在很大程度上是一个准确的解释,IMO,但应该注意的是 HTML5 不向后兼容 - 即使在 IE7 中,像 section 这样的新元素也无法使用 CSS 设置样式。是的,有 javascript 的变通方法,但这些还不够,因为不是每个人都启用了 JavaScript,也不是每个开发人员都会意识到这些,同样也不是每个开发人员都有能力以这种方式使用 JavaScript。
【讨论】:
那么一个相当无聊的新元素,比如在 IE7 中不能styled 的部分,会让 HTML5 向后不兼容?嗯,我会接受这一点。 :) 所有新的主要结构元素都无法在 IE 7 及更早版本中设置样式 想象一下,无法以任何方式设置 DIV 元素的样式 - 它们会非常有用吗? HTML5 向后兼容,因为在 HTML 4.01 中工作的每个元素也将在 HTML5 中工作。【参考方案5】:浏览器供应商非常关心向后兼容性。指定 XHTML2 的小组没有。
请注意,XHTML2 并没有解决 HTML5 解决的所有问题。 HTML5 的范围比 XHTML2 广泛得多。 HTML5 涵盖了处理模型、JavaScript API、视频、音频、应用程序小部件等,但 XHTML2 没有。
至于预期的角色,来自***浏览器供应商的代表参加了 HTML WG,但不参加 XHTML2 WG。另一方面,对“背板”表现出兴趣的人正在参与 XHTML2 WG。
另见David Baron’s post about how the W3C works。
【讨论】:
以上是关于为啥 HTML5 和 XHTML 2 是不同的标准?的主要内容,如果未能解决你的问题,请参考以下文章