current

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

语法

current()

返回值

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

描述

此函数是 XPath 的 XSLT 特定扩展。它不是核心 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 节点,这可能与当前节点不同。

规范

Gecko 支持

支持。