current 函数

返回当前节点作为唯一成员的节点集。

node-set current()

备注

该函数返回当前节点作为唯一成员的节点集。 对于最外面的表达式,即没有出现在其他表达式中的表达式,当前节点总是与上下文节点相同。 因此,

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

等同于

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

但是,在方括号中,当前节点通常与上下文节点不同。 例如:

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

处理所有具有 <glossary> 父元素并且 name 属性值等于当前节点的 ref 属性值的 <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 数据类型引用