文档必须是编排良好的 元素必须嵌套,尽管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/> 错误:未结束的空标签 <br><hr> 这点非常重要,很容易出现的错误。 编排良好性(Well-formedness)是XML引入的一个新概念。从本质上说,这意味着元素必须有结束标签,或者必须以特殊方式书写。 |