2011-05-24 101 views
2

我的要求是爲循環設置一些動態變量在到DataPower背景是這樣的:設置動態variabe

<dp:set-variable name="'var://context/txn-info/appErrorInd[$i+1]'" 
       value="'yes'" /> 

變量$我將繼續發生變化。上面的代碼不起作用。有人可以給我一個解決方案嗎?

+1

好問題,+1。查看我的答案,獲得完整,簡短的解決方案和解釋。 – 2011-05-24 13:27:52

回答

1

使用

<dp:set-variable name="'var:{//context/txn-info/appErrorInd[$i+1]}'" 
       value="'yes'" /> 

以上是所提供的代碼的一個機械校正。它很可能包含另一個更微妙的錯誤。要糾正這個錯誤,也使用:

<dp:set-variable name="'var:{(//context/txn-info/appErrorInd)[$i+1]}'" 
       value="'yes'" /> 

說明

  1. 使用AVT

  2. []運算符的優先級高於僞運算符的//。覆蓋這個需要明確使用括號。

+0

對不起,現在這個問題捏。不明白以上。我們不能使用。爲什麼'var:'部分位於花括號的外面? – Suresh 2011-12-29 16:32:49

+0

@ user1004770:字符串'「var:」'是常量 - 不是動態計算的。使用AVT({}括號)來指定動態計算的值是有意義的。 – 2011-12-29 16:50:13

+0

感謝您的解釋:) – Suresh 2011-12-30 05:37:07