|
XHTML™ 1.0: 可擴展超文本標記語言用XML 1.0重新形成的HTML 4W3C推荐標准,2000年1月26日
(Postscript version,PDF version,ZIP archive,或 Gzip'd TAR archive) Copyright 2000 W3C© (MIT,INRIA,Keio),All Rights Reserved. W3C liability,trademark,document 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家族是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的好處有:
2. 定義2.1 術語本規范書要用到下面的詞條。這些詞條基于ISO/IEC 9945-1:1990 [POSIX.1]中類似的定義,并擴展定義在[RFC2119]中:
2.2 常見詞條
3. XHTML 1.0的標准定義3.1 文檔一致性本版本 XHTML 提供了嚴格的遵循XHTML文檔的定義,受限于XHTML名址提供的標簽和屬性。使用XHTML其它名址空間的信息,如RDF表達的元數据,請參看 Section 3.1.2 。3.1.1 嚴格遵循的文檔。一個嚴格遵循XHTML的文檔只需要本規范書描述的強制性功能,必須依照下列標准:
<html> 。
http://www.w3.org/1999/xhtml 中定義。
<!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"?> <!-- initially,the 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 用戶代理程序一致性一個遵從的用戶代理程序必須遵照下面所有標准:
XML處理程序將不同系統的行結束碼規格化為單個換行附傳遞給應用。因此XHTML還必須將下列字符看成空白字符:
對 'xml:space' 屬性被設為”保留”的元素,用戶代理程序必須保持所有空白字符的原樣 (引導和結尾處空白字符除外,這些字符應該被刪除). 否則,按下列規則處理空白字符:
屬性的值中的空白符的處理方式按照 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 內容形式,因此,< 和
& 被看作是標識的開始,<和&
這樣的實体被XML處理程序看作為實体引用而分別被認為是< 和
& . 將script和style元素的內容包裹在CDATA記號部分中避免了這些實体的擴張。
<script> <![CDATA[ ... unescaped script content ... ]]> </script>
部分被 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屬性的元素有 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版本中將被刪除。
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 子集和可擴展性模塊化帶來几個好處:
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實体聲明。注意歐洲貨幣符號的實体 ( € or
€ 或
€ )
是在特殊符號部分定義。
附錄 B. 禁止元素This appendix is normative. 下面的元素在包含其它元素時有禁止(參看 Section 4.9)。 這些禁止應用于所有深度的嵌套,即,保括子元素。
a 元素。
img ,object ,big ,small ,sub ,或
sup 元素。
input ,select ,textarea ,label ,button ,form ,fieldset ,iframe 或
isindex 元素。
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.7lang 和
xml:lang 屬性
在指定元素的語言時同時使用 lang
和 xml: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文檔時要加以注意。 如果在轉換時值可能會改變,這些屬性的值在文檔中必須是唯一的,有效的,任何對這些 片段標識符的引用(不管是內部還是外部)必須更新。
a ,applet ,form ,frame ,iframe ,img ,和
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的兼容。包括以下一些屬性: compact ,nowrap ,ismap ,declare ,noshade ,checked ,disabled ,readonly ,multiple ,selected ,noresize ,defer .
C.11 文檔對象模型和 XHTML文檔對象模型 level 1 推荐標准 [ DOM] 定義XML和HTML 4的文檔對象模型。 HTML 4 文檔對象模型規定HTML元素名和屬性名以大寫形式返回。XML文檔對象模型規定元素名和屬性名以它們被指定的形式返回。在 XHTML 1.0中,元素和屬性指定為小寫形式。對這個顯著的差別可以用兩种方式處理:
tbody 元素). 在HTML
4中,一些元素可以允許被最小化以至于它們的開始標簽和結束標簽都被忽略(SGML特性),所以可以發生。但是在XML中不行。XHTML使元素成為可選的,而不是要由文檔作者來插入外來元素。相應地,應用程序需要适應這一點。
C.12 在屬性值中使用 &在屬性值中含有&符號時,它必須用字符實体引用來表示 (即 " & "). 例如,當一個元素的
href 屬性指向一個接收參數的 CGI腳本時,它必須表示為http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user,而不是
http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user .
C.13 層疊樣式表和XHTML層疊樣式表 level 2推荐標准 [ CSS2] 定義style的屬性,用于分析HTML和XML文檔的樹形結构。分析時的不通將導致不同的視覺或听覺效果,這依賴于使用的選擇器。下面的技術可以減少對文檔的這种影響,而用不修改這兩中媒体類型:
附錄 D. 致謝This appendix is informative. 本規范書由W3C HTML工作組成員參与編寫 Steven Pemberton,CWI (HTML Working Group Chair) 附錄. 參考文獻This appendix is informative. 最新版本: http://www.w3.org/TR/REC-CSS2 最新版本: http://www.w3.org/TR/REC-DOM-Level-1 最新版本: http://www.w3.org/TR/html401 Available at http://www.ietf.org/rfc/rfc2046.txt. Note that this RFC obsoletes RFC1521,RFC1522,and RFC1590. Available at: http://www.ietf.org/rfc/rfc2119.txt Available at: http://www.ietf.org/rfc/rfc2376.txt This document updates RFC1738 and RFC1808. Available at: http://www.ietf.org/rfc/rfc2396.txt 最新版本: http://www.w3.org/TR/REC-xml 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
|
||
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 loss, kidney disease, heart disease, allergy relief, pain relief, eye bags, etc.