如何将变量传递给XSLT XPath表达式?

时间:2016-04-14 12:08:29

标签: xml xslt xslt-1.0

如何将变量传递给XSLT XPath。例如

Counter

其中 Requiring external module babel-register Using gulpfile ~/workspace/yo/gulpfile.babel.js Task 'server' is not in your gulpfile 是我的XSLT变量。

我想将变量计数器的数值传递给上面的XSLT XPath表达式。

1 个答案:

答案 0 :(得分:0)

如何在XSLT中使用变量引用

<强>的XPath

select属性中,使用$var(正如您所做的那样):

 <xsl:value-of select="/path/to/element[@id=$var]"/>

以下是一些其他方法可以在XSLT中使用变量引用...

匹配模式

XSLT 1.0:match中的变量are not allowed

  

match属性的值包含a是错误的   VariableReference

XSLT 2.0:match谓词或

中的变量are allowed
  

模式可以以id FO 或键函数调用开始,   只要要匹配的值作为文字提供   或者对变量或参数的引用,以及键名(在   key function的情况)作为字符串文字提供。这些   模式永远不会匹配根不是a的树中的节点   文档节点。

XSLT 2.0匹配谓词变量示例:

<xsl:variable name="globalVar" select="'value'"/>
<xsl:template match="abc[. = $globalVar]">

文字结果元素

literal result element内,使用attribute value template

 <img src="{$var}/image.jpg"/>

元素或属性名称

在元素或属性名称中,使用xsl:elementxsl:attribute以及属性值模板:

 <xsl:element name="{$var}">content</xsl:element>

 <xsl:attribute name="{$var}">content</xsl:attribute>