反復ソースと非反復ターゲットの構成

反復ソース・エレメントを非反復ターゲット・エレメントにマップするには、 メッセージ・マッピング・エディターの「ソース」ペインと「ターゲット」ペインの間に エレメントをドラッグします。

「スプレッドシート」ペインに以下の項目が表示されます。

ソース・フィールドに最初に出現する項目は、ターゲット・フィールドにマップされます。 「for」行では、指定した反復エレメントに関してループを繰り返すように 指定します。if および「condition」行は、反復エレメントを一度だけ出現するようにロジックを制限します。マッピング・ノードの条件付きロジックについて詳しくは、 条件付きマッピングの構成を参照してください。

  1. 2 回目以降の出現をマップするには、 condition 行の式を msgmap:occurrence($source/…) = n に変更します。 n はマップする出現です。

    反復ソース・フィールドが、 1 つ以上の反復構造内にある場合は、for、if、および「condition」行の階層は、反復のレベルごとに 1 つずつ、 「スプレッドシート」ペインに配置されます。

  2. ソース・フィールドに数値データ・タイプが含まれている場合は、反復ソース・フィールドのすべての出現を非反復ターゲットにマップすると、 それがすべてのソース・エレメントの合計になります。このマッピングを実行するには、 ソース・エレメントとターゲット・エレメントを選択して、「マップ」 > 「累積」をクリックします。
    これで、 「スプレッドシート」ペインのターゲット・エレメントに以下の値が設定されます。
    fn:sum($source/…)

    累積アクションの結果は数値です。 ターゲットのデータ・タイプが異なる場合は、選択したターゲットに適したタイプに結果をキャストしなければなりません。 例えば、ターゲットのタイプが xs:string であるとします。 この場合、ターゲットのデータ・タイプに合わせて結果をキャストするには、累算アクションの結果を fn:sum($source/x/y/z) から xs:string(fn:sum($source/x/y/z)) に変更する必要があります。

    反復ソース・エレメントの各出現を、各種の非反復ターゲット・エレメントに マップすることはできません。

関連概念
メッセージ・マッピング・エディター
メッセージ・マッピングの作成
関連タスク
条件付きマッピングの構成
関連資料
メッセージ・マッピング・エディターの「ソース」ペイン
メッセージ・マッピング・エディターの「ターゲット」ペイン
メッセージ・マッピング・エディターの「スプレッドシート」ペイン
メッセージ・マッピング
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:44:31

ar25279_