<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME型</anchor>は色々あります。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 
<cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1874</anchor> - SGML Media Types</cite>, <time>2023-08-04T13:18:14.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://datatracker.ietf.org/doc/html/rfc1874">https://datatracker.ietf.org/doc/html/rfc1874</anchor-external></li></ul></refs></section><section><h1>SGML 汎用媒体型</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 特に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">SGML応用</title></anchor>を指定せずに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor> を表す<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">媒体型</anchor>には、
次のものがあります。</p><figure class="list"><table><tbody><tr><td><code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text/sgml</anchor></code></td><td>SGML 実体</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1874</anchor>, [IANAREG]</td></tr><tr><td><code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/sgml</anchor></code></td><td>SGML 実体</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1874</anchor>, [IANAREG]</td></tr><tr><td><code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text/x-sgml</anchor></code></td><td>SGML 実体</td></tr><tr><td><code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/x-sgml</anchor></code></td><td>SGML 実体</td></tr><tr><td><code class="MIME" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/x-sgml-entity</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML実体</anchor></td></tr></tbody></table></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1874</anchor> は、 <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text/sgml</anchor></code>
と <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/sgml</anchor></code> の定義について、
次のように述べています。</p><blockquote><p>These media types can be used in the exchange of SGML documents and their entities. <ins>(Abstract)</ins></p></blockquote><blockquote><p>There are two media-types for SGML parsable entities, Text/SGML and Application/SGML. <ins>(2. The SGML Media-Types)</ins></p></blockquote><blockquote><p>The Text/SGML media-type can be employed when the contents of the SGML entity is intended to be read by a human and is in a readily comprehensible form. <ins>(2.1. Text/SGML)</ins></p></blockquote><blockquote><p>SGML entities that do not meet the above requirements should use the Application/SGML media-type. <ins>(2.1. Text/SGML)</ins></p></blockquote><blockquote><p>Use the Application/SGML media-type for SGML text entities that are not appropriate for Text/SGML. <ins>(2.2. Application/SGML)</ins></p></blockquote><p>まとめると、<ul><li><code class="MIME">text/sgml</code> は、<ul><li>SGML 文書とその実体の交換の中で使うことができる</li><li>SGML <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解析可能実体</anchor>に使う</li><li>SGML 実体の内容が人間可読であるときに使うことができる</li></ul></li><li><code class="MIME">application/sgml</code> は、<ul><li>SGML 文書とその実体の交換の中で使うことができる</li><li>SGML <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解析可能実体</anchor>に使う</li><li>SGML 実体の内容が人間可読でないときに使うべきである</li><li><code class="MIME">text/sgml</code> が適当でない SGML <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文実体</anchor>に使う</li></ul></li></ul></p><p>それぞれの用語の定義は RFC にはありませんので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 4151</anchor> を参照すると、次のことが分かります。</p><ul><li><dfn>SGML 実体</dfn>: SGML 規格に従って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク</anchor>または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ</anchor>として解釈される<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor></li><li><code class="math">SGML 実体 = <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML文書実体</anchor> ∨ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML部分文書実体</anchor> ∨ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML文実体</anchor></code></li><li><dfn>SGML 文書実体</dfn>: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML文書</anchor>を開始する SGML 実体。</li><li><dfn>SGML 部分文書実体</dfn>: 独自の文書型宣言と連結型宣言に従う SGML 実体。</li><li><dfn>SGML 文実体</dfn>: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML宣言</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書型宣言</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">連結型宣言</anchor>に従う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML実体</anchor>。</li></ul><p><q>SGML 解析可能実体</q>の定義はありませんが、 SGML
的に解析可能な実体ということで、 <q>SGML 実体</q>と同じ意味と見て良いでしょう。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <code class="MIME">text/sgml</code> は、
<code class="math">SGML 実体 ∧ <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text/<var xmlns="http://www.w3.org/1999/xhtml">*</var></anchor></code></code>
と考えて間違いないでしょう。</p><p>問題は <code class="MIME">application/sgml</code> です。
<code class="MIME">text/sgml</code> が使えない SGML 実体はすべて
<code class="MIME">application/sgml</code> にしたいところではありますが、
一番肝心な 2.2. Application/SGML の章で、
<code class="MIME">application/sgml</code> は SGML 文実体に使うと書いてあります。</p><p>となると、 文書実体や部分文書実体を <code class="MIME">application/sgml</code>
で扱って良いものか、気になります。</p><section><h1>SGML MIME型の引数</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1874</anchor> は3つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>を定めています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal></src>。
いずれも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML実体</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字コード</anchor>に関係するものです。
<sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>SGMLにおける文字コード</anchor> </sw-see></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <code>charset<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">charset (SGML)</title></code></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <code>SGML-bctf</code></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <code>SGML-boot</code></li></ul></section></section><section><h1>SGML 応用の MIME 型</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 各<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML応用</anchor>には、それぞれの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME型</anchor>が定義されていることがあります。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML MIME型</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocBook</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TEI</anchor> などを参照。</comment-p></section><section><h1>XML MIME 型</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> このほかに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> 系の媒体型が大量にあります (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML MIME型</anchor>参照)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> でもあるような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML文書</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML実体</anchor>には
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML MIME型</anchor>等 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> 用の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME型</anchor>も使えます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 
ただし <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor> としてではなく <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> として処理されることになります。</p></section><section><h1>メモ</h1></section></body></html>