VHTMLの規格開発は終了しますが、HTML5でもXHTMLは作成できます。
ただし、XHTML1.0/1.1とは若干、文書の記述方法に違いがあります。
XHTMLの次バージョンとして策定が進められていたXHTML2は、2009年末をもって終了しました。しかし、以降はXHTMLを使ってはいけないというわけではありません。HTML5は、HTML1.0の新しいバージョンでもあります。ですので、わざわざHTMLに直すことは必要ありません。ただし、XHTML1.0/1.1の書式は、そのままではHTML5のXHTMLとして利用できませんので、少し変更をする必要があります。
1.XML文書
HTML5でXHTMLを作成する場合は、文書の先頭にXML宣言の
[xml]
<?xml version="1.0" encording="utf-8"?>
[/xml]
を記述しなくてはなりません。従来のXHTMLの場合、ブラウザによっては古いバージョンでの表示方法に切り替えてしまうものもあるため、この記述をしていないものもありました。
2.文書型宣言
HTML5でXHTMLを作成する場合、文書型宣言を記述しません。従来のXHTMLでは文書型宣言が必須で、たとえばXHTML1.0 Strictの場合は以下のように記述していました。
[xml]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
[/xml]
HTML5でHTMLを作成する場合は、ブラウザで標準モードで表示させるために文書型宣言が必要ですが、XML(XHTML)書式の場合は標準モードで表示されるように決まっていますので、記述の必要がないのです。
3.空要素
従来のXHTMLではimg要素やbr要素など閉じるタグがない要素(空要素)を記述する場合、閉じカッコ「>」の前に「/(スラッシュ)」を入れていましたが、HTML5ではXML書式でも閉じカッコの「>」の前に「/」を入れません。ただし、HTML5では従来のXHTMLから移行しやすくするために、閉じカッコの「>」の前に「/」を入れる記述も容認しているようです。
4.メディアタイプ
HTML5で作成したXTHMLには、メディアタイプをapplication/xhtml+xmlまたはapplication/xmlといったXMLのものにする必要があります。従来のXHTMLの場合、XMLのメディアタイプを指定するとブラウザによってはファイルをダウンロードしてしまうため、text/htmlを指定することがありました。HTML5でXML書式に従って記述した文書でも、メディアタイプにtext/htmlを指定するとHTMLとして処理されてしまいます。ブラウザに確実にXMLとして処理させるには、XML書式で記述するだけでなく、XMLのメディアタイプを指定する必要があります。