Hej mirki, potrzebuję rady związanej z przetwarzaniem XSLT w JavaScript. Czy orientuje się może ktoś jak podać XSLtowski argument 'mode' do obiektu XSLTProcessor?
Chodzi o to, że w arkuszu XSLT mam kilka szablonów (template) odnoszącymi się do danej gałęzi XML, ale z różnymi argumentami MODE. Potrzebuję podać JavaScriptowi z którego szablonu ma konkretnie skorzystać i nie mogę. Ktoś może wie?
@ale_fuks: Stawiam, że nikt nie wie, to jest specyficzne, bardzo rzadko używane rozszerzenie Mozilli. Pewnie musisz pobrać Firefoxa i przeczytać kod źródłowy tego.
W standardowym szablonie dla gałęzi XML o nazwie ModelSomething wywołuje szablony w zależności od parametru ajaxMode przekazanego do procesora XSLT za pomocą funkcji setParameter, np. setParameter((null, 'ajaxMode', 'OnlyContent'); W przypadku nieprzekazania parametru lub przekazania pustego, stosowna informacja jest wyświetlana ("Nie wybrano trybu wyświetlania."). Takie podejście (poświęcenie głównego szablonu na AJAX) jest jedynym działającym jakie przyszło mi do głowy.
Chodzi o to, że w arkuszu XSLT mam kilka szablonów (template) odnoszącymi się do danej gałęzi XML, ale z różnymi argumentami MODE. Potrzebuję podać JavaScriptowi z którego szablonu ma konkretnie skorzystać i nie mogę. Ktoś może wie?
#javascript #xsl #xslt #xml #xsltprocessor #webdev #programowanie
Pewnie musisz pobrać Firefoxa i przeczytać kod źródłowy tego.
@ale_fuks: Próbowałeś processor.setStartMode(string)? Ofc przed transform
Sądząc po ilości plusów wiele osób ma w tej chwili podobny problem ( ͡º ͜ʖ͡º)
To nie tylko rozszerzenie Mozilli, XSLT jest obecne we wszystkich
Dla wszystkich ciekawych - chyba nie da się przekazać argumentu mode do XSLTProcessor - kilka godzin szukałem rozwiązania - nima. Zastosowałem więc
Object.getOwnPropertyKeys((new XSLTProcessor).__proto__)
Jakie metody tam są?
ajaxMode
przekazanego do procesora XSLT za pomocą funkcjisetParameter
, np.setParameter((null, 'ajaxMode', 'OnlyContent');
W przypadku nieprzekazania parametru lub przekazania pustego, stosowna informacja jest wyświetlana ("Nie wybrano trybu wyświetlania."). Takie podejście (poświęcenie głównego szablonu na AJAX) jest jedynym działającym jakie przyszło mi do głowy.
getOwnPropertyKeys is not a function
( ͡º ͜ʖ͡º)Ale podejrzewam, że chodzi Ci o to:
@ale_fuks: Masz rację. To było dla MSXML. W innych browserach chyba tylko warunkowy template jak pokazałeś