首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTML和XHTML之间的区别是什么?

HTML和XHTML之间的区别是什么?
EN

Stack Overflow用户
提问于 2019-05-23 02:19:59
回答 1查看 635关注 0票数 1

注意:这应该是这个问题的标准帖子。许多答案已经存在,但对各种差异的描述比比皆是,而且往往还提供了“我应该使用哪一个”的意见,我将在这里避免使用。

如果你有更多的问题要问,或者你知道更多的不同之处,请随时编辑。

XHTML和HTML之间的区别是什么?XHTML不只是HTML的一个更严格的版本吗?如果XHTML的行为都一样,为什么会有不同的XHTML版本呢?

EN

回答 1

Stack Overflow用户

发布于 2019-05-23 02:19:59

和XHTML有什么不同?

有很多不同之处。

  • XML默认情况下有一个不同的命名空间,所以你必须使用xmlns="http://www.w3.org/1999/xhtml"命名空间,在
  • XML文档中显式使用xmlns="http://www.w3.org/1999/xhtml"是区分大小写的,而且你必须使用小写作为标记名和属性,甚至十六进制字符引用中的x
  • XML也没有可选的开始和结束标签,所以你必须在XHTML文档中写出所有它们没有空标签,因此,您必须自己使用slash.
  • Non-void来结束每个空元素。
  • XML可以包含CDATA部分,即用<![CDATA[分隔的纯文本部分。另一方面,XML中没有CDATA、PCDATA元素或属性,因此您必须到处转义]]>符号(除了在CDATA sections)
  • Quotes中,属性值在XML中不是可选的,并且没有属性最小化(仅名称attributes)
  • And
  • 解析器不能像HTML解析器那样容错。

然后有几个与XML无关的区别:

  • XHTML文档始终以标准模式呈现,从不以怪异模式呈现
  • XHTML不会查看头部的元命令来确定编码。事实上,在files.
  • Earlier文件中,W3C验证器会将<meta http-equiv="content-type" ...标记为错误,但在XHTML1.0严格版和HTML4.01版严格版中,XHTML5文件中的HTML5不匹配会导致验证问题。XTHML1.0的定义缺少<img><form>上的name属性。但这是一个错误,已在XHTML1.1中修复。

您不能在HTML文档中真正使用XHTML,因为浏览器不会通过查看内容来区分这两种语法,而只能通过文件类型来区分。

换句话说,如果您有一个HTML文件,那么无论其中是否包含有效的XML,它的内容都是HTML。

关于语法规则,值得一提的是标记名的大小写。这意味着在HTML语言中,像console.log(document.body.tagName);这样的JavaScript命令将输出"BODY",而在XHTML语言中,相同的命令将输出"body“。

不只是一种更严格的版本吗?

不是;XML与HTML有不同的规则,但它不一定更严格。如果说有什么不同的话,那就是XML的规则更少了!

在HTML中,许多功能是可选的。在XML中,您不必考虑这一点。XML更简单。

在HTML中,一些元素被定义为原始文本元素,即包含纯文本而不是标记的元素。

其他一些元素是可回避的原始文本元素,在这些元素中,诸如&#233;之类的引用将被解析,但诸如<b>bold</b><!-- comment -->之类的元素将被视为纯文本。如果您能够记住这些元素是什么,那么您就不必转义<符号(您也可以选择转义)。XML没有这样的内容类型,所以没有什么需要记住的,所有元素都有相同的内容类型。

XML以一种不同的方式解析注释。例如,HTML注释不能以<!--> (其中第一个字符是> )开头,而XHTML注释可以。

说到注释,您可以使用<!-- comment -->注释掉<script><style>元素中的代码块。不要在HTML中尝试这样做。(由于兼容性问题,在XHTML中也不推荐这样做,但您可以这样做。)

如果它们的行为都一样,为什么会有不同的版本呢?

他们不会!当前版本的XHTML (以前称为XHTML5)没有DTD,因此您必须使用数字引用,在本例中为&#233;&#160; (或者在DOCTYPE声明中自己定义这些实体)。X毕竟是eXtensible的意思)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56262792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档