- 第1节:XHTML 简介
- 第2节:XHTML 优势
- 第3节:XHTML HTML对比
- 第4节:XHTML 语法
- 第5节:XHTML DTD
- 第6节:HTML To XHTML
- 第7节:XHTML To HTML
- 第8节:XHTML 元素
- 第9节:XHTML 标签
- 第10节:XHTML 模块
- 第11节:XHTML 属性
- 第12节:XHTML 事件
- 第13节:XHTML 版本
- 第14节:XHTML 技巧
- 第15节:XHTML 验证
- 第16节:XHTML 7位ASCII参考
- 第17节:XHTML 实体参考
- 第18节:XHTML URL编码参考
- 第19节:XHTML HTTP状态消息
- 第20节:XHTML 示例
XHTML HTML对比
由于XHTML是一个XML应用程序,所以必须改变在基于SGML的HTML 4中完全合法的某些实践。在前面的章节中你已经看到了XHTML语法,所以XHTML和HTML之间的差别非常明显。以下是XHTML和HTML的比较。
比较图表
XHTML文档必须完善
结构良好性是XML引入的一个新概念。实质上,这意味着所有元素都必须有结束标记,并且必须正确嵌套它们。
正确:嵌套的元素
<p>这是一个强调的<em>段落</em>。</p>
错误:重叠的元素
<p>这是一个强调的 <em>段落。</p></em>
元素和属性必须小写
XHTML文档必须使用小写字母表示所有的HTML元素和属性名称。这种区别是必要的,因为XHTML文档被假定为XML文档,XML是区分大小写的。例如,<li>和<LI>是不同的标签。
所有元素都需要结束标记
在HTML中,某些元素可以省略结束标记。但XML不允许省略结束标记。
正确:终止的元素
<p>这是一个段落。</p><p>这是另一个段落</p>
<br><hr/>
错误:未终止的元素
<p>这是一个段落。<p>这是另一个段落。
<br><hr>
必须始终引用属性值
所有属性值(包括数值)都必须加引号。
正确:引用属性值
<td rowspan="3">
不正确:未引用的属性值
<td rowspan=3>
属性简写
XML不支持属性简写。 Attribute-value 属性-值必须全部写入。属性名称(如compact和checked)不能在没有指定值的元素中出现。
正确:非简写的属性
<dl compact="compact">
错误:简写的属性
<dl compact>
属性值中的空白处理
当浏览器处理属性时,它执行以下操作 -
- 带前导和尾随空格。
-
将一个或多个空格字符(包括换行符)映射到单个单词空间中。
脚本和样式元素
在XHTML中,脚本(script)和样式(style)元素不应该直接存在“<”和“&”字符; 他们被视为标记的开始。诸如“<”和“&”的实体被XML处理器识别为实体引用,用于分别显示“<”和“&”字符。
在CDATA标记部分内包装脚本或样式元素的内容可以避免这些实体的扩展。
<script type="text/JavaScript">
<![CDATA[
... 转义的VB或java脚本在这里... ...
]]>
</script>
另一种方法是使用外部脚本和样式文档。
带有id和name属性的元素
XHTML推荐用id属性替换name属性。请注意,在XHTML 1.0中,这些元素的名称属性已被正式弃用,并将在后续版本的XHTML中被删除。
具有预定义值集的属性
HTML和XHTML都有一些具有预定义和有限值的属性。例如,输入元素的type属性。在HTML和XML中,这些被称为枚举属性。在HTML 4下,这些值的解释是不区分大小写的,所以TEXT的值相当于文本的值。
在XHTML下,这些值的解释是区分大小写的,所有这些值都是以小写字母来定义的。
作为十六进制值的实体引用
HTML和XML都允许使用十六进制值引用字符。在HTML中,这些引用可以使用&#Xnn; 或者&#xnn; 而且它们是有效的,但在XHTML文档中,只能使用小写字母,例如&#xnn; 。
<html>元素是必须的
所有的XHTML元素都必须嵌套在<html>根元素中。所有其他元素都可以有子元素,它们必须成对并正确嵌套在其父元素中。
基本的文件结构是:
<!DOCTYPE html....>
<html>
<head> test编程教程 </head>
<body> www.test.cn </body>
</html>
最后test.cn做个总结
- 标签与属性都要小写
- 别用
name
用id
- 标签不能重叠,但可以嵌套
- 标签都要有始有终,要么以
</p>
形式结束,要么以<br />
形式结束
- 每个属性都要有属性值,并且属性值要在双引号中
关于XHTML语法将在下节XHTML 语法规则中做详细说明