[2] [[IETF]] のいくつかの仕様では、[[名前空間]]を [CODE[[[.]]]] 区切りで分割し、
それぞれを[DFN[[RUBYB[[[木]]]@en[tree]]]]と呼んでいます。
[[木]]は、 [[IANA登録簿]]への登録手続きの種類により分類されています。

* 仕様書

[REFS[
- [1] [CITE@en[RFC 6838 - Media Type Specifications and Registration Procedures]] ([TIME[2015-02-11 00:35:08 +09:00]] 版) <http://tools.ietf.org/html/rfc6838#section-3>
- [17] [CITE@en[RFC 6838 - Media Type Specifications and Registration Procedures]] ([TIME[2015-02-11 00:35:08 +09:00]] 版) <http://tools.ietf.org/html/rfc6838#section-4.2>
- [24] [CITE@en[RFC 2652 - MIME Object Definitions for the Common Indexing Protocol (CIP)]] ([TIME[2015-05-03 22:21:07 +09:00]] 版) <https://tools.ietf.org/html/rfc2652#section-2.1.1>
]REFS]

* MIME 型の木

[3] [[MIME型]]の[[部分型]]には次の[[木]]があります。
[FIG(short list)[
- [[標準木]]
- [CODE[[[vnd.]]]]
- [CODE[[[prs.]]]]
- [CODE[[[x.]]]]
- [CODE[[[index.]]]] [SRC[>>24]]
]FIG]

[5] [CODE[[[.]]]] を含まない[[部分型]]は[DFN[[RUBYB[[[標準木]]]@en[standards tree]]]]
[SRC[>>1]] に属するとされ、 [[IETF]] の手続きに従い発行された [[RFC]]
により、または [[IESG]] が承認した他の[[標準化団体]]の仕様書により定義される
[[MIME型]]が使えることになっています。

;; [20] [[RFC 2048]] よりも前の時代に登録された [[MIME型]]や [[IANA登録簿]]に登録されていない
[[MIME型]]は、 [[IETF]] の手続きに従っていなくても [CODE[[[.]]]]
を含まないことが大多数です。

[6] [DFN[[CODE[[[vnd.]]]]]] から始まる[[部分型]]が属するのは[DFN[[RUBYB[[[事業者木]]]@en[vendor tree]]]]
[SRC[>>1]] で、[[企業]]の製品や [[IETF]] が承認していない団体の仕様により用いられる
[[MIME型]]が使うことになっています。 [CODE(MIME)@en[[[image/vnd.microsoft.icon]]]]
の [CODE[microsoft]] のような事業者名も ([[IANA]] の管理により)
[[木]]内の階層として使えることになっていますが、 [CODE(MIME)@en[[[text/vnd.abc]]]]
のように事業者名のない形を登録することも認められています。

;; [22] [[Web]] における [[vendor prefix]] とは違って、 [CODE[[[vnd.]]]]
[[木]]でも [[IANA]] への登録が必要です。

[7] [DFN[[CODE[[[prs.]]]]]] から始まる[[部分型]]が属するのは[DFN[[RUBYB[[[個人木]]]@en[personal tree]]]] [SRC[>>1]] で、
実験的なものや非営利製品で用いる [[MIME型]]が使うことになっています。

[8] [CODE[[[vnd.]]]] や [CODE[[[prs.]]]] は、 [[IANA]] への申請のみで
([[IETF]] での手続きなしで) 登録できることになっています。
また[[引数]]に関する要件も[[標準木]]より緩和されています。

;; [[MIME型]]参照。

[9] [CODE[[[x.]]]] から始まる[[部分型]]が属するのは私的な利用 [SRC[>>1]]
のための [[MIME型]]の[[木]]です。 [[IANA]] に登録することはできず、
登録なしで利用できることになっています。 

[10] [[IETF]] は、 [CODE[[[vnd.]]]]
や [CODE[[[prs.]]]] に簡単に登録できるのだから [CODE[[[x.]]]]
はほとんど使うことは無いはずだ [SRC[>>1]] としています。確かに [CODE[[[x.]]]]
は滅多にみかけませんが、 [CODE[[[x-]]]] は極めてよく見かけます。

[11] [CODE[[[x-]]]] は当初から私用のために割り当てられており、 [[IANA]] 
に登録できないことになっていましたが、
有害であるとして廃止する方針となり ([[RFC 6648]])、 [[RFC 6838]]
以後通常の [[MIME型]]として登録できることになっています。 

;; [12] [[RFC 2048]] 時点で既に [CODE[[[x-]]]] があったのにわざわざ [CODE[[[x.]]]] 
を追加したのは何のためなのかよくわかりませんが。。。

;; [13] [[RFC 6638]] で [CODE[[[x-]]]] の特別扱いを廃してなぜ [CODE[[[x.]]]]
は残したのかは謎です。 [[RFC 6648]] の意図に沿うなら両方廃止するべきだと思いますが。。。

[14] 実際には [CODE[[[vnd.]]]] の登録は多くなされていますし、
[CODE[[[prs.]]]] もたまに登録されていますが、それ以上に多くの [[MIME型]]が
([CODE[[[x-]]]] つき、あるいは [CODE[[[x-]]]] なしで) 未登録で用いられています。

;; [[MIME型]]も参照。

[15] 新しい[[木]]を将来的に規定することも一応は想定されています [SRC[>>1]]
が、前例はなく、今後も追加されるとは考え難い状況です。

[16] なお [CODE[vnd.]] のような[[木]]を表す部分は [DFN[[[facet]]]] [SRC[>>17]]
と呼ばれており、[[標準木]]は「facet-less」と表現されています。

[18] [[MIME型]]における最初の [CODE[[[.]]]] より前の部分は [[facet]]
を表すことになっています [SRC[>>17]]。[[標準木]]の[[部分型]]は [CODE[.]]
を含めることはできません。2つ目以降の [CODE[.]] の意味は >>6
以外は明確に規定されておらず、[[木]]以外の用法も禁止はされていません。
[[部分型]]でなく[[型]]については [CODE[.]] の解釈は不明です。
現実には[[部分型]]と同じように [CODE[[[vnd.]]]] で始まるような (登録されていない)
[[型]]も利用されています。

;; [19] こうした制約は [[IANA登録簿]]に登録する [[MIME型]]に対するもので、
未登録の [[MIME型]]の扱いは明確ではありません。

-*-*-

[29] 
[CODE[application/vnd.geo+json]] と [CODE[application/geo+json]]
のように、後から他の[[木]]に登録される事例もあります。

;; [30] こういうことがあると結局新旧[[MIME型]]が混在することになるので、
[[相互運用性]]に悪影響しか及ぼされないんですよねえ。。。

* URL scheme の木

[23] [[URL scheme]] 参照。

* 媒体特徴タグの木

[25] 
[[IETF木]]の他に[[大域木]] [CODE[g.]], [[URI木]] [CODE[u.]]
がありました。
[SEE[ [[媒体特徴タグ]] ]]

* FTP facts の木

[27] 
[[RFC 3659]] の [[FTP]] facts は、[[木]]とは呼んでいませんが、
類似の構造を持っていました。
[CODE[x.]] は[[私用]]、[[実験用]]とされていました。
他に [CODE[OS.]] や [[OS]] の名前を使うことになっていました。

[28] [CITE@en[rfc3659]], [TIME[2021-07-16T03:28:54.000Z]] <https://datatracker.ietf.org/doc/html/rfc3659#section-7.5>

* 歴史

[4] [[MIME型]]における[[木]]は [[RFC 2048]] で導入され、以後の改訂でも引き継がれています。

;; [[MIME型]]の歴史の項を参照。

[21] [[draft-king-vnd-urlscheme]] は [[URL scheme]] に[[木]]を導入することを提案していました。

[26] [CITE@en[RFC 2244 - ACAP -- Application Configuration Access Protocol]], [TIME[2021-04-11T10:25:16.000Z]], [TIME[2021-04-21T09:55:01.265Z]] <https://tools.ietf.org/html/rfc2244#section-7.4>