
XSLT - jméno uzlu z parametru
Pěkný den, s XSLT moc kamarád nejsem.
Zadám-li si do xsl souboru
<xsl:for-each select="automaticka-opticka-kontrola/produkt">
načtou se obsahy uzlů v pořádku.
Pokud se do onoho selectu pokoušíme zadat předem definovanou proměnnou nebo parametr, chápe ji jako řetězec a nenačte nic.
Googlením jsme zjistili, že neexistuje triviální řešení. Hledali jsme správně?
Děkuji.
mohol by si uviest priklad ako tam davas tu premennu?
Nefunguje ani, když ji nadefinuji jako
a poté dám
A to bychom tam ještě chtěli mít concat
.
Myslím, že narážíme neustále na to, že v té proměnné je řetězec a neumíme z ní udělat xpath.
ono ked volas xlst pomocou nejakeho processora (odporucam Saxon EE 9.*), tak vies udat, ze dany parameter ma brat ako xpath. Tusim sa pred nazov parametra pri volani dava otaznik.
Ale obavam sa, ze ti to aj tak v tomto pripade nepomoze. Skusal som rozne varianty dokonca aj v XSLT verzii 3.0 a takto to nepojde.
Radsej daj vediet co potrebujes urobit. Mozno by to slo urobit inak, pripadne pomocou XQuery, ktory ma ovela vacsie moznosti.
Btw pouzitie for-each je v 99% pripadoch mozne nahradit template-om.
Ok, děkuji.
.
Už jsme to samozřejmě udělali jinak - stačilo změnit nepodstatně strukturu XML souboru.
Prostě jsme chtěli mít XML soubor rozdělený do více naduzlů a jednou by se vybíral ten nebo onen v závislosti na proměnné. Pokud se zavede ke každé položce nějaký tag kategorie, výběr požadované kategorie je pak jednoduchý a umíme jej
Ještě jednou děkuji za Tvůj čas.