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

Xslt xsl:如何连接变量的路径?,xslt,xpath,concat,Xslt,Xpath,Concat,我需要连接一个变量的路径,如下所示: <xsl:variable name="foo" select="concat(//field_path_,$parameter,/data/*)" /> <xsl:variable name="foo" select="//field_path_parametervalue/data/*" /> 正确的方法是什么? <xsl:variable name="foo" select="//*[name()=concat(

我需要连接一个变量的路径,如下所示:

<xsl:variable name="foo" select="concat(//field_path_,$parameter,/data/*)" />
<xsl:variable name="foo" select="//field_path_parametervalue/data/*" />
正确的方法是什么?


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

或者最好用钥匙。请注意,XPath表达式是值而不是表达式片段,您不能通过字符串串联来构建表达式,正如您不能通过在C或Java中串联字符串“x”和“+1”来增加变量x一样。(XSLT 3提出了一个求值函数,它将字符串作为xpath表达式求值,但仍然需要调用一个显式求值函数。)

…在发布我的问题五分钟后-什么花了你这么长时间?=8)太好了,我从来没有猜到(我不理解它。你能推荐一本好书吗?)。我现在拥有的(我的应用程序的完整代码)是@Ralf Michael Kay的书是关于xslt/xpath的书。