Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xslt语法:将一个变量转换为另一个变量_Xslt_Variables_Syntax - Fatal编程技术网

xslt语法:将一个变量转换为另一个变量

xslt语法:将一个变量转换为另一个变量,xslt,variables,syntax,Xslt,Variables,Syntax,我试着做一些类似的事情: <xsl:variable name="typetest" select="substring-before( (substring-after(base-uri(),'Test_')), '_' )"/> <xsl:variable name="minAdd"

我试着做一些类似的事情:

<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的正确方法。
我不知道这是否可能,我正在使用XSLT2.0,变量名必须是有效的。它不能是表达式的结果



你不能完全做到这一点,但如果你解释你想要实现的目标,可能会有不同的方法来实现同样的目标。向我们展示不起作用的代码并不是解释你的需求的好方法。但您似乎认为XSLT变量是通过文本替换工作的,而事实并非如此。变量引用$x是一个计算结果为值(而不是程序文本片段)的表达式,您只能在需要值的地方使用它。。。第二,为什么需要变量的动态名称?除了XSLT之外,为什么您还希望其他语言使用这种语言?如果需要某种键映射结构,为什么不使用中间XML结果?
<!-- Category: declaration -->
<!-- Category: instruction -->
<xsl:variable
  name = qname
  select? = expression
  as? = sequence-type>
  <!-- Content: sequence-constructor -->
</xsl:variable>