XML によって、データの交換が容易になり、
Web サイト間でデータを XML で受け渡し、
それを加工して表示するようなサービスが生まれると、
XML の重要性はますます増してくることになる。

そんな時、新たな問題となってきたのが、
初期の頃から WWW を支えてきた HTML であった。

XML を中心に構築されたシステムでも、
利用者が Web ブラウザで操作する画面を表示する際は、
最終的に HTML を使って表現する必要がある。

この場合、HTML + CSS はビュー(表示)のためであり、
その元となるモデル(データ)は XML であるのが好ましい。
XSL を使えば、XML から HTML への変換を、
XSLT を使ってルールを書くだけで可能となるからだ。

しかしながら、上のような使い方ができるのは、
最初から XML を視野に入れて作成され、
XML 形式でデータを提供することが可能な
Web サイトやシステムだけである。

現実的に WWW を見てみると、そこにあるのは、
従来から存在する数多くの Web サイト、
そして、XML を直接出力しない Web システム等である。

このような Web サイトが、
XML ベースのシステムに移行するためには、
まず、既存の膨大な HTML 資産から、
文書構造のみを抜き出して、
全てを XML 対応データとして整形する必要がある。

そして、XML のままでは Web ブラウザで利用できないため、
整形した XML を、HTML に戻す機構が必要だ。
これには、XSL などを利用することはできるが、
原則として、サーバ側で処理しなければならない。
(Web ブラウザに XSLT が搭載されたのは最近の事だ)

つまり、他システムとの連携や、XML に対応するためには、
Web コンテンツ製作者や、Web サーバのシステムに
数多くの負担を強いることになる。

どうにかならないだろうか。

HTML の問題は、XML の要件を満たしていないことだ。
そのため、XSLT では、HTML を出力をすることはできても、
HTML を入力形式として処理することはできない。
つまり、HTML に加工すると、そこで終わりなのである。

だからといって、HTML を廃棄することは現実的ではない。
HTML + CSS は、Web ブラウザの画面表示用の
独占的な標準であり、ほぼ唯一の規格であるからだ。

改めて、XML と HTML を比べてみると、
両者は非常に良く似ている。
両者とも SGML から派生しているから当然ではある。

もし HTML が XML 文書に準拠していれば、
HTML を更に別の XML に加工することができるはず。
何とか HTML を XML に適合させることはできないだろうか。

この考え方で生まれたのが、
Extensible HTML (XHTML) である。

XHTML は、名前の通り XML + HTML であり、
HTML を XML の規格に適合するように調整したものだ。
そのため、要素や属性などは HTML のものを踏襲しており、
書式だけを XML 用に厳格化したものである。

XHTML と HTML の差は微小なものなので、
HTML を XHTML に書き直すのは非常に簡単である。
プログラムを使って自動化することも可能だ。

また、HTML しか理解しない Web ブラウザでも、
ほぼ問題なく XHTML 文書を表現することができる。
そもそも、その違いの少なさ故、Web ブラウザが
XHTML に対応するのにも時間は掛からなかった。

XHTML を使うメリットは数多い。

従来の Web サイト上にある、HTML の資産を、
全て XHTML に書き換えるだけで、
XML ベースのあらゆるシステムで利用可能となる。

また、DOM や XSLT 等を XHTML で利用する際は、
XML 用の物が利用できるため、
軽量なプログラムで高速に処理をすることが可能となる。

XHTML 文書の構造を示す論理的な意味をより強めるべく、
現在、XHTML は要素のモジュール化が進められており、
WWW の画面を表現するための文書形式として、
XML の 1 表現方式としての位置づけとなっている。