ループ処理
概要
指定したテーブルの行数分、指定範囲をループし、テーブルの内容を雛形に埋め込みます。
構文
{:begin-exec-loop(name as alias):}
textdata
{:end-exec-loop:}
- name
- 宣言済みのテーブル名を指定します。
- alias
- 任意のループ名を指定します。
- textdata
- ループ内で複写するための雛形テキストを指定します。
また、雛形テキストの中で以下の構文を使用することができます。
{:loop(alias.column1):}
- alias.column1 〜・・・
- 指定したテーブルに存在する列名を指定します。
- これにより、雛形テキストにテーブルの値を埋め込むことができます。
解説
name で指定したテーブルの行数分だけ、雛形テキストが繰り返し複写されます。
その際に、雛形テキストの各部分にテーブルの値を埋め込むことができます。
使用例
以下の構文では「profile」という名前のテーブルの内容を「list」というループ名でループさせます。
ループをしながら列名「name」と列名「hobby」の各行の値を雛形に埋め込みます。
そのテキストを「test.txt」というテキストファイルを出力します。
{:begin-define-export(test.txt):}
プロフィールの一覧です。
{:begin-exec-loop(profile as list):}
・{:loop(list.name):}は{:loop(list.hobby):}が趣味です。
{:end-exec-loop:}
以上です。
{:end-define-export:}
{:begin-define-table(profile):}
name hobby
平澤 ブーメラン
中村 リリアン
伊藤 弓道
有賀 洗濯機分解
{:end-define-table:}
記述に関する注意点
- この構文の中では各種宣言や各種処理を使用することができます。
- この構文はブロック要素です。
begin や end と同一の行にテキストデータを記述することはできません。
ただし、値埋め込み部分については、インライン要素です。
値埋め込み部分と同一の行にテキストデータを記述することができます。