次の方法で共有


current 関数

現在のノードを唯一のメンバーとして持つノード セットを返します。

node-set current()

解説

この関数は、現在のノードのみをメンバーとして持つノード セットを返します。 最も外側の式、つまり、他の式の中に出現しない式の場合、現在のノードは常にコンテキスト ノードと同じになります。 したがって

<xsl:value-of select="current()"/>

上の例と下の例は同じものです。

<xsl:value-of select="."/>

ただし、角かっこ内では、通常、現在のノードはコンテキスト ノードと異なります。 次に例を示します。

<xsl:apply-templates select="//glossary/item[@name=current()/@ref]"/>

上の例では、<glossary> を親要素として持ち、現在のノードの ref 属性と値が同じ name 属性を持つすべての <item> 要素を処理します。 これは次の例と異なります。

<xsl:apply-templates select="//glossary/item[@name=./@ref]"/>

この場合は、次の例と同じになります。

<xsl:apply-templates select="//glossary/item[@name=@ref]"/>

この場合は、<glossary> を親要素として持ち、同じ値の name 属性と ref 属性を持つすべての <item> 要素を処理します。

XML ファイル (current.xml)

<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="current.xsl" ?>
<nodes>
   <node>first</node>
   <node>1</node>
   <node>
      <obj>class</obj>
   </node>
</nodes>

XSLT ファイル (current.xsl)

出力

ブラウザーに次の書式付き出力が表示されます。

first

1

class

XSLT プロセッサの出力を次に示します。 この出力を得るためには、ブラウザーを右クリックし、[XSL 出力の表示] メニュー項目を選択します。

参照

リファレンス

XML データ型リファレンス