- XHTML简介
最早叫"HTML in XML",就是用XML表示HTML。与HTML区别不大,只是加上了XML的声明而已。
那为什么要使用XML呢?主要是因为HTML的不兼容性越来越严重,而XML标准简单而严格,有效的避免了HTML的随意性带来的不兼容性。
XHTML可以通过name space,随时根据需要调用特定的标签,大大扩展了它的应用。
- 为什么不用XML直接替换HTML呢?
因为HTML应用太广泛了,按照XML的标准直接替换,代价太大。而用XHML可以实现平稳的过渡。
- XHTML和HTML的区别
首先,XHTML必须保证格式正确,有几项是强制的
- 标签必须成对
- 标签不能交叉
- 可以使用</>,但不能只有<>
- 属性值必须加上引号
- 属性名必须有属性值
其次,必须指明使用什么DTD,供XML parser使用,例如
<!DOCTYPE doc SYSTEM "http://foo.bar/baz.dtd>
其中,doc是XML根元素的名称。
目前有三种DTD:
- Strict: 没有font标签,使用CSS来代替。
- Transitional: 使用font标签
- Frameset: 使用frame标签
上面三种DTD声明的例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN " "http://www.w3c.org/TR/xhtml/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3c.org/TR/xhtml/transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN " "http://www.w3c.org/TR/xhtml/frameset.dtd">
注意事项:
- XML是大小写敏感的,所以元素和属性都一律小写。
- XHTML中规定,根元素必须是html,而xmlns用来注明XHTML的name space,如下所示:
<html xmlns=http://www.w3c.org/TR/xhtml1>
- 在XHTML,head,body都不能省略,title也必须是head中的第一个元素
- 使用CDATA来封装style sheet和script,如下所示:
<script language="JavaScript">
<![CDATA[
......
if(...)...
]]>
</script>
- XHTML的MIME type可以设置为两种:
- xml ---> text/xml
- html --->
- XHTML的MIME type可以设置为两种: