大多数网页设计师使用HTML5的人往往认为他们的工作与当今最先进的标记语言。事实上,HTML5词汇可以被用来与HTML和XML序列化,并且后者,称为XHTML5,比HTML5更先进,更精确。
在HTML5开发很*,因为HTML5可以写HTML或XML的语法(分别是HTML5和XHTML5的)。XHTML5是HTML5的XML序列化。语法描述HTML5的规范。然而,人们应该不会困惑,因为XHTML5是作为XML的应用程序。换句话说,HTML5和XHTML5的具有相同的词汇表(一组相同的元素和属性),但不同的解析规则。HTML5文件也可能是有效的XML文档。这种标记通常被称为“通晓多国语言的”语言。是重叠的语言是在同一时间的HTML5和XML文件的文件。HTML5和XHTML5的序列化跨兼容。然而,XHTML5有一个严格的语法。此外,在HTML5中的某些部分如处理指令XHTML5是无效的。
用作XML的文件,如应用程序/ xhtml + xml MIME类型,被视为浏览器的XML文档,也就是说,他们是解析XML处理器。重要的是要记住,XML和HTML的处理方式不同。事实上,即使是小的语法错误会阻止一个XML文档(或声称是XML)被正确呈现。与此相反,这类文件的错误将被忽略的HTML语法中。分析错误的XML文档可以很容易地导致死亡的“黄屏”。
语法和限制
虽然大多数HTML元素可以一直使用在相应的XHTML 1.0风味(HTML 4.01过渡元素的XHTML 1.0过渡和HTML 4.01严格元素在XHTML 1.0 Strict标准),引入一些元素在XHTML规范,独家应用到XHTML。HTML和XHTML词汇之间的差异完全消失与引进最新的标记版本,HTML5和的XHTML5;因为HTML5和XHTML5有完全一样的元素和属性。然而,XHTML5是标记语言的顶峰。虽然一些开发商错误地认为XHTML作为一个过于冗长的语言,它是不是只有严格的,但也比HTML5更精确。可以概括HTML5和XHTML5之间的主要区别如下。
良构性是必需的。所有元素都必须关闭。嵌套应该做的正确的顺序。重叠元素是不正确的XHTML5。
名称是小写。由于XML是大小写敏感的,所有XHTML5元素和属性的名字都必须是小写。
结束标记是必需的。在HTML5中,几个元素的结束标记可以被省略,这是不允许的XHTML5。结束标记(类似非空元素)或通过速记符号,可以关闭所有元素中声明的规格为空元素(元,链接,BR,HR,IMG,输入),换句话说,空间斜线字符前被插入到结束的声明。没有结束标记的标签也被称为自结束标签。在XHTML5,所有未结束的元素是不正确的,包括未结束的空元素。脚本元素,以适用于完整形式(结束标记)或速记符号,根据参数的数目和行为的元素。
属性值必须被引用的所有属性值必须包括在XHTML5不允许XHTML5无报价属性值。
属性简写是不允许的,必须写全属性-值对。如紧凑型和检查的属性的名称,不能使用,在不指定它们的值的元素。
空格处理在XHTML5更先进的前导和尾随空白字符在XHTML5剥离。相比之下HTML5,空白字符在XHTML5属性值被归为单个空格。根据XML规范,一个单一的词间空间(X20)追加空格字符序列(#X20#XD,XA##X9)。
脚本和样式元素XHTML5比HTML5的处理方式不同, 尽管脚本和样式的HTML元素的内容类型为字符数据(CDATA),它是处理字符数据(#PCDATA)XHTML5。定义的脚本和样式元素#PCDATA的内容,换句话说,<作为标记代码的开始处理,而作为一个实体确认<。XML处理器识别这些CDATA节。他们都表示为节点的文档对象模型(DOM)。另外,外部脚本文件/样式表文件,可以使用,消除非转义脚本或样式内容的需要。
标识符必须声明的id属性上标记元素定义一个片段标识符时,XHTML文档必须使用id属性。
元素禁令适用。元素在XHTML5,不能任意嵌套。这些谁不熟悉XHTML5的经常犯嵌套错误。嵌套的规则不应该被混淆的重叠,这是严格禁止在XHTML5。不像在HTML5中,文本不能直接提供在XHTML5身上没有包裹在容器元素(如P)。
大多数特殊字符必须直接写入的标记,而不是使用字符实体,强烈建议直接使用的字符使用UTF-8编码。
破折号意见是有限的。只在XHTML注释的开头和结尾,可以提供双破折号。
字符编码声明
XHTML5文件的字符编码可以在许多方面决定:
使用HTTP标头
使用文档中的声明pragma指令
元charset属性
XML声明
老样的声明(META HTTP-当量)应使用在顶部的头元素。XHTML5还提供了一个新指定的元的charset属性(其中之一可以被使用,但在同一时间只有一个)。还应当确保整个声明适合于文档的第一个512个字节的。meta元素声明这种不能使用头元素XHTML5文件中的字符编码是UTF-16。开头的UTF-16编码文件的字节顺序标记应出席。XHTML文档的编码声明取决于它的MIME类型,他们的送达。如果他们担任为text / html,pragma指令可用于在顶部的头元素。XHTML文档可以使用XML编码声明该文件的第一行的XML声明。应确保在报关前(可以用一个字节顺序标记),有没有其他内容。
在尽管优势XHTML5,HTML5已经成为推荐的标记语言,由于其简单,适合日常用途。然而,网页设计师应该牢记良构性,适当的文档结构,并使用正确的元素应该始终在标记,无论所使用的序列化,即使HTML解析器是比XML解析器“更宽容”。
附赠:W3C HTML文档