XHTML和HTML5之间的关系是什么?

时间:2012-05-13 01:49:47

标签: html html5 xhtml

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

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


提问的理由

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

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

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

4 个答案:

答案 0 :(得分:8)

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

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

另一方面,如果您拥有美发沙龙,则您的网站无需根据XHTML标准进行验证。

答案 1 :(得分:2)

直接地,在为HTML5的HTML序列化标记文档时没有理由考虑XHTML规则.¹但是,对于标记使用小写似乎是现代的做法,并且这部分受XML的影响和XHTML。因此,如果您发现自己在一个庞大的开发团队中工作,那么团队的编码指南很可能会为了一致性而强制执行小写。所以,养成这样做的习惯可能是值得的。

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

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:1)

从我个人观察到的XHTML,它的唯一“好处”是多功能性 - 例如,我的理解是,相对容易,可以创建自定义标签/元素或属性,并仍然验证XHTML。

我认为不需要自定义标签,因为如果没有一个不符合语义的标签(尽管由于HTML5在语义标记方面的改进,案例很少),你可以使用divspan并使用classid使其“合适”。 HTML5确实允许自定义属性。

所以我认为没有直接的关系 - 或者至少,我认为不应该在HTML5和XHTML之间(并且无论如何,XHTML 1.0应该是HTML 4的组合)和XML)。该规范不建议使用另一个,它只是注意到在HTML5中它们不区分大小写的事实。

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

  1. 每次举行轮班都很麻烦(尽管有人可能会说你有机会获得角括号,但无论如何)。
  2. 这是一种风格偏好 - 我认为它看起来更清晰,包括小写标签名称和小写doctype(<!doctype html>)。大写标签名称实际上是老式的,你不再真正看到它们了。对于像我这样的新一代程序员来说,这可能就是一件事。
  3. 无论哪种方式,您都应该不介意适用于您甚至不使用的doctype的规则。