XHTML,HTML和XML之间的实际区别

时间:2010-01-22 04:50:13

标签: html xml xhtml comparison

所以这就是我的理解(请纠正错误):

  • HTML5是HTML的最新版本(或至少即将发布),包含XHTML尚未提供的功能
  • XHTML用作MIME类型text / html等于HTML用于呈现
  • 从text / html转换为application / xhtml + xml很困难,因为它不是HTML
  • XML与HTML
  • 不兼容

所以我的问题是,除了使用标签之外,XHTML与HTML有什么关系?使用XHTML而不是XML的实际目的是什么?或者没有?

4 个答案:

答案 0 :(得分:4)

是的,HTML5将具有XHTML尚未拥有的功能(甚至是元素/标签)。它还将重新引入HTML4中的一些标记,这些标记已被删除,用于XHTML。 (iframe,就是其中之一,我认为)

如果您想了解HTML4 / XHTML和HTML5之间的差异,请阅读HTML 5上的维基百科条目:http://en.wikipedia.org/wiki/HTML_5#Differences_from_HTML_4.01.2FXHTML_1.x

但是,不,XHTML不等于HTML用于渲染。 http://hixie.ch/advocacy/xhtml

XHTML比HTML更多XML。它主要使用(大部分)来自HTML的元素('tags'),同时尊重XML的更严格的语法和语义。

为了呈现的目的, 等于HTML4。如果您使用mime类型的XHTML - 因为它是XML - 如果您做错了,最终会出现令人讨厌的解析错误:

A nasty XHTML parse error

...但是尽管使用XHTML这个问题可以导致浏览器之间的行为比HTML4更加一致;由于HTML4并不严格,浏览器很难解释模糊标记,浏览器的开发人员最终可以自由选择如何处理这些歧义。这会导致不一致,但是使用XHTML(即XML) - 浏览器应该拒绝呈现页面 ,如果它不明确。

XHTML可能会导致旧浏览器出现问题,尤其是空元素(自闭标签),例如<br />;旧浏览器不知道如何处理/,可能会认为它是标记名称的一部分,然后就会丢失换行符。

最后,我不知道你的意思是“从text / html转换为application / xhtml + xml很难,因为它不是HTML”但我鼓励你查看这本书"Refactoring HTML" by Elliotte Rusty Harold ...它似乎是一个300多页的问题答案;)

答案 1 :(得分:1)

  

HTML5是最新版本(或至少即将发布)

草案。不稳定。可调整的。不会很快发布

  

XHTML用作MIME类型text / html等于HTML用于呈现

或多或少。编写HTML compatible XHTML比编写HTML或XHTML更有用,并且不允许您使用任何有趣的XHTML。

  

从text / html转换为application / xhtml + xml很困难,因为它不是HTML

从HTML转换为XHTML实际上非常简单。 Tidy可以为大量文档(包括所有有效的HTML文档)执行此操作。

  

XML与HTML

不兼容

更确切地说,HTML不是XML。

  

所以我的问题是,除了使用标签之外,XHTML与HTML有什么关系?使用XHTML而不是XML的实际目的是什么?或者没有?

使用XHTML而不是XML的优势与在一堆金属和塑料上使用汽车大致相同。 XML是用于构建标记语言的工具包。

使用XHTML而不是HTML的优势在于,您可以将不同的标记语言混合到一个文档中,因此(例如)您可以拥有XHTML + SVG + MathML文档。这要求客户端支持所有相关语言(或不受支持的语言优雅降级)。

不幸的是,自Internet Explorer以来,这对大多数项目来说都是不切实际的......

doesn't support XHTML http://dorward.me.uk/tmp/xhtml/msiexhtml.png

答案 2 :(得分:0)

不,HTML5不具备XHTML所没有的功能,因为它在同一文档中定义了XHTML5。

答案 3 :(得分:0)

从程序员的角度来看: HTML在设计上有较弱(很少或没有)结构约束,或者至少网络浏览器不需要这些约束来产生某种形式的输出。每个浏览器都有自己的逻辑,试图将缺失的结构拼凑在一起。

XHTML强制执行更严格的结构约束......并且是XML的一个子集 - 它比HTML更严格。更严格的语义允许:

  1. 跨浏览器的更一致的算法 - 这意味着浏览器实现之间的一致性更高。
  2. 每次渲染的时钟周期更少 - 这意味着更低功耗的设备可以更好地处理渲染网页
  3. 更严格的结构语义是“语义网”的必要条件,这意味着可以利用结构来从网页中一致地提取有用的信息。
  4. 根据我的理解,XHTML5扩展了HTML以使Web更具交互性,并且它可能比HTML更重要XHTML,因为更严格的语义应该从get get强制执行。 XHTML5为协议增加了许多显着的变化。

    就XML的HTML与HTML而言 - 浏览器需要一些基本的固定文档结构来理解文档,或许这不像以前那么重要:我的意思是XSLT CSS可以将文档换肤为Web浏览器的可显示输出。但是,文档应该具有一些固有的文档固定结构,这对于没有现代Web技术的浏览器是有意义的。 HTML4允许对文档进行结构化,因此lynx等基本浏览器可以显示文档 - 毕竟lynx没有机会呈现CSS和样式元素,如图像。

    XHTML5在另一个联盟中,可能完全排除了基本的浏览器 - 但它的固定标签词汇表为网络浏览器,网络开发人员和设计师提供了意义。网络浏览器可能需要某些标签来启用新的时髦功能 - 但是词汇本身比仅仅将网页视为 ad hoc XML文档更优雅。

相关问题