XSLTビューでのローカル変数の追加方法

XSLTビューでは、ローカル変数は、その他のXSLT要素と同じ方法で追加されます。コンテキスト・メニューまたは「コンポーネント」ウィンドウを使用したXSLT要素の追加の詳細は、「XSLT文の追加方法」を参照してください。

そこでたとえば、XSLTノードのコンテキスト・メニューで「兄弟を前に挿入」→「XSL」→「変数」を選択すると、「変数」ダイアログ・ボックスが表示されます。変数名を入力し、オプションでネームスペースを指定して、「OK」をクリックします。

XSLT/ターゲット・ペインの適切な場所に変数が表示されます。XPath式をその変数にマッピングして、変数の値を設定することを選択できます。

この変数は、「変数」フォルダのソース・ツリーにも表示されます。これにより、変数から他のXPath式またはXSLTノードにマッピングできます。

変数が特定のXSLTノードまたはXPath式のスコープ内にあるかどうかを判別するには、XSLTノードまたはXPath式を選択します。変数がXSLTノードまたはXPath式のスコープ内にある場合、その変数はソース・ツリーに太字で表示されます。変数が選択されたXSLTノードまたはXPath式のスコープ内にない場合、その変数はソース・ツリーに無効化して表示されます。

スカラー変数のみを定義できます。変数の構造は定義できません。参照している変数が複雑な構造を示す場合は、適切なXPath式を手動で入力することで、構造内のノードを参照できます。

ノート:

XSLT 1.0を使用して、複雑な変数を使用する場合、XPath式を使用して変数内のノードにアクセスする前に、ora:node-set関数内で変数を折り返す必要がある場合があります。

たとえば、myVar変数が次のような構造になっているとします。

<xsl:variable name="myVar">
  <A>
     <B>sometext</B>
  </A>
</xsl:variable>

Bのテキストはora:node-set($myVar)/A/Bとして参照できます。このnode-set関数はXSLT 2.0では不要です。