統合内の他のデータに応じて、データを動的にマップする必要がある場合があります。 この要件は、条件付きマッピングを使用して実現できます。
マッピング・ロジックの次の擬似コード・サンプルについて考えてみます。 次の3つの条件があります。
if PER03 == 'TE' {
Contact.Phone = PER04
}
if PER05 == 'TE' {
Contact.Phone = PER06
}
if PER07 == 'TE' {
Contact.Phone = PER08
}
をクリックします。
- 右上隅にある
をクリックします。
- XSLTを展開して、条件マッピングの作成に必要な文を表示します。
- ツリーでターゲット要素(この例ではphoneという名前)を探します。
これは、条件付きマッピングを作成する要素です。
- 選択した要素が明るい色でイタリック体の場合、その要素はマッパー出力に存在しないことを意味します。 右クリックし、「ターゲット・ノードの作成」を選択します。 このステップがないと、phoneの周囲に条件を挿入できません。
- choose文をphoneの子としてドラッグ・アンド・ドロップします。
phoneを囲むカーソル位置は、choose文を子(左下)または親(右上)として挿入できるかどうかを示します。 この場合、chooseは子として挿入されます。
- when文をchoose文の子として3回ドラッグ・アンド・ドロップし、3つの条件のプレースホルダーを作成します。 when文を兄弟として、または別のwhen文の後に兄弟として削除することもできます。
各条件には、対応するマッピング値も必要です。
- value-of文を各when文の子としてドラッグ・アンド・ドロップします。 これで、条件式およびマッピング式の作成に必要なツリー構造が完成しました。

最初の条件およびマッピングの式を作成できるようになりました。if PER03 == 'TE' { Contact.Phone = PER04 }
- 最初の条件を作成するには、ターゲット・ツリーで最初のwhen文を選択します。
- PER03をソース・ツリーから式にドラッグ・アンド・ドロップします。
- = "TE"を入力して式を完成させます。
- checkmarkをクリックして式を保存します。
- マッピングを作成するには、最初のwhenでvalue-of文を選択します。
- PER04をターゲットのvalue-of文にドラッグ・アンド・ドロップします。
最初の条件マッピングが完了しました。
- 2番目と3番目の条件マッピングに対してこれらのステップを繰り返し、マッピング・ロジックを完了します。
if PER05 == 'TE' {
Contact.Phone = PER06
}
if PER07 == 'TE' {
Contact.Phone = PER08
}
- マッピングおよび統合を保存します。