无废话XML阅读笔记(三)
2008年6月7日
五. 下一代的HTML--XHTML.
1. 什么是XHTML.
XHTML最早叫"HTML in XML".简单讲,就ishi把过去以SGML定义的HTML,改用XML重新定义.所有XHTML的标签都是由HTML4.0标签定义,各元素和属性的名称和用法几乎完全不变.因为变成了XML,有些地方必须遵照XML的规矩,严格执行,不能再像过去那么随便了.
2.XHTML长的什么样子.
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Framest//EN"
"http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
<html xmlns="http://www.w3.org/TR/html1">
<head>
<title>Keona Test</title>
<meta http-equiv="Content-Type" content='text/html; charset="GB2312"'/>
<script type="text/javascript">
<![CDATA[
function sayHello(name) {
alert("Hello" + name);
}
]]>
</script>
</head>
<body>
<p>这只是一个掩饰页面</p>
<hr />
<form action="xxx" method="POST">
<input type="checkbox" name="box" checked="checked" />
</form>
</body>
</html>
3. XHTML的语法要求.
(1). 结尾标签不可省.
(2). 标签之间只允许包含,但不允许交叉.
(3). 空元素XML化.(<空元素/>).
(4). 属性值一律加上引号.
(5). 属性名不可落单(<input checked="checked" />).
(6). 检测,验证,依据.
(7). 选定,注明DTD.(为了让XML文件有法可依我们得先制定一个合适的DTD,然后在声明中告知.这样好让XML解析器有个对照,验证的依据.!).
前面说到XHTML1.0草案中,已有三种不同的DTD供人使用.
[1]. Strict(严格式) 最早的HTML比较呆板,没有什么Font,color等花哨的东西,那都是Netscape发明的.
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
[2]. Transitional(过渡期式) 因为<font>标签大受欢迎,W3C在拗不过广大世人的渴求下,只得硬着头皮把<font>标签加进去.
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
[3]. Frameset (分隔画面式) 如果酷爱使用<frame>的话,那么这是你的不二选择).
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/frameset.dtd">
备注:<!DOCTYPE>声明必须出现在根元素标签之前,<!DOCTYPE>声明,大小写都有特定的意义,不能写错一点点的.
(8). XHTML验证方法.
[1]. 直接访问http://validator.w3.org/
[2]. 在网页建立一个连接http://validator.w3.org/check/referer
(9). 元素,属性一律小写.
(10).使用正确的跟元素加命名空间.
(11).在<head><body>可以省略,但在XHTML中,一律得俺规矩加在适当的位置.<title>必须是<head>第一个出现的元素.
(12).用CDATA区来包装style sheets 和scripts.
4.HTML Tidy使用方法.
要把中文的HTML档案用Tidy自动转成XHTML,可以下这个命令:
tidy -raw -asxml -f 错误信息档案名 输入档案名 > 输出档案名.
-raw用来告诉Tidy,不要去乱动文档中的中文编码,而-asxml是叫它把档案转成XHTML格式.
Tidy常用选项.
参数选项 说明
-----------------------------------------------------------------------------------------------
-raw 不要去东ASCII以外的字码.
-utf8 输入字码为UTF8时,可用此选项来替代 -raw.
-asxml 产生形式正确的XHTML文档.
-f(名字) 把错误信息存到指定的档案里.
-m(-modify) 直接把修改过的内容,存回输入档内,取代原始内容.
-c(-clean) 用Css的方式改写<center>和<nobr>这两个没有被标准接受的标签.
-h(-help) 列出所有支援的选项.