current関数を使用して、XSLT命令でコンテキストノードを取得できます。

構文

current()

戻り値

現在のノードのみを含むノード集合。

注記

この関数はXSLT固有のXPathへの追加です。コアXPath関数ライブラリの一部ではありません。

一番外側の式(別の式内に現れない式)の場合、現在のノードは常にコンテキストノード(.またはself構文によって返されます)と同じです。次の2つは意味的に同等です。

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

内側の式(角括弧など)では、現在のノードは一番外側の式の場合と同じです。したがって、次の3つの式のすべてにおいてcurrent関数(式全体ではない)が同じノードを返します。さらに、後者の2つは意味的に同等です。

<xsl:value-of select="current()"/>
<xsl:value-of select="foo/bar[current() = X]"/>
<xsl:variable name="current" select="current()"/>
<xsl:value-of select="foo/bar[$current = X]"/>

そして、次のコードは最も外側の式に.があるので、後者のコードと意味的に同じです。

<xsl:variable name="current" select="."/>
<xsl:value-of select="foo/bar[$current = X]"/>

しかし、.は常に最も狭い文脈に関係しています。したがって、

<xsl:value-of select="foo/bar[. = X]"/>

.barノードを返します。これは現在のノードとは異なる場合があります。

定義

XSLT 1.0 12.4

Gecko のサポート状況

サポート済み

ドキュメントのタグと貢献者

タグ: 
このページの貢献者: silverskyvicto
最終更新者: silverskyvicto,