[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]])