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

Podobne dokumenty
Extensible Markup Language III

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

XML extensible Markup Language 3

XML Path Language (XPath)

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

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

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

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

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

Wprowadzenie do XSLT

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

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.

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

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

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

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

Prezentacja dokumentów XML

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

Przykładowy dokument XML

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

Język R : kompletny zestaw narzędzi dla analityków danych / Hadley Wickham, Garrett Grolemund. Gliwice, cop Spis treści

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

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

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

5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów

Rodzaje przetwarzania XSLT (1)

XML extensible Markup Language 7

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

Prezentacja i transformacja

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

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

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

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation

Systemy operacyjne. Laboratorium 8. Perl find

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

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

XML i nowoczesne technologie zarządzania treścią

Bazy danych Access KWERENDY

XML i nowoczesne technologie zarządzania treścią 2007/08

Szablony klas, zastosowanie szablonów w programach

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

XQuery. sobota, 17 grudnia 11

PHP: bloki kodu, tablice, obiekty i formularze

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

Logika funkcji. Modelowanie SI - GHJ 1

Programowanie w języku Python. Grażyna Koba

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

zaprasza Państwa na szkolenie MS Excel -poziom średnio zaawansowany zgodne z: Intermediate Microsoft Excel 2016 (zgodne z MS 55166A)

Języki skryptowe w programie Plans

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Bash - wprowadzenie. Bash - wprowadzenie 1/39

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

ECDL Advanced Moduł AM4 Arkusze kalkulacyjne Syllabus, wersja 2.0

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

XML extensible Markup Language. część 6

Cechy języka XQUERY. o na wejściu dokument lub fragment względnie kolekcja dokumentów lub fragmentów o na wyjściu dokument lub fragment.

6. Formularze tabelaryczne, obiekty nawigacji - rozgałęzienia

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Informatyka II. Laboratorium Aplikacja okienkowa

Elektroniczna wymiana danych (EDI) jest to: - wymiana informacji pomiędzy komputerami, z użyciem powszechnie akceptowanych standardów

Bazy danych. dr inż. Arkadiusz Mirakowski

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Każdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

XML extensible Markup Language. część 3

QUERY język zapytań do tworzenia raportów w AS/400

Aplikacje internetowe laboratorium XML, DTD, XSL

KURSY PROGRAMOWANIA DLA DZIECI

Spis treści. Przedmowa

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

MS Excel od podstaw do analiz biznesowych

Część XV C++ Ćwiczenie 1

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

4. Budowa prostych formularzy, stany sesji, tworzenie przycisków

Umieszczanie kodu. kod skryptu

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Spis treści 3. Spis treści

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

29. Poprawność składniowa i strukturalna dokumentu XML

Wstęp. Jak programować w DNA? Idea oraz przykład. Problem FSAT charakterystyka i rozwiązanie za pomocą DNA. Jak w ogólności rozwiązywać problemy

KURSY PROGRAMOWANIA DLA DZIECI

XML extensible Markup Language. część 8

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Porządek symetryczny: right(x)

MS Excel od podstaw do analiz biznesowych

Wprowadzenie do technologii XML

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

MODUŁ AM4: ARKUSZE KALKULACYJNE

E.14.1 Tworzenie stron internetowych / Krzysztof T. Czarkowski, Ilona Nowosad. Warszawa, Spis treści

Transkrypt:

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

Problem Zakładane przez XML usunięcie danych dotyczących prezentacji pociąga za sobą konieczność opracowania metody wizualizacji i przetwarzania takich dokumentów. W celu realizacji niezbędnych przekształceń powstał język XSL (extensible Stylesheet Language). W ramach tego standardu powstały specyfikacje: XSLT (XSL Transformations); XSL FO (XSL Formating Objects);

Charakterystyka XSLT określany jako deklaratywny język oparty na regułach przekształceń Transformuje jedne dokumenty XML w inne np. zwykły XML w XHTML. Najczęściej mówi się, że XSLT przekształca drzewo źródłowe w drzewo wynikowe. Używa XPath do nawigacji po drzewie XML

XPath - krótkie przypomnienie / Wybiera korzeń dokumentu - ścieżka bezwględna // Wybiera węzeł w dokumencie, nieważne gdzie się znajduje wartość atrybutu można pobrać z użyciem @. wartość bieżącego węzła.. wartość węzła nadrzędnego w nawiasach kwadratowych podaje się predykaty wyszukiwania

XPath - przykład //dzial[@id ='234']/pracownik[1]/text()

Możliwości XSLT Instrukcje sterujące Sortowanie i grupowanie Tworzenie wyniku Zmienne i parametry Szablony nazwane i funkcje Serializacja danych

Preambuła Każdy dokument XSLT jest poprawnym dokumentem XML Zaczyna się od nagłówka i dołączenia przestrzeni nazw

Użycie XSLT Aby dołączyć transformację XSLT należy w nagłówku docelowego dokumentu XML dodać:

Struktura arkusza transformacji Arkusz (stylesheet) składa się z szablonów. Szablon (template) mówi jak przekształcać węzeł dokumentu wejściowego na fragment dokumentu wynikowego Wnętrze szablonu konstruktor sekwencji: tekst i elementy spoza przestrzeni nazw XSLT przepisywane do wyniku, instrukcje XSLT sterowanie przetwarzaniem, dodatkowe operacje, wyrażenia XPath dostęp do dokumentu źródłowego, sprawdzanie warunków, arytmetyka itp.

Idea działania Jako pierwszy uruchamiany szablon dla korzenia dokumentu / Taki szablon istnieje, nawet gdy nie jest jawnie zdefiniowany w arkuszu Instrukcje apply-templates wewnątrz szablonu powodują przejście po drzewie dokumentu źródłowego i uruchamianie szablonów dla kolejnych pasujących węzłów w obrębie kontekstu bieżącego szablonu Szablony dopasowywane do węzłów w zależności od rodzaju węzła, nazwy elementu, położenia w drzewie dokumentu i innych warunków Bez znajomości XPath za dużo w XSLT się nie pobawimy ;)

Struktura arkusza

Dopasowywanie szablonów Atrybut match do jakich węzłów pasuje szablon Wywołanie apply-templates powoduje uruchomienie pasujących do nich szablonów Opcjonalny atrybut select dla jakich węzłów (domyślnie dla dzieci)

Dopasowanie szablonu

Dopasowanie szablonu

Wybór szablonu Wzorce XPath zawarte w atrybutach match szablonów. Węzeł musi pasować do wzorca. Spośród wielu pasujących wybierany jest ten o najściślej podanym wyrażeniu w atrybucie match (istnieje formalny algorytm w rekomendacji). Możliwość ręcznego podania atrybutu priority. Konflikt błąd lub wybierany późniejszy szablon

Tryby przetwarzania

Parametry szablonów

Pętle Przechodzenie po wszystkich węzłach wyliczonych przez wyrażenie XPath w atrybucie select

Instrukcje warunkowe - if Sprawdzenie warunku logicznego zdefiniowanego w atrybucie test Jeśli prawdziwy -> obliczenie i wstawienie wyniku. Nie ma instrukcji else

Instrukcje warunkowe - choose Wybory (when/test) wyliczane są po kolei. Wybierana jest jedna gałąź pierwsza spełniająca warunek. Opcjonalna fraza otherwise.

Sortowanie wyników Instrukcji sort można użyć w wywołniaach foreach, for-each-group i apply-templates Przyjmuje atrybuty select, data-type, order Można wywołać kilka razy

Grupowanie wyników źródło danych jest zdefiniowane w atrybucie select klucz grupowania: group-by group-adjacent group-starting-with group-ending-with funkcja current-group() zwraca całą aktualną grupę funkcja current-grouping-key() zwraca bieżącą wartość klucza

Grupowanie wyników

Zmienne

Zmienne (2) Zmienne są deklaratywne Brak instrukcji przypisania Lokalny zakres odwołań

Zmienne (3)

Budowanie wyników Elementy spoza przestrzeni nazw XSLT traktowane są dosłownie -> następuje przepisanie do dokumentu wynikowego

Budowanie wyników - podejście programowe

Budowanie wyników - podejście programowe Wstawienie instrukcji przetwarzania lub komentarza

Warunkowe wstawianie tekstu

Warunkowe wstawianie atrybutu

HOWTO Do wyniku chcemy wstawić wyniki pewnego wyrażenia XPath do wyboru mamy value-of, apply-templates, copy-of co robić? jak żyć?

value-of Wypisuje wartość znajdującą się pod podaną ścieżką Xpath Wartość prosta (liczba, data, napis). Pojedynczy węzeł tekstowy lub atrybut, którego na pewno nie chcemy przetwarzać. Nieintuicyjne działanie w XSLT 1.0 oraz niezgodności miedzy 1.0 a 2.0.

Instrukcja value-of Różnice między XSLT 1.0 i 2.0

apply-templates Węzły z dokumenty źródłowego do przetworzenie własnymi szablonami nawet jeśli chcemy po prostu wpisać do wyniku tekst, dzięki szablonom wbudowanym domyślnie spłaszcza strukturę i wpisuje do wyniku tekst.

copy-of Węzły ze źródła, które chcemy skopiować do wyniku wraz z poddrzewem. Węzły stworzone w innych fragmentach szablonu, np. wynik przetwarzania zapisany na zmiennej, parametr szablonu etc.

Zastosowania XSLT Prezentacja dokumentów tekstowych. Prezentacja danych zapisanych w XML. Konwersja danych między formatami XML-owymi. Filtry, raporty, podsumowania. XSLT w wyniku przekształcenia XSLT. Tworzenie skryptów i plików konfiguracyjnych.

Przykład bardziej złożony