Technologie
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

Technologie PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Technologie

Łódź, 22 października 2012 roku

Technologie

mgr inż. Tomasz Węglińskiemail: [email protected]: http://www.tweglinski.pl


Wyk ad 5

WYKŁAD 5

Transformacje XSL

2/26


Technologie

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


Technologie

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


Technologie

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


Technologie

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


Technologie

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


Technologie

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


Technologie

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


Technologie

Podstawy

XSLT

Transformacja XSLT – Krok 1:Dokument XML

Jak zaprezentować dane XML w bardziej przyjazny sposób?

10/26

Wykład 4: Transformacje XSL


Technologie

Podstawy

XSLT

Transformacja XSLT – Krok 2:Arkusz stylów XSL

To wygląda jak zwykłydokument HTML!

11/26

Wykład 4: Transformacje XSL


Technologie

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


Technologie

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


Technologie

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 [email protected])

  • 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


Technologie

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


Technologie

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


Technologie

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


Technologie

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


Technologie

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


Technologie

Podstawoweelementy

pętla po wszystkich podelementach cd, elementu catalog

sortowanie po elemencie artist

pobranie wartości elementu

20/26

Wykład 4: Transformacje XSL


Technologie

Podstawoweelementy

  • Wynik:

21/26

Wykład 4: Transformacje XSL


Technologie

Podstawoweelementy

  • Element <if>:

  • Element <choose> / <when> / <otherwise>:

22/26

Wykład 4: Transformacje XSL


Technologie

Podstawoweelementy

  • Wynik:

23/26

Wykład 4: Transformacje XSL


Technologie

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


Technologie

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


Technologie

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


  • Login