/ / Priradenie hodnoty premennej v XSLT - xml, xslt

Priradenie hodnoty premennej v XSLT - xml, xslt

Pracujem na XSLT, kde sú dve foreach bloky, povedať Block1 a Block2

Na základe prvkov pre slučku v bloku 1 budem vytvárať premennú, ktorá sa použije v bloku 2.

Problém je pri priradení hodnoty k premennej v prvom bloku

Case-1 Definujem premennú vo vnútri bloku 1, povedzme var

  • V tomto prípade nemôžem odkazovať na premennú var v druhom bloku (tzn. Blok 2), čo mi dáva variabilná chyba mimo rozsah.

Case-2 Definujem premennú mimo obidvoch blokov, ako globálnu premennú.

  • V tomto prípade môžem premennú zopakovať ALE zmena vykonaná na premennej v bloku 1 sa neodzrkadľuje v bloku 2.

odpovede:

1 pre odpoveď č. 1

Odpoveď je veľmi jednoduchá: Nemôžete priradiť hodnoty premenným v XSLT, pretože ako funkčný jazyk je časť jazykového dizajnu špecifická, že to neumožňuje.

Od vás otázka nie je úplne jasné, čo vychcieť urobiť. Možno jeden spôsob, ako vyriešiť váš problém je písať "blok 2" ako funkciu / šablónu (v závislosti od toho, či používate 2.0 alebo 1.0) a zavolajte z bloku 1 s parametrom, ktorý prechádza hodnotou.

Bez zdieľania lepšieho popisu toho, čo presne robíte, je ťažké pomôcť, okrem toho, že priradenie premenných je jednoducho niečo, čo XSLT nedovolí robiť.