W3C幫助網際網路內容開發社區從格式錯誤、非標準的標記時代,轉變爲格式良好、有效的XML世界。在XHTML1.0中,這一舉措的目標是提供將現有的基於HTML4(或更早版本)的內容輕鬆遷移到XHTML和XML。
W3C已經從XHTML系列中刪除了對不推薦使用的元素和屬性的支持。這些元素和屬性在很大程度上具有面向表示的功能,通過樣式表或特定於客戶端的默認行爲可以更好地處理這些功能。
現在W3C的HTML工作組已經定義了一個初始的文檔類型,它完全基於XHTML 1.1模塊。此文檔類型設計爲可移植到廣泛的客戶端設備集合,並適用於大多數internet內容。
Document Conformance
XHTML 1.1提供了嚴格一致的XHTML文檔的定義,這些文檔必須滿足以下所有條件&負;
文檔必須符合XHTML 1.1文檔類型定義中表示的約束。
文檔的根元素必須是<html>。
文檔的根元素必須使用xmlns屬性指定XHTML名稱空間。
根元素還可以包含XML架構中定義的架構位置屬性。
文檔中的根元素之前必須有DOCTYPE聲明。如果存在,DOCTYPE聲明中包含的公共標識符必須引用XHTML 1.1文檔類型定義中找到的DTD。
下面是一個XHTML 1.1文檔的例子−
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd" xml:lang="en"> <head> <title>This is the document title</title> </head> <body> <p>Moved to <a href="http://example.org/">example.org</a>.</p> </body> </html>
注意在本例中,包含了XML聲明。在所有XML文檔中,都不需要像上面這樣的XML聲明。強烈建議XHTML文檔作者在其所有文檔中使用XML聲明。當文檔的字符編碼不是默認的UTF-8或UTF-16時,需要這樣的聲明。
XHTML 1.1 Modules
XHTML 1.1文檔類型由以下XHTML模塊組成。
結構模塊−結構模塊定義XHTML的主要結構元素。這些元素有效地充當了許多XHTML系列文檔類型的內容模型的基礎。此模塊中包含的元素和屬性有−body、head、html和title。
文本模塊−此模塊定義所有基本文本容器元素、屬性及其內容模型−縮寫、地址、blockquote、br、cite、code、dfn、div、em、h1、h2、h3、h4、h5、h6、kbd、p、pre、q、samp、span、strong和var。
超文本模塊提供用於定義指向其他資源的超文本連結的元素。此模塊支持元素a。
List Module−顧名思義,List Module提供面向列表的元素。具體來說,List模塊支持以下元素和屬性&負;dl、dt、dd、ol、ul和li。
對象模塊−對象模塊爲通用對象包含提供元素。具體來說,Object模塊支持−Object和param。
演示模塊−此模塊爲簡單的演示相關標記−b、big、hr、i、small、sub、sup和tt定義元素、屬性和最小內容模型。
編輯模塊−此模塊定義用於編輯相關標記−del和ins的元素和屬性。
雙向文本模塊−雙向文本模塊定義一個元素,該元素可用於聲明元素內容−bdo的雙向規則。
表單模塊提供了HTML 4.0中的所有表單功能。具體來說,它支持−button、fieldset、form、input、label、legend、select、optgroup、option和textarea。
表模塊−它支持以下元素、屬性和內容模型−caption、col、colgroup、Table、tbody、td、tfoot、th、thead和tr。
圖像模塊−它提供基本的圖像嵌入,並可獨立用於客戶端圖像映射的某些實現。它支持元素img。
客戶端圖像映射模塊爲客戶端圖像映射區域和映射提供元素。
伺服器端圖像映射模塊爲圖像選擇和選擇坐標的傳輸提供支持。伺服器端圖像映射模塊支持img上的−屬性ismap。
內部事件模塊−它支持XHTML事件中討論的所有事件。
元信息模塊−元信息模塊定義了一個元素,用於描述文檔聲明部分中的信息。它包括元素meta。
腳本模塊−它定義用於包含與可執行腳本相關的信息或不支持可執行腳本的元素。此模塊中包含的元素和屬性是−noscript和script。
樣式表模塊定義聲明內部樣式表時要使用的元素。此模塊定義的元素和屬性是−樣式。
樣式屬性模塊(已棄用)−它定義樣式屬性。
連結模塊−它定義了可用於定義指向外部資源的連結的元素。它支持連結元素。
基本模塊−它定義了一個元素,該元素可用於定義一個基本URI,根據該URI解析文檔中的相對URI。此模塊中包含的元素和屬性是−base。
Ruby注釋模塊XHTML還使用Ruby中定義的Ruby注釋模塊,並支持Ruby、rbc、rtc、rb、rt和rp。
Changes from XHTML 1.0 Strict
本節描述了XHTML1.1和XHTML1.0strict之間的區別。XHTML1.1表示與HTML4和XHTML1.0的背離。
最重要的是刪除了被棄用的功能。
這些變化可以概括爲以下幾點;
在每個元素上,lang屬性都已被刪除,取而代之的是xml:lang屬性。
在<a>和<map>元素上,已刪除name屬性,而不是id屬性。
添加了元素的ruby集合。