[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]
([[名無しさん]])