/ / Przypisywanie wartości do zmiennej w XSLT - xml, xslt

Przypisywanie wartości do zmiennej w XSLT - xml, xslt

Pracuję nad XSLT, gdzie są dwa bloki foreach. mówić Block1 i Block2

Bazując na elementach w pętli for w Block1, będę generował zmienną, która będzie używana w Block2.

Problem polega na dopasowaniu wartości do zmiennej w pierwszym bloku

Przypadek 1 Definiuję zmienną wewnątrz bloku 1powiedzmy var

  • W tym przypadku nie mogę odwołać się do zmiennej var w drugim bloku (np. Block2), w daje mi zmienny błąd out-of-scope.

Przypadek 2 Definiuję zmienną poza obydwoma blokami, jako zmienna globalna.

  • W tym przypadku mogę zwrócić zmienną ALE zmiana dokonana w zmiennej w bloku 1 nie jest odzwierciedlana w bloku 2.

Odpowiedzi:

1 dla odpowiedzi № 1

Odpowiedź jest bardzo prosta: nie możesz przypisać wartości do zmiennych w XSLT, ponieważ jako język funkcjonalny, część projektu językowego polega w szczególności na tym, że nie pozwala na to.

Od ciebie nie jest jasne, co tychcę zrobić. Być może jednym ze sposobów rozwiązania problemu jest napisanie "bloku 2" jako funkcji / szablonu (w zależności od tego, czy używasz 2.0 lub 1.0) i wywołanie go z "bloku 1" z parametrem, który przekazuje wartość.

Ale bez dzielenia się lepszym opisem tego, co dokładnie robisz, trudno ci pomóc, poza tym, że przypisywanie zmiennych jest po prostu czymś, czego XSLT nie pozwoli ci zrobić.