例: 削除および再作成によるマッピングの変更
for-each文のマッピングを変更するために、そのマッピングを削除して再作成することも選択できます。重複for-each文のマッピングを変更するステップを次に示します。
-
重複xsl:for-eachノードを右クリックして、表示されるコンテキスト・メニューから「マッピングの削除」を選択します。
「XPathのリファクタ」ダイアログが表示され、for-each文の下でXPath式をリファクタするかどうかが確認されます。
-
リファクタするには、「いいえ」をクリックします。これによって相対パスが保持され、この相対パスを別のループに適用します。「いいえ」をクリックした後は、for-each文の下にある線が一時的にソース・ツリーから切断されます。
前述の図では、
Quantity
フィールドに関連付けられている相対XPath式はQty
です。for-each文にXPath式がないと、相対的に関連付けられるItem
ノードがないため、ソース・ツリーには参照がなくなります。ノート:
通常、ソース・ツリーのノードに解決できないXPath式は、中央のパネルに示されます。これは、前述のケースのように、問題を示す場合があります。上にfor-each式がないため、解決できない相対パスがあります。
設計時にソース参照ノードを特定するには式が複雑すぎる場合にも、XPath式が中央のペインに示されることがあります。
-
ソース・ツリーのLowPriorityItems/Itemノードから重複xsl:for-each文に、線をドラッグ・アンド・ドロップします。
次の図に示すように、
Quantity
フィールドへのマッピングは、LowPriorityItems/Item
ノードの下にあるQty
フィールドに自動的に再接続されます。