XHTML教程(2)

声明:本套教程为本人学习记录用,教程来自W3school站,原文请点击:

http://www.w3school.com.cn/xhtml/xhtml_howto.asp

【1】如何升级至 XHTML?

如何将你的网站升级至 XHTML ?

为了将站点从 HTML 转换为 XHTML,你首先应该熟悉前几章讲解的 XHTML 语法规则。

下面讲解具体的步骤。

添加文件类型声明

将下面的文件类型声明添加至每页的首行:

<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

注意:本站 (w3school) 使用的是严格的 DTD。不过使用过渡的 DTD 也是个不错的选择,因为对于大多数入门的开发人员来说,严格的 DTD 可能显得“太严格了”。

关于文件类型声明的一点提示

如果你希望将页面验证为正确的 XHTML,那么页面中必须含有文件类型声明。

需要注意的是,根据不同的文件类型声明,新式的浏览器(比如 Internet Explorer 6)对文档的处理方式也是不同的。如果浏览器读到一个文件类型声明,那么它会按照“恰当”的方式来处理文档。如果没有 DOCTYPE,文档也许会以截然不同的方式显示出来。

小写的标签和属性名

由于 XHTML 对大小写敏感,同时也由于 XHTML 仅接受小写 HTML 标签和属性名,因此你可以执行一个简单的搜索和替换命令将所有的大写标签改为小写。对属性名也要做同样的处理。我们一直使用在自己的网站使用小写字母,因此基本上,替换功能没有太多地排上用场。

给所有属性加上引号

由于 W3C XHTML 1.0 标准中要求所有的属性值都必须加引号,所以,如果以前没有注意到这个细节,你需要逐页地对网站进行检查。这是一项费时的工作,所以绝不要再忘记为属性值加引号了。

空标签:<hr> , <br> 和 <img>

在 XHTML 中是不允许使用空标签(Empty tags)的。<hr> 和 <br> 标签应该被替换为 <hr /> 和 <br />。

这样做又产生了一个新问题,Netscape 会误读 <br/> 标签。我们不清楚原因所在,不过将之改为 <br />后就没有问题了。认识到这一点后,你需要再一次通过搜索和替换功能对标签进行更改。

其他一些标签(比如 <img> 标签)也会碰到上述同样的问题。不要使用闭合标签来关闭 <img>,而是要在标签的末端添加 / >。

验证站点

做完所有这一切以后,使用下面的链接根据官方的 W3C DTD 对所有修改过的页面进行验证:
XHTML Validator。接下来,可能还会有少数的错误被发现,逐一对这些错误进行(手工地)修正。我们的经验是,最容易犯的错误是在列表中漏掉了 </li> 标签。

我们应该使用转换工具吗(比方说 TIDY)?对,我们本可以使用 TIDY。

Dave Raggett 的 HTML TIDY是用来清理HTML代码的免费工具。在处理那些由专门的 HTML 代码编辑器和转换工具生成的难以阅读的HTML代码方面,TIDY 还是做得很棒的。同时,它可以帮助你发现站点中哪些地方需要投入更多精力,使得对于残疾人士,网页具有更强的易用性。

我们没有使用 Tidy 是出于什么原因呢?当我们开始创建这个网站时,我们已经对 XHTML 非常地熟悉。当时我们已经知道使用小写标签以及为属性加引号。所以在网站测试的过程中,我们只是简单地通过 W3C 的 XHTML 验证器进行了测试,并修正了少许的错误。更重要的是,我们已经学到了很多关于编写 Tidy 式 HTML 代码的知识。

课外阅读

如果您希望更深入的理解利用 XHTML 对页面进行结构化的知识,请阅读《XHTML 结构化》。

【2】XHTML 验证

XHTML 文档是根据文档类型声明进行验证的。

通过 DTD 验证 XHTML

XHTML 文档是根据文档类型声明(DTD)进行验证的。只有将正确的 DTD 添加到文件的首行,XHTML 文件才会被正确地验证。

严格 DTD 包含没有被反对使用的或不出现在框架结构中的元素和属性:

!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"

过渡 DTD 包含严格 DTD 中的一切,外加那些不赞成使用的元素和属性。

!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

框架 DTD 包含过渡 DTD 中的一切,外加框架。

!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"

这个一个简单的 XHTML 文档:

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>

<head>
<title>simple document</title>
</head>

<body>
<p>a simple paragraph</p>
</body>

</html>

使用 W3C 验证器来测试你的 XHTML

在下面的文本框中输入你的网址: