#?SuikaWiki/0.9 [1] [[RFC1049]] (旧 [[Internet標準]]。) と [[MIME]] (現在 IETF Draft 標準。) 以降の [[Internet]] [[媒体型]]を使ったものとで [[Content-Type:欄]]の値には互換性がありません。 [2] RFC 1049 のメッセージを MIME のメッセージに変換する必要がある時には、対応情報が必要になりますが、 [[IETF]] はその情報を公表していません。 ですから、実装が個々で対応することになります。 *POSTSCRIPT [; "1.0"/"2.0"/"null" [; #("laserprep2.9"/"laserprep3.0"/"laserprep3.1"/"laserprep4.0"/local-part)]] [3] 名前の通り [[PostScript]] で、 [[application/postscript媒体型]]が対応します。 RFC 1049 の細かい指定に対応する parameter はありません。 *SCRIBE [; "3"/"4"/"5"/"null"] [4] >the Scribe document formatting language distributed by the Unilogic Corporation. [INS[(RFC 1049)]] [5] [[LaTeX]] は Scribe とコマンド体系を同じに作られた, とされているので、 [[application/x-latex媒体型]] ([[IANA]] に登録されてないが、 de facto の名前。) で良いか? しかしコマンド体系が同じということは''全て''同じでないわけで、問題があるかも。 [6] >>10 では ''application/x-scribe'' という名前を用意して対応させています。 *SGML [; "IS.8879.1986"/"null"] [7] [[SGML]] == [[ISO/IEC8879]]。 [[text/sgml媒体型]]または [[application/sgml媒体型]]が対応するでしょう。 (これらについては [[RFC1874]] 参照。) [8] RFC 1874 によると規格の互換性問題はない (ということになってるはずな) ので、版 parameter は無視しても良いのかなあ。 (でも [[XML]] は一部非互換な変更で、 [[ISO/IEC]] も追従するらしいし;-) [9] >>8 [[WebSGML]] 非互換だけど共存可能だからなあ。 [11] >>10 では (内容を見て [[text/*媒体型]]か [[application/*媒体型]]のどちらが適当か判断するのは面倒なので) 常に [CODE[application/sgml]] に対応させています。 *TEX [12] [[TeX]]。 [[application/x-tex媒体型]] (IANA にないが、 de facto)。 *TROFF [; [; #("eqn"/"tbl"/"me"/local-part)]] [13] [[TROFF]]。 [[application/x-troff媒体型]] (IANA にないが、 de facto)。 Parameter の部分を対応させる方法はないと思ふ。 *DVI [14] >the device independent file format produced by TROFF or TEX. [INS[(RFC 1049)]] [15] [[application/x-dvi媒体型]] (IANA にないが、 de facto)。 *X-* 直接対応不可。 [[application/octet-stream媒体型]]。 *TEXT [16] RFC 1049 にはないが実際に良く使われている型 [CODE[TEXT]] は、 [[text/plain媒体型]]が対応します。 但しそのまま ''Content-Type: text/plain'' に書き換えると、 [[charset]] の解釈 (MIME の既定値は [[US-ASCII]]。) で問題になる虞があるので、チユ飯が必要です。 (See [[MIME以前のメッセージ本文]]) *Message-pm での実装 [10] [[Message-pm]] では [[Message::Field::ContentType]] が担当しています。 RFC 1049 形式の型指定を読んだときは、内部で値を保持する時に MIME の Internet [[媒体型]]に変換しています。 現在のところ RFC 1049 形式での出力は実装されていませんが、 RFC 1049 形式で含んでいた情報は次の方法で保持しています。 [11] =RFC 1049 の Content-Type: 欄の1つ目の値 ([VAR(ABNF)[type]]) を調べ、相当する MIME 媒体型が指定されていたとみなす。 元の値は [CODE[x-rfc1049-type]] パラメーターの値であったことにする。 =1049 の 2つ目の値 ([VAR(ABNF)[ver-num]]) は [CODE[x-rfc1049-ver-num]] パラメーターの値であったことにする。 =1049 の3つ目の値 ([VAR(ABNF)[resource-ref]]) は [CODE[x-rfc1049-resource-ref]] パラメーターの値であったことにする。 =なお、 RFC 1049 的にも MIME 的にも不適当な Content-Type: 欄の本体だった場合は、その値全体を [CODE[x-invalid-type]] パラメーターの値であったことにする。 以上の過程において、対応する媒体型が決定できないときは、 [CODE[application/octet-stream]] とします。 *SEE ALSO -[17] Internet 媒体型 IANA 登録簿 *メモ