[1] [DFN[[CODE(MIME)@en[[[application/xml-dtd]]]]]] は、
[[XML]] の[[外部部分集合実体]]や[[外部引数実体]]の[[MIME型]]です。

* 仕様書

[REFS[
- [12] [CITE@en[RFC 7303 - XML Media Types]] ([TIME[2014-07-07 20:56:43 +09:00]] 版) <http://tools.ietf.org/html/rfc7303#section-4.1>
- [11] [CITE@en[RFC 7303 - XML Media Types]] ([TIME[2014-07-07 20:56:43 +09:00]] 版) <http://tools.ietf.org/html/rfc7303#section-9.5>
]REFS]

* 引数

[10] 次の[[引数]]があります。

[FIG(list short)[
- [CODE(MIME)@en[[[charset]]]]
]FIG]

* 処理モデル

[4] 独自の [[MIME型]]は割り当てられてはいますが、それをどう処理するべきかは規定されていません。

[5] [[外部部分集合]]も[[外部引数実体]]も他の[[実体]]で[[宣言]]され、[[参照]]されてはじめて意味を持つもので、
単独で処理する方法は [[XML]] では規定されていません。場合によっては他の[[実体]]に含まれる[[宣言]]に依存していて、
単独で処理する方法が原理的に存在しないかもしれません。

[6] 他の[[実体]]から参照している[[実体]]が[[外部部分集合実体]]や[[外部引数実体]]のはずなのに
[CODE(MIME)@en[[[application/xml-dtd]]]] でない場合、あるいは[[外部部分集合実体]]や[[外部引数実体]]でないのに
[CODE(MIME)@en[[[application/xml-dtd]]]] な場合にどう処理するかまったく規定がありません。

* 歴史

[3] [[RFC 2376]] では [CODE(MIME)@en[[[text/xml]]]] や [CODE(MIME)@en[[[application/xml]]]]
を使うことになっていましたが、 [[RFC 3023]] ではこれが禁止され、
新たに [CODE(MIME)@en[[[application/xml-dtd]]]] が導入されました [SRC[>>2]]。

[REFS[
- [2] [CITE@en[RFC 3023 - XML Media Types]] ([TIME[2014-07-11 12:46:44 +09:00]] 版) <http://tools.ietf.org/html/rfc3023#section-3>
]REFS]

[13] [[RFC 3023]] は改訂されて [[RFC 7303]] となりましたが、
[[XMLにおける文字コード]]の規定が明確化されたことを除けば大きく変化してはいません。

* 関連

[7] [[SGML DTD]] や [[SGML]] の[[外部引数実体]]も [CODE(MIME)@en[[[application/xml-dtd]]]]
で送信されることが稀によくあります。

;; [8] [[HTTP鯖]]の設定で[[拡張子]] [CODE[.dtd]] を [CODE(MIME)@en[[[application/xml-dtd]]]]
に関連付けていて、 [[SGML DTD]] も [[XML DTD]] も[[拡張子]] [CODE[.dtd]]
にしている場合にそうなります。

[9] [[外部部分集合実体]]や[[外部引数実体]]は、
[FIG(middle list)[
- [CODE(MIME)@en[[[text/plain]]]]
- [CODE(MIME)@en[[[application/octet-stream]]]]
- [CODE(MIME)@en[[[text/xml]]]]
- [CODE(MIME)@en[[[application/xml]]]]
- [CODE(MIME)@en[[[text/xml-external-parsed-entity]]]]
- [CODE(MIME)@en[[[application/xml-external-parsed-entity]]]]
]FIG]
... のような誤った[[MIME型]]で送信されることがままあります。