2016-01-22 140 views
-2

我正在使用XSLT,其中有两个foreach块。说块1块2将值赋给XSLT中的变量

基于在用于块1循环,将我生成,这将在块2中使用的变量的元素。

问题是与在第一块asigning值可变

案例1我限定可变内座1,说变种

  • 在这种情况下我不能引用在变量var第二块(即块2),给我变量超出范围错误

案例2我定义这两个块以外的变量,说,作为一个全局变量。

  • 在这种情况下,我可以refrence在块1到变量由可变BUT的变化不会反映在块2。
+0

现在,你[询问你的解决方案而不是问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。从不同的角度来看它:解释你的输入XML是什么样的,以及你的_goal_是什么,预期的输出。显示您尝试的XSLT代码以实现该目标(http://stackoverflow.com/help/mcve)。 –

回答

1

答案非常简单:您不能将值分配给XSLT中的变量,因为作为功能语言,语言设计的一部分特别是不允许这样做。

从你的问题来看,你并不清楚你想做什么。也许解决你的问题的一种方法是将“Block 2”写成一个函数/模板(取决于你使用的是2.0还是1.0),并用一个参数传递值从“Block 1”中调用它。

但是,如果不分享更好的描述,你很难提供帮助,除非说分配变量只是XSLT不允许你做的事情。