メッセージ内で複数回にわたって出現するエレメントの 1 つの出現の値を設定するために、特定の ESQL コードを使用できます。 また、エレメントの複数の出現を検索する際の検索方向を示すために、矢印表記を使用することもできます。
エレメントの既知の複数の出現にアクセスするおよびエレメントの不明な複数の出現へのアクセスで述べられている一般的な指針に従って、DFDL ドメインのエレメントにアクセスできます。 このトピックでは、DFDL ドメインのメッセージに固有の詳細情報が提供されます。
次のステートメントをご覧ください。
SET OutputRoot.DFDL.MyMessage.Loaned[1].Currency = 'GBP';
SET OutputRoot.DFDL.MyMessage.Loaned[2].Currency = 'USD';
上記の SET ステートメントでは、Loaned エレメントが 2 回出現し、それを処理しています。 各ステートメントは、子の Currency の値を設定しています。 この配列指標は、対象とするエレメントを繰り返す場合の出現を示しています。
複合タイプの子エレメントをメッセージ・セットで定義する場合には、同じエレメントを複合タイプに複数回追加できます。 これらのインスタンスは必ずしも連続していなくても構いませんが、それらの参照には同じ方法 (配列表記) を ESQL 内で使用することが必要です。
次の ESQL を使用して、StringElement1 の値を設定します。
SET OutputRoot.DFDL.MyMessage.StringElement1[1] =
'This is the first occurrence of StringElement1';
SET OutputRoot.DFDL.MyMessage.StringElement1[2] =
'This is the second occurrence of StringElement1';
矢印表記 (より大 (>) および、より小 (<) 記号) を使用して、検索の方向および指定する索引を指示することもできます。
SET OutputRoot.DFDL.MyMessage.StringElement1[>] =
'This is the first occurrence of StringElement1';
SET OutputRoot.DFDL.MyMessage.StringElement1[<2] =
'This is the last but one occurrence of
StringElement1';
SET OutputRoot.DFDL.MyMessage.StringElement1[<1] =
'This is the last occurrence of StringElement1';
詳細については、エレメントの既知の複数の出現にアクセスするおよびエレメントの不明な複数の出現へのアクセスを参照してください。