xsl:如何连接变量的路径?

时间:2013-06-09 21:22:17

标签: xslt xpath concat

我需要为这样的变量连接一个路径:

<xsl:variable name="foo" select="concat(//field_path_,$parameter,/data/*)" />

不能那样工作。

使用$parameter = "parametervalue",所需的结果如下所示:

<xsl:variable name="foo" select="//field_path_parametervalue/data/*" />

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

<xsl:variable name="foo" 
  select="//*[name()=concat('field_path_',$parameter)]/data/*" />

或者更好地使用密钥。请注意,XPath表达式是值而不是表达式片段,您不能通过字符串连接构建表达式,只能通过在C或Java等中连接字符串“x”和“+1”来增加变量x(XSLT 3建议)一个evaluate函数,它将字符串计算为xpath表达式,但仍然需要调用一个显式的evaluate函数。)