XHTML与HTML

由于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>

一种替代方法是使用外部脚本和样式文档。

具有idname属性的元素

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

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2020年10月26日 下午6:23
下一篇 2020年10月26日 下午6:29

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注