Updated / Published

XHTMLは、Extensible HyperText Markup Languageの略で、HTMLと同じようにW3Cによって策定されている仕様です。最初のXは、Extensible Markup Language がExの発音からXで表記する XML と同様で、頭文字をとったEHTMLではなくXHTMLと表記されます。XHTMLは、XMLアプリケーションをHTML文書上で組み合わせられるように、HTMLをXMLの文法で定義しなおしたマークアップ言語です。

XMLアプリケーションの利用

数式を表現できるMathML、 ベクター画像を表現できるSVG、音声、動画、静止画像などのマルチメディアデータのプレゼンテーションを同期できるSMILなど、特定の用途のデータを記述するのに必要な要素や属性と構造を定めることで、HTML文書にXMLアプリケーションを埋め込むことができます。

MathML
  • XMLベースの数学用マークアップ言語
  • 数式の「構造」と「内容」をウェブページ上に表現できる
SVG
  • XMLベースの2次元グラフィックス記述言語。画像を線や面の集合として表現できる
  • よりアクセシブルに対話的・動的なメディアを実現する相互運用性の高いコンテンツの制作が可能になる
SMIL
  • 時間軸によってマルチメディアデータを制御する XMLベースの同期マルチメディア統合言語
  • 音声、動画、静止画像などのマルチメディアデータのプレゼンテーションを同期的(シンクロナイゼーション)にする

たとえば、MathML のXMLアプリケーションを利用すれば、従来のHTML文書では、数式はわざわざ画像化したりと、テキストで表現することが困難でしたが、数式の「構造」と「内容」を HTML のようにマークアップすることができます。これらは、決して従来の HTML では得られない XHTML のメリットであり、これらのXMLアプリケーションをサポートするUAで既に利用することができます。

XHTMLのメリット

XHTMLのメリットは、Steven Pemberton氏がIf your document is more than XHTML 1.0, for instance including MathML, SMIL, or SVG, then the advantages are immediate: you can't do that sort of thing with HTML.(もしあなたの文書が、MathMLやSMILやSVGといったように、XHTML 1.0以上の文書型であるなら、HTMLといった文書型では得られないメリットが、もう眼の前にあるのです)と仰るようにXMLアプリケーションを利用できることにあるようです。

そして、このXHTML のメリットを享受しないという場合は、HTMLを利用することが認められています。つまり、XHTML だから、HTML だからどうこうと言うわけではなく、XHTMLも根本が HTML である以上は構造付けをするマークアップ言語であることに変わりはありません。HTML から XHTML に移行したところで革新的な構造付けができるようになるわけでもありません。たとえ、XHTMLであっても従来のHTMLであっても、本来の役割に基づく構造を示すマークアップができていなければ意味を成さないからです。これから未来に登場するかもしれない環境や未知の環境でも利用できるようなユニバーサルデザインを目指すことが大事なのであって、それはHTMLでもXHTMLでもどちらを採用しても可能なことです。

記述における変更点

XHTMLはXMLの文法で定義しなおされているため、XMLの文法に従う必要があります。HTML4.01からの変更点についてはXHTML1.0の変更点を参照してください。なお、XHTML1.0の後継規格として、さらに XHTML1.1 では、1歩進んでこれまで非推奨として残されていたレイアウト的な要素を全て取り除き、文書の構成要素を小さな単位に分けて定義し、これらを組み合わせることで多様なデバイスや環境に柔軟に合わせた独自のタグセットを設計できるようにモジュール化という考えで再形式化されています。XHTML1.0からの変更点については、XHTML1.1の変更点を参照してください。