ドラッグ・アンド・ドロップを使用してxsl:choose文を追加するには:
-
「コンポーネント」ウィンドウで、「XSLT要素」ページを選択します。
-
「フロー制御」セクションを開きます。セクションを開くには、「フロー制御」の隣にあるプラス記号(+)をクリックします。
-
緑色のハイライト表示が表示されるまで「choose」アイコンをターゲット・ノードの右側にドラッグします(図41-18を参照)。
-
緑色のハイライト表示が表示されている間に「choose」アイコンをドロップします。
xsl:choose
ノードが、ターゲット・ノードの親ノードとして追加されます。xsl:choose
ノードには、子xsl:when
ノードが含まれています。 -
otherwise句を作成するには、「コンポーネント」ウィンドウから、「otherwise」アイコンを緑色のハイライト表示が表示されるまでxsl:chooseノードの左側にドラッグします(図41-19を参照)。
-
緑色のハイライト表示が表示されている間に「otherwise」アイコンをドロップします。
xsl:otherwise
ノードが、xsl:choose
ノードの子ノードとして追加されます。 -
存在がテストされるソース・ノードに
xsl:when
ノードをマッピングします。現在の例では、ソースのHQAccountノードからターゲットのxsl:whenノードへ線をドラッグします。 -
xsl:whenケースとxsl:otherwiseケースをマッピングします。現在の例では、HQAccount/AccountNumberノードからxsl:choose/xsl:when/AccountNumberノードへ線をドラッグします。同様に、BranchAccount/AccountNumberノードからxsl:choose/xsl:otherwise/AccountNumberノードへ線をドラッグします。
図41-17に、完成した
xsl:choose
コンストラクトを示します。
ソース・ビューで表示すると、xsl:choose
文は次のようになります。
<BilledToAccount> <xsl:choose> <xsl:when test="/ns0:PurchaseOrder/HQAccount"> <AccountNumber> <xsl:value-of select="/ns0:PurchaseOrder/HQAccount/AccountNumber"/> </AccountNumber> </xsl:when> <xsl:otherwise> <AccountNumber> <xsl:value-of select="/ns0:PurchaseOrder/BranchAccount/AccountNumber"/> </AccountNumber> </xsl:otherwise> </xsl:choose> </BilledToAccount>