先刻のmetaタグのapplication/xhtml+xmlに、早速言及を頂いたので追記を。
うちの掲示板に頂いたsatoshiiさんの書き込みを以下に引用。参考になります。
http://www.akatsukinishisu.net/itazuragaki/?i200301-05 の件ですが、実は僕も気になっていました。「meta タグを解釈して、その通りに Content-Type ヘッダを出力してくれるようなサーバでもない限り、意味がないのではないでしょうか。」というのは、全くその通りだと思います(逆を返せば、そのようなサーバが存在するならば構わないのですが…)。
UA が直接的にそういった文書を処理する場合、1) その UA が XML パーザなら、そもそも meta http-equiv による記述は解釈されませんし、2) その UA が XML パーザでないなら、application/xhtml+xml と認識させても意味がありません。結局、いずれにせよ meta による指定が UA に対し直接に意味を持つことはありません。
ちなみに、例の XHTML Media Types [1] にも "XHTML を application/*+xml として serve する場合には、meta http-equiv での content-type 指定は記述すべきでない (SHOULD NOT) と" という注記 [2] があります。
# そんな儚げな meta に希望を託すより、直接サーバ管理者に .htaccess の書き換えをお願いする方が余程有効なのでは…。
[1] http://www.w3.org/TR/xhtml-media-types/
[2] http://www.w3.org/TR/xhtml-media-types/#application-xml
Note that a meta http-equiv statement will not be recognized by XML processors, and authors SHOULD NOT include such a statement in an XHTML document served as 'application/xml' (and 'application/xhtml+xml' as well for that matter).
べた日記の1月14日より:
現状、SSI を使用した状態(拡張子はshtml)のままで
application/xhtml+xml
をヘッダで吐くのは無理ぽなので、XHTML 1.0 Transitional
としてtext/html
にしますた。
そう! ApacheではどうもSSIはtext/htmlであるファイルにしか効かない模様なのですよ。自分も、コンテントネゴシエーションを用いてapplication/xhtml+xmlに移行しようして、その問題に突き当ったので断念したのでした。将来的にはapplication/xhtml+xmlなファイルにもSSIが効くようになってほしいところなのですが。
追記: 前の段落はまちがいでした。詳しくは次項「SSIとapplication/xhtml+xml」を参照下さい。
それはともかくXHTML Media Typesに従うのであれば、XHTML 1.0の互換性ガイドライン(邦訳)に従った文書にすればいいのであり、StrictをやめてTransitionalにすることはないですよ。
(2003年1月14日)
satoshiiさんの記事をこちらに引用しました。
(2003年1月22日)
北村曉 kits@akatsukinishisu.net