current

current 函数可在 XSLT 指令中用于获取上下文节点。

语法

current()

返回值

一个仅包含当前节点的节点集。

描述

此函数是 XSLT 对 XPath 的特定添加。它不是核心 XPath 函数库的一部分。

对于最外层的表达式(即不包含在其他表达式内的表达式),当前节点始终与上下文节点相同(可以通过 .self 语法返回)。以下两个是语义等效的。

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

在内部表达式中(例如,在方括号内),当前节点仍然与在最外层表达式中时相同。因此,在以下三个表达式中,current 函数(而不是整个表达式)都返回相同的节点。此外,后两个表达式在语义上是等效的。

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

下一个代码也与后两个在语义上是等效的,因为 . 出现在一个最外层表达式中。

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

但是 . 始终与最窄的上下文相关。因此,在

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

. 返回 bar 节点,这可能与当前节点不同。

规范

XSLT 1.0 12.4

Gecko 支持情况

支持。