XHTML的必要性是什么?

34

在一次采访中,我被问到一个我从未考虑过的问题,即“我们已经拥有了满足编写网页要求的HTML,那么XHTML有什么必要呢?”

我搜索了很多并阅读了很多文章,但我无法正确理解为什么会引入XHTML。请给我解释一下。

16个回答

2
XHTML强制你编写更干净、更易于维护、更一致渲染和更容易连接到DOM的代码。将XHTML与HTML进行比较就像将一个强类型编程语言与一个弱类型编程语言进行比较。
如上所述,XHTML允许您使用SVG和MathML。我想在列表中添加RDFa。 RDFa允许您为未被微格式覆盖的内容添加语义。我个人一直在使用Dublin Core和Friend-of-a-Friend。

1
简而言之:只有在您想要使用基于XML的工具在服务器端操作/转换/生成HTML页面时,XHTML才比HTML更有益且更受欢迎。
许多示例可以在基于组件的MVC框架中找到,例如Facelets作为基于XHTML的视图技术的Sun Oracle JSF。服务器端组件在XSD中定义,页面使用SAX解析器进行解析。您甚至可以在页面顶部添加<!DOCTYPE html>以让Facelets生成“纯”有效且严格的HTML5。Microsoft ASP.NET MVC也有类似的视图技术。
当您手写HTML时,XHTML并没有太多好处,除非它推迟了使用(过度)炒作的技术的“酷炫程度”。
另请参见:

1

XHTML只是关于系统之间的通信。 HTML很难解析,因为可能会出现许多变化,导致格式不正确。由于XML在其解释方面是严格的,因此这个问题已经被解决。

考虑RESTful架构。如果URL是项目的永久位置,则希望访问此项目的系统应能够使用从访问URL返回的信息。 XHTML本身并不能实现这一点,因为系统可以已经解析HTML并检索所需的信息。 XML使这更容易。没有限制预定义的标记集,使得在文档中对数据进行分类变得困难(尽管在技术上你可以在HTML中做到这一点,因为浏览器将忽略它)。您可以使用任何您想要的来对检索到的数据进行分类。


0
如果我想要爬取你的网站并解析其内容,只有当它是XML格式时才能实现。
解析HTML是一场噩梦。

HTML解析器应该在几乎任何语言中都可以使用。 - Casebash
重点是:它们不是容易编写的。XML解析器已经随我的操作系统一起提供了,已经经过广泛测试、支持,并且获得安全更新。而我偶然从某个网站上的人那里找到的HTML解析器并没有这些功能。如果我编写一个HTML解析器:我将遵循HTML规范。 - Ian Boyd

0

XML 是一种数据交换格式 - 这非常适合构建网站,因为毕竟我们正在处理信息,并且这些信息需要被计算机(如搜索引擎)爬取和理解。


-4

因为XHTML更加合理!

问题是,即使某些东西可能不提供任何更多的技术可能性,如果重新制作成更清晰和更逻辑化,仍然是一种改进。这就是为什么即使它不改变任何功能,代码重构也是一个好主意。这就是为什么 Brainfuck 不是一个好的编程语言,即使它具有Java的所有功能。

XHTML更合理,因为标签及其属性的基本结构始终保持一致-不依赖于标签语义。一旦您熟悉了它与HTML的差异,它的更合理之处就非常明显,但例如标签总是有序嵌套,所有标签都必须关闭,名称必须小写,属性值必须在限定字符周围。


嗯,确实,这并不是很有用。但我仍然坚持它,并且它也有一定的意义。我会尝试详细阐述一下。 - Ilari Kajaste

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接