Save
著者: 森 洋久 / joshua@globalbase.org ※
プロトタイプ
LISP形式
( Save string-exp exp)
XML 形式
<save option="xl/raw"> string-exp \ exp </Save>
引数
string-exp [1] XLT_STRING
exp [1] 任意の型
属性
option 必須 文字列 raw/xl/csv
oflag 必須 オープン時のフラグ creat:trunc:append の組み合わせ
mode 任意 ファイルを生成するときのファイルモードの指定。Cライブラリopenのmodeに同じ。
format.mode 任意 文字列 lisp/xl/html
format.indent 任意 文字列 on/off default="off"
format.multiroot 任意 文字列 on/off default="on"
format.text 任意 文字列 on/off default="off"
encoding 任意 文字列 出力文字エンコード defaultはシステムのコード。
評価形式
applicative
所属エージェント
xl
所属環境
Env1
説明
string-expで示されたファイルに、expの内容をセーブする。option="xl"を指定す ると、expをそのままの形でセーブする。option="raw"を指定すると、expはrawデ ータのリストと解釈され、最初のrawデータから、ファイルに書き出されていく。option="csv"である場合は、expのリストをCSV形式で出力する。
CSV形式の場合、以下に挙げるようにexpはそれに合ったフォーマットでなければならない。
( (element1-1 element1-2 ....)
(element2-1 element2-2 ....)
.....)
elementX-Y は XLT_INTEGER , XLT_FLOAT , XLT_STRING のいずれかでなければならない。elementX-Yはそのまま対応するCSVの行列に出力される。
format.mode
option="xl"の場合、expをlisp形式、xl (XML) 形式、HTML形式に変換し出力する。
format.indent
option="xl"の場合、format.indent="on"で出力にインデントをつける。
format.multiroot
option="xl"の場合、マルチルートにするかどうか。マルチルートとは、一つのファイルの中に複数のルート要素を認める書き方である。しかし、通常XMLファイルは、本文の要素以外に<?xml ...?>という要素も入るので、マルチルートに指定するのが一般的である。マルチルートの場合、複数のルート要素をリストとして与える。
format.text
option="xl"かつ、format.mode="XML" , format.mode="HTML"に指定されている場合、要素として解釈出来ないリストの ( や)を省略する。 たとえば、option="xl" format.mode="html" format.text="on"とすると、
("今日は" ("とても" ([A HREF="http://www.globalbase.org/"] "暖かい日")) "です")
というリストが合った場合、
今日はとても <A HREF="http://www.globalbase.org/">暖かい日</A>です
と出力される。 format.text="off"では、
今日は("とても" <A HREF="http://www.globalbase.org/">暖かい日</A>)です
と出力される。
▲ページトップへ戻る
戻り値
XLT_NULL
エラー
-
XLE_PROTO_INV_PARAM
-
XLE_SEMANTICS_TYPE_MISSMATCH
-
XLE_PROTO_INV_PARAM
参考
バグ
▲ページトップへ戻る
|