Extensible Markup Language III



Podobne dokumenty
XML extensible Markup Language 3

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

Język XSLT. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Języki formatowania dokumentów strukturalnych. XSL przekształcenia XML-a. XSL a XSLT. XSL części składowe. Zasada działania przekształcenia XSLT

Rodzaje przetwarzania XSLT (1)

XML materiały dydaktyczne - Kurs Podstawowy XSL - wprowadzenie. XSL warstwa przekształcania (XSLT) oraz prezentacji informacji (XSL FO).

Kurs WWW Język XML, część II

Plan prezentacji. Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura

Wprowadzenie do XSLT

METAJĘZYKI. Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej

XSL, tj. XSLT i XSL-FO czyli jak przekształcać i ładnie wyświetlać XML-e. Kuba Pochrybniak

XML extensible Markup Language. część 8

Aplikacje internetowe laboratorium XML, DTD, XSL

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Przetwarzanie dokumentów XML za pomocą procesora XSLT (Zajęcia r.

XML extensible Markup Language. część 3

Prezentacja i transformacja

XML extensible Markup Language. część 6

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes)

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Osie (axes) Location paths

Przetwarzanie dokumentów XML za pomocą XSLT ( r.)

Służy do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML:

XML Path Language (XPath)

Wprowadzenie do standardu XSL

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 04

Przykładowy dokument XML

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią 2008/09. Instytut Informatyki UW

XML extensible Markup Language. część 4

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2007/08

XSLT. Patryk Czarnik. Instytut Informatyki UW. XML i nowoczesne technologie zarzadzania treścia 2007/08

Języki i Techniki Programowania II. Wykład 13. TRaX, Applety, Java Security

Języki programowania wysokiego poziomu. Forum

Prezentacja dokumentów XML

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2008/09. Instytut Informatyki UW. Patryk Czarnik 08 XSLT XML 2008/09 1 / 1

METAJĘZYKI. Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej

Języki programowania wysokiego poziomu. Blog

Prezentacja i transformacja

XML extensible Markup Language 7

1. Logowanie się do panelu Adminitracyjnego

Języki programowania wysokiego poziomu. Ćwiczenia

Dlaczego Python jest lepszy od XSLT?

XML & XSLT. Programowanie w Javie 2

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2011/12. Instytut Informatyki UW. Patryk Czarnik 08 XSLT XML 2011/12 1 / 54

Przykładowy dokument XML

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią 2011/12

Model semistrukturalny

<meta:wartosc> </meta:identyfikator> <meta:rodzajrelacji>maczesc</meta:rodzajrelacji>

Szczegółowy program kursów szkoły programowania Halpress

XML i nowoczesne metody zarządzania treścią

Spis treści. Przedmowa

Tworzenie prezentacji w MS PowerPoint

Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie. Zofia Kruczkiewicz

XML i nowoczesne technologie zarządzania treścią

λ parametry. wartość funkcji suma = λ x y. x + y kwadrat = λ x. x * x K.M. Ocetkiewicz, 2008 WETI, PG 2 K.M. Ocetkiewicz, 2008 WETI, PG 3

Skanowanie OCR w aplikacji Kancelaria Komornika. Instrukcja dla użytkownika

Wprowadzenie do standardu XSL

XQuery. sobota, 17 grudnia 11

Technologie internetowe

Prezentacja dokumentów XML

KONCEPCJA ALGORYTMU SPRAWDZANIA KOMPLETNOŚCI DANYCH W PROCESIE ICH WYMIANY MIĘDZY SYSTEMAMI INFORMATYCZNYMI PRZEDSIĘBIORSTW PRODUKCYJNYCH

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Rok akademicki: 2013/2014 Kod: ZZIP IN-s Punkty ECTS: 2. Kierunek: Zarządzanie i Inżynieria Produkcji Specjalność: Informatyka w zarządzaniu

Microsoft Office 2016 Krok po kroku

Rozwój technologii, w tym także informatycznych,

Kancelaria 2.20 zmiany w programie grudzień 2011

Dziedziczenie. Dziedziczenie i kaskadowość. Dodał Administrator środa, 10 marzec :00. Tematy: Dziedziczenie Kaskadowość

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

Algorytmy sortujące i wyszukujące

Rodzaje przetwarzania XSLT (1) XSLT część 2. Inne standardy związane z XML-em. Rodzaje przetwarzania XSLT (2) Zmienne. Zaawansowane możliwości XSLT

Prezentacja dokumentów XML

Wymagania edukacyjne z informatyki w klasie VIII

OpenOffice.org Writer

Literatura. Głównie informacje w sieci:

Prezentacja dokumentów XML

XML i jego zastosowania

Egzamin z przedmiotu Projektowanie języków XML imię i nazwisko. Zadanie Suma Punkty Max Punkty

Informacja podatku łączny styl

Wprowadzenie do programowania

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

CSS. Kaskadowe Arkusze Stylów

Nowe funkcje w programie Symfonia Faktura w wersji

Stwórz dokument XML zawierający poniższe informacje. Wykorzystaj atrybuty.

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

KARTA KURSU. Przetwarzanie dokumentów XML i zaawansowane techniki WWW

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Wprowadzenie do technologii XML

Informatyka kl. 1. Semestr I

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

Aplikacje internetowe. Interfejs użytkownika

Każde menu jest połączone z modułem, którym zarządza się w menedżerze modułów. Cztery dostępne menu widać na pasku Menu (rysunek 4.38).

Legislator. Opis zmian w wersji SP 39. Spis treści

Nowe funkcje w programie Symfonia Handel w wersji

Kazienko P.: Rodzina języków XML. Software nr 6 (90) czerwiec 2002, s Rodzina języków XML. Przemysław Kazienko

Słowem wstępu. Standard: W3C XPath razem XSLT 1.0. XPath razem z XQuery 1.0 i XSLT 2.0. XPath trwają prace nad XPath 3.

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH

tematyka zajęć - pracuje z powłoką graficzną systemu operacyjnego - wykonuje operacje na plikach i katalogach w praca w systemie operacyjnym

Transkrypt:

KIiMK 2010

Plan XSLT-transformacje dokumentów 1 XSLT-transformacjedokumentów Informacje o XSLT Przykład transformacji 2 3

Informacje o XSLT Przykład transformacji

Informacje o XSLT Przykład transformacji Najprostszym sposobem wyświetlania dokumentu jest użycie CSS

Informacje o XSLT Przykład transformacji Najprostszym sposobem wyświetlania dokumentu jest użycie CSS Nie ma więc tu mowy o wybieraniu poszczególnych danych, czy choćby o wyświetlaniu wartości atrybutów

Informacje o XSLT Przykład transformacji Najprostszym sposobem wyświetlania dokumentu jest użycie CSS Nie ma więc tu mowy o wybieraniu poszczególnych danych, czy choćby o wyświetlaniu wartości atrybutów Dokument XML z założenia nie zawiera informacji dotyczących sposobu prezentacji danych ale można go uzupełnić o takie informacje za pomocą standardu XSL.

Informacje o XSLT Przykład transformacji Najprostszym sposobem wyświetlania dokumentu jest użycie CSS Nie ma więc tu mowy o wybieraniu poszczególnych danych, czy choćby o wyświetlaniu wartości atrybutów Dokument XML z założenia nie zawiera informacji dotyczących sposobu prezentacji danych ale można go uzupełnić o takie informacje za pomocą standardu XSL. XSL = extensible Stylesheet Language(specyfikacja W3C r.1999, rekomendacja r.2001)

Informacje o XSLT Przykład transformacji Najprostszym sposobem wyświetlania dokumentu jest użycie CSS Nie ma więc tu mowy o wybieraniu poszczególnych danych, czy choćby o wyświetlaniu wartości atrybutów Dokument XML z założenia nie zawiera informacji dotyczących sposobu prezentacji danych ale można go uzupełnić o takie informacje za pomocą standardu XSL. XSL = extensible Stylesheet Language(specyfikacja W3C r.1999, rekomendacja r.2001) XSL FO(Formating Objects)

Informacje o XSLT Przykład transformacji Najprostszym sposobem wyświetlania dokumentu jest użycie CSS Nie ma więc tu mowy o wybieraniu poszczególnych danych, czy choćby o wyświetlaniu wartości atrybutów Dokument XML z założenia nie zawiera informacji dotyczących sposobu prezentacji danych ale można go uzupełnić o takie informacje za pomocą standardu XSL. XSL = extensible Stylesheet Language(specyfikacja W3C r.1999, rekomendacja r.2001) XSL FO(Formating Objects) XSLT(XSL Transformations)

Informacje o XSLT Przykład transformacji Działanie procesora XSLT powoduje powstanie dokumentu wynikowego, którym może być: Zmieniony wejściowy dokument XML(zmienione drzewo dokumentu)

Informacje o XSLT Przykład transformacji Działanie procesora XSLT powoduje powstanie dokumentu wynikowego, którym może być: Zmieniony wejściowy dokument XML(zmienione drzewo dokumentu) Nowy arkusz XSLT, który może być stosowany do przetwarzania kolejnych dokumentów

Informacje o XSLT Przykład transformacji Działanie procesora XSLT powoduje powstanie dokumentu wynikowego, którym może być: Zmieniony wejściowy dokument XML(zmienione drzewo dokumentu) Nowy arkusz XSLT, który może być stosowany do przetwarzania kolejnych dokumentów Dokument zawierający otrzymane z dokumentu XML dane oraz sposób ich prezentacji

Transformacje XSLT-cechy Informacje o XSLT Przykład transformacji

Transformacje XSLT-cechy Informacje o XSLT Przykład transformacji XSLT jest językiem deklaratywnym zapisany w nim arkusz określa budowę dokumentu wynikowego a nie sposób w jaki ma powstać

Transformacje XSLT-cechy Informacje o XSLT Przykład transformacji XSLT jest językiem deklaratywnym zapisany w nim arkusz określa budowę dokumentu wynikowego a nie sposób w jaki ma powstać Przekształcanie odbywa się poprzez dopasowywanie zdefiniowanych wzorców(templates) do elementów w dokumencie XML

Transformacje XSLT-cechy Informacje o XSLT Przykład transformacji XSLT jest językiem deklaratywnym zapisany w nim arkusz określa budowę dokumentu wynikowego a nie sposób w jaki ma powstać Przekształcanie odbywa się poprzez dopasowywanie zdefiniowanych wzorców(templates) do elementów w dokumencie XML W wyniku dopasowania wzorców tworzony jest nowy dokument XML

Co potrafi XSL? XSLT-transformacje dokumentów Informacje o XSLT Przykład transformacji

Co potrafi XSL? XSLT-transformacje dokumentów Informacje o XSLT Przykład transformacji dodanie prefixów i suffixów do przetwaranego tekstu

Co potrafi XSL? XSLT-transformacje dokumentów Informacje o XSLT Przykład transformacji dodanie prefixów i suffixów do przetwaranego tekstu usuwanie, tworzenie, sortowanie elementów

Co potrafi XSL? XSLT-transformacje dokumentów Informacje o XSLT Przykład transformacji dodanie prefixów i suffixów do przetwaranego tekstu usuwanie, tworzenie, sortowanie elementów kopiowanie elementów w inne miejsce

Co potrafi XSL? XSLT-transformacje dokumentów Informacje o XSLT Przykład transformacji dodanie prefixów i suffixów do przetwaranego tekstu usuwanie, tworzenie, sortowanie elementów kopiowanie elementów w inne miejsce numerownaie, sumowanie

Co potrafi XSL? XSLT-transformacje dokumentów Informacje o XSLT Przykład transformacji dodanie prefixów i suffixów do przetwaranego tekstu usuwanie, tworzenie, sortowanie elementów kopiowanie elementów w inne miejsce numerownaie, sumowanie przetwarzanie łańcuchów znaków

Co potrafi XSL? XSLT-transformacje dokumentów Informacje o XSLT Przykład transformacji dodanie prefixów i suffixów do przetwaranego tekstu usuwanie, tworzenie, sortowanie elementów kopiowanie elementów w inne miejsce numerownaie, sumowanie przetwarzanie łańcuchów znaków wyszukiwanie struktur i węzłów

przykład: linie tramwajowe Informacje o XSLT Przykład transformacji <rozklad> <linia> <nr>3</nr> <poczatek>dworzec Towarowy</poczatek> <koniec>prokocim</koniec> </linia> <linia> <nr>9</nr> <poczatek>nowa Huta</poczatek> <koniec>prokocim</koniec> </linia> </rozklad>

Element <xsl:template> Informacje o XSLT Przykład transformacji

Element <xsl:template> Informacje o XSLT Przykład transformacji Działanie transformacji polega na dopasowywaniu szablonów do węzłów i wykonaniu zawartych w nich instrukcji.

Element <xsl:template> Informacje o XSLT Przykład transformacji Działanie transformacji polega na dopasowywaniu szablonów do węzłów i wykonaniu zawartych w nich instrukcji. Proces ten jest powtarzany tak długo jak to możliwe, czyli aż wszystkie wzorce zawarte w dokumencie XSLT zostaną dopasowane

Element <xsl:template> Informacje o XSLT Przykład transformacji Działanie transformacji polega na dopasowywaniu szablonów do węzłów i wykonaniu zawartych w nich instrukcji. Proces ten jest powtarzany tak długo jak to możliwe, czyli aż wszystkie wzorce zawarte w dokumencie XSLT zostaną dopasowane Element <xsl:template> pozwala zdefiniować szablon, do którego będzie dopasowywana zawartość wejściowego dokumentu XML.

Element <xsl:template> Informacje o XSLT Przykład transformacji Działanie transformacji polega na dopasowywaniu szablonów do węzłów i wykonaniu zawartych w nich instrukcji. Proces ten jest powtarzany tak długo jak to możliwe, czyli aż wszystkie wzorce zawarte w dokumencie XSLT zostaną dopasowane Element <xsl:template> pozwala zdefiniować szablon, do którego będzie dopasowywana zawartość wejściowego dokumentu XML. Atrybut match pozwala sprecyzować do jakiego elementu XML dany szablon ma być dopasowywany.

Element <xsl:template> Informacje o XSLT Przykład transformacji Działanie transformacji polega na dopasowywaniu szablonów do węzłów i wykonaniu zawartych w nich instrukcji. Proces ten jest powtarzany tak długo jak to możliwe, czyli aż wszystkie wzorce zawarte w dokumencie XSLT zostaną dopasowane Element <xsl:template> pozwala zdefiniować szablon, do którego będzie dopasowywana zawartość wejściowego dokumentu XML. Atrybut match pozwala sprecyzować do jakiego elementu XML dany szablon ma być dopasowywany. <xsl:templatematch="...">... </xsl:template>

Element <xsl:apply-templates> Informacje o XSLT Przykład transformacji

Element <xsl:apply-templates> Informacje o XSLT Przykład transformacji Element <xsl:apply-templates> pozwala zastosować określony szablon do elementu obecnie przetwarzanego lub do jego elementów podrzednych.

Element <xsl:apply-templates> Informacje o XSLT Przykład transformacji Element <xsl:apply-templates> pozwala zastosować określony szablon do elementu obecnie przetwarzanego lub do jego elementów podrzednych. Dodając atrybut select możemy ograniczyć elementy dopasowywane tylko do tych, które pasują do wartości tego atrybutu.

Element <xsl:apply-templates> Informacje o XSLT Przykład transformacji Element <xsl:apply-templates> pozwala zastosować określony szablon do elementu obecnie przetwarzanego lub do jego elementów podrzednych. Dodając atrybut select możemy ograniczyć elementy dopasowywane tylko do tych, które pasują do wartości tego atrybutu. Ponadto wartość tego atrybutu może określać porządek w jakim będa przetwarzane węzły podrzędne.

Element <xsl:apply-templates> Informacje o XSLT Przykład transformacji Element <xsl:apply-templates> pozwala zastosować określony szablon do elementu obecnie przetwarzanego lub do jego elementów podrzednych. Dodając atrybut select możemy ograniczyć elementy dopasowywane tylko do tych, które pasują do wartości tego atrybutu. Ponadto wartość tego atrybutu może określać porządek w jakim będa przetwarzane węzły podrzędne. <xsl:template match="rozklad"> <html><head><title>rozkład jazdy</title></head><body> <ul> <xsl:apply-templates/> </ul> </body> </html> </xsl:template> </xsl:template>

Element <xsl:value-of> Informacje o XSLT Przykład transformacji

Element <xsl:value-of> Informacje o XSLT Przykład transformacji Element <xsl:value-of> umożliwia pobranie danych z elementu XML znajdującego się w pliku wejściowym i przekazanie go do strumienia wyjściowego.

Element <xsl:value-of> Informacje o XSLT Przykład transformacji Element <xsl:value-of> umożliwia pobranie danych z elementu XML znajdującego się w pliku wejściowym i przekazanie go do strumienia wyjściowego. Atrybut select jest wyrażeniem XPath, które określa jakie dane mają zostać pobrane.

Element <xsl:value-of> Informacje o XSLT Przykład transformacji Element <xsl:value-of> umożliwia pobranie danych z elementu XML znajdującego się w pliku wejściowym i przekazanie go do strumienia wyjściowego. Atrybut select jest wyrażeniem XPath, które określa jakie dane mają zostać pobrane. <xsl:template match="linia"> <li> linia nr. <xsl:value-of select="numer"/>: <xsl:value-of select="poczatek"/>-> <xsl:value-of sel </li> </xsl:template>

przykład- lista książek <biblioteka> <book> <info> <tytul>solaris</tytul> <dzial> fantastyka</dzial> <sygnatura> L-001 </sygnatura> <autor>stanisław Lem</autor> </info> <spis> <r>rozdział 1</r> <r>rozdział 2</r> <r>rozdział 3</r> </spis> </book>... </biblioteka>

wybór elementu autor

wybór elementu autor element <autor> jest w hierarchi węzłów w punkcie <biblioteka> <book> <info> <dzial> fantastyka</dzial> <sygnatura> L-001 </sygnatura> <autor>stanisław Lem</autor>

wybór elementu autor element <autor> jest w hierarchi węzłów w punkcie <biblioteka> <book> <info> <dzial> fantastyka</dzial> <sygnatura> L-001 </sygnatura> <autor>stanisław Lem</autor> Trzeba dojść do elementu <info> zeby wyświetlić elementy podrzędne( dzieci )

wybór elementu autor

wybór elementu autor przekształcamy rekurencyjnie korzeń dokumentu <xsl:template match="biblioteka"> <html><body> <xsl:apply-templates/> </body></html> </xsl:template>

wybór elementu autor przekształcamy rekurencyjnie korzeń dokumentu <xsl:template match="biblioteka"> <html><body> <xsl:apply-templates/> </body></html> </xsl:template> definiujemy regułę dla elementu <autor>: <xsl:template match="info"> <h1><xsl:value-of select="autor"/></h1> </xsl:template>

wybór elementu autor przekształcamy rekurencyjnie korzeń dokumentu <xsl:template match="biblioteka"> <html><body> <xsl:apply-templates/> </body></html> </xsl:template> definiujemy regułę dla elementu <autor>: <xsl:template match="info"> <h1><xsl:value-of select="autor"/></h1> </xsl:template> niestety... rekurencja przetwarza wszystkie węzły, a dla elementu o niezdefiniowanej regule wyświetlana jest jego wartość

wybór elementu autor przekształcamy rekurencyjnie korzeń dokumentu <xsl:template match="biblioteka"> <html><body> <xsl:apply-templates/> </body></html> </xsl:template> definiujemy regułę dla elementu <autor>: <xsl:template match="info"> <h1><xsl:value-of select="autor"/></h1> </xsl:template> niestety... rekurencja przetwarza wszystkie węzły, a dla elementu o niezdefiniowanej regule wyświetlana jest jego wartość przykład raczej kiepski: przykład 1

wybór elementu autor

wybór elementu autor rozwiązanie: należy zablokować przetwarzanie innych elementów ( w tym przypadku wystarczy blokada <spis> <xsl:template match="spis"/> <!--wylaczenie przetwarzania elementu-->

wybór elementu autor rozwiązanie: należy zablokować przetwarzanie innych elementów ( w tym przypadku wystarczy blokada <spis> <xsl:template match="spis"/> <!--wylaczenie przetwarzania elementu--> przykład lepszy: przykład 2

wybór elementu autor rozwiązanie: należy zablokować przetwarzanie innych elementów ( w tym przypadku wystarczy blokada <spis> <xsl:template match="spis"/> <!--wylaczenie przetwarzania elementu--> przykład lepszy: przykład 2 czasem to jednak bardzo niewygodny sposób, może się zdażyć, że trzeba blokować dużo elementów.

wybór elementu autor

wybór elementu autor można wykorzystać fakt, że element <xsl:apply-templates/> może mieć atrybut select:

wybór elementu autor można wykorzystać fakt, że element <xsl:apply-templates/> może mieć atrybut select: <xsl:apply-templates select="nazwa_elementu"/>

wybór elementu autor można wykorzystać fakt, że element <xsl:apply-templates/> może mieć atrybut select: <xsl:apply-templates select="nazwa_elementu"/> wystarczy podczas przetwarzania <xsl:template match="biblioteka"> <html> <body> <xsl:apply-templates select="book/info/autor"/> </body> </html> </xsl:template>

wybór elementu autor można wykorzystać fakt, że element <xsl:apply-templates/> może mieć atrybut select: <xsl:apply-templates select="nazwa_elementu"/> wystarczy podczas przetwarzania <xsl:template match="biblioteka"> <html> <body> <xsl:apply-templates select="book/info/autor"/> </body> </html> </xsl:template> przykład jeszcze lepszy bo krótszy: przykład 3

wybór elementu autor

wybór elementu autor jeśli chcemy, żeby każdy element był traktowany oddzielnie: <xsl:template match="biblioteka"> <html> <body> <xsl:apply-templates select="book/info/autor"/> </body> </html> </xsl:template> <xsl:template match="autor"> <h1> <xsl:value-of select="."/></h1> </xsl:template>

wybór elementu autor jeśli chcemy, żeby każdy element był traktowany oddzielnie: <xsl:template match="biblioteka"> <html> <body> <xsl:apply-templates select="book/info/autor"/> </body> </html> </xsl:template> <xsl:template match="autor"> <h1> <xsl:value-of select="."/></h1> </xsl:template> przykład z wyborem elementow: przykład 4

wybór elementu nadrzędnego( rodzica )

wybór elementu nadrzędnego( rodzica ) z taką sytuacją mamy do czynienia, gdy chcemy zrobić np zestawienie tytułów rozdziałów i obok każdego dopisać tytuł książki <xsl:template match="biblioteka"> <html> <body> <xsl:apply-templates select="book/spis/r"/> </body> </html> </xsl:template> <xsl:template match="r"> <h1> <xsl:value-of select="."/> <xsl:text> </xsl:text> <xsl:value-ofselect="../../info/tytul"/> </h1> </xsl:template>

wybór elementu nadrzędnego( rodzica ) przykład z wyborem elementow: przykład 5 z taką sytuacją mamy do czynienia, gdy chcemy zrobić np zestawienie tytułów rozdziałów i obok każdego dopisać tytuł książki <xsl:template match="biblioteka"> <html> <body> <xsl:apply-templates select="book/spis/r"/> </body> </html> </xsl:template> <xsl:template match="r"> <h1> <xsl:value-of select="."/> <xsl:text> </xsl:text> <xsl:value-ofselect="../../info/tytul"/> </h1> </xsl:template>

wybór elementu autor

wybór elementu autor istnieje możliwość iteracyjnego przetwarzania elementów w poniższym przykładzie rezygnujemy w całości z rekurencji

wybór elementu autor istnieje możliwość iteracyjnego przetwarzania elementów w poniższym przykładzie rezygnujemy w całości z rekurencji <xsl:template match="biblioteka"> <html><body> <xsl:for-each select="book/info"> <h1> <xsl:value-of select="autor"/></h1> </xsl:for-each> </body></html> </xsl:template>

wybór elementu autor istnieje możliwość iteracyjnego przetwarzania elementów w poniższym przykładzie rezygnujemy w całości z rekurencji <xsl:template match="biblioteka"> <html><body> <xsl:for-each select="book/info"> <h1> <xsl:value-of select="autor"/></h1> </xsl:for-each> </body></html> </xsl:template> przykład z iteracyjnym wyborem elementow: przykład 6

sortowanie wg elementu

sortowanie wg elementu istnieje możliwość sortowania podczas iteracji:

sortowanie wg elementu istnieje możliwość sortowania podczas iteracji: <xsl:sort select="nazwa_elementu"/> w poniższym przykładzie sortowanie wg tytyłów:

sortowanie wg elementu istnieje możliwość sortowania podczas iteracji: <xsl:sort select="nazwa_elementu"/> w poniższym przykładzie sortowanie wg tytyłów: <xsl:for-each select="book/info"> <xsl:sort select="autor"/> <h1> <xsl:value-of select="autor"/></h1> <h2> <xsl:value-of select="tytul"/></h2> </xsl:for-each>

sortowanie wg elementu istnieje możliwość sortowania podczas iteracji: <xsl:sort select="nazwa_elementu"/> w poniższym przykładzie sortowanie wg tytyłów: <xsl:for-each select="book/info"> <xsl:sort select="autor"/> <h1> <xsl:value-of select="autor"/></h1> <h2> <xsl:value-of select="tytul"/></h2> </xsl:for-each> można wykorzystać konstrukcję: <xsl:sort order="descending" data-type="number" select="p

sortowanie wg elementu istnieje możliwość sortowania podczas iteracji: <xsl:sort select="nazwa_elementu"/> w poniższym przykładzie sortowanie wg tytyłów: <xsl:for-each select="book/info"> <xsl:sort select="autor"/> <h1> <xsl:value-of select="autor"/></h1> <h2> <xsl:value-of select="tytul"/></h2> </xsl:for-each> można wykorzystać konstrukcję: <xsl:sort order="descending" data-type="number" select="p przykład z wykorzystaniem sortowania: przykład 7

wybieranie wg wartości elementu

wybieranie wg wartości elementu istnieje możliwość wyboru podczas iteracji:

wybieranie wg wartości elementu istnieje możliwość wyboru podczas iteracji: <xsl:if test="warunek_logiczny"/> w poniższym przykładzie wybranie autora Stanisław Lem :

wybieranie wg wartości elementu istnieje możliwość wyboru podczas iteracji: <xsl:if test="warunek_logiczny"/> w poniższym przykładzie wybranie autora Stanisław Lem : <xsl:for-each select="book/info"> <xsl:if test="autor= Stanisław Lem "> <h1> <xsl:value-of select="autor"/></h1> <h2> <xsl:value-of select="tytul"/></h2> </xsl:if> </xsl:for-each>

wybieranie wg wartości elementu istnieje możliwość wyboru podczas iteracji: <xsl:if test="warunek_logiczny"/> w poniższym przykładzie wybranie autora Stanisław Lem : <xsl:for-each select="book/info"> <xsl:if test="autor= Stanisław Lem "> <h1> <xsl:value-of select="autor"/></h1> <h2> <xsl:value-of select="tytul"/></h2> </xsl:if> </xsl:for-each> pytania dotyczące liczb zadajemy wykorzystując relacje w postaci encji: > >lub<< np <xsl:if test="cena> 10">

wybieranie wg wartości elementu istnieje możliwość wyboru podczas iteracji: <xsl:if test="warunek_logiczny"/> w poniższym przykładzie wybranie autora Stanisław Lem : <xsl:for-each select="book/info"> <xsl:if test="autor= Stanisław Lem "> <h1> <xsl:value-of select="autor"/></h1> <h2> <xsl:value-of select="tytul"/></h2> </xsl:if> </xsl:for-each> pytania dotyczące liczb zadajemy wykorzystując relacje w postaci encji: > >lub<< np <xsl:if test="cena> 10"> przykład z wykorzystaniem wyboru: przykład 8

konstrukcja typu if... then...else

konstrukcja typu if... then...else <xsl:for-each select="book/info"> <xsl:choose> <xsl:when test="autor= Stanisław Lem "> <h1 style="color:red;"> <xsl:value-of select="autor"/> </h1> </xsl:when> <xsl:otherwise> <h1 style="color:green;"> <xsl:value-of select="autor"/> </h1> </xsl:otherwise> </xsl:choose> </xsl:for-each>

konstrukcja typu if... then...else <xsl:for-each select="book/info"> <xsl:choose> <xsl:when test="autor= Stanisław Lem "> <h1 style="color:red;"> <xsl:value-of select="autor"/> </h1> </xsl:when> <xsl:otherwise> <h1 style="color:green;"> <xsl:value-of select="autor"/> </h1> </xsl:otherwise> </xsl:choose> </xsl:for-each> przykład: przykład 9