前两篇博客,主要讲了XTHML的注意事项,及基础语法,书接上文,这篇博客将继续XHTML的介绍。本章内容为“WWW”——“Why、What、How”。
一、Why——为什么使用XHTML
XHTML 是 HTML 与 XML(扩展标记语言)的结合物。XHTML 包含了所有与 XML 语法结合的 HTML 4.01 元素。而我们都知道万维网上的许多页面都包含着糟糕的 HTML 代码。下面的 HTML 代码仍然可以工作得很好,即使它没有遵守 HTML 规则:
<html>
<head>
<title>This is bad HTML</title>
<body>
<h1>Bad HTML
</body>
XML 是一种标记化语言,其中所有的东西都要被正确的标记,以产生形式良好的文档。XML 用来描述数据,而 HTML 则用来显示数据。今天的市场中存在着不同的浏览器技术,某些浏览器运行在计算机中,某些浏览器则运行在移动电话和手持设备上。而后者没有能力和手段来解释糟糕的标记语言。因此,通过把 HTML 和 XML 各自的长处加以结合,我们得到了在现在和未来都能派上用场的标记语言 - XHTML。
XHTML 可以被所有的支持 XML 的设备读取,同时在其余的浏览器升级至支持 XML 之前,XHTML 使我们有能力编写出拥有良好结构的文档,这些文档可以很好地工作于所有的浏览器,并且可以向后兼容。
这点内容上篇博客《XHTML之基础的基础(续)》已经介绍了,详细内容这里就不再赘述。
最主要的不同:
XHTML 元素必须被正确地嵌套。XHTML 元素必须被关闭。
XHTML 标签名必须用小写字母。
XHTML 文档必须拥有根元素。
1.添加文件类型声明(有关文件类型声明的具体内容,之前的博客也讲过《XHTML之基础的基础》)
例如,将下面的文件类型声明添加至每页的首行:
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
提示:
如果你希望将页面验证为正确的 XHTML,那么页面中必须含有文件类型声明。需要注意的是,根据不同的文件类型声明,新式的浏览器对文档的处理方式也是不同的。如果浏览器读到一个文件类型声明,那么它会按照“恰当”的方式来处理文档。如果没有 DOCTYPE,文档也许会以截然不同的方式显示出来。
2.格式转换
(1)小写的标签和属性名
由于 XHTML 对大小写敏感,同时也由于 XHTML 仅接受小写 HTML 标签和属性名,因此你可以执行一个简单的搜索和替换命令将所有的大写标签改为小写。对属性名也要做同样的处理。
(2)给所有属性加上引号
由于 W3C XHTML 1.0 标准中要求所有的属性值都必须加引号,所以,如果以前没有注意到这个细节,你需要逐页地对网站进行检查。这是一项费时的工作,所以绝不要再忘记为属性值加引号了。
(3)空标签:<hr> , <br> 和 <img>
在 XHTML 中是不允许使用空标签(Empty tags)的。<hr> 和 <br> 标签应该被替换为 <hr /> 和 <br />。这样做又产生了一个新问题,Netscape 会误读 <br/> 标签。不清楚原因所在,不过将之改为 <br />后就没有问题了。认识到这一点后,你需要再一次通过搜索和替换功能对标签进行更改。
其他一些标签(比如 <img> 标签)也会碰到上述同样的问题。不要使用闭合标签来关闭 <img>,而是要在标签的末端添加 / >。
3、验证站点
做完所有这一切以后,使用下面的链接根据官方的 W3C DTD 对所有修改过的页面进行验证: XHTML Validator。接下来,可能还会有少数的错误被发现,逐一对这些错误进行(手工地)修正。我们的经验是,最容易犯的错误是在列表中漏掉了 </li> 标签。
这些内容其实也是概念性的,不过对于刚接触不久的,有必要了解一下。总得感觉就是一句话“无规矩不成方圆”。XHTML让标记语言变得更具有纪律性。