- XHTML 教程
- XHTML - 首頁
- XHTML - 簡介
- XHTML - 語法
- XHTML - 對比
- XHTML - 文件型別定義 (DOCTYPE)
- XHTML - 屬性
- XHTML - 事件
- XHTML - 1.1版本
- XHTML - 提示與技巧
- XHTML - 驗證
- XHTML - 總結
- XHTML 有用資源
- XHTML - 快速指南
- XHTML - 有用資源
XHTML - 1.1版本
W3C 幫助網際網路內容開發社群從過去格式錯誤、不符合標準的標記語言過渡到格式良好、有效的 XML 世界。在 XHTML 1.0 中,這一轉變是透過提供將現有基於 HTML 4(或更早版本)的內容輕鬆遷移到 XHTML 和 XML 的目標來實現的。
W3C 已從 XHTML 系列中刪除了對已棄用元素和屬性的支援。這些元素和屬性在很大程度上具有面向演示的功能,最好透過樣式表或特定客戶端的預設行為來處理。
現在,W3C 的 HTML 工作組已定義了一個僅基於模組的初始文件型別,即 XHTML 1.1。此文件型別旨在可移植到各種客戶端裝置,並適用於大多數網際網路內容。
文件一致性
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 模組
XHTML 1.1 文件型別由以下 XHTML 模組組成。
結構模組 - 結構模組定義了 XHTML 的主要結構元素。這些元素有效地充當許多 XHTML 系列文件型別的 內容模型 的基礎。此模組中包含的元素和屬性有:body、head、html 和 title。
文字模組 - 此模組定義所有基本的文字容器元素、屬性及其內容模型:abbr、acronym、address、blockquote、br、cite、code、dfn、div、em、h1、h2、h3、h4、h5、h6、kbd、p、pre、q、samp、span、strong 和 var。
超文字模組 - 超文字模組提供用於定義指向其他資源的超文字連結的元素。此模組支援元素 a。
列表模組 - 正如其名稱所示,列表模組提供面向列表的元素。具體來說,列表模組支援以下元素和屬性:dl、dt、dd、ol、ul 和 li。
物件模組 - 物件模組提供用於通用物件包含的元素。具體來說,物件模組支援: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。
客戶端影像對映模組 - 它提供客戶端影像對映的元素:area 和 map。
伺服器端影像對映模組 - 它提供對影像選擇和選擇座標傳輸的支援。伺服器端影像對映模組支援:img 上的 ismap 屬性。
內在事件模組 - 它支援 XHTML 事件中討論的所有事件。
元資訊模組 - 元資訊模組定義一個元素,該元素描述文件宣告部分中的資訊。它包含元素 meta。
指令碼模組 - 它定義用於包含與可執行指令碼相關的資訊或缺乏對可執行指令碼支援的元素。此模組中包含的元素和屬性有:noscript 和 script。
樣式表模組 - 它定義一個元素,該元素用於宣告內部樣式表。此模組定義的元素和屬性為:style。
樣式屬性模組(已棄用) - 它定義 style 屬性。
連結模組 - 它定義一個元素,該元素可用於定義指向外部資源的連結。它支援link 元素。
基準模組 - 它定義一個元素,該元素可用於定義一個基準 URI,相對於該 URI 解析文件中的相對 URI。此模組中包含的元素和屬性為:base。
Ruby 註解模組 - XHTML 還使用 RUBY 中定義的 Ruby 註解模組,並支援:ruby、rbc、rtc、rb、rt 和 rp。
XHTML 1.0 嚴格模式的更改
本節介紹 XHTML 1.1 和 XHTML 1.0 嚴格模式之間的區別。XHTML 1.1 代表著與 HTML 4 和 XHTML 1.0 的背離。
最顯著的變化是刪除了已棄用的功能。
這些更改可以總結如下:
在每個元素上,都已刪除 lang 屬性,並改為使用xml:lang 屬性。
在<a> 和 <map> 元素上,已刪除 name 屬性,並改為使用 id 屬性。
已新增ruby 元素集合。