2016-01-22 178 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不允許你做的事情。