XHTML DTD(文件类型声明)
文件类型声明是什么
有过一定 XHTML 编写经验的人都会注意到,在 xhtml/html 文档开头(<html>之前),总有这么一行奇怪的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
这个就是文件类型声明,它总是位于首行,而且是不可缺少的。像前面我们的小例子中,就没做文件类型声明,虽然在浏览器中也能运行,但其实是不合法的。
简而言之,文件类型声明是用来告诉浏览器目前执行的 XHTML 文件所遵循的规则。
三种文件类型声明
文件类型声明分三种:
- STRICT(严格类型)
- TRANSITIONAL(过渡类型)
- FRAMESET(框架类型)
XHTML 1.0 Strict(严格类型)
严格类型例子:
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
当我们的文档做这种声明的时候,必须使用干净的标记:
- 使用小些字母,属性值必须用双引号
- 所有的标签必须闭合
- 属性不能被缩减
- 不使用被排斥的元素
我们前面的课程,就是严格遵照该定义讲解的,如:
- <a href="blog.html" class="internal">(小些且属性值必须双引号引起来)
- <li>Item 1</li> <br />(标签闭合)
- <input type="radio" name="易做图" value="male" checked="checked" />(checked="checked" 不能缩写为 checked)
- 不在html文件中直接使用 <font>、<center>、alink、align、width、height 和 background 这些属性。
XHTML 1.0 Transitional(过渡类型)
过渡类型例子:
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
网络上大部分网页使用的是这种类型声明。使用这种声明主要是为了兼容一些老版本的浏览器和如 Netscape 4 这样的浏览器以及让 html代码兼容 HTML 4 标准,但是使用兼容性的 HTML 4 元素会对网页的效率和可用性有害。
XHTML 1.0 Frameset(框架类型)
框架类型例子:
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
该类型在使用 XHTML框架 的时候定义。
对于初入门的开发人员,我们建议使用过渡性类型的文件类型声明。
编写的 XHTML 文档是否符合规范,可以通过 W3C 的网址进行验证:
http://validator.w3.org/
最后需要说明的是, <!DOCTYPE 是唯一一个不需要闭合的标签。