1 / 19

Technologie

Łódź, 15 października 2012 roku. Technologie. mgr inż. Tomasz Węgliński email: tweglinski@kis.p.lodz.pl www: http://www.tweglinski.pl. WYKŁAD 6. Transformacje XSL (c.d.). 2/19. Rodzaje transformacji XSL. Transformacje XSL możemy przeprowadzać na trzy sposoby:

hea
Download Presentation

Technologie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Łódź, 15 października 2012 roku Technologie mgr inż. Tomasz Węglińskiemail: tweglinski@kis.p.lodz.plwww: http://www.tweglinski.pl

  2. WYKŁAD 6 Transformacje XSL(c.d.) 2/19

  3. RodzajetransformacjiXSL • Transformacje XSL możemy przeprowadzać na trzy sposoby: • dołączając arkusz styli XSL bezpośrednio do dokumentu XML • przeprowadzając transformację po stronie klienta • przeprowadzając transformację po stronie serwera • XSLT po stronie klienta (ang. Client-side XSLT) wymaga od użytkownika korzystania z przeglądarki z wbudowanym procesorem XSLT. • XSLT po stronie serwera (ang. Server-side XSLT) może zostać przeprowadzona przy użyciu: • silnika przeglądarki internetowej zainstalowanej na serwerze • biblioteki systemu operacyjnego • frameworka (języka programowania) 3/19 Wykład 5: Transformacje XSL

  4. RodzajetransformacjiXSL • XSLT po stronie serwera obsługuje m.in.: • Biblioteka MSXML dla platformy Windows • Biblioteka libxslt dla środowiska Unix/Linux • Procesory XSLT w różnych językach programowania: • Saxon (Java oraz .NET), http://saxon.sourceforge.net/) • XslCompiledTransform (.NET Framework, http://msdn.microsoft.com) • TransforMiiX (C++, www.mozilla.org/projects/xslt/) • Xalan-Java (Java, http://xml.apache.org/xalan-j/) • Xalan-C++ (C++, http://xml.apache.org/xalan-c/) • XT (Java, http://www.blnz.com/xt/index.html, autor James Clark) • Sablotron (C++, www.gingerall.com/charlie/ga/xml/p_sab.xml) • PHP 5 funkcje XSLT (http://www.php.net/manual/en/book.xsl.php) 4/19 Wykład 5: Transformacje XSL

  5. XSL po stronie klienta W procesie transformacji XSL po stronie klienta rolę procesora XSLT pełni przeglądarka internetowa. Przeglądarka internetowa np. Mozilla Firefox lub Internet Explorer 5/19 Wykład 5: Transformacje XSL

  6. XSL po stronie klienta • Transformacje XSL po stronie klienta przeprowadzane są najczęściej • z użyciem języka JavaScript. • Dzięki przeprowadzeniu transformacji XSL w JavaScript możemy: • skorzystać z kilku dostępnych bibliotek XSLT (np. jsxml); • wyświetlić wynik transformacji w każdej przeglądarce internetowej; • przeprowadzić walidację poprawności arkusza styli XSL; • opracować i wykorzystać różne arkusze XSL w zależności od wymagań klienta. Przykład ze strony: http://www.w3schools.com/xsl/tryit.asp?filename=cdcatalog 6/19 Wykład 5: Transformacje XSL

  7. XSL po stronie klienta • Wyjściowy dokument XML: 7/19 Wykład 5: Transformacje XSL

  8. XSL po stronie klienta • Przykładowy arkusz styli XSL: 8/19 Wykład 5: Transformacje XSL

  9. XSL po stronie klienta • Kod JavaScript realizujący transformację - loadXMLDoc(): XMLHttpRequest (XHR) – obiekt języków skryptowych (np. JavaScript, JScript lub VBScript) przeglądarek internetowych umożliwiający wykonywanie żądań do serwera WWW za pomocą protokołu HTTP. 9/19 Wykład 5: Transformacje XSL

  10. XSL po stronie klienta • Kod JavaScript realizujący transformację - loadXMLDoc(): tworzenie nowego obiektuXMLHttpRequest() XMLHttpRequest (XHR) – obiekt języków skryptowych (np. JavaScript, JScript lub VBScript) przeglądarek internetowych umożliwiający wykonywanie żądań do serwera WWW za pomocą protokołu HTTP. 10/19 Wykład 5: Transformacje XSL

  11. XSL po stronie klienta • Kod JavaScript realizujący transformację - loadXMLDoc(): wysyła żądanie do serwerawraz z opcjonalną zawartością • Specyfikacja metody open(): "GET", "POST", "HEAD", "PUT", "DELETE" bezwzględnylub względny adres URL „true” – skryptdalej przetwarzanypo wywołaniu send() „false” – skrypt przetwarzany dopieropo uzyskaniu odpowiedzi 11/19 Wykład 5: Transformacje XSL

  12. XSL po stronie klienta • Kod JavaScript realizujący transformację - loadXMLDoc(): • Własności obiektu XMLHttpRequest: • onreadystatechange • readyState • responseText • responseXML • status • statusText Zawiera odpowiedź jako XML. Ta własność zwraca obiekt dokumentu XML, który może być parsowany używając klas i interfejsów W3C DOM. Źródło: http://pl.wikipedia.org/wiki/XMLHttpRequest 12/19 Wykład 5: Transformacje XSL

  13. XSL po stronie klienta • Kod JavaScript realizujący transformację - displayResult(): pobranie dokumentu XML pobranie arkusza XSL Przeglądarka Internet Explorer wykorzystuje obiekt ActiveX uruchamiający procesor XSLT w bibliotece MSXML, natomiast pozostałe przeglądarki korzystają z wbudowanego w silnik procesora XSLT. 13/19 Wykład 5: Transformacje XSL

  14. XSL po stronie klienta • Kod JavaScript realizujący transformację - displayResult(): • Kod dla przeglądarki Internet Explorer: • funkcja transformNode()aplikuje arkusz stylów XSL do dokumentu XML oraz dokonuje transformacji • - wynikiem działania funkcji jest wyjściowe drzewo HTML „wstrzyknięcie” do zawartościelementu wyjściowego drzewaHTML pobranie referencji do elementu drzewa HTML posługując się powiązanym z tym elementem atrybutem id = ”example” 14/19 Wykład 5: Transformacje XSL

  15. XSL po stronie klienta • Kod JavaScript realizujący transformację - displayResult(): • Kod dla przeglądarki Mozilla Firefox, Opera, Chrome etc.: • tworzenie obiektu klasy XSLTProcessor() • - zaimportowanie arkusza stylów XSL • funkcja transformToFragment()aplikuje arkusz stylów XSL do dokumentu XML oraz dokonuje transformacji • - wynikiem działania funkcji jest wyjściowe drzewo HTML dodanie do zawartości elementu wyjściowego drzewa HTML 15/19 Wykład 5: Transformacje XSL

  16. W procesie transformacji XSL po stronie serwera za przeprowadzenie transformacji XSL odpowiada serwer internetowy (najczęściej odpowiednia biblioteka danego języka programowania). XSL po stronie serwera 16/19 Wykład 5: Transformacje XSL

  17. Niekiedy pośrednikiem pomiędzy serwerem WWW a użytkownikiem jest tzw. serwer aplikacji. XSL po stronie serwera Serwer aplikacji (program działający na zdalnej maszynie) 17/19 Wykład 5: Transformacje XSL

  18. XSL po stronie serwera • Kod PHP realizujący transformację XSLT: Zobaczmy jak to działa! Uwaga: Przed użyciem metod klasy XsltProcessor konieczne jest włączenie rozszerzenia XSL w posiadanej instancji PHP! 18/19 Wykład 5: Transformacje XSL

  19. XSL po stronie serwera • Metody klasy XsltProcessor: Opis wszystkich metod wraz z przykładami można znaleźć pod adresem: http://www.php.net/manual/en/class.xsltprocessor.php 19/19 Wykład 5: Transformacje XSL

More Related