Język XSL (który sam jest aplikacją XML) pozwala przekształcać
dane XML na podstawie czegoś w rodzaju szablonu. Korzystając z
tego narzędzia możesz dane przegrupowywać i wybierać. Możesz
je także przygotować do wizualnego przeglądania.
Arkusze XSLT, czy może XSL?
Na standard XSL składa się język samych przekształceń (XSLT) i język opisu graficznego.
Ponieważ opis graficzny XSL nie jest przez żadną z powszechnie
używanych przeglądarek internetowych obsługiwany, do prezentacji
danych używa się HTML'a, lub jego młodszego brata - XHTML'a. Cała
rzecz opiera się na automatycznym poumieszczaniu danych pobranych z dokumentu XML, w
wynikowym pliku HTML. Taki plik HTML służy do prezentacji wybranych
w trakcie przekształceń XSLT danych. Ta technika nadaje się wyśmienicie
do prezentowania danych w Internecie. Z jednej strony umożliwiamy
programom pobranie samych danych, z drugiej serwujemy czytelnikowi ładnie graficznie przygotowane
dane. Co więcej, dane te można także zmusić do interakcji z użytkownikiem.
Cały czas możemy przecież mieć do nich dostęp.
Arkusz i dane
Arkusze stylów XSL mogą być osobnymi plikami, które za pomocą odpowiedniej
deklaracji w prologu przypisuje się dokumentom z danymi. Oczywiście
jednego arkusza stylów można używać do przekształceń wielu
plików z danymi tworzącymi tę samą strukturę. Tak naprawdę,
korzystając z tego, że arkusze stylów są "zorientowane" na elementy i inne "węzły" dokumentu
XML, można wybiórczo przekształcać poszczególne "węzły" z
danymi. Oczywiście najczęściej jest nim po prostu korzeń dokumentu.
Ważne jest, aby korzeń nie został pomylony z głównym elementem.
Korzeń zawiera cały dokument. Nie tylko element główny, ale także
prolog. W hierarchii znajduje się więc najwyżej.
Oto, jak powinna wyglądać deklaracja dołączająca arkusz XSL. Umieszczana oczywiście
w prologu dokumentu z danymi:
Gdzie "default.xsl" jest nazwą pliku z arkuszem XSL.
To jest najprostszy sposób powiązania XML z XSL. Jeśli otworzymy plik XML z taką deklaracją
i oczywiście danymi, to przeglądarka wczyta arkusz stylów, przetworzy
dane a efekty wyświetli tak samo, jak wyświetla pliki HTML.
Jeżeli używasz przeglądarki Internet Explorer 5, czyli jedynej, która
potrafi korzystać z XSL, powinieneś zamienić w powyższej deklaracji
wartość parametru "type" z "text/xml" na "text/xsl". W przeciwnym
wypadku nie będzie ona wiedziała, że chodzi o arkusz XSL. Wersja
6.0 powinna już zachowywać się poprawnie, bez takich "zachcianek".
Niestety, z Internet Explorerem 5 jest jeszcze trochę podobnych, jak opisany w ramce, problemów. W związku z tym nęcącą
alternatywą jest użycie jednego z samodzielnych procesorów XSL,
które podobnych komplikacji nie stwarzają. Oczywiście traci się
wtedy sporo, bo uzyskiwany jest "zwykły" dokument HTML. Na razie
zapraszam do korzystania z Internet Explorera i dołączanych, zewnętrznych arkuszy stylów,
możliwości wcale nie są małe.
Zupełnie nieciekawe uwagi: a co na to wszystko style CSS?
Znane z języka HTML Kaskadowe Arkusze Stylów (CSS) mogą być wykorzystywane
także razem z XML'em. Arkusze CSS składają się ze zbioru reguł
opisujących wygląd poszczególnych elementów w przeglądarce.
I to cała filozofia CSS. Nie ma więc tu mowy o wybieraniu poszczególnych
danych, czy choćby o wyświetlaniu wartości atrybutów. W zamian, otrzymujesz możliwość
oglądania twoich dokumentów zarówno w przeglądarce Internet Explorer
5, jak i Netscape 6.
Jeżeli jesteś zainteresowany użyciem CSS, możesz skorzystać z dostępnych
w polskim Internecie bardzo dobrych materiałów. Ich spis znajdziesz
w rozdziale "Zasoby". Teraz zaprezentuję tylko przykładowe połączenie
arkusza CSS i dokumentu XML, wraz z wynikiem w przeglądarce.