> XSLT current() 函数

XSLT current() 函数

定义和用法

current() 函数返回仅包含当前节点的节点集。通常,当前节点与上下文节点是相同的。

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

等于

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

不过,有一点不同。让我们看一下下面的 XPath 表达式:"catalog/cd"。表达式选择了当前节点的 <catalog> 子节点,然后选择了 <catalog> 节点的 <cd> 子节点。这意味着,在计算的每一步上,"." 都有不同的意义。

下面这行:

<xsl:apply-templates select="//cd[@title=current()/@ref]"/>

将处理 title 属性的值等于当前节点的 ref 属性的值的所有 cd 元素。

与这个不同:

<xsl:apply-templates select="//cd[@title=./@ref]"/>

这个会处理 title 属性和 ref 属性具有相同值的所有 cd 元素。

语法

node-set current()

例子

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
  <xsl:for-each select="catalog/cd/artist">
    Current node: <xsl:value-of select="current()"/>
    <br />
  </xsl:for-each>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

查看 XML 文件查看 XSL 文件查看结果

参考手册

W3c0.com 提供的内容仅用于培训。我们不保证内容的正确性。通过使用本站内容随之而来的风险与本站无关。W3c0 简体中文版的所有内容仅供测试,对任何法律问题及风险不承担任何责任。 当使用本站时,代表您已接受了本站的使用条款和隐私条款。版权所有,保留一切权利。 鲁ICP备15022115号