[PRE[ page-icon="HTML" ]PRE] [14] [[媒体型]]名 [DFN[[CODE(MIME)[application/xhtml+xml]]]] は、 [[XHTML]] を表します。 仕様書: - [3] [[RFC 3236]] : [CODE(MIME)[application/xhtml+xml]] を規定し、 [[IANA]] に登録する[[情報提供]] [[RFC]]。 - [1] ''XHTML Media Types'' -- [CODE(MIME)[application/xhtml+xml]] と [CODE(MIME)[[[text/html]]]] などの使い分けに関する [[W3C]] [[HTML WG]] の [[Working Group Note]]。 -- [2] ''XHTML Media Types (邦訳)'' [[#comment]] * 引数 [15] ,名前 ,値 ,既定値 ,意味 ,出典 ,[CODE(MIME)[[[charset]]]] ,[CODE(MIME)[charset]] ,(自動) ,Charset ,[RFC 3236] ,[CODE(MIME)[[[profile]]]] ,[[URI参照]] ,(なし) ,プロファイル ,[RFC 3236] ,[CODE(MIME)[schema-location]] ,URI 参照 ,(なし) ,プロファイル ,[RFC 3236] になる前の I-D [[#comment]] ** charset 引数 [8] [[Apache]] は [CODE[[[AddDefaultCharset]]]] していても [CODE(MIME)[[[application/[VAR[*]]]]]] には [CODE(MIME)[[[charset]]]] パラメーターを与えてくれないから注意が必要。 [9] >>8 Apache が対応するまでは [CODE[[[AddCharset]]]] でも使って回避すべし (例: [SAMP[AddCharset iso-2022-jp .xhtml]])。 [[#comment]] ** profile パラメーター [4] [DFN[[CODE(MIME)[[[profile]]]]]] パラメーターは、 XHTML の具体的にどんなものであるかを示すものです。 RFC 3236 の8節で定義されています。 古い [[I-D]] では [CODE(MIME)[schema-location]] という名前でした。 しかし、 W3C の XHTML の仕様書でこのパラメーターの具体的な値を規定したものは1つもありません。 (提案だけしといて随分のんきなもんです。) [5] RFC 3236 の例から、 [[XHTML Basic]] では を使うことが分かります。 これから類推するなら、 W3C XHTML ではその DTD の最新版 (日付の入っていない) URI を使えばよいのでしょう。 [6] もっとも、 RFC 3236 は用途を[[内容折衝]]に限定しており、 しかも過渡期のものだと言っていますから、 わざわざ使う必要はないでしょう。 だけど、 [CODE(HTMLe)[[[html]]]] 要素の [CODE(HTMLa)[[[version]]]] 属性にしろ [CODE(HTMLe)[[[head]]]] 要素の [CODE(HTMLa)[[[profile]]]] 属性にしろ、 この手のものはどうして役に立たん (役に立つように使われない) のですかね? [7] ところで、 [CODE(HTMLe)[head]] 要素の [CODE(HTMLa)[profile]] 属性は[[空白]]で区切って複数の URI 参照を指定できました。 (ただしその意味は将来のために予約。) こちらの [CODE(MIME)[profile]] 引数ではどうなんでしょうかね? [10] [11] ''XHTML-Print'' という小型印刷機用の [[XHTML 1]] 仕様では、 を使っています。 [[#comment]] * 他の媒体型との関係 [16] XHTML 文書は [[XML]] 文書ですから、 [CODE(MIME)[[[application/xml]]]] や [CODE(MIME)[[[text/xml]]]] も使えます。 [WEAK[(ただし、 [CODE(MIME)[text/xml]] が適当なことは、 [CODE(MIME)[[[text/[VAR[*]]]]]] の定義上、ほとんどあり得ないでしょう。)]] 特に意識してそう書かれた XHTML 1 文書は従来の意味での [[HTML]] 文書でもあります (HTML とも解釈できます) から、 [CODE(MIME)[[[text/html]]]] が使えることもあります。 [CODE(MIME)[application/xhtml+xml]] とこれらの媒体型の使い分けに関しては、 >>1-2 の W3C Note を参照してください。 [12] [[XHTML 1]] の印刷機向けプロファイルである ''XHTML-Print'' は、 [CODE(MIME)[[[application/vnd.pwg-xhtml-print+xml]]]] という媒体型を使っています。 [17] XHTML 文書は SGML 文書ですから、 [CODE(MIME)[[[application/sgml]]]] や [CODE(MIME)[[[text/sgml]]]] を使うことも、できなくはありません。 [13] W3C HTML WG は同時に [CODE(MIME)[[[text/xhtml+xml]]]] も登録したかったらしいですが、 [[ietf-xml-mime]] WG の猛烈な反対で実現しなかったんだそうです。 ([[MIME]] の [[text/*]] の近視眼的定義のせい。しかし MIME の出来の悪さは色んなところに尾を引くなあ。。。) [18] >>12 [[W3C]] は、 [CODE(MIME)[application/vnd.pwg-xhtml-print+xml]] は非推奨で、 [CODE(MIME)[application/xhtml+xml]] を使うようにと言っています。 ''XHTML-Print'' ([[名無しさん]]) [[#comment]] * メモ [19] [[Gecko]] では、 [CODE(MIME)[[[application/xhtml+xml]]]] な[[実体]]の[[根要素]]に [CODE(XMLa)[[[xmlns]]]] [[属性]]がないと (つまり [CODE(XMLe)[[QN[xhtml1:html] [http://www.w3.org/1999/xhtml]]]] になっていないと) [[スタイル・シート]]なしの [[XML文書]]として処理するようです [WEAK[([CODE(XML)[[[xml-stylesheet]]]] [[処理指令]]があれば、それによる)]]。 [[文書型宣言]]があっても [[Gecko]] は基本的には処理しないので、 [CODE(XMLa)[[[xmlns]]]] [[属性]]がどうしても必要になります。 参考: [CITE[Test about xmlns]] ([[名無しさん]] [sage] [WEAK[2005-05-18 07:55:16 +00:00]]) [20] 最近は[[Google]]も[CODE(MIME)@en[[[application/xhtml+xml]]]]に一応対応したみたいですねぇ。 検索対象に入っているみたいですし、[[キャッシュ]]を出させると怪しげな物理マーク ([CODE(HTMLe)@en[[[font]]]] とか) に変換されたのが出てきます。 [[名前空間URI]]は見ていないようで、[[XHTML 2]]でも[[XHTML 1]]的に解釈したらしい変換結果になっています。。。 ([[名無しさん]] [WEAK[2006-01-02 10:50:05 +00:00]]) [21] >>20 [CODE(MIME)@en[[[application/xhtml+xml]]]]に限らず、[[XML]]ならなんでもそんな感じのようです。。。 ([[名無しさん]] [WEAK[2006-01-03 06:39:43 +00:00]]) [22] [CITE[Mozilla Web Author FAQ]] > The preference for application/xhtml+xml was added to the Accept header in order to enable the serving of MathML to both Mozilla and IE with Apache without scripting back when the MathPlayer plug-in for IE did not handle application/xhtml+xml. ([[名無しさん]]) [23] [CITE[Bug 9677 - '''['''S60''']''' application/xhtml+xml doesn't get XML treatment]] ([CODE[2007-01-24 21:54:50 +09:00]] 版) ([[名無しさん]]) [24] [CITE[Google]] ([TIME[2007-01-24 21:55:56 +09:00]] 版) [[Firefox]] 1.5 からアクセスすると、 > [PRE(HTML example code)[