X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime-ja.texi;h=8a3c58d1fe6817888cdc60c66817e3b450fbaab6;hb=88860955220920e6da966aea41a619d812fad0fc;hp=37ce1034c34f8c433e7f948fd2a8b693d34eda6c;hpb=6393b2d447744338ddc18083d382ec22d87b37f2;p=elisp%2Fflim.git diff --git a/mime-ja.texi b/mime-ja.texi index 37ce103..8a3c58d 100644 --- a/mime-ja.texi +++ b/mime-ja.texi @@ -1,13 +1,13 @@ \input texinfo.tex @setfilename mime-ja.info -@settitle{FLIM 1.6 MIME 機能説明書} +@settitle{FLIM 1.8 MIME 機能説明書} @titlepage -@title FLIM 1.6 MIME 機能説明書 +@title FLIM 1.8 MIME 機能説明書 @author 守岡 知彦 -@subtitle 1998/06/23 +@subtitle 1998/07/01 @end titlepage @node Top, Introduction, (dir), (dir) -@top FLIM 1.6 MIME 機能説明書 +@top FLIM 1.8 MIME 機能説明書 @ifinfo @@ -109,136 +109,82 @@ local 変数 @code{mime-message-structure} に格納することにします。 @menu -* mime-entity:: mime-entity 構造体 -* Message parser:: Message の解析器 -* Entity as node in message:: Entity の位置関係に関する機能 +* Entity creation:: Entity の生成 +* Entity hierarchy:: Entity 階層 +* Entity Attributes:: Entity の属性 * Entity-header:: Entity header の情報 * Entity-content:: Entity の内容 -* Entity Attributes:: Entity の属性 +* Entity buffer:: Entity の buffer による表現 +* mm-backend:: Entity の表現と実現 @end menu -@node mime-entity, Message parser, Entity, Entity -@section mime-entity 構造体 - -@deffn{Structure} mime-entity - -entity に関する情報を収める構造体。@refill - -この構造体を参照するには @code{mime-entity-要素名} という名前の参照関数 -を用いる。@refill - -この構造体の要素は以下の通りである: - -@table @var -@item buffer -entity が存在する buffer (buffer) +@node Entity creation, Entity hierarchy, Entity, Entity +@section Entity の生成 -@item header-start -entity の存在する buffer における header の先頭位置 -(point) +@defun mime-open-entity &optional type location -@item header-end -entity の存在する buffer における header の末尾位置 -(point) +Open an entity and return it.@refill -@item body-start -entity の存在する buffer における body の先頭位置 -(point) +@var{type} is representation-type. (cf. @ref{mm-backend}) @refill -@item body-end -entity の存在する buffer における body の末尾位置 -(point) - -@item node-id -entity の node-id (整数の list) +@var{location} is location of entity. Specification of it is depended +on representation-type. +@end defun -@item content-type -Content-Type (@ref{Content-Type}) 欄の情報(mime-content-type) -@item content-disposition -Content-Disposition (@ref{Content-Disposition}) 欄の情報 -(mime-content-disposition) +@defun mime-parse-message &optional default-ctl node-id -@item encoding -entity の Content-Transfer-Encoding (@ref{Content-Transfer-Encoding}) -(文字列) +現在の buffer を message として構文解析し、その結果の mime-entity を返す。 +@end defun -@item children -entity に含まれる entity の list (mime-entity の -list) -@end table +@defun mime-parse-buffer &optional buffer +@var{buffer} を message として構文解析し、その結果の mime-entity を +@var{buffer} の@code{mime-message-structure} に格納する。@refill -また、過去との互換性のため、以下の要素名の参照関数も利用可能である。 +@var{buffer} が省略された場合、現在の buffer を構文解析する。 +@end defun -@table @var -@item type/subtype -entity の type/subtype (文字列) -@item media-type -entity の media-primary-type (symbol) -@item media-subtype -entity の media-subtype (symbol) +@node Entity hierarchy, Entity Attributes, Entity creation, Entity +@section Entity 階層 -@item parameters -entity の Content-Type 欄の parameter (連想 list) +@defvar mime-message-structure -@end table -@end deffn +現在の buffer における message 全体の mime-entity 構造体を格納するbuffer +local 変数。 +@end defvar -@defun make-mime-entity buffer header-start header-end body-start body-end - &optional node-id content-type content-disposition encoding - children +@defun mime-entity-children entity -entity の生成子。 +@var{entity} に含まれる entity の list を返す。 @end defun -@defun mime-entity-point-min entity - -entity の存在する buffer における entity の先頭位置を返す。 -@end defun - +@defun mime-entity-parent entity &optional message -@defun mime-entity-point-max entity +@var{entity} の親の entity を返す。@refill -entity の存在する buffer における entity の末尾位置を返す。 +@var{message} が指定された場合、これを根と見倣す。 @end defun +@defun mime-root-entity-p entity -@node Message parser, Entity as node in message, mime-entity, Entity -@section Message の解析器 - -@defun mime-parse-message &optional default-ctl default-encoding node-id - -現在の buffer を構文解析した結果を返す。 +@var{entity} が根(即ち、message 全体)である場合に、非-@code{nil} を返 +す。 @end defun -@defun mime-parse-buffer &optional buffer - -@var{buffer} を構文解析し、その結果を @var{buffer} の -@code{mime-message-structure} に格納する。@refill +@defun mime-entity-node-id entity -@var{buffer} が省略された場合、現在の buffer を構文解析する。 +@var{entity} の node-id を返す。 @end defun - -@node Entity as node in message, Entity-header, Message parser, Entity -@section Entity の位置関係に関する機能 - -@defvar mime-message-structure - -現在の buffer における message 全体の mime-entity 構造体を格納するbuffer -local 変数。 -@end defvar - - @defun mime-entity-number entity @var{entity} の entity-number を返す。 @@ -263,23 +209,45 @@ used. @end defun -@defun mime-entity-parent entity &optional message -@var{entity} の親の entity を返す。@refill +@node Entity Attributes, Entity-header, Entity hierarchy, Entity +@section Entity の属性 -@var{message} が指定された場合、これを根と見倣す。 +@defun mime-entity-content-type entity + +@var{entity} の content-type を返す。(cf. @ref{mime-content-type}) @end defun -@defun mime-root-entity-p entity +@defun mime-entity-content-disposition entity -@var{entity} が根(即ち、message 全体)である場合に、非-@code{nil} を返 -す。 +@var{entity} の content-disposition を返す。 +(cf. @ref{mime-content-disposition}) +@end defun + + +@defun mime-entity-filename entity + +Entity の file 名を返す。 +@end defun + + +@defun mime-entity-encoding entity + +@var{entity} の content-transfer-encoding を返す。 +(cf. @ref{Content-Transfer-Encoding}) +@end defun + + +@defun mime-entity-cooked-p entity + +Return non-nil if contents of @var{entity} has been already +code-converted. @end defun -@node Entity-header, Entity-content, Entity as node in message, Entity +@node Entity-header, Entity-content, Entity Attributes, Entity @section Entity header の情報 @defun mime-fetch-field field-name &optional entity @@ -313,7 +281,6 @@ used. @defun mime-insert-decoded-header entity &optional invisible-fields visible-fields - code-conversion 現在位置に @var{entity} の復号した header を挿入する。@refill @@ -327,7 +294,7 @@ used. -@node Entity-content, Entity Attributes, Entity-header, Entity +@node Entity-content, Entity buffer, Entity-header, Entity @section Entity の内容 @defun mime-entity-content entity @@ -336,17 +303,129 @@ used. @end defun +@defun mime-write-entity-content entity filename -@node Entity Attributes, , Entity-content, Entity -@section Entity の属性 +Write content of @var{entity} into @var{filename}. +@end defun -@defun mime-entity-filename entity -Entity の file 名を返す。 +@defun mime-write-entity entity filename + +Write representation of @var{entity} into @var{filename}. +@end defun + + +@defun mime-write-entity-body entity filename + +Write body of @var{entity} into @var{filename}. +@end defun + + + +@node Entity buffer, mm-backend, Entity-content, Entity +@section Entity の buffer による表現 + +@defun mime-entity-buffer entity + +@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 欄の情報 @cindex mime-content-type