Transformacje po stronie przeglądarki.

Często zachodzi potrzeba wykonania szybkiej transformacji dokumentu XML i sprawdzenia jej wyniku. O tym jak to zrobić traktuje nowo dodany punkt w sekcji FAQ.

Funkcja system-property().

W naszej firmie wykorzystywana jest aplikacja korzystająca bardzo mocno z arkuszy XSLT. Pierwotna aplikacja została napisana przy z wykorzystaniem .NET Framework 1.1. Ze względu na korzyści jakie niesie ze sobą .NET Framework 2.0 została podjęta decyzja o przeniesieniu aplikacji na tę platformę. O ile sam kod nie sprawił większego problemu to arkusze XSLT, niestety, tak. Tym bardziej, że jednym z podstawowych założeń było, że arkusze XSLT powinny bez modyfikacji działać w obu wersjach aplikacji (aplikacja w nowej wersji dopiero będzie wchodzić w fazę testów podczas gdy istniejąca wersja działa produkcyjnie i w arkuszach są wciąż wprowadzane modyfikacje). W .NET Framework 1.1 obiektem wykorzystywanym do transformacji jest obiekt XslTransform. W .NET Framework 2.0 jest to XslCompiledTransform. Okazało się, że arkusze XSLT w starej wersji aplikacji zawierają sporo błędów - w tym błędy składniowe, które nigdy nie zostały wykryte. Stało się tak między innymi dlatego, że obiekt XslTransform zgłasza błąd dopiero wówczas gdy napotka go podczas transformacji. Obiekt XslCompiledTransform kompiluje arkusz przed transformacją i jeśli podczas kompilacji występują błędy wyrzuca odpowiednie wyjątki.
Po uporaniu się ze wszystkimi problemami natury składniowej nadszedł czas próby dla, poprawionych arkuszy XSLT. Wstępne testy pokazały, że funkcja msxsl:node-set() działa trochę inaczej w nowej wersji .NET Framework niż to było w wersji starej (1.1). Zdawało się, że cel osiągnięcia wspólnych arkuszy dla obu wersji aplikacji oddala się. Z drugiej jednak strony utrzymywanie dwóch różnych wersji arkuszy stanowi poważny problem. Rozważane były różne rozwiązania tego problemu. Ostatecznie okazało się, że można zastosować funkcję system-property() i stosować funkcję msxsl:node-set() w zależności od zwróconego przez nią wyniku.
Po tej nieco przydługawej przypowieści czas przejść do sedna. W dziale Sztuczki kruczki znajduje się opis działania funkcji system-property().

Otwarcie xml.com.pl

"Na każdym zebraniu jest tak że ktoś musi zacząć pierwszy" a więc...

Język XML staje się coraz bardziej popularny. Nic dziwnego bo jego uniwersalność oraz ilość zastosowań jest wręcz nieograniczona. Z drugiej jednak strony popularność, powszechność i możliwości języka XML rodzą wiele pytań. Stąd powstał pomysł stworzenia portalu, który byłby próbą dpowiedzi przynajmniej na część z nich.

Obecny content portalu nie jest jeszcze zbyt bogaty. Dlatego zachęcam osoby zainteresowane podzieleniem się swoją wiedzą do współpracy dzięki, której informacje opublikowane tutaj będą mogły służyć jak największemu gronu osób.

Pozdrawiam i jeszcze raz zapraszam do współpracy !