File: mime-ja.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
FLIM 1.14 MIME 機能説明書
*************************
This file documents MIME features of FLIM, a fundamental library to
process Internet Messages for GNU Emacsen.
GNU Emacsen 用の Internet Message 処理のための基礎 library である FLIM
の MIME 機能に関して説明します。
* Menu:
* Introduction:: FLIM って何?
* How to use:: FLIM の MIME 機能の使い方
* Entity:: Message と Entity
* Content-Type:: Content-Type 欄の情報
* Content-Disposition:: Content-Disposition 欄の情報
* Content-Transfer-Encoding:: 符号化法
* encoded-word:: Header の network 表現
* custom:: 一般設定
* Appendix:: 付録
* Concept Index:: 概念索引
* Function Index:: 関数索引
* Variable Index:: 変数索引
File: mime-ja.info, Node: Introduction, Next: How to use, Prev: Top, Up: Top
FLIM って何?
*************
FLIM は Internet Message の表現や符号化に関する基礎的な機能を提供する
ための library です。
File: mime-ja.info, Node: How to use, Next: Entity, Prev: Introduction, Up: Top
FLIM の MIME 機能の使い方
*************************
FLIM の提供する MIME 機能を使うためには
(require 'mime)
を評価してください。
File: mime-ja.info, Node: Entity, Next: Content-Type, Prev: How to use, Up: Top
Message と Entity
*****************
RFC 2045 (*Note RFC 2045::) によれば、「Entity という語は、message, も
しくは、multipart entity の body 中の1つの部分の、MIME で定義された
header field と内容を指す」となっています。ここでは、MIME で定義された
header field 以外の全ての header と body を指す語として *entity*を用い
ることにします。
RFC 2045 の定義は、MIME message が entity を節とする木構造であることを
示しています。つまり、MIME は message を木構造に拡張した訳です。
FLIM は entity の情報を表現するために*mime-entity* 構造体を用います。
以下では単に mime-entity と呼ぶことにします。
* Menu:
* Entity creation:: Entity の生成
* Entity hierarchy:: Entity 階層
* Entity Search:: Entity の検索
* Entity Attributes:: Entity の属性
* Entity-header:: Entity header の情報
* entity formatting:: Entity の文字表現
* Entity-content:: Entity の内容
* Entity-network-representation:: Entity のネットワーク表現
* Entity buffer:: Entity の buffer による表現
* mm-backend:: Entity の表現と実現
File: mime-ja.info, Node: Entity creation, Next: Entity hierarchy, Prev: Entity, Up: Entity
Entity の生成
=============
-- Function: mime-open-entity TYPE LOCATION
Entity を開いて、それを返します。
TYPE は representation-type です。(cf. *Note mm-backend::)
LOCATION は entity の位置です。指定方法はrepresentation-type に依っ
て変わります。
-- Function: mime-parse-buffer &optional BUFFER TYPE
BUFFER を message として構文解析し、その結果の mime-entity を
BUFFER の`mime-message-structure' に格納する。
BUFFER が省略された場合、現在の buffer を構文解析する。
TYPE が指定された場合、その値を生成される mime-entity の表象型と
して用いる。省略された場合は BUFFER となる。(cf. *Note
mm-backend::)
File: mime-ja.info, Node: Entity hierarchy, Next: Entity Search, Prev: Entity creation, Up: Entity
Entity 階層
===========
MIME message は entity を単位とする木構造になっています。
この木において根となる節は message 全体を表す entity です。ここでは、
これを *root-entity* もしくは*message* と呼びます。
root-entity 以外の entity は親を持ちます。また、entity は子供を持つか
も知れません。この親子関係を考えることで entity の相対関係を扱うことが
できます。
一方、entity の message における位置を考えることもできます。
entity はこの木における節となりますが、この木には深さと同じ深さの中の
順番に従って番号が付けることができます。即ち、
┌───┐
│ nil │
└─┬─┘
┌─────────┼─────────┐
┌┴┐ ┌┴┐ ┌┴┐
│0│ │1│ │2│
└┬┘ └┬┘ └┬┘
│ ┌────┼────┐ │
┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐
│ 0.0││ 1.0││ 1.1││ 1.2││ 2.0│
└───┘└───┘└───┘└───┘└───┘
のように深さ n の節には長さ n の整数列の節番号が振れます。これを
*entity-number* と呼びます。entity-number は S 式としては `(1 2 3)' の
ような整数のリストとして表現されます。
mime-entity では、これと同様の *node-id* を用います。node-id はちょう
ど entity-number を逆にしたリストで、entity-number 1.2.3 に対応する
node-id は `(3 2 1)' です。
前述のように、MIME message は entity を単位とした木構造になっているの
で、この根である message 全体も mime-entity で表現することができ、
buffer local 変数 `mime-message-structure' に格納することにします。
`mime-message-structure' を起点に entity-number や node-id で示される
entity を取り出すことができます。
-- Variable: mime-message-structure
現在の buffer における message 全体の mime-entity 構造体を格納す
るbuffer local 変数。
-- Function: mime-entity-children ENTITY
ENTITY に含まれる entity の list を返す。
-- Function: mime-entity-parent ENTITY &optional MESSAGE
ENTITY の親の entity を返す。
MESSAGE が指定された場合、これを根と見倣す。
-- Function: mime-root-entity-p ENTITY
ENTITY が根(即ち、message 全体)である場合に、非-`nil' を返す。
-- Function: mime-entity-node-id ENTITY
ENTITY の node-id を返す。
-- Function: mime-entity-number ENTITY
ENTITY の entity-number を返す。
Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache/2.0.61 (Unix) PHP/4.4.7 mod_ssl/2.0.61 OpenSSL/0.9.7e mod_fastcgi/2.4.2 DAV/2 SVN/1.4.2
Under GNU General Public License
2009-01-06 17:18 @38.103.63.57 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)