您好,登錄后才能下訂單哦!
本篇內容主要講解“XHTML基礎入門知識點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“XHTML基礎入門知識點有哪些”吧!
摘要
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的功能和互用性。
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工具很容易查看,編輯和檢驗它們。
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還加入了對超文本的支持,以后還增加了媒體功能。
在非常短的時間內,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的文檔只需要本規范書描述的強制性功能,必須依照下列標準:
它必須經過附錄A Appendix A中的3中DTD之一的驗證。
文檔的根元素必須是<html>。
文檔的根元素必須用xmlns屬性[XMLNAMES]指定XHTML名址。XHTML的名址在中定義。
在根元素之前,必須有一個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="" xml:lang="en" lang="en">
<head>
<title>Virtual Library</title>
</head>
<body>
<p>Moved to <a href="">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="" xml:lang="en" lang="en">
<head>
<title>A Math Example</title>
</head>
<body>
<p>The following is MathML markup:</p>
<math xmlns="">
<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=‘>
This is also available <a href="">online</a>.
</p>
</notes>
</book>
3.2 用戶代理程序一致性
一個遵從的用戶代理程序必須遵照下面所有標準:
為和XML1.0推薦標準一致 [XML],用戶代理程序必須分析和評估XHTML文檔的編排良好性。如果用戶代理程序宣稱自己是一個帶驗證能力的用戶代理,它還必須依照[XML]安文檔引用的DTD來驗證文檔。
當用戶代理程序宣稱支持本規范書定義的功能facilities時,它必須按功能的定義來支持。
當用戶代理程序按一般的XML來處理XHTML文檔時,它應當只將ID類型的屬性(如多數XHTML元素的ID屬性)識別成片段標識符。
如果用戶代理程序遇到一個它不識別的元素,它必須顯示元素的內容。
如果用戶代理程序遇到一個它不識別的屬性,它必須忽略整個屬性的定義(即屬性及其值)。
如果用戶代理程序遇到一個它不識別的屬性值,它必須使用使用屬性的缺省值。
如果它遇到一個實體引用(不是預定義了的實體),用戶代理程序沒有處理過其聲明(如果聲明是在用戶代理程序沒有讀到的外部子集中就會發生),實體引用應該以字符顯示(以&符號開始,以半冒號結束),以編排成實體引用。
在顯示內容時,用戶代理程序如果遇到它不認識的字符或認識但不能顯示字符實體引用,它應該以顯眼的方式告訴用戶發生了異常顯示。
下面的字符在 [XML]中被定義為 空白(whitespace)字符:
空格 ( )
Tab ( )
回車 (
)
換行 (
)
XML處理程序將不同系統的行結束碼規格化為單個換行附傳遞給應用。因此XHTML還必須將下列字符看成空白字符:
換頁 ()
0寬度空格 (?)
對 ‘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內容形式,因此,< 和 & 被看作是標識的開始,<和& 這樣的實體被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屬性的元素有 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 子集和可擴展性
模塊化帶來幾個好處:
提供了子集化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相對應。
XHTML-1.0-Strict
XHTML-1.0-Transitional
XHTML-1.0-Frameset
A.2 實體集
XHTML的實體集和HTML 4的相同,但是被修飾成有效的XML 1.0實體聲明。注意歐洲貨幣符號的實體 (€ or € 或 €) 是在特殊符號部分定義。
Latin-1 characters
Special characters
Symbols
附錄 B. 禁止元素
This appendix is normative.
下面的元素在包含其它元素時有禁止(參看 Section 4.9)。 這些禁止應用于所有深度的嵌套,即,保括子元素。
a
不能包含其它 a 元素。
pre
不能包含 img,object,big,small,sub,或 sup 元素。
button
不能包含 input,select,textarea,label,button,form,fieldset,iframe 或 isindex 元素。
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="" 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 lang 和 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中,元素和屬性指定為小寫形式。對這個顯著的差別可以用兩種方式處理:
通過DOM訪問text/html internet媒體類型XHTML文檔的應用程序可以使用HTML DOM,還可以依賴這些界面返回的大寫的元素名和屬性名。
通過DOM訪問text/xml或application/xml internet媒體類型XHTML文檔的應用程序也可以使用XML DOM. 元素名和屬性名將以小寫形式返回。 并且,一些 XHTML 元素可以也可以不出現在對象樹中,因為在內容模型中它們是可選的(如table中的 tbody 元素)。 在HTML 4中,一些元素可以允許被最小化以至于它們的開始標簽和結束標簽都被忽略(SGML特性),所以可以發生。但是在XML中不行。XHTML使元素成為可選的,而不是要由文檔作者來插入外來元素。相應地,應用程序需要適應這一點。
C.12 在屬性值中使用 &
在屬性值中含有&符號時,它必須用字符實體引用來表示 (即 "&")。 例如,當一個元素的 href 屬性指向一個接收參數的 CGI腳本時,它必須表示為而不是
C.13 層疊樣式表和XHTML
層疊樣式表 level 2推薦標準 [CSS2] 定義style的屬性,用于分析HTML和XML文檔的樹形結構。分析時的不通將導致不同的視覺或聽覺效果,這依賴于使用的選擇器。下面的技術可以減少對文檔的這種影響,而用不修改這兩中媒體類型:
XHTML的CSS樣式表應該用小寫的元素和屬性名。
在table中,tbody 元素會被HTML用戶代理程序的分析器推斷出,但是XML用戶代理程序的分析器不會這么做。所以如果在CSS選擇器中要被引用到,你應該總是明晰地加上tbody元素。
在XHTML 名址空間,用戶代理程序將把”id”屬性認作為一個ID類型的屬性。因此,即使用戶代理程序不能認出DTD,樣式表也應該能夠繼續使用”#”簡化選擇器語法。
在XHTML 名址空間,用戶代理程序將識別class屬性,因此,樣式表應該能構繼續使用”。”簡化選擇器語法。
CSS 定義HTML和XML文檔的不同一致性標準; 在XHTML文檔以HTML表達時,用HTML規則,在XHTML文檔以XML表達時,用XML規則。
到此,相信大家對“XHTML基礎入門知識點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。