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

Xml 如何将变量传递给XSLT XPath表达式?,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,如何将变量传递给XSLT XPath。比如说 <ns0:UnitCode> <xsl:value-of select="//ns1:Root/InputMessagePart_1/ ns2:ServiceMasterDetailsResponse/ ns2:ServiceMasterDetailResponse[$Counter]/

如何将变量传递给XSLT XPath。比如说

  <ns0:UnitCode>
    <xsl:value-of select="//ns1:Root/InputMessagePart_1/
                          ns2:ServiceMasterDetailsResponse/
                          ns2:ServiceMasterDetailResponse[$Counter]/
                          ns2:BASE_UOM/text()"/>
  </ns0:UnitCode>

其中,
计数器
是我的XSLT变量

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

如何在XSLT中使用变量引用 XPath

选择
属性中,使用
$var
(如上所述):

文字结果元素

在中,使用:

内容

您的XSLT在您的问题中,但没有格式化为代码,因此它没有显示出来。下次使用链接和格式化控件将标记指定为代码。“我这次已经为你解决了这个问题,你的问题不清楚。如果$Counter变量有一个值,那么您向我们展示的代码应该可以工作(可能,因为我们没有看到输入XML)。如果您询问如何将参数传递给XSLT样式表,答案取决于您用来启动XSL转换的工具(与XSLT本身没有什么关系,只是需要定义一个全局参数来传递值)。
 <xsl:value-of select="/path/to/element[@id=$var]"/>
<xsl:variable name="globalVar" select="'value'"/>
<xsl:template match="abc[. = $globalVar]">
 <img src="{$var}/image.jpg"/>
 <xsl:element name="{$var}">content</xsl:element>
 <xsl:attribute name="{$var}">content</xsl:attribute>