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 支持
支持。