我试图将 xpath 表达式作为变量放在 xslt 测试子句中,如下所示:
<xsl:choose>
<xsl:when test="../v:node[@InputName='{v:HeaderValue}']">
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
但是,它不起作用,并且总是评估为假。有谁知道为什么?
动态 XPath 评估在 XSLT 1.0 或 XSLT 2.0 中不可用。
它可能在XSLT 3.0中作为(当前提议的)<xsl:evaluate>
指令提供
你应该能够做到这一点
<xsl:when test="../v:node[@InputName=v:HeaderValue]">
{ } 表示法用于属性值模板,在创建属性时使用,并且您希望表达式的结果作为属性的值。