Zaawansowanie techniki transformacji dokumentów XML-owych za pomocą arkuszy XSLT na platformie .NET
Jednym z najpopularniejszych zastosowań arkuszy XSLT jest transformacja danych zapisanych w formacie XML do dokumentów HTML. Otrzymane w ten sposób wyniki mogą być później wyświetlane za pomocą dowolnej przeglądarki internetowej. Przetwarzanie takie umożliwia swobodną prezentację danych i jest szczególnie przydatne w aplikacjach internetowych, w których pozwala oddzielić interfejs użytkownika od logiki aplikacji. Transformacje używane w tego typu zastosowaniach nie są zwykle zbyt skomplikowane i z reguły nie wymagają posiłkowania się bardziej zaawansowanymi technikami.
Innym przeznaczeniem arkuszy XSLT może być umożliwienie komunikacji pomiędzy aplikacjami poprzez konwersję modelów danych używanych w poszczególnych systemach. Zagadnienie to jest tym bardziej istotne, że wiele nowoczesnych aplikacji udostępnia interfejs XMLowy jako jeden ze sposobów komunikacji. Niestety często okazuje się, że dostosowanie danych za pomocą prostych transformacji jest bardzo trudne lub wręcz niemożliwe. Warto wtedy zwrócić uwagę na często niedoceniane lub nieznane możliwości oferowane przez język XSLT. Jeśli jednak i to zawiedzie to ostatecznym ratunkiem mogą okazać się rozszerzenia oferowane przez Microsoftową platformę .NET.
Platforma .NET jest zbiorem technologii i komponentów ułatwiających nie tylko dostęp do danych ale także umożliwiających współużytkowanie tych danych pomiędzy systemami komputerowymi. Jednym z podstawowych elementów platformy .NET jest .NET Framework, na który składa się środowisko pracy aplikacji (tzw. CLR – common language runtime) oraz zbiór bibliotek umożliwiających szybkie budowanie niezawodnych aplikacji. Artykuł ma za zadanie przybliżyć sposób, w jaki można wykorzystać dodatkowe możliwości oferowane przez .NET Framework we własnych transformacjach.
Dokument zamowienie.xml przedstawia XML będący przykładowym, uproszczonym zamówieniem. Wszystkie transformacje opisywane w dalszej części artykułu będą używały go jako dokumentu wejściowego. W kolejnych krokach do transformacji będą dodawane nowe elementy ilustrujące opisywane techniki. Celem jest otrzymanie dokumentu przypominającego fakturę.
<?xml version="1.0"?>
<zamowienie numer="30023/MZK/2003">
<artykul id="1" ilosc="7" cena="5.40" />
<artykul id="2" ilosc="1" cena="15.30" />
<artykul id="3" ilosc="3" cena="1.99" />
<artykul id="4" ilosc="9" cena="2.87" />
<artykul id="5" ilosc="3" cena="5.30" />
</zamowienie>
