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では不要です。