metaタグのapplication/xhtml+xml(2)

先刻の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