有三個版本的 XHTML 1.0,它們分別對應三個版本的 HTML 4.01:
• XHTML 1.0 Transitional
• XHTML 1.0 Strict
• XHTML 1.0 Frameset
XHTML 1.0 Transitional 包含 HTML 4.01 Transitional 中的全部標記和屬性。引入 XHTML 1.0 Transitional 標準的目的是,讓現有 HTML 設計人員和開發人員無需經歷太多的痛苦就能遷移到 XHTML。
XHTML 1.0 Strict 與 XHTML 1.0 Transitional 的不同之處在於,它在文件結構和表示形式之間實施了一種更為明顯的分離。與 XHTML 1.0 Transitional 不同,XHTML 1.0 Strict 強迫您使用層疊樣式表來控制頁的外觀。
XHTML 1.0 Frameset 文件意在成為使用 標記將瀏覽器分割為多個框架的文件(XHTML 1.0 Transitional 和 Strict 頁不能包含 標籤)。
W3C 也發布了 XHTML 1.1 以作為建議標準(2001 年 5 月 31 日)。 XHTML 1.1 非常類似 XHTML 1.0 Strict。二者的主要差異在於,可以用附加模組擴充 XHTML 1.1 以便支援新元素。例如,可以產生特定的 XHTML 1.1 頁,該頁還包含 MathML(數學標記語言)、SVG(可伸縮向量語言)或建立的自訂模組中的元素。
最後,W3C 正在訂購 XHTML 2.0 建議標準。因為 XHTML 2.0 仍然處於起草階段,而且目前沒有 Web 瀏覽器支援該標準,所以我們不在本文討論它。
ASP.NET 2.0 框架和 Visual Studio .NET 2005 面向 XHTML 1.0 Transitional。此標準是 XHTML 標準中限制性最低的,而且它是與現有 HTML 頁最相容的標準。但是,也可以產生以 XHTML 1.0 Strict 標準甚至 XHTML 1.1 標準的 ASP.NET 2.0 頁(請參閱後面的「設定 XHTML 一致性」一節)。
(請注意,預設情況下,ASP.NET 框架的 Beta 2 版本面向 XHTML 1.1. ASP.NET 2.0 框架的最終版本將面向 XHTML 1.0 Transitional。)