XHTML—(EXtensible HyperText Markup Language)——可扩展超文本标记语言,该语言受到所有新浏览器的支持
XHTML是以XML重构的HTML4.01。XML是一种标记化语言,其中所有的东西都要被正确标记,以产生良好的文档。
XML用来描述数据,而HTML则用来显示数据,两者结合,就诞生了——XHTML,XHTML可以被所有支持XML的设备
读取。
XHTML与HTML的主要差异:
- XHTML元素必须被正确地嵌套;
- XHTML元素必须被关闭;
- 标签必须用小写字母;
- XHTML必须拥有根元素,即所有的XHTML元素必须被嵌套于<html>根元素中;
- 属性名必须小写;
- 属性值必须加引号;
- 属性不能简写——<input checked>是不允许的;<input checked="checked"/>才是标准的;
- 用ID属性代替name属性;——<img src="pic.jpg" name="pic1" /> ---> <img src="pic.jpg" id="pic1" />
- XHTML DTD定义了强制使用的HTML元素,所有的XHTML文档必须进行文件类型声明(DOCTYPE declaration),XHTML文档中必须存在html、head、body元素,而title必须位于head中;
语言属性(lang)
lang属性应用于几乎所有XHTML元素。它定义元素内部内容所用语言的类型。若在某元素中使用lang属性
就必须添加额外的xml:lang,如下:
<div lang="no" xml:lang="no">Heia Norge!</div>
一个最小化的XHTML文件模板:
<!DOCTYPE DOCTYPE goes here>
<html xmlns="http://www.w3.org/1999.xhtml">
<head>
<title>Title goes here</title>
</head>
<body></body>
</html>
——在XHTML中,xmlns属性是必需的,但即使没有这个属性,w3.org的验证工具也不会报错,因为xmlns="http://www.w3.org/1999.xhtml"是一个固定的值,即使没有包含在代码中,它也会被添加到<html>标签中。
三种XHTML文档类型及其声明:
STRICT (严格类型):
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML1.0 Strict//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-strict.dtd">
TRANSITIONAL(过度类型):
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd">
FRAMESET(框架类型):
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1-frameset.dtd">
通过上述知识,我们知道了许多XHTML的特点和与HTML的区别,因此在重构HTML网页为XHTML网页时,我们可以根据以上规则进行逐行修改。同时,我们也可以使用TIDY工具,这是一个将HTML转换为XHTML的工具。
做完以上工作,可以使用XHTML Validator对修改过的页面进行检查,看是否符合标准。