1 / 26

Technologie

Łódź, 22 października 2012 roku. Technologie. mgr inż. Tomasz Węgliński email: tweglinski@kis.p.lodz.pl www: http://www.tweglinski.pl. WYKŁAD 5. Transformacje XSL. 2/26. Co to znaczy transformacja?. Transformacją nazywamy przekształcenie dokumentu XML w inny

kaelem
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ź, 22 października 2012 roku Technologie mgr inż. Tomasz Węglińskiemail: tweglinski@kis.p.lodz.plwww: http://www.tweglinski.pl

  2. WYKŁAD 5 Transformacje XSL 2/26

  3. Co to znaczy transformacja? • Transformacją nazywamy przekształcenie dokumentu XML w inny • dokument XML lub też inny dokument rozpoznawany przez przeglądarki, • taki jak HTML lub XHTML. • Językiem opisującym sposób prezentacji (przekształceń) dokumentu XML • jest język XSL (ang. Extensible Stylesheet Language – • – w wolnym tłumaczeniu Rozszerzalny Język Arkuszy Stylów) • W większości przypadków transformacje XSL (skr. XSLT) dokonuje się • w celu oddzielenia warstwy informacji od warstwy prezentacji. • Działanie procesora XSLT powoduje powstawanie dokumentu wynikowego, którym może być: • zmieniony wejściowy dokument XML (przekształcenie drzewa) • nowy arkusz XSLT • dokument (np. HTML) przeznaczony do wyświetlenia w przeglądarce (przedstawiający dane zgromadzone w dokumencie XML) 3/26 Wykład 4: Transformacje XSL

  4. Procesor XSLT Procesor XSLT przetwarza zawarte w standardzie instrukcje. Działanie procesora XSLT przedstawia schemat: Procesor pobiera plik XML oraz arkusz stylów XSLT, a następnie przekształcago w wynikowy dokumentprzeznaczony do wyświetlenia w przeglądarce 4/26 Wykład 4: Transformacje XSL

  5. Procesor XSLT • XSLT w przeglądarkach internetowych: • XSLT w Mozilli • MSXML Parser - XML-owy silnik IE • Powszechnie wykorzystywane procesory XSLT: • Saxon (Java oraz .NET), http://saxon.sourceforge.net/) • AltovaXML 2010, darmowy silnik XSLT 1.0/2.0 (linia komend, COM, Java, .NET, www.altova.com) • 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/) • libxslt/xsltproc (C, http://xmlsoft.org/XSLT/) • XT (Java, http://www.blnz.com/xt/index.html, autor James Clark) • Sablotron (C++, www.gingerall.com/charlie/ga/xml/p_sab.xml) • msxsl.exe (C++, msdn.microsoft.com) • PHP 5 funkcje XSLT (http://www.php.net/manual/en/book.xsl.php) 5/26 Wykład 4: Transformacje XSL

  6. MożliwościXSLT • Standard XSLT umożliwia dokonywanie takich operacji jak: • dodawanie sufiksów oraz prefiksów do przetwarzanego tekstu; • usuwanie, tworzenie, sortowanie oraz przestawianie elementów (węzłów, gałęzi drzewa dokumentu); • ponowne wykorzystywanie elementów w innym miejscu danego dokumentu; • automatyczne numerowanie; • operacje matematyczne, np. sumowanie, mnożenie, dzielenie etc.; • przetwarzanie łańcuchów znaków; • wyszukiwanie określonych struktur, węzłów w drzewie. 6/26 Wykład 4: Transformacje XSL

  7. XSLT & XPath • XSLT wykorzystuje język XPath • XSLT wykorzystuje język XPath do wyszukiwania żądanej informacji w dokumencie XML. • Dzięki XPath możliwa jest nawigacja po elementach i atrybutach w drzewie XML. W procesie transformacji, XSLT wykorzystuje język XPath w celu zdefiniowania elementów źródłowego dokumentu XML, które pasują do jednego lub więcej predefiniowanych szablonów. Kiedy takie dopasowanie zostaje znalezione, XSLT przetworzy pasujące elementy dokumentu źródłowego w dokument wynikowy. 7/26 Wykład 4: Transformacje XSL

  8. PrzeglądarkiXSLT Wszystkie popularne przeglądarki internetowe wspierają standard XSLT • Mozilla Firefox • Firefox supports XML, XSLT, and XPath from version 3. • Internet Explorer • Internet Explorer supports XML, XSLT, and XPath from version 6. • Internet Explorer 5 is NOT compatible with the official W3C XSL Recommendation. • Google Chrome • Chrome supports XML, XSLT, and XPath from version 1. • Opera • Opera supports XML, XSLT, and XPath from version 9. Opera 8 supports only XML + CSS. • Apple Safari • Safari supports XML and XSLT from version 3. 8/26 Wykład 4: Transformacje XSL

  9. Podstawy XSLT • Deklaracja arkusza stylów XSLT: W praktyce ten sposób deklaracjistosujemy częściej lub: deklaracja przestrzeni nazw dla arkusza stylów XSLT Uwaga: Jeżeli używamy przestrzeni nazw XSLT, musimy również podać parametr version z wartością 1.0. 9/26 Wykład 4: Transformacje XSL

  10. Podstawy XSLT Transformacja XSLT – Krok 1:Dokument XML Jak zaprezentować dane XML w bardziej przyjazny sposób? 10/26 Wykład 4: Transformacje XSL

  11. Podstawy XSLT Transformacja XSLT – Krok 2:Arkusz stylów XSL To wygląda jak zwykłydokument HTML! 11/26 Wykład 4: Transformacje XSL

  12. Podstawy XSLT Transformacja XSLT – Krok 3:Dołączenie arkusza stylów XSL do XML powiązanie arkusza stylówXSL z dokumentem XML Zobaczmy rezultat: http://www.w3schools.com/xsl/cdcatalog_with_xsl.xml 12/26 Wykład 4: Transformacje XSL

  13. Wzorce Tworzenie szablonów stylów to budowanie wzorców do których porównywany jest przetwarzany dokument wejściowy. • Element definiującym pojedynczy wzorzec jest <xsl:template> Zawiera on atrybuty: • match – oznacza zakres stosowania wzorca; • mode – oznacza tryb stosowania wzorca; • name – oznacza nazwę wzorca. • Najczęściej wykorzystywany jest atrybut match, który składa się z szeregu wskazań (location path) rozdzielonych od siebie symbolem |. • Poszczególne wskazanie spełnia reguły języka XPath. 13/26 Wykład 4: Transformacje XSL

  14. Wzorce • W atrybucie match dozwolone jest umieszczanie odwołań: • do korzenia drzewa (za pomocą symbolu „/”) • do elementów (poprzez ich nazwę) • do atrybutów (za pomocą nazwy atrybutu poprzedzonej „@”) • do konkretnych wystąpień węzła (poprzez nazwę węzła z numerem wystąpienia umieszczonym wewnątrz nawiasów kwadratowych „[]” • do zawartości tekstowej (za pomocą funkcji text()) • do węzła (za pomocą funkcji node()) • do komentarza (za pomocą funkcji comment()) 14/26 Wykład 4: Transformacje XSL

  15. Wzorce • Przykłady wzorców: -- określa szablon przetwarzający zawartość elementu autorzy; -- określa szablon przetwarzający zawartość elementów autor, tytuł orazwartosc; -- określa szablon przetwarzający zawartość elementów nr_okresuoraz wartosc znajdujących się w elemencie pozycja; -- określa szablon przetwarzający zawartość elementu imie, znajdującegosię w drugim wystąpieniu elementu autor; -- określa szablon przetwarzający zawartość elementu pozycja, w którym atrybut okres ma wartość miesiac; 15/26 Wykład 4: Transformacje XSL

  16. Wzorce • Wywoływanie szablonów (wzorców) • -- standard XSLT umożliwia wywoływanie utworzonych szablonów za pomocą elementów: • xsl:apply-templates • xsl:call-template szablon główny przetwarzający korzeń dokumentu dołączenie wszystkichdostępnych szablonów dołączenie szablonutitle 16/26 Wykład 4: Transformacje XSL

  17. Wzorce • Wywoływanie szablonów (wzorców) • -- standard XSLT umożliwia wywoływanie utworzonych szablonów za pomocą elementów: • xsl:apply-templates • xsl:call-template szablon główny przetwarzający korzeń dokumentu dołączenie wszystkichdostępnych szablonów dołączenie szablonutitle 17/26 Wykład 4: Transformacje XSL

  18. Wzorce • Wywoływanie szablonów (wzorców) • -- standard XSLT umożliwia wywoływanie utworzonych szablonów za pomocą elementów: • xsl:apply-templates • xsl:call-template wywołanie szablonuo podanej nazwie Element xsl:call-template odwołuje się do szablonu dopasowującnazwę podaną w parametrze name elementu xsl:template Element xsl:apply-templates w parametrze select zawiera wyrażenie XPath, które jest porównywane do wartości atrybutu match(dopasowanie węzłów, nie nazw (!)) 18/26 Wykład 4: Transformacje XSL

  19. Podstawoweelementy • Standard XSLT zawiera ok. 35 podstawowych elementów kontrolujących proces transformacji dokumentów XML. • Najczęściej stosowanymi elementami są: • apply-templates • call-template • choose / when / otherwise • copy | copy of • for-each • if • sort • stylesheet | transform • template • text • value-of • variable Pełną listę podstawowych elementów standardu XSLT można znaleźć pod adresem: http://www.w3schools.com/xsl/xsl_w3celementref.asp 19/26 Wykład 4: Transformacje XSL

  20. Podstawoweelementy pętla po wszystkich podelementach cd, elementu catalog sortowanie po elemencie artist pobranie wartości elementu 20/26 Wykład 4: Transformacje XSL

  21. Podstawoweelementy • Wynik: 21/26 Wykład 4: Transformacje XSL

  22. Podstawoweelementy • Element <if>: • Element <choose> / <when> / <otherwise>: 22/26 Wykład 4: Transformacje XSL

  23. Podstawoweelementy • Wynik: 23/26 Wykład 4: Transformacje XSL

  24. Podstawoweelementy • Element <text> wstawia określony tekst we wskazane miejsce Element <text> posiada atrybut disable-output-escaping, dzięki któremu możemy wstawiać znaki specjalnebez konieczności stosowania encji (!) 24/26 Wykład 4: Transformacje XSL

  25. Podstawoweelementy • Element <copy> | <copy-of> • -- standard XSLT umożliwia również kopiowanie całych elementów • (węzłów) • xsl:copy – oznacza kopiowanie aktualnego węzła (bez atrybutów!!) skopiowanie aktualnego elementuwraz z zawartością 25/26 Wykład 4: Transformacje XSL

  26. Podstawoweelementy • Element <copy> | <copy-of> • xsl:copy-of – oznacza kopiowanie określonego węzła Użycie xsl:copy-of powoduje skopiowanieatrybutów elementu (!) skopiowanie wybranego elementuwraz z zawartością 26/26 Wykład 4: Transformacje XSL

More Related