Los Angeles Chinese Learning Center, providing private Chinese Mandarin classes, Chinese tutors, Mandarin interpreter and translators, China investment report, investment opportunity report, China intelligence report, information on Chinese herbal medicines in Los Angeles
Corporate Services Other Services
Private Instruction Invest in China
Curriculum FAQ
Business Culture Health Education
Textbooks Our Staff
Hours and Location Contact Us
 

W3C

XHTML 1.0: 可擴展超文本標記語言

用XML 1.0重新形成的HTML 4

W3C推荐標准,2000年1月26日

本版本:
http://www.w3.org/TR/2000/REC-xhtml1-20000126
(
Postscript versionPDF versionZIP archive,或 Gzip'd TAR archive)
最新版本:
http://www.w3.org/TR/xhtml1
上一版本:
http://www.w3.org/TR/1999/PR-xhtml1-19991210
作者:
請參看 acknowledgements.

Copyright 2000 W3C© (MITINRIAKeio),All Rights Reserved. W3C liabilitytrademarkdocument use and software licensing rules apply.


摘要

XHTML 1.0是作為XML1.0應用而重新制定的HTML4。本規范書定義XHTML 1.0以及其中与HTML 4對應的3种文檔類型定義(DTD,Document Type Definition)。 每個元素的語義和它們的屬性已經在W3C Recommendation for HTML 4中定義,它們是XHTML將來擴展的基礎。只要遵循一小套指導方針,XHTML文檔就能和現存的HTML用戶代理程序兼容。

本文檔的狀況

本節描述本文檔發布時的狀況。其它的文檔也許會取代本文檔。W3C負責維護本文檔系列的最新狀況。本文檔由W3C的成員和一些對此感興趣的團体審閱,并經主管認可而成為W3C推荐標准。 這是一個穩定的文檔,可以作為參考材料或在其它文檔中作為標准引用。W3C制定本推荐標准的目的就是使大家注意到本規范說明書,使之廣泛傳播,增強Web的功能和互用性.

本文檔是W3C HTML Activity的一部分. HTML Working Group (members only) 的目的在HTML Working Group charter (members only) 中論述.

W3C 推荐標准和其它的技術文檔在http://www.w3.org/TR中.

關于HTML特征的公共討論在郵件列表 www-html@w3.org (archive).

如果發現本文檔中存在的錯誤,請告知 www-html-editor@w3.org.

在本規范說明書中的已發現的錯誤列于 http://www.w3.org/2000/01/REC-xhtml1-20000126-errata.

目錄

1. 什么是 XHTML?

XHTML是一系列當前和將來的文檔類型和程序塊,它由HTML 4 [HTML]再生和擴展而來,HTML 4是其子集。XHTML系列文檔基于XML,最終被設計用來与基于XML的用戶代理程序一起工作。XHTML家族的詳情及其發展過程在未來趨勢一節中詳述。

XHTML 1.0(本規范書)是XHTML家族的第一個文檔。它是將3种HTML 4文檔類型應用到XML 1.0 [XML]之后重新形成的。其意圖是,作為一种語言,它的內容既符合XML,并且如果依照一些簡單的指導方針,也能被HTML4用戶代理程序識別。開發者將它們的文檔移植成為XHTML 1.0,會得到以下好處:

  • XHTML文檔遵從XML。這樣,用標准的XML工具很容易查看,編輯和檢驗它們。T
  • XHTML文檔可以在現有的HTML4代理用戶程序中使用,也可以在新的XHTML用戶代理程序中使用,在后者中可以達到与前者同樣或更好的效果。
  • XHTML 文檔中使用的應用程序(如script 和 applet) 可以是HTML 的文檔對象模型(Document Object Model) ,也可以是 XML 的文檔對象模型 [DOM]
  • 隨著 XHTML 家族的發展,遵從XHTML 1.0的文檔更有可能運用在各种XHTML環境中。

XHTML家族是Internet發展的下一步。 將現在將文檔移植成XML,開發者在确保他們的文檔向前后兼容的同時,還能享有進入XML世界帶來的好處。

1.1 什么是HTML 4?

HTML 4 [HTML]SGML (Standard Generalized Markup Language) 的一個應用,遵從國際標准ISO 8879,被廣泛的當作 World Wide Web上的標准出版語言。

SGML是一种描述標記語言,特別是那些用于電子文檔交換,文檔管理和文檔發布語言的語言。HTML是SGML定義的語言的一個實例。

SGML出現在80年代中期,一直保持得很穩定。穩定是原因是它有丰富的特征和具有靈活性。但是,靈活性的帶來一定程度的复雜性,限制了它在多种環境下的适應性,包括World Wide Web。

HTML最初的构想是作為一种交換科學和其它技術文檔的一种語言,供那些不熟悉書寫文檔的專家使用。HTML規定一小套結构語義標簽,适于書寫相對簡單的文檔,從而解決了SGML复雜性的問題。除了簡化了文檔結构外,HTML還加入了對超文本的支持,以后還增加了媒体功能。I

在非常短的時間內,HTML變得廣泛流行,并且很快超出了其原來的目的。HTML(標准)內部的新元素以很快的速度創造出來,HTML也被很快的改編以用于垂直的,高度專門化的市場。多余的新元素導致文檔在跨平台時的兼容問題。

隨著軟件和平台不一致性增加,很顯然,“經典的”HTML 4在這些平台上使用的适用性就會受到一些限制。

1.2 什么是 XML?

XML [XML]是Extensible Markup Language的縮寫,創造XML的目的是重新獲得SGML的能力和靈活性,而去除其大部分复雜的東西。盡管是一個受限制SGML的形式,但是XML仍保留了SGML的大部分功能和丰富性,還保留了SGML的所有常用特性。

在保留這些有用的特性的同時,XML去掉了SMGL中很多更复雜的特性,這些特性使得書寫和設計合适的軟件既困難又昂貴。

1.3 為什么需要XHTML?

上面已經提到了移植到XHTML的好處,一般來說,移植到XHTML的好處有:

  • 文檔開發者和用戶代理程序設計商常常用新方法,新標簽來表達它們的想法。用XML導入新元素和新的元素屬性相對來說更容易。XHTML家族被設計用來提供這些擴展,通過XHTML模塊和開發新的遵從XHTML的模塊的技術。(將在即將出台的XHTML模塊化規范說明書中描述)。在開發文檔和設計新用戶代理程序時,這些模塊將允許混合使用現有的和新的特性集。
  • 各种替代的訪問Internet的方法不斷的被提出。一些人估計,到2002年,internet上75%的文檔會在這些替代的平台上被查看。XHTML 在設計時就考慮到用戶代理程序的協同工作性。通過一個新的用戶代理程序和文檔協議机制,服務器、代理程序和用戶代理程序將能夠最佳地滿足傳輸,最后,有可能開發出遵循XHTML的文檔,能被任何遵循XHTML的用戶代理程序使用。

2. 定義

2.1 術語

本規范書要用到下面的詞條。這些詞條基于ISO/IEC 9945-1:1990 [POSIX.1]中類似的定義,并擴展定義在[RFC2119]中:

執行定義(Implementation-defined)
一個值或行為被執行定義時,它由執行來定義相應的需要以正确解釋文檔。
可以(May)
在執行時,詞“可以”被解釋為一個可選的特性,在本規范書中不是必須的,但是可以提供。對于文檔一致性來說,詞”可以”的意思是不能使用可選的特性. ”可選的”(optional)和”可以”的定義是相同的。
必須(Must)
在本規范書中,“必須”被解釋為,在執行時或對于嚴格遵循XHTML的文檔的強制需要。詞條”應當”(shall)和”必須”的定義相同。.
保留(Reserved)
一個值或行為未被指定,但是不允許用于符合規范的文檔,也不被符合規范的用戶代理程序支持。
應該(Should)
在執行時,”應該”被解釋為一個執行時的建議,但不是一個必須。對于文檔來說,“應該”被解釋為:編程練習時是推荐使用的,對于嚴格遵循XHTML的文檔,則是必須的。
被支持(Supported)
本規范書中某些功能是可選的,如果一個功能被支持,它的行為被本規范書規定。
未指定(Unspecified)
一個值或行為未被指定時,規范書不定義一個功能的可移植性要求,即使文檔中使用了這個功能。在這种情況下,一個需要指定的行為的文檔,而不是在使用這個功能時允許任何行為,不是一個嚴格遵循XHTML的文檔。

2.2 常見詞條

屬性(Attribute)
屬性是在DTD中聲明過的某個元素的一個參數。屬性的類型和取值范圍,包括它可能的缺省值,在DTD中定義。
DTD
一個 DTD,又稱文檔類型定義,是一個XML聲明集合,在其中定義遵從DTD的文檔中使用的合法的結构,元素和屬性。
文檔(Document)
文檔是一個數据流,還包括它引用的其它數据流。文檔的結构是用相關的DTD定義的元素組織起來來保存信息。更多信息,請參看 Document Conformance
元素(Element)
元素是在DTD中聲明的文檔的結构單位。元素的內容模型在DTD中定義,額外的語義可以在另外的元素描述中定義。
功能(Facilities)
功能包括元素,屬性和与元素屬性相關的語義。支持這些功能的執行說成提供了所需的功能。
執行(Implementation)
執行是指系統提供了功能和服務集以支持本規范書。更多信息,請參看User Agent Conformance
分析(Parsing)
分析是掃描文檔的動作,文檔包含的信息被過濾成元素的上下文結构包含的信息。
顯示(Rendering)
顯示是文檔信息被呈現的動作。顯示以最适合環境的形式完成(如聲覺,視覺,打印)。
用戶代理程序(User Agent)
用戶代理程序是執行程序,獲取并處理XHTML文檔。更多信息,請查看User Agent Conformance
驗証(Validation)
驗証是用相關的DTD檢驗文檔的過程,以确信結构,元素的使用,屬性的使用和DTD中的定義一致。
格式良好(Well-formed)
一個格式良好的文檔的結构依照XML1.0推荐標准[XML]中2.1節Section 2.1的規定。基本上,這個定義規定了元素必須有起始和結束標簽,要正确的互相嵌套。

3. XHTML 1.0的標准定義

3.1 文檔一致性

本版本 XHTML 提供了嚴格的遵循XHTML文檔的定義,受限于XHTML名址提供的標簽和屬性。使用XHTML其它名址空間的信息,如RDF表達的元數据,請參看Section 3.1.2

3.1.1 嚴格遵循的文檔。

一個嚴格遵循XHTML的文檔只需要本規范書描述的強制性功能,必須依照下列標准:

  1. 它必須經過附錄A Appendix A中的3中DTD之一的驗証。
  2. 文檔的根元素必須是<html>
  3. 文檔的根元素必須用xmlns屬性[XMLNAMES]指定XHTML名址。XHTML的名址在http://www.w3.org/1999/xhtml中定義。
  4. 在根元素之前,必須有一個DOCTYPE 聲明。DOCTYPE聲明中包含的公共標識符必須引用附錄A Appendix A中的3中DTD的一种,每种DTD有各自的正式公共標識符。系統標識符可以改變以适應本地系統。
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "DTD/xhtml1-strict.dtd">

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "DTD/xhtml1-transitional.dtd">

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
     "DTD/xhtml1-frameset.dtd">

下面是一個最小的XHTML文檔示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Virtual Library</title>
  </head>
  <body>
    <p>Moved to <a href="http://vlib.org/">vlib.org</a>.</p>
  </body>
</html>

注意在這個例子中含有XML聲明。 XML聲明并不是在所有的XML文檔中都是必須的。XHTML被強烈建議使用XML聲明。當字符編碼不是缺省的UTF-8或UTF-6時,這樣的聲明是必須的。

3.1.2 在XHTML中使用其它名址空間

在XHTML名址空間中可以用[XMLNAMES]使用其它XML名址空間,盡管這樣文檔會不是嚴格遵循XHTML的文檔。W3C將在以后致力為多名址空間指定一致性的問題。

下面的例子說明XHTML1.0和MathML推荐標准聯合使用的方法。

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>A Math Example</title>
  </head>
  <body>
    <p>The following is MathML markup:</p>
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <apply> <log/>
        <logbase>
          <cn> 3 </cn>
        </logbase>
        <ci> x </ci>
      </apply>
    </math>
  </body>
</html>

下面的例子說明XHTML1.0和其它XML名址空間聯合使用的方法:

<?xml version="1.0" encoding="UTF-8"?>
<!-- initiallythe default namespace is "books" -->
<book xmlns='urn:loc.gov:books'
    xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en">
  <title>Cheaper by the Dozen</title>
  <isbn:number>1568491379</isbn:number>
  <notes>
    <!-- make HTML the default namespace for a hypertext commentary -->
    <p xmlns='http://www.w3.org/1999/xhtml'>
        This is also available <a href="http://www.w3.org/">online</a>.
    </p>
  </notes>
</book>

3.2 用戶代理程序一致性

一個遵從的用戶代理程序必須遵照下面所有標准:

  1. 為和XML1.0推荐標准一致 [XML],用戶代理程序必須分析和評估XHTML文檔的編排良好性。如果用戶代理程序宣稱自己是一個帶驗証能力的用戶代理,它還必須依照[XML]安文檔引用的DTD來驗証文檔。
  2. 當用戶代理程序宣稱支持本規范書定義的功能facilities時,它必須按功能的定義來支持。
  3. 當用戶代理程序按一般的XML來處理XHTML文檔時,它應當只將ID類型的屬性(如多數XHTML元素的ID屬性)識別成片段標識符。
  4. 如果用戶代理程序遇到一個它不識別的元素,它必須顯示元素的內容。
  5. 如果用戶代理程序遇到一個它不識別的屬性,它必須忽略整個屬性的定義(即屬性及其值)。I
  6. 如果用戶代理程序遇到一個它不識別的屬性值,它必須使用使用屬性的缺省值。
  7. 如果它遇到一個實体引用(不是預定義了的實体),用戶代理程序沒有處理過其聲明(如果聲明是在用戶代理程序沒有讀到的外部子集中就會發生),實体引用應該以字符顯示(以&符號開始,以半冒號結束),以編排成實体引用。
  8. 在顯示內容時,用戶代理程序如果遇到它不認識的字符或認識但不能顯示字符實体引用,它應該以顯眼的方式告訴用戶發生了异常顯示。
  9. 下面的字符在 [XML]中被定義為 空白(whitespace)字符:
    • 空格 (&#x0020;)
    • Tab (&#x0009;)
    • 回車 (&#x000D;)
    • 換行 (&#x000A;)

XML處理程序將不同系統的行結束碼規格化為單個換行附傳遞給應用。因此XHTML還必須將下列字符看成空白字符:

    • 換頁 (&#x000C;)
    • 0寬度空格 (&#x200B;)

對 'xml:space' 屬性被設為”保留”的元素,用戶代理程序必須保持所有空白字符的原樣 (引導和結尾處空白字符除外,這些字符應該被刪除). 否則,按下列規則處理空白字符:

    • 所有塊元素周圍的空白字符應該被刪除。
    • 注釋全部去除,不影響空白符的處理。注釋兩旁的一個空白符被處理為兩個空白符
    • 引導和結尾處空白字符應該被刪除
    • 塊元素內的換行字符必須轉換成空格 ('xml:space' 屬性被設為”保留”時例外)。
    • 一串連續的空白字符必須減少為單個空格 ('xml:space' 屬性被設為”保留”時例外)。
    • 在顯示時,用戶代理程序應該以恰當的方式顯示文檔內容為文檔內容書寫的語言。在主要是拉丁書寫体的語言中,ASCII空格典型的用來編碼語法上的詞的分界和印刷上的空白; 在和Nagari書寫体相關的語言中 (如梵語,泰語等),語法上的邊界可以用ZW空格字符編碼,但是在顯示輸出時一般不用印刷上的空格表示; 用阿拉伯語形式書寫体的語言,可以用空格字符編碼印刷上的空白,單不能用ZW空格定界內部的文法分界(如,在英語看來是一個詞的'kitAbuhum' = 'kitAbu-hum' = 'book them' == their book ,在阿拉伯語中編碼為几個詞); 中文書寫体習慣則一般既不用這种方式編碼分界也不使用印刷上的空白。

屬性的值中的空白符的處理方式按照[XML]

4. 与HTML 4的區別

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

4.1 文檔必須是編排良好的

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

元素必須嵌套,盡管SGML規定層疊非法,但現有的瀏覽器普遍允許層疊。

正确:嵌套元素。

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

不正确:層疊元素。

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

4.2 元素和屬性名必須小寫

對所有HTML元素和屬性名,XHTML 文檔必須使用小寫。 因為XML是大小寫敏感的,所以這個差別是必須的。如 <li> 和 <LI> 是不同的標簽。

4.3 對非空元素,必須使用結束標簽

在基于 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.

4.4 屬性值必須在引號

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

正确:在引號中的屬性值

<table rows="3">

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

<table rows=3>

4.5 屬性最小化

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

正确:沒有最小化的屬性

<dl compact="compact">

不正确:最小化屬性

<dl compact>

4.6 空元素

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

正确:結束的空元素

<br/><hr/>

錯誤:未結束的空標簽

<br><hr>

4.7 屬性值中的空白字符處理

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

4.8 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文檔。

4.9 SGML 禁止

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

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

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

HTML 4 定義了name屬性的元素有 aappletformframeiframeimg,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版本中將被刪除。

5. 兼容性問題

盡管XHTML不必和已有的用戶代理程序兼容,在操作上它很容易實現。創建兼容文檔的指導方針在Appendix C中。

5.1 Internet 媒体類型

在本推荐標准發布時,基于XML的應用的通用MIME標簽問題還未被解決。

雖然如此,依照Appendix C中指導方針的XHTML文檔可以標為"text/html"媒体類型,因為這被大多數瀏覽器兼容。本文檔對XHTML文檔的其它MIME標簽不做推荐。

6. 未來趨勢

XHTML 1.0 提供了一類文檔類型的基礎,此類文檔將擴展xhtml和包含XHTML子集。為了廣泛的支持新設備和新應用,定義模塊和指定聯合這些模塊的机制。 這個机制將用統一的方式定義新模塊,以擴展和子集XHTML。

6.1 模塊化 HTML

因為XHTML的應用從傳統的桌面用戶代理程序轉移到其它平台,顯然,在所有的平台上不一定要用到所有的XHTML元素。 例如,手上設備或蜂窩電話可以只支持XHTML元素的一個子集。

模塊化的過程將XHTML分為一系列小的元素集。在不同的情況需要時,它們又可以重新聯合起來。

這些模塊將在以后的W3c文檔中定義。

6.2 子集和可擴展性

模塊化帶來几個好處:

  • 提供了子集化XHTML的正式机制。
  • 提供了擴展XHTML的正式机制。
  • 簡化了文檔類型間的轉化。
  • 促進在新文檔類型中的模塊重用。

6.3 文檔 協議

文檔 協議指明了一組文檔的句法和語義。遵循文檔協議提供了保証文檔互用性的基礎。文檔協議指定處理此類文檔所需的功能,如,可以使用哪种圖像文件類型,腳本的級別,樣式表的支持情況,等等。

對于產品設計者,這可以使不同的團体定義他們自己的標准協議。

對于作者. 這可以使他們避免為不同的客戶寫不同的文檔版本。

對于專業群体,如化學家,醫生或數學家,這可以允許用標准的HTML元素加上一組适合專家需要的元素來建立一個特殊的協議。

附錄A. DTDs

本附錄是標准化的.

這些 DTD 和實体构成了本規范書的一個標准化的部分。本規范書完全的 DTD 文件集以及XML聲明和SGML開放目錄在一個zip file文件中。

A.1 文檔類型定義(Document Type Definitions)

這些 DTD 類似 HTML 4 的DTD. 當DTD模塊化之后,构件DTD使用的方法也許更能和HTML 4相對應。

A.2 實体集

XHTML的實体集和HTML 4的相同,但是被修飾成有效的XML 1.0實体聲明。注意歐洲貨幣符號的實体 (&euro; or &#8364;&#x20AC;) 是在特殊符號部分定義。

附錄 B. 禁止元素

This appendix is normative.

下面的元素在包含其它元素時有禁止(參看 Section 4.9)。 這些禁止應用于所有深度的嵌套,即,保括子元素。

a
不能包含其它 a 元素。
pre
不能包含 imgobjectbigsmallsub,或 sup 元素。
button
不能包含 inputselecttextarealabelbuttonformfieldsetiframeisindex 元素。
label
不能包含其它label 元素。
form
不能包含其它 form 元素。

附錄 C. HTML兼容性指導

This appendix is informative.

本附錄總結設計時的方針,指導作者書寫可在現有HTML用戶代理程序中顯示的XHTML文檔。

C.1 處理說明

一些用戶代理程序會顯示處理說明。但是,注意當文檔中沒有XML聲明時,文檔只能用缺省的字符編碼UTF-8 或 UTF-16。

C.2 空元素

在空元素結束符 /> 前加一個空格,如 <br />,<hr /> 和 <img src="karen.jpg" alt="Karen" />. 還有,使用最小化的標簽語法,如<br />,因為另一种XML允許的語法 <br></br> 在很多現有用戶代理程序會導致不可靠的結果。

C.3 元素最小化和空元素內容

內容模型不是空的元素,在為空的場合(如空title或空段落),不要用最小化形式(如 用 <p> </p>,不用 <p />).

C.4 嵌入的樣式表和Script

如果你的樣式表使用 <&]]>--用外部樣式表。如果你的script用 < & ]]> --用外部script。 注意XML分析程序會在不告知的情況下除去注釋的內容。因此,以前用注釋的方法”隱藏”script和樣式表的習慣使文檔可以向后兼容,但是可能在基于XML的執行時不能按預期工作。

C.5 在屬性值內部分行

在屬性值中避免使用分行和多個空格符。用戶代理程序處理這些情況時不一致。

C.6 Isindex

在文檔的head部分不要使用超過一個 isindex 元素. isindex 元素不被贊成使用,贊成使用input元素

C.7 langxml:lang 屬性

在指定元素的語言時同時使用 langxml:lang 屬性。xml:lang 屬性在前。

C.8 片段標識符

在 XML中,以"#foo"形式結束片段標識符URI [RFC2396] 不是指元素有一個屬性name="foo",而是指元素有一個被定義為ID類型的屬性,如,HTML 4中的id屬性。很多HTML客戶程序不以這种方式支持ID類型屬性,所以,可以將相同的值同時附給這兩個屬性,以保証最大程度的向后和向前兼容。(如 <a id="foo" name="foo">...</a>).

此外,因為ID類型屬性的合法值集比CDATA類型屬性的值集小得多,name屬性被改為NMTOKEN。這個屬性被限制為只有和ID類型或XML1.0 2.5節中的Name產品同樣的值。不幸的是,XHTML的DTD不能表示出這個限制。因為這個改變,在轉換現有的HTML文檔時要加以注意。 如果在轉換時值可能會改變,這些屬性的值在文檔中必須是唯一的,有效的,任何對這些片段標識符的引用(不管是內部還是外部)必須更新。

最后,注意不贊成在 aappletformframeiframeimg,和 map 元素中使用name屬性,在以后的XHTML版本中,它將被去除。

C.9 字符編碼

要指定文檔中的字符編碼,同時在xml聲明中使用編碼屬性指定 (如. <?xml version="1.0" encoding="EUC-JP"?>) 和在meta中用 http-equiv 語句 (如 <meta http-equiv="Content-type" content='text/html; charset="EUC-JP"' />).xml處理指令的編碼屬性值在前。

C.10 布爾屬性

一些HTML用戶代理程序在布爾屬性以完全(非最小化)形式出現時不能解釋它們,而這是XML1.0必須的。注意這個問題不會影響用戶代理程序對HTML 4的兼容。包括以下一些屬性: compactnowrapismapdeclarenoshadecheckeddisabledreadonlymultipleselectednoresizedefer.

C.11 文檔對象模型和 XHTML

文檔對象模型 level 1 推荐標准 [DOM] 定義XML和HTML 4的文檔對象模型。 HTML 4 文檔對象模型規定HTML元素名和屬性名以大寫形式返回。XML文檔對象模型規定元素名和屬性名以它們被指定的形式返回。在 XHTML 1.0中,元素和屬性指定為小寫形式。對這個顯著的差別可以用兩种方式處理:

  1. 通過DOM訪問text/html internet媒体類型XHTML文檔的應用程序可以使用HTML DOM,還可以依賴這些界面返回的大寫的元素名和屬性名。
  2. 通過DOM訪問text/xml或application/xml internet媒体類型XHTML文檔的應用程序也可以使用XML DOM. 元素名和屬性名將以小寫形式返回。 并且,一些 XHTML 元素可以也可以不出現在對象樹中,因為在內容模型中它們是可選的(如table中的 tbody 元素). 在HTML 4中,一些元素可以允許被最小化以至于它們的開始標簽和結束標簽都被忽略(SGML特性),所以可以發生。但是在XML中不行。XHTML使元素成為可選的,而不是要由文檔作者來插入外來元素。相應地,應用程序需要适應這一點。

C.12 在屬性值中使用 &

在屬性值中含有&符號時,它必須用字符實体引用來表示 (即 "&amp;"). 例如,當一個元素的 href 屬性指向一個接收參數的 CGI腳本時,它必須表示為http://my.site.dom/cgi-bin/myscript.pl?class=guest&amp;name=user,而不是 http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user.

C.13 層疊樣式表和XHTML

層疊樣式表 level 2推荐標准 [CSS2] 定義style的屬性,用于分析HTML和XML文檔的樹形結构。分析時的不通將導致不同的視覺或听覺效果,這依賴于使用的選擇器。下面的技術可以減少對文檔的這种影響,而用不修改這兩中媒体類型:

  1. XHTML的CSS樣式表應該用小寫的元素和屬性名。
  2. 在table中,tbody 元素會被HTML用戶代理程序的分析器推斷出,但是XML用戶代理程序的分析器不會這么做。所以如果在CSS選擇器中要被引用到,你應該總是明晰地加上tbody元素。
  3. 在XHTML 名址空間,用戶代理程序將把”id”屬性認作為一個ID類型的屬性。因此,即使用戶代理程序不能認出DTD,樣式表也應該能夠繼續使用”#”簡化選擇器語法。
  4. 在XHTML 名址空間,用戶代理程序將識別class屬性,因此,樣式表應該能构繼續使用”.”簡化選擇器語法。
  5. CSS 定義HTML和XML文檔的不同一致性標准; 在XHTML文檔以HTML表達時,用HTML規則,在XHTML文檔以XML表達時,用XML規則。

附錄 D. 致謝

This appendix is informative.

本規范書由W3C HTML工作組成員參与編寫

Steven Pemberton,CWI (HTML Working Group Chair)
Murray Altheim,Sun Microsystems
Daniel Austin,AskJeeves (CNET: The Computer Network through July 1999)
Frank Boumphrey,HTML Writers Guild
John Burger,Mitre
Andrew W. Donoho,IBM
Sam Dooley,IBM
Klaus Hofrichter,GMD
Philipp Hoschka,W3C
Masayasu Ishikawa,W3C
Warner ten Kate,Philips Electronics
Peter King,Phone.com
Paula Klante,JetForm
Shin'ichi Matsui,Panasonic (W3C visiting engineer through September 1999)
Shane McCarron,Applied Testing and Technology (The Open Group through August 1999)
Ann Navarro,HTML Writers Guild
Zach Nies,Quark
Dave Raggett,W3C/HP (W3C lead for HTML)
Patrick Schmitz,Microsoft
Sebastian Schnitzenbaumer,Stack Overflow
Peter Stark,Phone.com
Chris Wilson,Microsoft
Ted Wugofski,Gateway 2000
Dan Zigmond,WebTV Networks

附錄. 參考文獻

This appendix is informative.

[CSS2]
"Cascading Style Sheets,level 2 (CSS2) Specification",B. Bos,H. W. Lie,C. Lilley,I. Jacobs,12 May 1998.
最新版本:
http://www.w3.org/TR/REC-CSS2
[DOM]
"Document Object Model (DOM) Level 1 Specification",Lauren Wood et al.,1 October 1998.
最新版本:
http://www.w3.org/TR/REC-DOM-Level-1
[HTML]
"HTML 4.01 Specification",D. Raggett,A. Le Hors,I. Jacobs,24 December 1999.
最新版本:
http://www.w3.org/TR/html401
[POSIX.1]
"ISO/IEC 9945-1:1990 Information Technology - Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language]",Institute of Electrical and Electronics Engineers,Inc,1990.
[RFC2046]
"RFC2046: Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types",N. Freed and N. Borenstein,November 1996.
Available at
http://www.ietf.org/rfc/rfc2046.txt. Note that this RFC obsoletes RFC1521,RFC1522,and RFC1590.
[RFC2119]
"RFC2119: Key words for use in RFCs to Indicate Requirement Levels",S. Bradner,March 1997.
Available at:
http://www.ietf.org/rfc/rfc2119.txt
[RFC2376]
"RFC2376: XML Media Types",E. Whitehead,M. Murata,July 1998.
Available at:
http://www.ietf.org/rfc/rfc2376.txt
[RFC2396]
"RFC2396: Uniform Resource Identifiers (URI): Generic Syntax",T. Berners-Lee,R. Fielding,L. Masinter,August 1998.
This document updates RFC1738 and RFC1808.
Available at:
http://www.ietf.org/rfc/rfc2396.txt
[XML]
"Extensible Markup Language (XML) 1.0 Specification",T. Bray,J. Paoli,C. M. Sperberg-McQueen,10 February 1998.
最新版本:
http://www.w3.org/TR/REC-xml
[XMLNAMES]
"Namespaces in XML",T. Bray,D. Hollander,A. Layman,14 January 1999.
XML namespaces provide a simple method for qualifying names used in XML documents by associating them with namespaces identified by URI.
最新版本:
http://www.w3.org/TR/REC-xml-names

Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0

 

 
All contents copyright ? Los Angeles Chinese Learning Center, unless otherwise noted. Website Hosting and Promotion  

Alternative medicine and herbal supplement - Chong's Health Care Inc., formulator of herbal remedy for diabetes, a diabetes alternative medicine, herbal remedy for impotence with penis enlargement effect from animal experiment, and  natural supplements for weight losskidney disease, heart disease, allergy relief, pain relief, eye bags, etc.