[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]] * もし本当に [CODE(MIME)@en[[[application/xhtml+xml]]]] の文書があったら紹介する [36] [[MathML]] のために使ってるのは [[MathML in the wild]] を参照。 [32] [CITE[POWDER - Protocol for Web Description Resources: Draft HTML meta data profile]] ([TIME[2008-07-31 14:13:41 +09:00]] 版) : [[XHTML 1.0]] [[移行用DTD]] [33] [CITE[ちょっとしたメモ - RSS 1.0のchannel要素のrdf:about]] ([TIME[2008-05-28 09:21:23 +09:00]] 版) [[XHTML 1.0]] [[厳密DTD]] 2008年11月現在、[[escape]] されていない [CODE(char)[[[<]]]] があるため、非[[整形式]]。 昔は普通に見れたような気がするので、元々は [CODE(MIME)@en[[[text/html]]]] だったのですかね? [34] [CITE@ja[第 7 回アルゴリズムイントロダクション輪講会資料: Days on the Moon]] ([TIME[2008-12-10 07:52:29 +09:00]] 版) [[XHTML 1.1]] + [[MathML 2.0]] [35] [CITE@ja[もずはっく日記目次 - WebStudio]] ([TIME[2006-05-21 01:21:17 +09:00]] 版) [[XHTML 1.0]] ;; [CITE@ja[application/xhtml+xmlで提供されるコンテンツについて - WebStudio]] ([TIME[2007-11-28 12:59:50 +09:00]] 版) これ自体は [CODE(MIME)@en[[[text/html]]]]。 * メモ [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]] ([CODE[2007-01-24 21:55:56 +09:00]] 版) [[Firefox]] 1.5 からアクセスすると、 > [PRE(HTML example code)[ ([[名無しさん]]) [26] [CITE[IEがapplication/xhtml+xmlに対応しない理由:メモランダム]] ([CODE[2007-05-07 07:37:40 +09:00]] 版) ([[名無しさん]] [WEAK[2007-06-09 16:59:58 +00:00]]) [27] [CITE[XML - Extensible Markup Language]] ([CODE[2007-03-10 11:04:55 +09:00]] 版) [CODE(HTMLa)@en[[[http-equiv]]]] での使用を紹介した例。 この[[文書]]自体でもそれを使っている。 [[XHTML 1.1]] [[文書]]。でも [CODE(HTTP)@en[[[Content-Type]]]] は [CODE(MIME)@en[[[text/html]]]]。 ([[名無しさん]]) [28] [CITE[ココログナビ]] ([CODE[2007-06-11 00:12:30 +09:00]] 版) [CODE(MIME)@en[[[application/xhtml+xml]]]]。 それはいいのだが、 [PRE(HTML bad code)[ ]PRE] こんな[[文書型宣言]]なもんだから、 [[Firefox]] 1.5 は [CODE(XML)@en[&[[nbsp]];]] が現れたところで[Q@ja[定義されていない実体が使用されています。]]といって表示してくれない。 それにしても [PRE(HTML bad code)[ ]PRE] はいったいなにがしたいのか。 ([[名無しさん]]) [29] >>28 閉じられていない [CODE(HTMLe)@en[[[img]]]] [[要素]]がいくつかある。乙。 ;; 気づかないということは、 [[iモード]]上の [[Webブラウザ]]はやっぱり[[XML]] [[構文解析器]]ではないのでしょう。やっぱり。 ([[名無しさん]]) [30] [CITE[Mai multe produse Google]] ([CODE[2008-01-09 05:50:36 +09:00]] 版) (Served as [CODE(MIME)@en[[[text/html]]]]) > [PRE(HTML bad example code)[ ]PRE] ([[名無しさん]]) [31] [CITE[HEMiDEMi - 黑米共享書籤]] ([[HEMiDEMi]] 著, [TIME[2008-06-21 21:09:01 +09:00]] 版) ([CODE(MIME)@en[[[text/html]]]] > [PRE(HTML bad example code)[ HEMiDEMi - 黑米共享書籤 ]PRE] ([[名無しさん]])