<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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn><code class="MIME">multipart/appledouble</code></dfn>
は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AppleDouble</anchor> 形式を表す<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">媒体型</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="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1740</anchor> - MIME Encapsulation of Macintosh Files - MacMIME</cite>, <time>2021-01-24T11:56:28.000Z</time>, <time>2021-03-16T08:52:47.303Z</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://tools.ietf.org/html/rfc1740">https://tools.ietf.org/html/rfc1740</anchor-external></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> MacMIME - How to send Macintosh files with MIME, Sun Mar 14 22:07 1993 <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="http://www.iana.org/assignments/media-types/multipart/appledouble">http://www.iana.org/assignments/media-types/multipart/appledouble</anchor-external><ul><li><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:">RFC 1740</anchor> となる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Internet Draft</anchor>。</li></ul></li></ul></refs></section><section><h1>構文</h1><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> 旧来の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Macintosh</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>は、他の多くのファイル・システムにおけるファイルに相当する部分と、
そのファイルに関するメタ情報の部分で構成されます。
そのファイルの情報交換の際には、
どの程度他の環境との相互運用性に配慮するかで、
幾つかの方法が考慮されました。その方法の一つが
AppleDouble で、 AppleDouble を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MIME</anchor>
で使用するための媒体型が <code class="MIME">multipart/appledouble</code> です。 </p><p>AppleDouble 第2版 [APPL90]
では、データは<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">頭部<rt xmlns="http://www.w3.org/1999/xhtml">header</rt></rubyb> 
と<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ・フォーク<rt xmlns="http://www.w3.org/1999/xhtml">data fork</rt></rubyb>の2つで
構成されています。 <code class="MIME">multipart/appledouble</code>
は他の <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">multipart/<var xmlns="http://www.w3.org/1999/xhtml">*</var></anchor></code> 媒体型群と同じ構造で、
最初の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">部分</anchor>に頭部を <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/applefile</anchor></code>
として, 2番目の部分にデータ・フォークをその実媒体型
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<samp xmlns="http://www.w3.org/1999/xhtml" class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">text/plain</anchor></samp>, <samp xmlns="http://www.w3.org/1999/xhtml" class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">image/jpeg</anchor></samp> など)</weak> にします。</p><dl><dt>[APPL90]</dt><dd>AppleSingle/AppleDouble Formats for Foreign Files Developer's Note, Apple Computer, Inc., 1990</dd></dl><p>AppleDouble 形式については RFC 1740 に説明があります。</p><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:">IANAREG</anchor> は未だに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1740</anchor> の<em>原案</em>を参照しています <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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src>。
しかし <code class="MIME">multipart/appledouble</code> に関しては、
幸い大して違いはありません。</p></section><section><h1>引数</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><table><tbody><tr><td>名前</td><td>値の型</td><td>既定値</td><td>意味</td><td>典拠</td></tr><tr><td><code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor></code></td><td><code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">value</anchor></code></td><td>(なし)</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor></td><td>[RFC 1740]</td></tr><tr><td><code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">x-mac-creator</anchor></code></td><td><code class="ABNF">8<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HEXDIGIT</anchor></code></td><td></td><td>creator</td></tr><tr><td><code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">x-mac-type</anchor></code></td><td><code class="ABNF">8<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HEXDIGIT</anchor></code></td><td></td><td>型</td></tr></tbody></table></p><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> <code class="MIME">name</code> 引数は、 
<code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/octet-stream</anchor></code> 
などでも規定されていますが、 <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Disposition</anchor></code>
の <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">filename</anchor></code> 
引数が定義されてからはそちらを使うことが望ましいとされています。
<code class="MIME">multipart/appledouble</code> でもそうでしょう。</p><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> <code class="MIME">x-mac-creator</code>, <code class="MIME">x-mac-type</code>
両引数については、 <code class="MIME"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">application/applefile</anchor></code>
媒体型の説明を参照。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>例</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> <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="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;11</anchor-internal></src></p><pre class="MIME">Content-Type: multipart/appledouble; boundary=mac-part

--mac-part
Content-Type: application/applefile; name=&quot;My-new-car&quot;

[The AppleDouble header goes here]

--mac-part
Content-Type: image/png;

[The data fork goes here]

--mac-part--</pre><p><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>
name パラメーターは application/applefile ではなく
multipart/appledouble につけたほうが適当ではないでしょうか。</p><p>実装を見てると、 appledouble と実際の body にファイル名をつけて、
applefile にはつけないのが流行ってるみたい。新しい実装も
それに倣うのが良いでしょう。 (ファイル名は CT: の name
パラメーターと、 CD: の filename パラメーターの両者につける。
でも今時 CD: に対応していない UA ってあるのかな?)</p><p>もち、name パラメーターが定義されていない媒体型の CT: にむやみに
name パラメーターを書くべきじゃありませぬ。</p></section><section><h1>メモ</h1><p><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 class="MIME">application/applefile</code> は後に回した方が、
MIME 未対応の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UA</anchor> でも読めないデータを見せられる確率が下がると思うのですが・・・。
(MIME の開発の時にはそういうことをよく気にしていたはずだったのでは。)</p></section></body></html>