如何在XSLT中使用变量名称中的concat()?

时间:2013-12-04 15:34:39

标签: xml xslt

我想做的就是这样,

XSLT

<xsl:variable name="concat('var',1)" select="'content of variable'"/>

但它会导致错误

error: The '(' character, hexadecimal value 0x28, cannot be included in a name.

有没有办法在变量名中使用concat?

提前多多谢谢你。

1 个答案:

答案 0 :(得分:2)

不,这几乎不可能,因为XSLT处理器在编译时解析变量名。例如,参见讨论:

  

http://www.velocityreviews.com/forums/t168700-generate-variable-name-from-node-values-in-xslt.html

我建议您重新排列XSLT样式表,以消除对这种构造的需求,即具有动态名称的变量。如果您包含更多样式表并在其背后显示您的意图,那么SO可以帮助您重写代码。

顺便说一下,如果你打算动态创建变量 content ,那么就有合理的方法。