例: 削除および再作成によるマッピングの変更

for-each文のマッピングを変更するために、そのマッピングを削除して再作成することも選択できます。重複for-each文のマッピングを変更するステップを次に示します。

  1. 重複xsl:for-eachノードを右クリックして、表示されるコンテキスト・メニューから「マッピングの削除」を選択します。

    「XPathのリファクタ」ダイアログが表示され、for-each文の下でXPath式をリファクタするかどうかが確認されます。

  2. リファクタするには、「いいえ」をクリックします。これによって相対パスが保持され、この相対パスを別のループに適用します。「いいえ」をクリックした後は、for-each文の下にある線が一時的にソース・ツリーから切断されます。

    前述の図では、Quantityフィールドに関連付けられている相対XPath式はQtyです。for-each文にXPath式がないと、相対的に関連付けられるItemノードがないため、ソース・ツリーには参照がなくなります。

    ノート:

    通常、ソース・ツリーのノードに解決できないXPath式は、中央のパネルに示されます。これは、前述のケースのように、問題を示す場合があります。上にfor-each式がないため、解決できない相対パスがあります。

    設計時にソース参照ノードを特定するには式が複雑すぎる場合にも、XPath式が中央のペインに示されることがあります。

  3. ソース・ツリーのLowPriorityItems/Itemノードから重複xsl:for-each文に、線をドラッグ・アンド・ドロップします。

    次の図に示すように、Quantityフィールドへのマッピングは、LowPriorityItems/Itemノードの下にあるQtyフィールドに自動的に再接続されます。