W3C幫助將互聯(lián)網內容開發(fā)社區(qū)從畸形的,非標準的標記轉變?yōu)閄ML格式良好的有效世界。在XHTML 1.0中,這一舉措主要是為了將現(xiàn)有的基于HTML 4(或更早版本)的內容輕松地遷移到XHTML和XML中。
W3C已經取消了對XHTML系列中已棄用的元素和屬性的支持。這些元素和屬性主要具有面向表達的功能,通過樣式表或特定于客戶端的默認行為可以更好地處理這些功能。
現(xiàn)在,W3C的HTML工作組已經定義了一個基于XHTML 1.1模塊的初始文檔類型。這種文檔類型被設計為可移植到廣泛的客戶端設備集合,并適用于大多數(shù)的互聯(lián)網內容。
文件一致性
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>W3Cschool-這是一個文檔標題</title>
</head>
<body>
<p>跳轉到 <a href="http://www.o2fo.com/">W3Cschool</a>。</p>
</body>
</html>
注 - 在這個例子中,包含了XML聲明。所有XML文檔中都不需要XML聲明,如上所述。強烈建議XHTML文檔作者在其所有文檔中使用XML聲明。如果文檔的字符編碼不是默認的UTF-8或UTF-16,則需要此類聲明。
XHTML 1.1模塊
XHTML 1.1文檔類型由以下XHTML模塊組成。
- 結構模塊 - 結構模塊定義了XHTML的主要結構元素。這些元素有效地作為許多XHTML家族文檔類型的內容模型的基礎。包含在這個模塊中的元素和屬性是 - body,head,html和title。
- 文本模塊 - 這個模塊定義了所有的基本文本容器元素,屬性及其內容模型 - 縮寫,縮寫,地址,塊引用,引用,代碼,dfn,div,em,h1,h2,h3,h4,h5 ,h6,kbd,p,pre,q,samp,span,strong和var。
- 超文本模塊 - 超文本模塊提供用于定義到其他資源的超文本鏈接的元素。該模塊支持元素a。
- 列表模塊 - 顧名思義,列表模塊提供了列表導向的元素。具體來說,列表模塊支持以下元素和屬性 - dl,dt,dd,ol,ul和li。
- 對象模塊 - 對象模塊提供通用對象包含的元素。具體來說,對象模塊支持 - 對象和參數(shù)。
- 演示模塊 - 這個模塊定義了簡單的演示相關標記的元素,屬性和最小內容模型 - b,big,hr,i,small,sub,sup和tt。
- 編輯模塊 - 此模塊定義用于編輯相關標記的元素和屬性 - del和ins。
- 雙向文本模塊 - 雙向文本模塊定義了一個元素,可用于聲明元素內容的雙向規(guī)則 - bdo。
- 表單模塊 - 它提供了HTML 4.0中的所有表單功能。具體來說,它支持 - 按鈕,字段集,表單,輸入,標簽,圖例,選擇,optgroup,選項和textarea。
- 表模塊 - 支持以下元素,屬性和內容模型 - 標題,列,colgroup,表,tbody,td,tfoot,th,thead和tr。
- 圖像模塊 - 它提供了基本的圖像嵌入功能,可以在客戶端圖像地圖的一些實現(xiàn)中獨立使用。它支持元素 - img。
- 客戶端圖像映射模塊 - 為客戶端圖像映射提供元素 - 區(qū)域和地圖。
- 服務器端圖像映射模塊 - 提供圖像選擇和選擇坐標傳輸?shù)闹С?。服務器端圖像映射模塊支持img上的屬性ismap。
- 內部事件模塊 - 它支持在XHTML事件中討論的所有事件。
- 元信息模塊 - 元信息模塊定義了描述文檔聲明部分信息的元素。它包括元素元。
- 腳本模塊 - 它定義了用于包含與可執(zhí)行腳本有關的信息的元素,或者缺少對可執(zhí)行腳本的支持。包含在這個模塊中的元素和屬性是 - 腳本和腳本。
- 樣式表模塊 - 它定義了在聲明內部樣式表時使用的元素。這個模塊定義的元素和屬性是 - style。
- 樣式屬性模塊(已棄用) - 定義樣式屬性。
- 鏈接模塊 - 它定義了一個可用于定義到外部資源的鏈接的元素。它支持鏈接元素。
- 基本模塊 - 它定義了一個元素,可以用來定義一個基本的URI,文檔中的相對URI被解析。包含在這個模塊中的元素和屬性是 - base。
- Ruby Annotation Module - XHTML也使用Ruby中定義的Ruby Annotation模塊,支持ruby,rbc,rtc,rb,rt和rp。
XHTML 1.0 Strict的變化
本節(jié)介紹XHTML 1.1和XHTML 1.0 Strict之間的區(qū)別。XHTML 1.1代表了HTML 4和XHTML 1.0的背離。
- 最重要的是刪除已棄用的功能。
- 這些變化可以總結如下 -
- 在每個元素上,lang屬性已經被移除,以支持xml:lang屬性。
- 在<a>和<map>元素上,名稱屬性已被刪除,以支持id屬性。
- 元素的紅寶石集合已被添加。
更多建議: