【发布时间】:2011-02-22 16:24:44
【问题描述】:
我正在尝试做类似的事情:
<xsl:variable name="typetest"
select="substring-before(
(substring-after(base-uri(),'Test_')),
'_'
)"/>
<xsl:variable name="minAdd"+"$typetest"
select="teststep[@name='add"$typetest"Etalon']/@min"/>
我找不到在另一个 var 的名称和选择中使用我的 var $typetest 的正确方法。 我不知道这是否可能,我正在使用 XSLT 2.0
【问题讨论】:
-
你不能完全做到这一点,但如果你解释你想要达到的目标,可能会有不同的方法来完成同样的事情。
-
向我们展示不起作用的代码并不是解释您的要求的好方法。但是您似乎认为 XSLT 变量通过文本替换起作用,但事实并非如此。变量引用 $x 是一个计算结果为值的表达式(不是程序文本的片段),您只能在需要值的地方使用它。
-
首先,这甚至不是正确的 XML...其次,为什么要为变量使用动态名称?为什么除了 XSLT 之外的任何语言都需要它?如果您想要某种键映射结构,为什么不使用中间 XML 结果?