设计之家 > 教程 > 網頁教程 > HTML教程 >

XHTML的標準定義

作者:佚名 來源:設計之家 時間:2006-06-03

  因為XHTML是XML的一個應用,一些在基于SGML的HTML 4中完全合法的習慣在XHTML中必須改變。

  文檔必須是編排良好的

  編排良好性Well-formedness是[XML]引入的一個新概念。從本質上說,這意味著元素必須有結束標簽,或者必須以特殊方式書寫(在下面說明)。

  元素必須嵌套,盡管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 4 中,一些隱含結束意義的元素允許忽略結束標簽。而在基于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.

  屬性值必須在引號中

  所有的屬性必須用引號,即使是數字。

  正確:在引號中的屬性值

<table rows="3">

  不正確:不在引號中的屬性值。

<table rows=3>

  屬性最小化

  XML 不支持屬性最小化. 屬性值對必須寫全。象compact,checked這樣的屬性名不能不指定屬性值而在元素中出現。

  正確:沒有最小化的屬性

<dl compact="compact">

  不正確:最小化屬性

<dl compact>

  空元素

  空元素要么必須有結束標簽,要么起始標簽以/>結束. 例如,<br/>或<hr></hr>. 請參看HTML兼容性指導 HTML Compatibility Guidelines 中的信息,以保證向后兼容HTML 4用戶代理程序

  正確:結束的空元素

<br/><hr/>

  錯誤:未結束的空標簽

<br><hr>

  屬性值中的空白字符處理

  對屬性值,用戶代理程序將刪去引導和后序空白符,將一個或多個空白符(包括換行)轉換成單個字符間空間(在西方書寫體中是一個ASCII空格) See Section 3.3.3 of [XML]。

  Script and Style 元素

  在XHTML中,script和style元素聲明為#PCDATA內容形式,因此,< 和 & 被看作是標識的開始,&lt和&amp 這樣的實體被XML處理程序看作為實體引用而分別被認為是< 和 & . 將script和style元素的內容包裹在CDATA記號部分中避免了這些實體的擴張。

<script>
 <![CDATA[
 ... unescaped script content ...
 ]]>
 </script>

  CDATA 部分被 XML 處理程序識別,是文檔對象模型中一個結點。請參看1.3節Section 1.3的DOM LEVEL 1推薦標準[DOM]。

  替代的方式是使用外部script和style文檔。

  SGML 禁止

  SGML 給作者的DTD可以指定在一個元素內部禁止出現的元素。這樣的禁止在XML中是不可能的。

  例如,嚴格的 HTML 4 DTD 禁止任何深度的’a’元素對另一’a’元素的嵌套。在XML中無法寫出這樣的禁止。盡管這些禁止不能在DTD中定義,一些元素不應該被嵌套。在標準化的附錄B Appendix B中是這些元素的匯總。

  具有 'id' 和 'name' 屬性的元素

  HTML 4 定義了name屬性的元素有 a,applet,form,frame,iframe,img,and map. HTML 4還引入了 id 屬性. 這兩個屬性都是被設計作為片段標識符。

  在XML中,片段標識符是ID類型,每個元素只能有一個ID類型的屬性。因此,在XHTML1.0中,id屬性被定義為ID類型。為保證XHTML1.0文檔是結構良好的XML文檔,在定義一個片段標識符時,XHTML文檔必須使用id屬性,即使是對那些以前用name屬性的元素。請參看 HTML Compatibility Guidelines 的信息,確保XHTML文檔以text/html媒體類型使用時,這些”錨”能向后兼容。

  注意,在XHTML 1.0中,name 屬性不被正式支持,在以后的XHTML版本中將被刪除。

标签:XHTML

推薦設計

最新文章