このタスクは、リストと反復エレメントの間のマッピング方法を示します。
<MRM>
<inner>abcde fghij 12345</inner>
</MRM>
ここで、inner エレメントのタイプは xsd:list であるため、1 つではなく 3 つのストリング値が関連付けられています。 <MRM>
<str1>abcde</str1>
<str1>fghij</str1>
<str1>12345</str1>
</MRM>
以下のような ESQL 構文は適切に作動すると期待するかもしれません。 DECLARE D INTEGER;
SET D = CARDINALITY(InputBody.str1.*[]);
DECLARE M INTEGER 1;
WHILE M <= D DO
SET OutputRoot.MRM.str1[M] = InputBody.inner.*[M];
SET M = M + 1;
END WHILE;
SET OutputRoot.MRM.str1[M] = InputBody.inner.*[M];
入力から出力へのツリー・コピーが要求されます。 出力エレメントがまだ存在しないため、ステートメントはそれを作成し、その値とタイプは入力から設定されます。 SET OutputRoot.MRM.str1[M] = FIELDVALUE(InputBody.inner.*[M]);