XHTML 1.0 には 3 つのバージョンがあり、これらは HTML 4.01 の 3 つのバージョンに対応しています。
• XHTML 1.0 移行版
• XHTML 1.0 厳密
• XHTML 1.0 フレームセット
XHTML 1.0 Transitional には、HTML 4.01 Transitional のすべてのタグと属性が含まれています。 XHTML 1.0 移行標準は、既存の HTML デザイナーと開発者がそれほど苦労せずに XHTML に移行できるようにするために導入されました。
XHTML 1.0 Strict は、文書構造とプレゼンテーションをより明確に分離するという点で XHTML 1.0 Transitional とは異なります。 XHTML 1.0 Transitional とは異なり、XHTML 1.0 Strict では、ページの外観を制御するためにカスケード スタイル シートを使用することが強制されます。
XHTML 1.0 フレームセット ドキュメントは、ブラウザをフレームに分割するためにタグを使用するドキュメントであることを目的としています (XHTML 1.0 Transitional および Strict ページにはタグを含めることはできません)。
W3C も XHTML 1.1 を勧告として公開しました (2001 年 5 月 31 日)。 XHTML 1.1 は XHTML 1.0 Strict に非常に似ています。主な違いは、XHTML 1.1 をアドオン モジュールで拡張して新しい要素をサポートできることです。たとえば、MathML (数学的マークアップ言語)、SVG (スケーラブル ベクトル言語)、または作成したカスタム モジュールの要素も含む特定の XHTML 1.1 ページを生成できます。
最後に、W3C は XHTML 2.0 勧告を作成しています。 XHTML 2.0 はまだ草案段階にあり、現在この標準をサポートしている Web ブラウザがないため、この記事では説明しません。
ASP.NET 2.0 Framework および Visual Studio .NET 2005 は XHTML 1.0 Transitional をターゲットとしています。この標準は XHTML 標準の中で最も制限が緩く、既存の HTML ページと最も互換性があります。ただし、XHTML 1.0 Strict 標準または XHTML 1.1 標準をターゲットとする ASP.NET 2.0 ページを生成することもできます (後述の「XHTML 準拠の構成」セクションを参照)。
(ASP.NET Framework の Beta 2 バージョンは、デフォルトで XHTML 1.1 をターゲットとすることに注意してください。ASP.NET 2.0 Framework の最終バージョンは、XHTML 1.0 Transitional をターゲットとします。)