X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime-ja.texi;h=7474bc209bd84d138a6321525a7ded01812f3f75;hb=4a15ad0838f7f2ab125b4f766b127aefc828580c;hp=0ac8e6ae102691a2aa84c879d95562655465e632;hpb=5bfa6dab84c42bf42c9c50019d8808ac986326d1;p=elisp%2Fflim.git diff --git a/mime-ja.texi b/mime-ja.texi index 0ac8e6a..7474bc2 100644 --- a/mime-ja.texi +++ b/mime-ja.texi @@ -1,13 +1,13 @@ \input texinfo.tex @setfilename mime-ja.info -@settitle{FLIM 1.7 MIME 機能説明書} +@settitle{FLIM 1.9 MIME 機能説明書} @titlepage -@title FLIM 1.7 MIME 機能説明書 +@title FLIM 1.9 MIME 機能説明書 @author 守岡 知彦 -@subtitle 1998/06/23 +@subtitle 1998/07/01 @end titlepage @node Top, Introduction, (dir), (dir) -@top FLIM 1.7 MIME 機能説明書 +@top FLIM 1.9 MIME 機能説明書 @ifinfo @@ -108,41 +108,44 @@ local 変数 @code{mime-message-structure} に格納することにします。 扱うことができます。 - - - - - - @menu -* Message parser:: Message の解析器 +* Entity creation:: Entity の生成 * Entity hierarchy:: Entity 階層 -* Entity buffer:: Entity の buffer による表現 -* Entity-header:: Entity header の情報 * Entity Attributes:: Entity の属性 +* Entity-header:: Entity header の情報 * Entity-content:: Entity の内容 +* Entity buffer:: Entity の buffer による表現 +* mm-backend:: Entity の表現と実現 @end menu -@node Message parser, Entity hierarchy, Entity, Entity -@section Message の解析器 +@node Entity creation, Entity hierarchy, Entity, Entity +@section Entity の生成 + +@defun mime-open-entity &optional type location -@defun mime-parse-message &optional default-ctl node-id +Open an entity and return it.@refill -現在の buffer を message として構文解析し、その結果の mime-entity を返す。 +@var{type} is representation-type. (cf. @ref{mm-backend}) @refill + +@var{location} is location of entity. Specification of it is depended +on representation-type. @end defun -@defun mime-parse-buffer &optional buffer +@defun mime-parse-buffer &optional buffer type @var{buffer} を message として構文解析し、その結果の mime-entity を @var{buffer} の@code{mime-message-structure} に格納する。@refill -@var{buffer} が省略された場合、現在の buffer を構文解析する。 +@var{buffer} が省略された場合、現在の buffer を構文解析する。@refill + +@var{type} が指定された場合、その値を生成される mime-entity の表象型とし +て用いる。省略された場合は @var{buffer} となる。(cf. @ref{mm-backend}) @end defun -@node Entity hierarchy, Entity buffer, Message parser, Entity +@node Entity hierarchy, Entity Attributes, Entity creation, Entity @section Entity 階層 @defvar mime-message-structure @@ -204,59 +207,48 @@ used. -@node Entity buffer, Entity-header, Entity hierarchy, Entity -@section Entity の buffer による表現 - -@defun mime-entity-buffer entity - -@var{entity} が存在する buffer を返す。 -@end defun - +@node Entity Attributes, Entity-header, Entity hierarchy, Entity +@section Entity の属性 -@defun mime-entity-point-min entity +@defun mime-entity-content-type entity -@var{entity} が存在する buffer における、@var{entity} が占める領域の先頭 -位置を返す。 +@var{entity} の content-type を返す。(cf. @ref{mime-content-type}) @end defun -@defun mime-entity-point-max entity +@defun mime-entity-content-disposition entity -@var{entity} が存在する buffer における、@var{entity} が占める領域の末尾 -位置を返す。 +@var{entity} の content-disposition を返す。 +(cf. @ref{mime-content-disposition}) @end defun -@defun mime-entity-header-start entity +@defun mime-entity-filename entity -@var{entity} が存在する buffer における、header が占める領域の先頭位置を -返す。 +@var{entity} の file 名を返す。 @end defun -@defun mime-entity-header-end entity - -@var{entity} が存在する buffer における、header が占める領域の末尾位置を -返す。 -@end defun - +@defun mime-entity-encoding entity &optional default-encoding -@defun mime-entity-body-start entity +@var{entity} の content-transfer-encoding を返す。 +(cf. @ref{Content-Transfer-Encoding}) @refill -@var{entity} が存在する buffer における、body が占める領域の先頭位置を返 -す。 +もし、@var{entity} に Content-Transfer-Encoding 欄が存在しない場合は、 +@var{default-encoding} を返す。これが指定されない場合は、@code{"7bit"} +を用いる。 @end defun -@defun mime-entity-body-end entity +@defun mime-entity-cooked-p entity -@var{entity} が存在する buffer における、body が占める領域の末尾位置を返 -す。 +Return non-nil if contents of @var{entity} has been already +code-converted. @end defun -@node Entity-header, Entity Attributes, Entity buffer, Entity +@node Entity-header, Entity-content, Entity Attributes, Entity @section Entity header の情報 @defun mime-fetch-field field-name &optional entity @@ -268,7 +260,7 @@ used. @var{entity} が省略された場合は、@code{mime-message-structure} の値を用 いる。@refill -@var{field-name} 欄が存在しない場合は nil を返す。 +@var{field-name} 欄が存在しない場合は @code{nil} を返す。 @end defun @@ -290,7 +282,6 @@ used. @defun mime-insert-decoded-header entity &optional invisible-fields visible-fields - code-conversion 現在位置に @var{entity} の復号した header を挿入する。@refill @@ -304,45 +295,137 @@ used. -@node Entity Attributes, Entity-content, Entity-header, Entity -@section Entity の属性 +@node Entity-content, Entity buffer, Entity-header, Entity +@section Entity の内容 -@defun mime-entity-content-type entity +@defun mime-entity-content entity -@var{entity} の content-type を返す。(cf. @ref{mime-content-type}) +@var{entity} の内容の byte 列を返す。 @end defun -@defun mime-entity-content-disposition entity +@defun mime-write-entity-content entity filename -@var{entity} の content-disposition を返す。 -(cf. @ref{mime-content-disposition}) +Write content of @var{entity} into @var{filename}. @end defun -@defun mime-entity-filename entity +@defun mime-write-entity entity filename -Entity の file 名を返す。 +Write representation of @var{entity} into @var{filename}. @end defun -@defun mime-entity-encoding entity +@defun mime-write-entity-body entity filename -@var{entity} の content-transfer-encoding を返す。 -(cf. @ref{Content-Transfer-Encoding}) +Write body of @var{entity} into @var{filename}. @end defun -@node Entity-content, , Entity Attributes, Entity -@section Entity の内容 +@node Entity buffer, mm-backend, Entity-content, Entity +@section Entity の buffer による表現 -@defun mime-entity-content entity +@defun mime-entity-buffer entity -@var{entity} の内容の byte 列を返す。 +@var{entity} が存在する buffer を返す。 @end defun +@defun mime-entity-point-min entity + +@var{entity} が存在する buffer における、@var{entity} が占める領域の先頭 +位置を返す。 +@end defun + + +@defun mime-entity-point-max entity + +@var{entity} が存在する buffer における、@var{entity} が占める領域の末尾 +位置を返す。 +@end defun + + +@defun mime-entity-header-start entity + +@var{entity} が存在する buffer における、header が占める領域の先頭位置を +返す。 +@end defun + + +@defun mime-entity-header-end entity + +@var{entity} が存在する buffer における、header が占める領域の末尾位置を +返す。 +@end defun + + +@defun mime-entity-body-start entity + +@var{entity} が存在する buffer における、body が占める領域の先頭位置を返 +す。 +@end defun + + +@defun mime-entity-body-end entity + +@var{entity} が存在する buffer における、body が占める領域の末尾位置を返 +す。 +@end defun + + + +@node mm-backend, , Entity buffer, Entity +@section Entity の表現と実現 +@cindex mm-backend +@cindex entity 処理 method +@cindex representation-type + +Entity は抽象化されたデータ表現で、実際のデータ表現としては用途に応じて +さまざまなものが利用できるように設計されています。@refill + +ここで、entity がどういう種類の表現を行っているかを示すのが +@strong{representation-type} で、entity を生成する時にはこれを指定します。 +(cf. @ref{Entity Creation}) @refill + +前節までに述べて来た entity に対する処理は、entity に対してその処理を依 +頼することによって実現されています。Entity は自分の representation-type +を知っており、その representation-type に応じて実際の処理を行う関数を呼 +び出します。このような関数を @strong{entity 処理method} と呼びます。また、 +representation-type 毎にこのような関数をまとめたものを +@strong{mm-backend} と呼びます。@refill + +mm-backend は representation-type の名前の先頭に @code{mm} という +接頭辞を付けた関数名からなる module で、その module 名は同様に +representation-type の名前の先頭に @code{mm} を付けたものになって +います。この module は representation-type の entity が最初に生成される +時に自動的に require されます。 + + +@menu +* Request for entity:: Entity への便り +* mm-backend module:: mm-backend の作り方 +@end menu + +@node Request for entity, mm-backend module, mm-backend, mm-backend +@subsection Entity への便り + +@defun mime-entity-send entity message &rest args + +@var{entity} に @var{message} を送る。@refill + +@var{args} は @var{message} の引数である。 +@end defun + + + +@node mm-backend module, , Request for entity, mm-backend +@subsection mm-backend の作り方 + +(すみません。そのうち書きます (^_^;)@refill + +(とりあえず、mm*.el を参考にしてください) + @node Content-Type, Content-Disposition, Entity, Top @chapter Content-Type 欄の情報 @@ -824,10 +907,10 @@ directory.@refill @menu * 7bit:: * 8bit:: -* Base64:: * ASCII:: -* Coded character set:: Coded character set(符号化文字集合), Character code(文字符号) +* Base64:: * binary:: +* Coded character set:: Coded character set(符号化文字集合), Character code(文字符号) * media-type:: * message:: * MIME:: @@ -869,7 +952,7 @@ byte 以内であることを求めている。よって、これ以上の行が含まれる可能性の encodeする必用がある。 -@node 8bit, Base64, 7bit, Glossary +@node 8bit, ASCII, 7bit, Glossary @subsection 8bit @cindex binary @@ -908,23 +991,7 @@ data は @strong{binary} (@ref{binary}) と呼ぶことにする。@refill ある。 -@node Base64, ASCII, 8bit, Glossary -@subsection Base64 -@cindex pad - -RFC 2045 (@ref{RFC 2045}) で定義されている MIME (@ref{MIME}) における -binary data (@ref{binary}) の network での変換法の1つ。@refill - -『64 進数』という意味で、3 byte の data を 0 から 63 の数を表す ASCII -(@ref{ASCII}) 4 文字に変換する方法。(もし、4 文字にならなければ -@strong{pad} と呼ばれる詰め物をして長さを調整する)@refill - -この 65 種類の文字は ASCII と EBCDIC の共通部分から選ばれており、 -Internet 以外の network を経由する場合でも安全に転送できるように設計さ -れている。 - - -@node ASCII, Coded character set, Base64, Glossary +@node ASCII, Base64, 8bit, Glossary @subsection ASCII @cindex ANSI X3.4:1986 @cindex ASCII @@ -942,13 +1009,23 @@ Interchange'', ANSI X3.4:1986. -@node Coded character set, binary, ASCII, Glossary -@subsection Coded character set(符号化文字集合), Character code(文字符号) +@node Base64, binary, ASCII, Glossary +@subsection Base64 +@cindex pad -文字と byte 列と1対1に対応付ける曖昧でない規則の集合。 +RFC 2045 (@ref{RFC 2045}) で定義されている MIME (@ref{MIME}) における +binary data (@ref{binary}) の network での変換法の1つ。@refill + +『64 進数』という意味で、3 byte の data を 0 から 63 の数を表す ASCII +(@ref{ASCII}) 4 文字に変換する方法。(もし、4 文字にならなければ +@strong{pad} と呼ばれる詰め物をして長さを調整する)@refill + +この 65 種類の文字は ASCII と EBCDIC の共通部分から選ばれており、 +Internet 以外の network を経由する場合でも安全に転送できるように設計さ +れている。 -@node binary, media-type, Coded character set, Glossary +@node binary, Coded character set, Base64, Glossary @subsection binary @cindex binary data @cindex binary @@ -965,7 +1042,13 @@ Interchange'', ANSI X3.4:1986. とがある。 -@node media-type, message, binary, Glossary +@node Coded character set, media-type, binary, Glossary +@subsection Coded character set(符号化文字集合), Character code(文字符号) + +文字と byte 列と1対1に対応付ける曖昧でない規則の集合。 + + +@node media-type, message, Coded character set, Glossary @subsection media-type @cindex x-token @cindex primary-type/subtype @@ -982,7 +1065,7 @@ Interchange'', ANSI X3.4:1986. MIME (@ref{MIME}) における entity (@ref{entity}) の種類。 @strong{primary-type} と @strong{subtype} からなる。RFC 2046 (@ref{RFC 2046}) で定義されている。@refill -type は標準では +primary-type は標準では @itemize @bullet @item