application/xhtml+xmlで提供されるコンテンツについて

application/xhtml+xmlはXHTML対応ブラウザでなければ表示できません

application/xhtml+xmlはXHTMLのためのContent-Typeで、 従来のHTML文書とは違うことを明示しています。 そのため、application/xhtml+xmlで提供されているXHTMLのページは Windows版InternetExplorer(以下WinIE)含む、XHTML非対応UAでは表示できません。 もずはっく日記ではHTTP_ACCEPTにapplication/xhtml+xmlが含まれていない場合、 エラーが表示されますが、静的なコンテンツ(*.xhtml)ではダウンロードの指示が出るでしょう。

何故application/xhtml+xmlのコンテンツがあるのか

2007年4月現在、世界で約80%のシェアを持つWinIEで表示できないコンテンツが何故あるのでしょうか?

それは世界でのシェアが必ずしも全てのサイトでのシェアと似ているとは限らないということです。 当サイトでapplication/xhtml+xmlのコンテンツは、WinIEのシェアがほとんど無かったコンテンツです。 そう、当サイトの一部コンテンツではWinIEを利用されている方の方が圧倒的に少ないのです。

つまり、シェアが低いWebブラウザのバグ、または機能不足への対応よりも、大半のコンテンツ読者を優先した結果です。

何故application/xhtml+xmlを利用しているのか

一つ目の理由はXHTMLではapplication/xhtml+xmlで配信することが推奨されています。 また、XHTMLに対応したWebブラウザでは現実にこれに従い、 同じXHTML文書でもtext/htmlとは異なった処理プロセスで表示されています。

二つ目の理由はapplication/xhtml+xmlのみで運営されているコンテンツが世界的に見て非常に希であるため、 実験場として利用しているということが挙げられます。 これは静的な実験専用ページではなく、「生きた」コンテンツで実験しているところに価値があります。

application/xhtml+xmlのコンテンツをWinIEで表示する

WinIEでもapplication/xhtml+xmlのコンテンツを表示させる方法はあります。 まず、システムに変更を加えずに表示させるためには、まず該当の文書をローカルに保存し、そのファイルを表示します。 この時に拡張子を.html、もしくは.htmにしてください。 XHTML文書ですが、HTML文書として無理矢理表示させることが可能です(XHTML固有の表記や、他のXML規格を含む場合はまともに表示できません)。

またもっと手軽に表示させるには、システムの設定を変更します。 レジストリのContent-Typeのデータベース上にapplication/xhtml+xmlを登録するのです。 レジストリファイルを用意していますので、 このファイルを保存し、レジストリに結合(Explorerでダブルクリック)すれば表示できるようになります。 ですが、HTTP_ACCEPTはこれでも変更されないため、日記ではエラーが表示されます (そのエラーにあるリンクから強制的に本来の内容にアクセスするとCookieに記録され、エラーは表示されなくなります)。

ただし、この場合でもWinIEはXHTML文書をHTML文書として表示していることに注意してください。 XHTML固有の表記や、他のXML規格を含む場合はまともに表示できません。 また、レジストリの変更を伴いますので自己責任で行ってください

参考

趣味の小箱
Windows版 IE6でapplication/xhtml+xmlなページを閲覧したい
  1. Web Studio
  2. application/xhtml+xmlで提供されるコンテンツについて
Masayuki Nakano(問い合わせ先)