1 XHTML依然健在
本篇文章主要针对HTML5时代的XHTML做一详细介绍。
1.1 再一次确认XHTML是否存在
XHTML,简单说来是一种利用HTML的标签来书写的一种XML文件(严格说来,这应该是XHTML1.0的定义。XHTML1.1与XHTML2的技术与XHTML1.0所使用的技术并不相同,这里不做记述)
在使用HTML5之前,由于W3C的热心帮助,业界强烈推荐使用XHTML。但是由于占据Web浏览器市场最大份额的Internet Explorer(以下简称IE)一直到IE6才对XHTML提供支持,所以从本质上来说阻碍了XHTML的发展。
另一方面,XHTML具有:1.与XSLT等等XML相关技术的高度的结合性 2.因为使用严谨的语法,所以可以很好地使用Dreamweaver等等进行开发等等优势,另外,IE也从版本7与版本8开始渐渐对于XHTML?Web标准进行对应,在IE9中这种对应更是得到了强化。
由于这些事实,所以可以再次确认XHTML今后仍将存在,Web开发者与设计者仍然可以很好地使用XHTML来进行Web开发工作。
1.2 HTML5时代的XHTML语法
在《HTML5 CSS权威指南》一书中我们说过,从HTML5开始,使用更加紧凑的HTML语法,那么可能会在大家心里削弱XHTML的存在感。但是事实上,XHTML依然将会很好地存在。方法是使用HTML5中的XHTML语法。
在HTML4中的XHTML使用HTML4中的标签,相应地,在HTML5中,使用html5中的标签,这些标签不再是根据DTD来定义,而是根据DOM(Document Object Model)来定义。
2 HTML5时代的XHTML―XHTML5
在HTML5时代的XHTML被称为XHTML5,接下来,我们对其做一介绍,因为既然HTML的语法发生了变化,那么相应地,XHTML5的语法也会发生较大的变化。
2.1 XHTML5的MIME标签
文件中的MIME标签(“text/xml”,“application/xml”等等)以“+xml”4文字为结尾的时候(例如“application/xhtml+xml”),浏览器将文件判断为XHTML文件。
2.2 XHTML5的文字编码的指定
文字编码的指定是由文件开头中的XML声明来进行的。在HTML语法中的<meta>元素的指定方法(<meta charset=”文字编码方法”/>)在XHTML中不能使用。XHTML中的文字编码的指定如下所示。
<?xml version="1.0" encoding="UTF-8"?>
2.3 XHTML5的DOCTYPE
HTML5中不再支持DTD,DOCTYPE中的声明方法如下所示。
<!DOCTYPE html>
同时,现在的W3C的文件检查器中,根据DOCTYPE中的声明方法是否为“<!DOCTYPE html>”来区别是否为HTML5文件。因此,在使用HTML5来书写XHTML5文件的时候,需要使用同样的DOCTYPE声明方式。
2.4 XHTML5的命名空间
XHTML的元素的命名空间为“http://www.w3.org/1999/xhtml”。一般来说默认使用这个命名空间来指定根元素<html>。
<html xmlns="http://www.w3.org/1999/xhtml">
2.5 XHTML5的结构与语法
关于语法,当然要使用XML语法。与HTML5语法不一样,必须使用属性的引用符,结束标签不能省略。另外,对于不带内容的空元素来说,可以将“<元素名></元素名>”的书写方式改为“</元素名>”的书写方式。另外,HTML5语法中可以省略的<head>元素与<body>元素,在XHTML5中不能省略。
3 将XHTML5文件在Web上进行检查
总结本篇文章所介绍的内容,书写XHTML5文件如下所示。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XHTML5标签示例</title>
</head>
<body>
<p>本文件使用XHTML5语法进行书写。</p>
</body>
</html>
接下来,我们使用W3C的“Unicorn”服务中的文件检查功能对这个文件做一检查。如下图所示。
验证XHTML文件
点击验证后,验证结果如下图所示,表示文件合格。
验证XHTML5文件合格
另外,请注意验证结果中将这个文件判定为HTML5文件。这是因为文档中DOCTYPE的声明是HTML5格式的(<!DOCTYPE html>),所以验证器将这个文件解释为(X)HTML5文件。
4 XHTML将继续发挥作用
本篇讲述了在HTML5时代关于XHTML的使用方法。即使在HTML5时代,XHTML仍将继续发挥作用。因为使用XHTML的确存在很多优势,在开发工具和各种框架之中使用XHTML也非常方便的,同时与其他的XML技术经过无缝结合之后,无疑可以制作出语义性非常高的Web网站,Web应用程序。
武汉asp.net