Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要为这样的变量连接路径:
<xsl:variable name="foo" select="concat(//field_path_,$parameter,/data/*)" />
不能那样工作。
期望$parameter = "parametervalue"的结果如下所示:
$parameter = "parametervalue"
<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 表达式,但您仍然必须调用显式评估函数。)