HyperText Markup Language

HyperText Markup Language

XHTML (エックスエイチティーエムエル, Extensible HyperText Markup Language)は、SGMLで定義されていたHTMLをXMLの文法で定義しなおしたマークアップ言語である。その仕様はHTMLと同じくW3Cによって勧告されている。

XMLを採用したため、MathMLやSVGなど他のXML文書を埋め込むことができるようになった。

HTMLとの相違点

XHTMLは前述のとおりXMLアプリケーションである。よって、XMLの文法に従うために、HTMLと異なる部分が存在する。以下は、主な文法上の相違点とソースのサンプルである。

  • XML文書であるため、XML宣言が必要である。文字コードについては、UTF-8ないしUTF-16の場合やHTTPなどのプロトコルで文字コードが指定されている場合は省略可能であるが、常に付与することが推奨される。
  • XMLでは大文字・小文字が厳密に区別される。XHTML勧告の場合、要素名・属性名は全て小文字でのみ定義されていることから、要素名・属性名は共にすべて小文字で表記しなければならない(なお、属性値はこの限りではない)。
  • 要素は必ず開始タグと終了タグを備えていなければならない(終了タグの省略は許されない)。

空要素についても同様に終了タグを付与するか、開始タグの末尾を "/>" としなければならない。

  • 終了タグを付与する <br> </br> という表記の場合は、タグの間に空白類文字すら含めてはいけない。また、後方互換性のために <br></br>ではなく、</br> と表記することが推奨されている。
  • XMLを解釈できない古いUAで <br/> という表記に対し、"br/" を要素名とみなし無視してしまう可能性があることを考慮し、XHTMLでは <br /> のようにスラッシュの前に半角スペースを先行させる表記が一般的である。

XHTML 1.0

HTML 4.01をXMLにて再定義したもので、HTML 4.01と同様にStrict、Transitional、Framesetという3種類のDTDが存在する。

2000年1月26日に勧告となり、2002年8月1日に改訂版であるSecond Editionが勧告された。

XHTML 5

HTML5仕様のサブセットとして策定される予定。