HTML 与 XHTML 仍然重要吗?

标签 html xhtml

<分区>

我想知道是否应该为标记语言操心,只要我生成有效的标记即可。

我读过指出 HTML 是最佳选择的文章,它们直接来自马口(浏览器实现者!):

James Bennet 的其他文章提出了另一个观点,即如果您不以 XML 的形式提供 XHTML,那么您需要的不是 XHTML,而是 HTML。

所以我想,如果我想触发标准兼容模式,我应该只使用 HTML 严格验证。但至少对于大多数现代浏览器(除 IE6 之外的所有浏览器)情况已不再如此:如果您拥有有效的 XHTML Strict,您仍然会触发标准兼容模式,因此,只要我生成有效的标记,何必呢?

最佳答案

我暂时一直严格使用HTML 4.01。 HTML 5 尚未确定。我曾经是一个顽固的 XHTML 用户,但我的理由已经消失,我变得更快乐、更有效率。

XHTML 的争论通常倾向于“更清晰的标记”或谈论格式正确的标记。这看起来主要是一个稻草人的论点,并且在彻底的殴打下站不住脚。

如果 XHTML 保证被 XML 解析器解析,它通常看起来不会比 HTML 4.01 strict 更干净(只是比较 strict 文档类型)。

一方面,必须将 URL 写成 http://example.com/?foo=bar&baz=qux 看起来很尴尬。声明实体类型已经过时了。

另一件事是,标记通常不能很好地转换为 XML 树,但 Dom 树很好。

HTML 4.01 strict 更易于使用和创建有效站点。您不必在
等元素上放置无意义的结束标记。仅放置反斜杠不会改变任何特定含义。

Yahoo and everything markupy 的 Douglas Crockford 表示,最好将标记视为一种应用程序交付格式。

因此,什么将是最容易交付的,并且更加稳健和可靠。这就是我最终做出决定的原因。所有 Web 浏览器都以不同方式处理 XHTML,并且需要修改 Content-type header 。如果您使用“text/xhtml”或“text/xml”,您会得到不同的结果。

此外,“text/xml”不能很好地与 REST 一起使用,因为这应该意味着数据的 XML 序列化,不是格式化标记页面(在我看来,Safari 弄错了这一点,通过在 text/html 之前请求 text/xml 作为所需的内容类型!)

因此,使用 HTML 4.01 是因为:

  1. 它在所有浏览器上的工作方式更加相似
  2. 不需要基于内容类型的处理(text/html 可以全面解决问题)
  3. 不像 XHTML 那样脆弱
  4. HTML 5 没有提供任何比 HTML 4.01 严格的重要内容

关于HTML 与 XHTML 仍然重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/413114/

相关文章:

javascript - 根据选择打印多个输入字段

javascript - 在另一个图像上生成一个图像并给出坐标

javascript - JQuery 同时显示/隐藏列表一中的图像

javascript - 为什么我的游戏中没有出现任何框?

html - Bootstrap 3 中的背景图像问题

java - 使用 <object> 标记的 Java Applet 中的 ClassNotFoundException

javascript - 跨浏览器文本(模糊)阴影

javascript - 如何访问div内的视频元素

xml - 如何将 XML 文档嵌入到 XHTML 文档中?

css - 丢失了我的 <div id=header> 从 HTML 5 切换到 XHTML 1 Transitional