12

对于使用 HTML4 并计划使用 HTML5 的人,是否有任何理由考虑与 XHTML 相关的 Web 开发细节?

还是 XHTML 是 Web 技术中的“侧面”开发,与当前的 Web 开发主流(我猜是 HTML5)无关?


问的理由

我问的原因是我之前发布的 StackOverflow 答案最近被评论为“你不应该使用大写 HTML 标签”。当我问“为什么”时,评论者向我指出了几篇文章,这两篇文章都给出了仅使用小写标记名称的原因,因为“ XHTML 中不允许使用大写标记名称”作为主要原因。

由于我目前不使用 XHTML(纯 HTML4.0)进行 Web 开发,并且只计划使用 HTML5 作为下一步,因此我对 XHTML 是否应该成为我在 Web 开发方面做出的各种决策中的一个因素感兴趣

请注意,这个问题并不是在询问是否应该在纯 HTML 中使用大写或小写标签名称 - 只是在 XHTML 中禁止大写标签是否应该是我决策的一个因素,或者我应该忽略 XHTML 相关规则。

4

4 回答 4

8

您将在 XHTML 上找到的大多数信息都没有提到 XHTML 的全部目的是供人类和计算机用于数据交换。XHTML 的创建是为了让计算机可以相互通信,但同时仍然可供人类阅读。最疯狂的是,各种代码修士都沉迷于 XHTML 合规性,没有任何使用 XHTML 进行数据交换的打算,也不了解 XHTML 究竟是什么。

编辑: XHTML 使用的一个很好的例子是航空公司发布其航班。该公司可以利用 XHTML 生成一个单一的航班列表,这些航班既可供在线访问的人使用,也可供根据需要读取数据的服务使用。

另一方面,如果您拥有一家美发沙龙,则您的站点无需针对 XHTML 标准进行验证。

于 2012-05-13T02:40:02.470 回答
2

直接而言,在为 HTML5 的 HTML 序列化标记文档时,没有理由考虑 XHTML 规则。¹但是,使用小写作为标记似乎是现代做法,这在一定程度上受到了 XML 和 XHTML 的影响。因此,如果您发现自己在一个庞大的开发团队中工作,那么团队的编码指南很可能会为了保持一致性而强制使用小写字母。因此,养成这样做的习惯可能是值得的。

¹ 请注意,也有可能使用 HTML5 的 XHTML 序列化,在这种情况下当然很重要,但我认为这不是您要问的。

于 2012-05-13T10:35:03.990 回答
1

据我所知,XHTML 旨在成为 HTML 的特性和 XML 的严格性之间的一种结合。例如,您可以在 HTML 中编写<b><i>test</b></i>,浏览器不会在意,它知道您的意思。而在 XHTML 中,这会导致错误并阻止整个页面显示。

然而,大多数浏览器也只是容忍 XHTML 中的错误,所以它变得毫无意义。

就个人而言,我可以选择使用小写而不是大写的唯一原因是因为我懒得按住 Shift 键并且我将 CapsLock 键重新映射到更有用的东西。

于 2012-05-13T01:54:43.357 回答
1

根据我个人对 XHTML 的观察,它的唯一“好处”是多功能性——例如,据我了解,可以相对轻松地创建自定义标记/元素或属性,并且仍然可以使用 XHTML 进行验证。

我认为不需要自定义标签,因为如果没有一个不符合语义的标签(尽管由于 HTML5 在语义标记方面的改进,这种情况很少见),您可以使用 a divorspan并使用 a classorid来制作它”合身。” 而且 HTML5 确实允许自定义属性。

所以我认为 HTML5 和 XHTML 之间没有直接关系——或者至少,我认为不应该有直接关系(无论如何,XHTML 1.0 是 HTML 4 和 XML 的组合)。该规范不推荐其中一个,它只是指出在 HTML5 中,它们不区分大小写。

我个人使用小写标签名称有两个原因:

  1. 每次都按住 shift 是一件令人讨厌的事情(尽管有人可能会争辩说你按住 shift 是为了得到尖括号,但无论如何)。
  2. 这是一种风格偏好——我真的认为小写标签名称和小写文档类型 ( ) 看起来更简洁<!doctype html>。大写的标签名称真的很过时,你再也看不到它们了。这可能只是像我这样的新一代程序员的事情。

无论哪种方式,您都不应该在意适用于您甚至没有使用的文档类型的规则。

于 2012-05-13T02:09:27.917 回答