XHTML 是什麼?
- XHTML 指可擴展超文本標籤語言(EXtensible HyperText Markup Language)。
- XHTML 的目標是取代 HTML。
- XHTML 與 HTML 4.01 幾乎是相同的。
- XHTML 是更嚴格更純淨的 HTML 版本。
- XHTML 是作爲一種 XML 應用被重新定義的 HTML。
- XHTML 是一個 W3C 標準。
XHTML 是 HTML 與 XML(擴展標記語言)的結合物。XHTML 包含了所有與 XML 語法結合的 HTML 4.01 元素。
XHTML 與 HTML 之間的差異:
- XHTML 元素必須被正確地嵌套。
- XHTML 元素必須被關閉。
- 標籤名必須用小寫字母。
- XHTML 文檔必須擁有根元素<html>。
更多的 XHTML 語法規則:
- 屬性名稱必須小寫
- 屬性值必須加引號
- 屬性不能簡寫
- 用 Id 屬性代替 name 屬性
- XHTML DTD 定義了強制使用的 HTML 元素
應該在 "/" 符號前添加一個額外的空格,以使你的 XHTML 與當今的瀏覽器相兼容。
lang 屬性應用於幾乎所有的 XHTML 元素。它定義元素內部的內容的所用語言的類型。如果在某元素中使用 lang 屬性,就必須添加額外的 xml:lang,像這樣:
<div lang="no" xml:lang="no">Heia Norge!</div>
所有 XHTML 文檔必須進行文件類型聲明(DOCTYPE declaration)。在 XHTML 文檔中必須存在html、head、body元素,而 title 元素必須位於在 head 元素中。下面是一個最小化的 XHTML 文件模板:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>simple document</title>
</head>
<body>
<p>a simple paragraph</p>
</body>
</html>
在 XHTML 中,<html> 標籤內的 xmlns 屬性是必需的。然而,即使當 XHTML 文檔中沒有這個屬性時,w3.org 的驗證工具也不會提示錯誤。這是因爲,xmlns="http://www.w3.org/1999/xhtml" 是一個固定的值,即使你沒有把它包含在代碼中,這個值也會被添加到 <html> 標籤中。
文檔類型定義(DTD)
- DTD 規定了使用通用標記語言(SGML)的網頁的語法。
- 諸如 HTML 這樣的通用標記語言應該使用 DTD 來規定應用於某種特定文檔中的標籤的規則,這些規則包括一系列的元素和實體的聲明。
- 在通用標記語言(SGML)的文檔類型聲明或 DTD 中,XHTML 被詳細地進行了描述。
- XHTML DTD 使用精確的可被計算機讀取的語言來描述合法的 XHTML 標記的語法和句法。
存在三種XHTML文檔類型:
- STRICT(嚴格類型)
- TRANSITIONAL(過渡類型)
- FRAMESET(框架類型)
XHTML 1.0 規定了三種 XML 文檔類型,以對應上述三種 DTD。
XHTML 1.0 Strict
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
在此情況下使用:需要乾淨的標記,避免表現上的混亂。請與層疊樣式表配合使用。
XHTML 1.0 Transitional
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
在此情況下使用:當需要利用 HTML 在表現上的特性時,並且當需要爲那些不支持層疊樣式表的瀏覽器編寫 XHTML 時。
XHTML 1.0 Frameset
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
在此的情況下使用:需要使用HTML框架將瀏覽器窗口分割爲兩部分或更多框架時。
XHTML網頁驗證站點
使用下面的鏈接根據官方的 W3C DTD 對網頁進行驗證:http://validator.w3.org/。
HTML網頁轉換成XHTML網頁的轉換工具
Dave Raggett 的 HTML TIDY是用來清理HTML代碼的免費工具。在處理那些由專門的 HTML 代碼編輯器和轉換工具生成的難以閱讀的HTML代碼方面,TIDY 還是做得很棒的。同時,它可以幫助你發現站點中哪些地方需要投入更多精力,使得對於殘疾人士,網頁具有更強的易用性。
XHTML 模塊化的原因
XHTML 是簡單而龐大的語言。XHTML 包含了網站開發者需要的大多數功能。對於某些特殊的用途,XHTML 太大且太複雜,而對於其他的用途,它又太簡單了。
通過將 XHTML 分爲若干模塊,W3C 已經創造出數套小巧且定義良好的 XHTML 元素,這些元素既可被獨立應用於簡易設備,又可以與其他 XML 標準併入大型且更復雜的應用程序。
通過使用模塊化的 XHTML,產品和軟件設計者可以:
- 選擇被某種設備所支持的元素。
- 在不打破 XHTML 標準的情況下,使用 XML 對 XHTML 進行擴展。
- 針對小型設備,對 XHTML 進行簡化。
- 通過添加新的 XML 功能(比如 MathML, SVG, 語音和多媒體),針對複雜的應用對 XHTML 進行擴展。
- 定義 XHTML 框架,比如 XHTML BASIC (針對移動設備的 XHTML 子集)。