在XSLT中为变量赋值

时间:2016-01-22 05:49:09

标签: xml xslt

我正在开发一个XSLT,其中有两个 foreach块。说 Block1 Block2

基于Block1中for循环中的元素,我将生成一个将在Block2中使用的变量。

问题在于将值赋予第一个块中的变量

案例1 我在Block 1中定义变量,比如var

  • 在这种情况下,我无法在第二个Block(即Block2)中引用变量var,因为它给了我变量超出范围的错误

案例2 我在两个块之外定义变量,表示为全局变量。

  • 在这种情况下,我可以参考变量 BUT 对Block1中的变量所做的更改不会反映在Block2中。

1 个答案:

答案 0 :(得分:1)

答案很简单:你不能在XSLT中为变量赋值,因为作为一种函数式语言,语言设计的一部分特别是不允许这样做。

从你的问题来看,你想做什么并不是很清楚。也许解决问题的一种方法是编写" Block 2"作为一个功能/模板(取决于你是否使用2.0或1.0),并从" Block 1"使用传递值的参数。

但是,如果没有更好地描述您正在做什么,那么很难提供帮助,除了说分配变量只是XSLT不允许您做的事情。