编写XHTML需要注意的问题以及和HTML的区别

80酷酷网    80kuku.com

  xhtml|区别|问题

文档必须是编排良好的

元素必须嵌套,尽管SGML规定层叠非法,但现有的浏览器普遍允许层叠。

正确:嵌套元素。

<p>here is an emphasized <em>paragraph</em>.</p>

不正确:层叠元素。
 
<p>here is an emphasized <em>paragraph.</p></em>

嵌套与层叠

元素和属性名必须小写

对所有HTML元素和属性名,XHTML 文档必须使用小写。 因为XML是大小写敏感的,所以这个差别是必须的。如 < li > 和 < LI > 是不同的标签。

对非空元素,必须使用结束标签

在基于SGML的HTML 中,一些隐含结束意义的元素允许忽略结束标签。而在基于XML的XHTML中,这种忽略不被允许。除了在DTD中被声明为空的元素,所有元素必须有结束标签。

正确:结束了的元素。

<p>here is a paragraph.</p><p>here is another paragraph.</p>

不正确:未结束元素。

<p>here is a paragraph.<p>here is another paragraph.

XHTML要求代码书写非常标准,可能有时候浏览器可以容许这样的写法,但是无法通过XHTML的验证。

属性值必须在引号中

所有的属性必须用引号,即使是数字。

正确:在引号中的属性值

<table rows="3">

不正确:不在引号中的属性值。

<table rows=3>

很基本的规范,在HTML同样应该如此。

属性最小化

XML 不支持属性最小化. 属性值对必须写全。象compact,checked这样的属性名不能不指定属性值而在元素中出现。

正确:没有最小化的属性

<dl compact="compact">

不正确:最小化属性

<dl compact>

默认的属性也需要完整的写出来。

空元素

空元素要么必须有结束标签,要么起始标签以/>结束。

正确:结束的空元素

<br/><hr/>

错误:未结束的空标签


<hr>

这点非常重要,很容易出现的错误。

编排良好性(Well-formedness)是XML引入的一个新概念。从本质上说,这意味着元素必须有结束标签,或者必须以特殊方式书写。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: