LIST コンストラクター複合関数を使用すると、出力メッセージのフィールドに代入される値のリストを明示的に生成することができます。
LIST は、一連の名前なしの値から成ります。 それが配列フィールド参照 (参照の最後のエレメントに付加される [] によって示される) に代入されると、それぞれの値が配列のエレメントに対して順に代入されます。 非配列フィールド参照に LIST を代入することはできません。
<Car>
<size>big</size>
<color>red</color>
</Car>
この場合、次の ESQL は、 SET OutputRoot.XMLNS.Data.Result[] = LIST{InputBody.Car.colour,
'green',
'blue'};
次の結果になります。 <Data>
<Result>red</Result>
<Result>green</Result>
<Result>blue</Result>
</Data>
LIST の場合、各値ごとに対応する明示的な名前はありません。 値は、代入先として指定されたメッセージ・フィールド配列のエレメントに対して順に代入されます。 LIST 項目を囲むために、小括弧ではなく中括弧を使用します。<Data>
<Field>Keats</Field>
<Field>Shelley</Field>
<Field>Wordsworth</Field>
<Field>Tennyson</Field>
<Field>Byron</Field>
</Data>
この場合、次の ESQL は、 -- Copy the entire input message to the output message,
-- including the XML message field array as above
SET OutputRoot = InputRoot;
SET OutputRoot.XMLNS.Data.Field[] = LIST{'Henri','McGough','Patten'};
次の出力結果になります。 <Data>
<Field>Henri</Field>
<Field>McGough</Field>
<Field>Patten</Field>
</Data>
Data.Field[] 配列の以前のメンバーは廃棄されています。 既存のメッセージ・フィールド配列に値の新規リストを代入すると、まず最初に既存の配列のエレメントすべてが除去され、その後で新しいエレメントが代入されます。