由于XHTML是XML应用程序,因此必须更改某些在基于SGML的HTML 4中完全合法的做法。您已经在上一章中看到了XHTML语法,因此XHTML和HTML之间的区别非常明显。以下是XHTML和HTML之间的比较。
XHTML文档必须格式正确
格式正确是XML引入的新概念。本质上,这意味着所有元素都必须具有结束标记,并且您必须正确嵌套它们。
正确:嵌套元素
<p>Here is an emphasized <em>paragraph</em>.</p>
错误:重叠元素
<p>Here is an emphasized <em>paragraph.</p></em>
元素和属性必须小写
XHTML文档的所有HTML元素和属性名称都必须使用小写字母。这种差异是必要的,因为假定XHTML文档是XML文档,而XML区分大小写。例如,<li>和<LI>是不同的标记。
所有元素都需要结束标签
在HTML中,允许某些元素省略结束标记。但是XML不允许省略结束标签。
正确:终止元素
<p>Here is a paragraph.</p><p>here is another paragraph.</p> <br><hr/>
错误:未终止的元素
<p>Here is a paragraph.<p>here is another paragraph. <br><hr>
必须始终引用属性值
所有属性值(包括数值)必须加引号。
正确:引号属性值
<td rowspan="3">
不正确:未引用的属性值
<td rowspan=3>
属性最小化
XML不支持属性最小化。属性值对必须完整书写。在未指定其值的情况下,属性名称(例如compact和checked)不能出现在元素中。
正确:非最小化的属性
<dl compact="compact">
错误:最小化的属性
<dl compact>
属性值中的空格处理
浏览器处理属性时,会执行以下操作-
- 去除前导和尾随空格。
- 将一个或多个空白字符(包括换行符)的序列映射到单个单词间空间。
脚本和样式元素
在XHTML中,脚本和样式元素(如果存在)不应直接包含“ <”和“&”字符。然后将它们视为标记的开始。XML处理器将诸如“ <”和“&”之类的实体识别为实体引用,以分别显示“ <”和“&”字符。
在CDATA标记的部分中包装脚本或样式元素的内容可避免这些实体的扩展。
<script type="text/JavaScript"> <![CDATA[ ... unescaped VB or Java Script here... ... ]]> </script>
一种替代方法是使用外部脚本和样式文档。
具有id和name属性的元素
XHTML建议将name属性替换为id属性。请注意,在XHTML 1.0中,这些元素的name属性已正式弃用,并将在以后的XHTML版本中将其删除。
具有预定义值集的属性
HTML和XHTML都有一些属性,这些属性具有预定义的和有限的值集。例如,输入元素的type属性。在HTML和XML中,这些称为枚举属性。在HTML 4下,这些值的解释不区分大小写,因此TEXT的值等效于text的值。
在XHTML下,这些值的解释区分大小写,因此所有这些值均以小写形式定义。
实体引用作为十六进制值
HTML和XML都允许使用十六进制值来引用字符。在HTML中,可以使用&#Xnn;进行这些引用。或&#xnn; 并且它们是有效的,但是在XHTML文档中,您只能使用小写版本,例如&#xnn;。。
<html>元素是必须的
所有XHTML元素必须嵌套在<html>根元素内。所有其他元素可以具有子元素,这些子元素必须成对并且正确嵌套在其父元素中。基本文件结构是-
<!DOCTYPE html....> <html> <head> ... </head> <body> ... </body> </html>
作者:terry,如若转载,请注明出处:https://www.web176.com/xhtml/635.html