摘要
XHTML 1.0是作為XML1.0應(yīng)用而重新制定的HTML4。本規(guī)范書定義XHTML 1.0以及其中與HTML 4對應(yīng)的3種文檔類型定義(DTD,Document Type Definition)。
每個元素的語義和它們的屬性已經(jīng)在W3C Recommendation for HTML 4中定義,它們是XHTML將來擴展的基礎(chǔ)。只要遵循一小套指導(dǎo)方針,XHTML文檔就能和現(xiàn)存的HTML用戶代理程序兼容。
本文檔的狀況
本節(jié)描述本文檔發(fā)布時的狀況。其它的文檔也許會取代本文檔。W3C負責(zé)維護本文檔系列的最新狀況。本文檔由W3C的成員和一些對此感興趣的團體審閱,并經(jīng)主管認可而成為W3C推薦標(biāo)準(zhǔn)。 這是一個穩(wěn)定的文檔,可以作為參考材料或在其它文檔中作為標(biāo)準(zhǔn)引用。W3C制定本推薦標(biāo)準(zhǔn)的目的就是使大家注意到本規(guī)范說明書,使之廣泛傳播,增強Web的功能和互用性。
1. 什么是 XHTML?
XHTML是一系列當(dāng)前和將來的文檔類型和程序塊,它由HTML 4 [HTML]再生和擴展而來,HTML 4是其子集。XHTML系列文檔基于XML,最終被設(shè)計用來與基于XML的用戶代理程序一起工作。XHTML家族的詳情及其發(fā)展過程在未來趨勢一節(jié)中詳述。
XHTML 1.0(本規(guī)范書)是XHTML家族的第一個文檔。它是將3種HTML 4文檔類型應(yīng)用到XML 1.0 [XML]之后重新形成的。其意圖是,作為一種語言,它的內(nèi)容既符合XML,并且如果依照一些簡單的指導(dǎo)方針,也能被HTML4用戶代理程序識別。開發(fā)者將它們的文檔移植成為XHTML 1.0,會得到以下好處:
XHTML文檔遵從XML。這樣,用標(biāo)準(zhǔn)的XML工具很容易查看,編輯和檢驗它們。
XHTML文檔可以在現(xiàn)有的HTML4代理用戶程序中使用,也可以在新的XHTML用戶代理程序中使用,在后者中可以達到與前者同樣或更好的效果。
XHTML 文檔中使用的應(yīng)用程序(如script 和 applet) 可以是HTML 的文檔對象模型(Document Object Model) ,也可以是 XML 的文檔對象模型 [DOM]。
隨著 XHTML 家族的發(fā)展,遵從XHTML 1.0的文檔更有可能運用在各種XHTML環(huán)境中。
XHTML家族是Internet發(fā)展的下一步。 將現(xiàn)在將文檔移植成XML,開發(fā)者在確保他們的文檔向前后兼容的同時,還能享有進入XML世界帶來的好處。
1.1 什么是HTML 4?
HTML 4 [HTML] 是SGML (Standard Generalized Markup Language) 的一個應(yīng)用,遵從國際標(biāo)準(zhǔn)ISO 8879,被廣泛的當(dāng)作 World Wide Web上的標(biāo)準(zhǔn)出版語言。
SGML是一種描述標(biāo)記語言,特別是那些用于電子文檔交換,文檔管理和文檔發(fā)布語言的語言。HTML是SGML定義的語言的一個實例。
SGML出現(xiàn)在80年代中期,一直保持得很穩(wěn)定。穩(wěn)定是原因是它有豐富的特征和具有靈活性。但是,靈活性的帶來一定程度的復(fù)雜性,限制了它在多種環(huán)境下的適應(yīng)性,包括World Wide Web。
HTML最初的構(gòu)想是作為一種交換科學(xué)和其它技術(shù)文檔的一種語言,供那些不熟悉書寫文檔的專家使用。HTML規(guī)定一小套結(jié)構(gòu)語義標(biāo)簽,適于書寫相對簡單的文檔,從而解決了SGML復(fù)雜性的問題。除了簡化了文檔結(jié)構(gòu)外,HTML還加入了對超文本的支持,以后還增加了媒體功能。
在非常短的時間內(nèi),HTML變得廣泛流行,并且很快超出了其原來的目的。HTML(標(biāo)準(zhǔn))內(nèi)部的新元素以很快的速度創(chuàng)造出來,HTML也被很快的改編以用于垂直的,高度專門化的市場。多余的新元素導(dǎo)致文檔在跨平臺時的兼容問題。
隨著軟件和平臺不一致性增加,很顯然,“經(jīng)典的”HTML 4在這些平臺上使用的適用性就會受到一些限制。
1.2 什么是 XML?
XML[XML]是Extensible Markup Language的縮寫,創(chuàng)造XML的目的是重新獲得SGML的能力和靈活性,而去除其大部分復(fù)雜的東西。盡管是一個受限制SGML的形式,但是XML仍保留了SGML的大部分功能和豐富性,還保留了SGML的所有常用特性。
在保留這些有用的特性的同時,XML去掉了SMGL中很多更復(fù)雜的特性,這些特性使得書寫和設(shè)計合適的軟件既困難又昂貴。
1.3 為什么需要XHTML?
上面已經(jīng)提到了移植到XHTML的好處,一般來說,移植到XHTML的好處有:
文檔開發(fā)者和用戶代理程序設(shè)計商常常用新方法,新標(biāo)簽來表達它們的想法。用XML導(dǎo)入新元素和新的元素屬性相對來說更容易。XHTML家族被設(shè)計用來提供這些擴展,通過XHTML模塊和開發(fā)新的遵從XHTML的模塊的技術(shù)。(將在即將出臺的XHTML模塊化規(guī)范說明書中描述)。在開發(fā)文檔和設(shè)計新用戶代理程序時,這些模塊將允許混合使用現(xiàn)有的和新的特性集。
各種替代的訪問Internet的方法不斷的被提出。一些人估計,到2002年,internet上75%的文檔會在這些替代的平臺上被查看。XHTML 在設(shè)計時就考慮到用戶代理程序的協(xié)同工作性。通過一個新的用戶代理程序和文檔協(xié)議機制,服務(wù)器、代理程序和用戶代理程序?qū)⒛軌蜃罴训貪M足傳輸,最后,有可能開發(fā)出遵循XHTML的文檔,能被任何遵循XHTML的用戶代理程序使用。
2. 定義
2.1 術(shù)語
本規(guī)范書要用到下面的詞條。這些詞條基于ISO/IEC 9945-1:1990 [POSIX.1]中類似的定義,并擴展定義在[RFC2119]中:
執(zhí)行定義(Implementation-defined)
一個值或行為被執(zhí)行定義時,它由執(zhí)行來定義相應(yīng)的需要以正確解釋文檔。
可以(May)
在執(zhí)行時,詞“可以”被解釋為一個可選的特性,在本規(guī)范書中不是必須的,但是可以提供。對于文檔一致性來說,詞”可以”的意思是不能使用可選的特性. ”可選的”(optional)和”可以”的定義是相同的。
必須(Must)
在本規(guī)范書中,“必須”被解釋為,在執(zhí)行時或?qū)τ趪栏褡裱璛HTML的文檔的強制需要。詞條”應(yīng)當(dāng)”(shall)和”必須”的定義相同。.
保留(Reserved)
一個值或行為未被指定,但是不允許用于符合規(guī)范的文檔,也不被符合規(guī)范的用戶代理程序支持。
應(yīng)該(Should)
在執(zhí)行時,”應(yīng)該”被解釋為一個執(zhí)行時的建議,但不是一個必須。對于文檔來說,“應(yīng)該”被解釋為:編程練習(xí)時是推薦使用的,對于嚴格遵循XHTML的文檔,則是必須的。
被支持(Supported)
本規(guī)范書中某些功能是可選的,如果一個功能被支持,它的行為被本規(guī)范書規(guī)定。
未指定(Unspecified)
一個值或行為未被指定時,規(guī)范書不定義一個功能的可移植性要求,即使文檔中使用了這個功能。在這種情況下,一個需要指定的行為的文檔,而不是在使用這個功能時允許任何行為,不是一個嚴格遵循XHTML的文檔。
2.2 常見詞條
屬性(Attribute)
屬性是在DTD中聲明過的某個元素的一個參數(shù)。屬性的類型和取值范圍,包括它可能的缺省值,在DTD中定義。
DTD
一個 DTD,又稱文檔類型定義,是一個XML聲明集合,在其中定義遵從DTD的文檔中使用的合法的結(jié)構(gòu),元素和屬性。
文檔(Document)
文檔是一個數(shù)據(jù)流,還包括它引用的其它數(shù)據(jù)流。文檔的結(jié)構(gòu)是用相關(guān)的DTD定義的元素組織起來來保存信息。更多信息,請參看 Document Conformance 。
元素(Element)
元素是在DTD中聲明的文檔的結(jié)構(gòu)單位。元素的內(nèi)容模型在DTD中定義,額外的語義可以在另外的元素描述中定義。
功能(Facilities)
功能包括元素,屬性和與元素屬性相關(guān)的語義。支持這些功能的執(zhí)行說成提供了所需的功能。
執(zhí)行(Implementation)
執(zhí)行是指系統(tǒng)提供了功能和服務(wù)集以支持本規(guī)范書。更多信息,請參看User Agent Conformance。
分析(Parsing)
分析是掃描文檔的動作,文檔包含的信息被過濾成元素的上下文結(jié)構(gòu)包含的信息。
顯示(Rendering)
顯示是文檔信息被呈現(xiàn)的動作。顯示以最適合環(huán)境的形式完成(如聲覺,視覺,打印)。
用戶代理程序(User Agent)
用戶代理程序是執(zhí)行程序,獲取并處理XHTML文檔。更多信息,請查看User Agent Conformance。
驗證(Validation)
驗證是用相關(guān)的DTD檢驗文檔的過程,以確信結(jié)構(gòu),元素的使用,屬性的使用和DTD中的定義一致。
格式良好(Well-formed)
一個格式良好的文檔的結(jié)構(gòu)依照XML1.0推薦標(biāo)準(zhǔn)[XML]中2.1節(jié)Section 2.1的規(guī)定。基本上,這個定義規(guī)定了元素必須有起始和結(jié)束標(biāo)簽,要正確的互相嵌套。
3. XHTML 1.0的標(biāo)準(zhǔn)定義
3.1 文檔一致性
本版本 XHTML 提供了嚴格的遵循XHTML文檔的定義,受限于XHTML名址提供的標(biāo)簽和屬性。使用XHTML其它名址空間的信息,如RDF表達的元數(shù)據(jù),請參看Section 3.1.2 。
3.1.1 嚴格遵循的文檔。
一個嚴格遵循XHTML的文檔只需要本規(guī)范書描述的強制性功能,必須依照下列標(biāo)準(zhǔn):
它必須經(jīng)過附錄A Appendix A中的3中DTD之一的驗證。
文檔的根元素必須是<HTML>。
文檔的根元素必須用XMLns屬性[XMLNAMES]指定XHTML名址。XHTML的名址在http://www.w3.org/1999/xHTML中定義
如對本文有疑問,請?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會為你解答?。?點擊進入論壇