Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

XPath, XSLT, (and XSL:FO) Zaawansowane Aplikacje Internetowe Dawid Weiss.

Podobne prezentacje


Prezentacja na temat: "XPath, XSLT, (and XSL:FO) Zaawansowane Aplikacje Internetowe Dawid Weiss."— Zapis prezentacji:

1

2 XPath, XSLT, (and XSL:FO) Zaawansowane Aplikacje Internetowe Dawid Weiss

3 Wykład XPath – adresy do elementów XML Czemu służy XPath? Ścieżki (ang. access paths) Osie (ang. axes) Warunki (ang. node tests) Predykaty (ang. predicates) Wyrażenia (ang. expressions) XSLT – transformacje plików XML XSL:FO – prawdziwy raj dla smakoszy

4 Czemu służy XPath? Gdy XML zyskał popularność, powstały technologie pochodne, potrzebny był jednoznaczny opis adresu elementu w pliku XML XPath przypomina ścieżki w systemie plików, z paroma dodatkowymi elementami Może adresować więcej niż jeden element Posiada warunki Posiada wyrażenia

5 Xpath – XML jako drzewo XPath traktuje XML jako drzewo elementów Każdy z liści może być: tagiem, atrybutem, instrukcją sterującą, komentarzem, tekstem, elementem namespace Liście są ze sobą powiązane gałęziami, które nazywamy osiami

6 Przykład reprezentacji w postaci drzewa Saddam George Peter Spike Prospero's books Ghost Dog

7 Proste ścieżki dostępu Saddam George Peter Spike Prospero's books Ghost Dog /topics/politics/leaders/person /topics/movies/directors /topics/movies/movie/text()

8 Nazwy ścieżek dostępu (osi) Parent:: Child:: Ancestor:: Ancestor-or-self:: Descendant:: Descendant-or-self:: Preceding:: Preceding-sibling:: Following:: Following-sibling:: Self:: Attribute:: Namespace::

9 Ścieżki dostępu, c.d. Saddam George Peter Spike Prospero's books Ghost Dog //person/ancestor::leaders/person //leaders/person

10 Predykaty Predykaty umożliwiają funkcjonalne wyeliminowanie niektórych węzłów /path[predicate] Predykaty mogą zawierać funkcje i operatory Tylko węzły dla których predykat jest prawdziwy zostają włączone do wyniku

11 Operatory

12 Funkcje

13 Funkcje i predykaty w praktyce Saddam George Peter Spike Prospero's books Ghost Dog //person[position() = 1]

14 XPath – za i przeciw Czy łatwo się nauczyć XPath? Tak, choć czasem nie jest łatwo… Czy XPath jest użyteczny? Jak najbardziej, ma wiele zastosowań, ale głównie używany jest w XSLT =

15 XSLT XSLT = Extensible Stylesheet Language Transformations Regułowy język przetwarzania dokumentów XML w inne dokumenty XML (lub w dokumenty tekstowe) Język sam jest zapisany oczywiście w… XML! Używa języka XPath do adresowania elementów pliku źródłowego Podsumowując: XSLT jest językiem programowania

16 Prosty plik XSLT i reguły This template lists all persons: Person (id= ):

17 Przetwarzanie w XSLT Zawsze zaczyna się w tagu głównym (ang. root node) – '/' Pasujące reguły są dopasowywane i uruchamiane Zmienia się węzeł kontekstu (ang. context node) w zależności od odpalonych reguł Procedura jest powtarzana rekurencyjnie dla nowych węzłów kontekstowych

18 XSLT – przetwarzanie Saddam George Peter Spike Prospero's books Ghost Dog This template lists all persons: Person (id=):

19 Ale po co jest XSLT?! Aby zmienić strukturę pliku XML!

20 Dawid Computer Science Agriculture Krzysztof Spacecrafting Computer Science Boguś Hyperactive Forestry Dawid Krzysztof Dawid Krzysztof Boguś

21

22 Zad. domowe! Napisz arkusz XSLT, który wykona transformację odwrotną! Dawid Computer Science Agriculture Krzysztof Spacecrafting Computer Science Boguś Hyperactive Forestry Dawid Krzysztof Dawid Krzysztof Boguś

23 Tylko po to jest ten XSLT? XSLT jest również językiem zapytań do plików XML, podobnie jak SQL jest językiem zapytań do baz danych XQuery…. Dawid Krzysztof

24 Tylko po to jest ten XSLT? Język, który umożliwia konwersję z XML do HTML! Umożliwia skupienie się na treści strony, a nie jej wyglądzie

25 Example of XML – HTML conversion

26

27

28 float: right; margin-right: 0em; clear: both; display: inline; float: left; margin-left: 0em; clear: both; Download file

29 Za i przeciw XSLT XSLT jest bardzo wszechstronnym językiem Styl programowania deklaratywnego nie jest dla każdego… Łatwo osiągnąć separację treści od prezentacji (XML->HTML)! XSLT nie jest najszybszy… XSLT nie jest przystosowany do produkowania formatów binarnych (PDF)

30 XSL:FO – język opisu graficznego XSL:FO opisuje w postaci pliku XML graficzny rozkład elementów strony na pewnym nośniku (papier, WWW…) Procesory XSL:FO mogą produkować pliki PDF, PS i inne Apache FOP RenderX XEP XSL:FO jest dość skomplikowany, ale dzięki XSLT można osiągnąć separację treści od formatowania (format DocBook tak działa!)

31 Przykład pliku XSL:FO file Hello, world!

32 Dziękuję NA ZAJĘCIA PROSZĘ SIĘ PRZYGOTOWAĆ! ZADANIA DOMOWE MUSZĄ BYĆ ODROBIONE!


Pobierz ppt "XPath, XSLT, (and XSL:FO) Zaawansowane Aplikacje Internetowe Dawid Weiss."

Podobne prezentacje


Reklamy Google