安裝或設定

XHTML 與 HTML 的關係

XHTML 只是 HTML 的序列化版本。XHTML 最初旨在清理 HTML 標記以更好地改進標準支援。不幸的是,W3C 在 XHTML 2.0 上的工作並不直觀,也沒有影響整個行業的 HTML5。雖然你可以使用 XHTML5(XML 序列化 HTML5)進行微小修改,但 XHTML5 不是標準。下面提供了一些示例,以簡化 XHTML5 的採用,並澄清 HTML5 標準中不考慮 XML 的模糊性。

XHTML 的好處

因為 XHTML 使用瀏覽器的 XML 解析器,所以顯著(儘管不是絕對)不太容易出現常見的程式設計錯誤。如果開發者使用載入 XML 格式不正確的瀏覽器大多渲染引擎的 XHTML 應用將呈現多達畸形 XML 而 Gecko 渲染引擎(Firefox 中使用)將顯示一個黃色網頁。在所有情況下,都會顯示一條錯誤訊息,其中第一行的行號和列號 ** 遇到遇到 XML 解析錯誤。許多開發人員犯了一些簡單的錯誤,例如錯過 HTML 屬性的引用,這使得他們花費數天時間來確定為什麼一個或兩個瀏覽器沒有按預期呈現 HTML 頁面,使用 XHTML 可以大大縮短 HTML 的開發時間。XHTML 可能會積極強化學習為人們學習 Web 開發編寫有效的 HTML 程式碼,因為它沒有允許 XHTML 應用程式完全呈現格式錯誤的程式碼,並提供新的開發人員可以線上搜尋工作解決方案的明確錯誤訊息。由於 XHTML 是 XML 的一個子集,因此與在各種工業,商業和住宅用途中使用 XML 的軟體具有非常高的相容性。最後由於它的嚴格要求,XHTML 程式碼自動與 HTML 和 XML 相容(主觀上缺少多個相同的 id 屬性值),而 HTML 本身並不與 HTML 和 XML 的其他主體相容,因為 HTML 程式碼可能不是很明顯是畸形的

XHTML 缺點

由於更嚴格的 XML 解析器規則,XHTML 最初對於經驗不足的開發人員來說並不那麼容易。XHTML 不經常被各個組考慮,包含 HTML5 標準寫得不好的部分的含糊不清,並且沒有明確的驗證器宣告支援 XHTML5。XHTML 與 JavaScript 的 lazier 部分不太相容,例如 innerHTML,它沒有正確地序列化 DOM 的新部分,但是這對於學習 XHTML 的專門開發人員來說更有利,因為它需要更嚴格和更可互換的程式碼。

使用 XHTML

XHTML 是 HTML 和 XML 解析器的結合使用,XML 解析器是 HTML 解析器的一個更嚴格的版本; 所有現代瀏覽器都有 HTML 解析器和 XML 解析器(以及隨後的 XHTML)。XHTML 不需要安裝軟體(除了使用任何現代瀏覽器),但是(X)HTML 應用程式只有 XHTML 才能正確地提供給瀏覽器,並且伺服器傳送的標頭宣告瞭 application/xhtml+xml mime 型別; 你可以通過在瀏覽器中的 Web 開發人員工具的網路請求面板中檢視媒體型別/ mime /型別來驗證你的 XHTML 應用程式是否實際上是這樣服務的。用作 text/html 的頁面不是 XHTML,而是由瀏覽器的 HTML 解析器解析。

從伺服器載入

從伺服器載入 XHTML 解析器時,必須設定標頭,使用 meta 元素沒有任何用處。在與 PHP 結合的示例中:

<?php
if (isset($_SERVER['HTTP_ACCEPT']) && stristr($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml'))
{
 // Client header isset` and explicitly declares XHTML parser support.
 header('Content-Type: application/xhtml+xml; charset=UTF-8');
 echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
 echo '<!DOCTYPE html>'."\n";
 echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">'."\n";
}
else
{
 //Some browsers do not declare support, IE9 shamelessly uses `*/*` in example.
 echo '<!DOCTYPE html>'."\n";
 echo '<html>'."\n";
}
?>

從檔案載入

如果你在沒有從伺服器路徑載入頁面的情況下進行測試(例如 localhost,127.0.0.1,192.168.xxx.yyy 等),那麼使瀏覽器載入 XHTML 應用程式並使用 XML 解析器的唯一方法就是給出提交 .xhtml 副檔名; example.xhtml

XHTML / XML 分析器瀏覽器支援

通過 XML 解析器支援 XHTML 的瀏覽器包括 Internet Explorer 9+(舊版本中的 XML 解析器支援以非常複雜的方式支援 application/xml),Mozilla Suite 0.8+(所有 Firefox 版本),Opera 7+以及早期版本的 KHTML(Konqueror) 因此所有版本的 Safari 和進一步擴充套件 Chromium / Chrome)。