この文書は、W3C Note として公開されている XHTML Media Types (2002-04-30) を邦訳したものです。
このノートの正式版は http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020430 のみであり、この邦訳は参考以上の意味は持ちません。この邦訳の利用は自己責任で行って下さい。その他、お気付きの点があれば訳者にお知らせ下さい。
なお、この邦訳の一覧は http://www.satoshii.org/spec/xhtml-media-types/ で参照できます。この2002年4月30日版は既に更新されていますので、ご注意下さい。
Copyright ©2002 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
このノートは、多様な XHTML ファミリ文書に対するメディア型 (Internet media types) の、現時点での望ましい使用方法について述べたものである。
個々のメディア型に対する推奨/非推奨の関係は要約にまとめたが、XHTML ファミリ文書を扱う際にはメディア型 application/xhtml+xml
を使用すべきであり、メディア型 text/html
の使用は HTML 互換の XHTML 1.0 に対してのみに限るべきである。XHTML ファミリ文書に対してメディア型 application/xml
及び text/xml
を使用してもよいが、このような総括的なメディア型を用いるよりは、常に XHTML 固有のメディア型である application/xhtml+xml
を使用すべきである。
この章は、この文書の公開時点での地位について述べるものである。この文書は他の文書によって上書き・破棄される可能性もある。この文書群の最新の地位は W3C によって維持される。
この文書は参考情報として World Wide Web Consortium (W3C) が公開しているノートである。このノートは、W3C 、W3C チーム、及び W3C メンバーの支持を示すものではない。
この文書は XHTML ファミリ文書に関するメディア型の使用法についての W3C HTML ワーキンググループ (メンバー専用) の合意を示すものである。しかしながら、この文書は標準の仕様を意味するものではない。その代わり、本文中では XHTML のメディア型について言及のある勧告類を引用・参照し、この文書の主旨に裏付けのあることを示した。
メディア型や名前空間に関する一般的な問題については、HTML Working Group charter の管轄外であるから、この文書では扱わない。これらの問題は Technical Architecture Group (TAG) が取り扱うであろう。
この文書に対するコメントは www-html-editor@w3.org (www-html-editor@w3.org アーカイブ) にお寄せいただきたい。また、www-html@w3.org (www-html@w3.org アーカイブ) でこの文書についての公開議論が行われる可能性もある。
この文書は W3C HTML Activity の一環として公開するものである。 HTML ワーキンググループの目標は、HTML Working Group charter において議論されている。現在の W3C 勧告のリスト、及びその他の技術文書については http://www.w3.org/TR を参照されたい。
[訳注] この邦訳に対するコメントは石川哲志にお寄せ下さい。
XHTML 1.0 [XHTML1] は HTML 4 [HTML4] を XML 応用として再定式化し、Modularization of XHTML [XHTMLM12N] はモジュールを用いて XHTML をベースとする言語 (XHTML ファミリ) を定義する手段を提供した。しかしながら、歴史的な事情のために、これらの XHTML ファミリ文書をウェブ上で扱う際の推奨手段については明らかでない部分が多く、特にメディア型についての推奨/非推奨は全く不明瞭なものであった。
[XHTML1] (初版) "5.1 Internet Media Type" では、次のような曖昧な記述がなされていた。
この勧告の時点では、XML 応用の言語に対する推奨 MIME はまだ決定されていない。しかしながら、附属書 C "HTML Compatibility Guidelines" に則している XHTML 文書に対してはメディア型
text/html
を指定してもよいものとする(このような文書はほとんどの HTML ブラウザと互換性を持つからである)。この仕様書は、その他の XHTML 文書に対する MIME に関しては推奨仕様を定めない。
一方 [XHTML1] の勧告後、XML のメディア型を改訂する RFC 3023 [RFC3023] が公開され、XML 応用のメディア型には +xml
という接尾辞を付加するという規約が導入された。さらに、この規約に基いたメディア型 application/xhtml+xml
[RFC3236] が登録されている。
この結果、現状 XHTML ファミリに対して指定されうるメディア型として、少なくとも text/html
及び application/xhtml+xml
、さらに XML 応用全般に対しての application/xml
及び text/xml
という四種類が想定されることとなった。
このノートは、これらのメディア型の現時点での望ましい使用区分について要約するものである。
この文書において、「しなければならない/必須 (MUST, REQUIRED, SHALL)」「してはならない/禁止 (MUST NOT, SHALL NOT)」「すべきである/推奨 (SHOULD, RECOMMENDED)」「すべきでない/非推奨 (SHOULD NOT)」「してもよい/可能 (MAY, OPTIONAL)」という語は RFC 2119 [RFC2119] の記述の通りに解釈される。
拡張可能な HTML 。XHTML という語は一個の/単一のマーク付け言語を指すものではないが、集団的にこのマーク付け言語を形成する文書型を指す。XHTML の名前空間識別子は http://www.w3.org/1999/xhtml
である。
注記: 将来のバージョンの XHTML は異なる名前空間を使用する可能性もある。
XHTML 文書型のファミリに属する文書型。XHTML 1.1 [XHTML11] や XHTML Basic [XHTMLBasic] などは XHTML ファミリ文書型である。これらの文書型で定義される要素型/属性は XHTML 名前空間に属する(xml:lang
など、XML 名前空間に属するものは除く)が、XHTML ファミリ文書型は、MathML [MathML2] などの異なる名前空間から要素型/属性を取り込んでもよい。
[XHTMLM12N] 3.1. で定義されている "XHTML Host Language Document Type Conformance" を満たす文書型。
[XHTMLM12N] 3.2. で定義されている "XHTML Integration Set Document Type Conformance" を満たす文書型。
この章は、どのメディア型をどのような XHTML ファミリ文書に対して使用すべきかを要約するものである。
text/html
[RFC2854] は元来 HTML のためのメディア型であり、XHTML のためのメディア型ではない。一般に、このメディア型を XHTML に対して使用するのは適切でない。しかしながら、[RFC2854] で述べられているように、[XHTML1] は、HTML 4.01 との互換性を持ち
いる。text/html
として識別される XHTML の利用についての概略を定めて
[XHTML1] の 附属書 C "HTML Compatibility Guidelines" では、XHTML 文書を既存の HTML UA でレンダリングしたいと願う制作者のための設計ガイドライン
が要約されている。XHTML に対する text/html
の使用は、既存の HTML UA でのレンダリングを目的とする場合のみに限るべきであり、かつ、それは上記の互換ガイドラインに基づく [XHTML1] 文書に対してのみ許されるべきである。特に、XHTML+MathML [XHTML+MathML] のような、他の名前空間に属する要素型や属性を追加してある XHTML ファミリ文書型に対して text/html
を使用することは適切でない。
text/html
として提供された XHTML 文書は、XML [XML10] としては処理されない。例えば、UA は整形式性に関するエラーを検証しないかも知れない。また、DOM やスタイルシートに対しても HTML の構文が適用されるであろうという点にも注意されたい ([XHTML1] の C.11 及び C.13 を参照せよ)。
また、制作者は文字エンコーディングに関する問題についても注意すべきである。「XHTML 文書は XML 文書であるから、明示的に文字エンコーディングが宣言されていない場合には、UTF-8 ないし UTF-16 でエンコードされているものとして扱うべきである」というのは典型的な誤解である。この文言は、XHTML 文書が text/html
として提供されている場合には適切ではない。[RFC2854] の "6. Charset default rules" は次のように述べている。
明示的な
charset
パラメタの使用を強く推奨する。[MIME] はとしているが、一方 [HTTP] 3.7.1 はcharset
パラメタが存在しない場合には、デフォルトの文字集合として US-ASCII を推定しなければならないISO-8859-1 をメディア型と定義している。[HTTP] 19.3 には、text/*
に対するデフォルトの文字集合とする混乱を避けるためには明示的なという旨のガイドラインが追加されている。charset
パラメタの使用が有用であるなお、明示的な
charset
パラメタを使用することは、大多数の既存の UA がデフォルトの文字集合を ISO-8859-1 以外に設定していることに対する配慮にもなる。実際、UA のデフォルト値は、複数の文字エンコーディングの組合せによるものや、特定の国やコミュニティにおいて広く用いられている文字エンコーディングに設定されていることも多い。詳しくは [HTML40] 5.2 を参照されたい。
HTML 4 [HTML4] の "5.2.2 Specifying the character encoding" もまた UA は
と記している。それゆえ、制作者は charset
パラメタに対するデフォルト値を仮定してはならないtext/html
として提供される XHTML 文書に対してどのようなデフォルト値も想定すべきでなく、[RFC2854] の言及の通り、明示的な charset
パラメタの使用が強く推奨される。
より高いレベルのプロトコルによって、明示的な charset
パラメタを指定することが困難な場合には、制作者は XML 宣言と meta http-equiv
双方による文字エンコーディング/文字集合の指定を記述すべきである(例えば <?xml version="1.0" encoding="EUC-JP"?>
、<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
など)。詳細は [XHTML1] "C.9. Character Encoding" を参照せよ。
application/xhtml+xml
[RFC3236] こそが XHTML ファミリ文書型のためのメディア型である。このメディア型は、特に XHTML ホスト言語文書型に対して指定するのが適切である。このメディア型を指定するのが適切な XHTML ファミリ文書型として、[XHTML1] 、[XHTMLBasic] 、[XHTML11] 、[XHTML+MathML] などが挙げられる。
他の名前空間に属する要素型/属性を利用して XHTML ホスト言語文書型を作成した場合には、そのプロファイルを profile
パラメタや RFC 2912 [RFC2912] にある Content-features
MIME ヘッダによって識別してもよい。その場合には、どの名前空間も明示の名前空間宣言 [XMLNS] によって識別されるべきである。なお、この文書は個々の XHTML ホスト言語文書型に対する固有のメディア型の登録を妨げるものではない。
一般に、このメディア型は XHTML 統合集合文書型には適さない。この文書は XHTML 統合集合文書型に対してどのようなメディア型を使用すべきかについては定めない。
メディア型 application/xhtml+xml
は XHTML 文書が XHTML UA に提供される際に使用されるべきである。XHTML UA 及び HTML UA 双方に対するサポートを希望する制作者は、コンテントネゴシエーションの利用によって、HTML 文書を text/html
として、XHTML 文書を application/xhtml+xml
として提供してもよい。なお、application/xhtml+xml
として提供される XHTML 文書は、HTML 互換ガイドラインに従う必要がないことも記しておく。
XHTML 文書がこのメディア型で提供される場合、スタイルシートを利用する際には、制作者は xml-stylesheet
処理命令 [XMLstyle] を記述すべきである。
[RFC3236] "6. Charset default rules" で言及されているように、文字エンコーディングに関する問題に対処するためには、application/xhtml+xml
にも application/xml
と同様の配慮が必要である。詳しくは 3.3. application/xml を参照せよ。
application/xml
[RFC3023] は XML 文書に対する総括的なメディア型である。application/xml
の定義は、XHTML 文書をこのメディア型で提供することを妨げるものではない。どのような XHTML ファミリ文書に対しても、application/xml
を指定してもよい。
しかしながら、制作者はそのような文書が必ずしも XHTML としては処理されないことに注意すべきである。こういった文書がどのように処理されるかは UA に依存し、例えばハイパーリンクなどが機能しないことも有りうる。汎用の XML プロセサは、その文書を XHTML の名前空間に属する要素型/属性を取り込んだ単なる XML 文書と見なすかも知れないし、そのような一般的な XML 文書の範囲を超える文書を如何に処理すべきかというような推測的な判断はできないかも知れない。
XHTML ファミリ文書を application/xml
として提供する際には、処理の確実性を高めるため、制作者は名前空間宣言によって XHTML の名前空間を明示すべきである。また、スタイルシートを利用するためには xml-stylesheet
処理命令を使用すべきである。
適切な場合には、常に application/xml
ではなく application/xhtml+xml
をメディア型として指定すべきである。
文字エンコーディングの問題に関しては、[RFC3023] "3.2 Application/xml Registration" で
と述べられており、また charset
パラメタの使用が強く推奨される
という規則も明細に記されている。これは、適合 XML プロセサが [XML10] 4.3.3. の要件に従わなければならないことを意味している。charset
パラメタの省略された application/xml
実体を受け取った場合には、文字集合に関する情報は MIME Content-Type
ヘッダからは一切提供されない
それゆえ、より高いレベルのプロトコルによって明示的な charset
パラメタを指定することが強く推奨される一方、制作者は <?xml version="1.0" encoding="EUC-JP"?>
といった XML 宣言も記述すべきである。なお、XML プロセサは meta http-equiv
による指定を解釈しないこと、そのため制作者は application/xml
として提供される XHTML 文書にそのような指定を記述すべきでないことも記しておく。これは application/xhtml+xml
についても同様である。
text/xml
[RFC3023] は XML 文書に対するもう一つの総括的なメディア型であり、その定義も application/xml
と同様、XHTML 文書を text/xml
として提供することを妨げるものではない。どのような XHTML ファミリ文書であれ、text/xml
として提供してもよい。application/xml
に関する注意事項は、そのまま text/xml
に対しても適用される。適切な場合には、常に text/xml
ではなく application/xhtml+xml
をメディア型として指定すべきである。
制作者は、文字エンコーディングの処理に関する application/xml
(application/xhtml+xml
も同様) と text/xml
の違いについても注意すべきである。[RFC3023] "3.1 Text/xml Registration" には、
とある。このデフォルト値は、XML 宣言で指定された文字エンコーディング、及びエンコーディング宣言が省略された場合の XML のデフォルト値 (UTF-8 / UTF-16) に優先する。従って、charset
パラメタの省略された text/xml
実体を受け取った場合には、MIME プロセサ及び XML プロセサは US-ASCII [ASCII] のデフォルトの文字集合を使用しなければならないcharset
パラメタの省略された text/xml
実体は想定外の処理結果をもたらす可能性がある。[RFC3023] が述べている通り、charset
パラメタの使用が強く推奨される。
次に示す表は、XHTML 文書に対するメディア型指定の推奨についてまとめたものである。なお、比較のために HTML 4 についての推奨も記載した。
メディア型 | HTML 4 | XHTML 1.0 (HTML 互換) | XHTML 1.0 (その他) | XHTML Basic / 1.1 | XHTML+MathML |
---|---|---|---|---|---|
text/html | 可能 | 可能 | 非推奨 | 非推奨 | 非推奨 |
application/xhtml+xml | 禁止 | 推奨 | 推奨 | 推奨 | 推奨 |
application/xml | 禁止 | 可能 | 可能 | 可能 | 可能 |
text/xml | 禁止 | 可能 | 可能 | 可能 | 可能 |
[訳注] HTML4 に対する text/html
が可能になっていますが、推奨の方が適切であろうとのことです(参照: Re: XHTML Media Types Note published)。この箇所は2002年8月1日版で修正されています。
"Information Systems -- Coded Character Sets -- 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)", ANSI X3.4-1986, 1986.
"HTML 4.01 Specification", W3C Recommendation, D. Raggett, A. Le Hors, I. Jacobs, eds., 24 December 1999. Available at: http://www.w3.org/TR/1999/REC-html401-19991224
The latest version of HTML 4.01 is available at: http://www.w3.org/TR/html401
The latest version of HTML 4 is available at: http://www.w3.org/TR/html4
"HTML 4.0 Specification", W3C Recommendation, D. Raggett, A. Le Hors, I. Jacobs, eds., 18 December 1997, revised on 24 April 1998. Available at http://www.w3.org/TR/1998/REC-html40-19980424
"Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, J. Gettys, R. Fielding, J. Mogul, H. Frystyk, L. Masinter, P. Leach and T. Berners-Lee, June 1999. Available at: http://www.rfc-editor.org/rfc/rfc2616.txt
"Mathematical Markup Language (MathML) Version 2.0", W3C Recommendation, D. Carlisle, P. Ion, R. Miner, N. Poppelier, eds., 21 February 2001. Available at: http://www.w3.org/TR/2001/REC-MathML2-20010221
The latest version of MathML 2 is available at: http://www.w3.org/TR/MathML2
"Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, N. Freed, N. Borenstein, November 1996. Available at: http://www.rfc-editor.org/rfc/rfc2046.txt
"Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, S. Bradner, March 1997. Available at: http://www.rfc-editor.org/rfc/rfc2119.txt
"The 'text/html' Media Type", RFC 2854, D. Connolly, L. Masinter, June 2000. Available at: http://www.rfc-editor.org/rfc/rfc2854.txt
"Indicating Media Features for MIME Content", RFC 2912, G. Klyne, September 2000. Available at: http://www.rfc-editor.org/rfc/rfc2912.txt
"XML Media Types", RFC3023, M. Murata, S. St.Laurent, D. Kohn, January 2001. Available at: http://www.rfc-editor.org/rfc/rfc3023.txt
"The 'application/xhtml+xml' Media Type", RFC 3236, M. Baker, P. Stark, January 2002. Available at: http://www.rfc-editor.org/rfc/rfc3236.txt
"XHTML™ 1.0 The Extensible HyperText Markup Language: A Reformulation of HTML 4 in XML 1.0, W3C Recommendation, S. Pemberton et al., January 2000. Available at: http://www.w3.org/TR/2000/REC-xhtml1-20000126
The latest version of XHTML 1 is available at: http://www.w3.org/TR/xhtml1
"XHTML™ 1.1 - Module-based XHTML", W3C Recommendation, M. Altheim, S. McCarron, eds., 31 May 2001. Available at: http://www.w3.org/TR/2001/REC-xhtml11-20010531
The latest version of XHTML 1.1 is available at: http://www.w3.org/TR/xhtml11
"XHTML™ Basic", W3C Recemmendation, M. Baker, M. Ishikawa, S. Matsui, P. Stark, T. Wugofski, T. Yamakami, eds., 19 December 2000. Available at: http://www.w3.org/TR/2000/REC-xhtml-basic-20001219
The latest version of XHTML Basic is available at: http://www.w3.org/TR/xhtml-basic
"Modularization of XHTML™", W3C Recommendation, M. Altheim, F. Boumphrey, S. Dooley, S. McCarron, S. Schnitzenbaumer, T. Wugofski, eds., 10 April 2001. Available at: http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410
The latest version of Modularization of XHTML™ is at: http://www.w3.org/TR/xhtml-modularization
"XHTML plus Math 1.1 DTD", "A.2 MathML as a DTD Module", Mathematical Markup Language (MathML) Version 2.0. Available at: http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd
"Extensible Markup Language (XML) 1.0 Specification (Second Edition)", T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, eds., 6 October 2000. Available at: http://www.w3.org/TR/2000/REC-xml-20001006
The latest version of XML is available at: http://www.w3.org/TR/REC-xml
"Namespaces in XML", T. Bray, D. Hollander, A. Layman, eds., 14 January 1999. Available at: http://www.w3.org/TR/1999/REC-xml-names-19990114
The latest version of Namespaces in XML is available at: http://www.w3.org/TR/REC-xml-names
"Associating Style Sheets with XML documents Version 1.0", W3C Recommendation, J. Clark, ed., 29 June 1999. Available at: http://www.w3.org/1999/06/REC-xml-stylesheet-19990629
The latest version of Associating Style Sheets with XML documents is available at: http://www.w3.org/TR/xml-stylesheet