如何将变量传递给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表达式。
答案 0 :(得分:0)
<强>的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
谓词或
模式可以以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:element
或xsl:attribute
以及属性值模板:
<xsl:element name="{$var}">content</xsl:element>
或
<xsl:attribute name="{$var}">content</xsl:attribute>