XHTMLのcontent-typeの記述は何がいい?
ちょっと人に聞かれたので、調べてみた。でも、今まで気にしたこともなかったり。はっはっは。
- application/xhtml+xmlは推奨要素で、text/xhtmlが非推奨要素(ただし禁止要素ではない)。
- application/xhtml+xmlは過去のIEなどXHTMLを認識しないブラウザではレンダリングされない(ダウンロードされる)。
- Mozillaではapplication/xhtml+xmlと記述するとXHTMLを厳格に(XMLとして)パースする。
- XHTML1.1では <meta http-equiv="" />の記述は認められていない。
ということで、現段階ではUA(ブラウザ)側の整備が規格に追いついていないような感じ。
検証や、障害の発生する確率などを考えると、現場的な解としてはサーバがHTTPヘッダーにapplication/xhtml+xmlを返しても、HTMLのmetaタグのcontennt-type要素はtext/xhtmlにしておく、というのが妥当ではないだろうか。
規格至上主義のモヒカン族的にいえば、記述は全てapplication/xhtml+xmlで統一だろうが、IEの対応状況やvalidなXHTMLを完璧に書ける環境が整っていない場合を考えると危険な香りがする。
動的なページの場合、UAによってcontent-typeを書き換える方法もあるっぽい。