YGREG.COM - Kurs XML - Przekształcanie i oglądanie danych XML 

29.07.2004
Nowa oferta hostingowa.

29.07.2004
Kurs XPath.

13.10.2002
Poprawiony problem z oznaczaniem przeczytanych wiadomości na forum.

13.06.2002
PHP z Zend Engine 2 już dostępne!

17.02.2002
Zmiany w organizacji serwisu.








Początek strony

(C)opyright 1997-2007
by Grzegorz Plebański
INDEX I ARTYKUŁY I SKRYPTY I DOWNLOAD

Dodaj stronę
do ulubionych

Artykuły i kursy
   PHP
   XML
   CGI
   HTML
   Inne

Skrypty PHP
   Komunikacja
   Księgi gości
   Statystyki
   Głosowania
   Bannery
   Inne
Skrypty CGI

Download




Przekształcanie i oglądanie danych XML


        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:

   
<?xml-stylesheet type="text/xml" 
href="default.xsl"?>

        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.


Paweł Stroiński
pawel@pabloware.w.pl