technologie
Download
Skip this Video
Download Presentation
Technologie

Loading in 2 Seconds...

play fullscreen
1 / 26

Technologie - PowerPoint PPT Presentation


  • 104 Views
  • Uploaded on

Łó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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Technologie' - kaelem


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

slide3

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

slide4

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

slide5

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

slide6

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

slide7

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

slide8

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

slide9

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

slide10

Podstawy

XSLT

Transformacja XSLT – Krok 1:Dokument XML

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

10/26

Wykład 4: Transformacje XSL

slide11

Podstawy

XSLT

Transformacja XSLT – Krok 2:Arkusz stylów XSL

To wygląda jak zwykłydokument HTML!

11/26

Wykład 4: Transformacje XSL

slide12

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

slide13

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

slide14

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

slide15

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

slide16

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

slide17

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

slide18

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

slide19

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

slide20

Podstawoweelementy

pętla po wszystkich podelementach cd, elementu catalog

sortowanie po elemencie artist

pobranie wartości elementu

20/26

Wykład 4: Transformacje XSL

slide21

Podstawoweelementy

  • Wynik:

21/26

Wykład 4: Transformacje XSL

slide22

Podstawoweelementy

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

22/26

Wykład 4: Transformacje XSL

slide23

Podstawoweelementy

  • Wynik:

23/26

Wykład 4: Transformacje XSL

slide24

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

slide25

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

slide26

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

ad