ドラッグ・アンド・ドロップを使用してxsl:choose文を追加するには:

  1. 「コンポーネント」ウィンドウで、「XSLT要素」ページを選択します。

  2. 「フロー制御」セクションを開きます。セクションを開くには、「フロー制御」の隣にあるプラス記号(+)をクリックします。

  3. 緑色のハイライト表示が表示されるまで「choose」アイコンをターゲット・ノードの右側にドラッグします(図41-18を参照)。

    図41-18 ターゲット・ノードへの「choose」アイコンのドラッグ

    図41-18の説明が続きます
    「図41-18 ターゲット・ノードへの「choose」アイコンのドラッグ」の説明
  4. 緑色のハイライト表示が表示されている間に「choose」アイコンをドロップします。xsl:chooseノードが、ターゲット・ノードの親ノードとして追加されます。xsl:chooseノードには、子xsl:whenノードが含まれています。

  5. otherwise句を作成するには、「コンポーネント」ウィンドウから、「otherwise」アイコンを緑色のハイライト表示が表示されるまでxsl:chooseノードの左側にドラッグします(図41-19を参照)。

    図41-19 xsl:chooseノードへの「otherwise」アイコンのドラッグ

    図41-19の説明が続きます
    「図41-19 xsl:chooseノードへの「otherwise」アイコンのドラッグ」の説明
  6. 緑色のハイライト表示が表示されている間に「otherwise」アイコンをドロップします。xsl:otherwiseノードが、xsl:chooseノードの子ノードとして追加されます。

  7. 存在がテストされるソース・ノードにxsl:whenノードをマッピングします。現在の例では、ソースのHQAccountノードからターゲットのxsl:whenノードへ線をドラッグします。

  8. 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>