XSL Extensible Stylesheet Language 6 listopada 2003.

Slides:



Advertisements
Podobne prezentacje
Przekształcanie dokumentów XML - XSL
Advertisements

Podstawowe pojęcia związane z Active Directory
Rafał Hryniów Tomasz Pieciukiewicz
Łódź, 29 października 2012 roku
Implementacja procesora XSLT w języku Ocaml
XHTML Podstawowe różnice.
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
Polsko-Japońska Wyższa Szkoła Technik Komputerowych
XPath XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
Definiowanie typów dokumentów Część 1: DTD 9 października 2003.
XSL – przekształcenia XML-a
XSLT – część XSLT – część 22 Rodzaje przetwarzania XSLT (1) Przetwarzanie sterowane strukturą dokumentu źródłowego (ang. push): –przechodzimy.
XPath. XSLT – część XPath. XSLT – część 12 XPath – XML Path Language Problem: –jednoznaczne adresowanie fragmentów struktury dokumentu XML.
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema
11 XML a SGML. Standardy pokrewne.. 22 SGML a XML – różnice Deklaracja SGML: konfiguracja wyglądu znaczników, ich maksymalnej długości, itp., definicja.
11 Definiowanie typów dokumentów. 22 Jak wygląda XML? st. asp. Jan Łapówka Dołowice Górne Wypadek dnia r o godzinie 13:13 ( piątek ) miał miejsce.
Definiowanie typów dokumentów Część 1. DTD, XML Schema.
Definiowanie typów dokumentów Część 2: XML Schema 16 października 2003.
Definiowanie typów dokumentów Część 2. XML Schema
11 XML a SGML. Standardy pokrewne.. 22 SGML a XML – różnice Deklaracja SGML: konfiguracja wyglądu znaczników, ich maksymalnej długości, itp., definicja.
XSL – część 2.
Inne standardy związane z XML-em XSLT – część 22 XPath 2.0 / XSLT 2.0 / XQuery 1.0 XML Schema system typów XQuery 1.0 and XPath 2.0 Data Model.
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema.
Definiowanie typów dokumentów Część 1. DTD, XML Schema.
Zaawansowana składnia XML XML Schema
XSLT – część XSLT – część 22 Rodzaje przetwarzania XSLT (1) Przetwarzanie sterowane strukturą dokumentu źródłowego: –przechodzimy po strukturze.
Poprawne modele zawartości. Zarządzanie zmianami struktury.
11 Definiowanie typów dokumentów. 22 Jak wygląda XML? st. asp. Jan Łapówka Dołowice Górne Wypadek dnia r o godzinie 13:13 ( piątek ) miał miejsce.
XPath. XSL – część 1..
11 Przypomnienie: zaliczenie ćwiczeń Kolokwium zaliczeniowe na ćwiczeniach 16 maja: zadania z technik omawianych na ćwiczeniach, można korzystać z notatek.
SAX i DOM wykorzystanie XML-a we własnych aplikacjach
XML Schema XML Schema2 Definiowanie języków XML, SGML – metajęzyki. Definiowanie języków (zastosowań, typów dokumentów, schematów): –określanie.
Technologie XML Mgr inż. Michał Jaros Technologie XML wykład 3.
Maciej Zabielski 15 stycznia 2003
Generyczne Repozytorium Dokumentów w XML
Dokumentowanie wymagań w języku XML
XPath, XSLT, (and XSL:FO)
XML, DTD, Schema Zaawansowane Aplikacje Internetowe Dawid Weiss.
XML. Pierwszy dokument XML Witaj świecie! Elementy i atrybuty niezwykle oryginalny Witaj świecie! Druga możliwość: Witaj świecie!
Typy danych – podstawy 1 W Adzie wszystkie dane muszą być określonego typu. Definicja Typ danych (data type) jest to zbiór wartości i operacji, które można.

Wykład 2 struktura programu elementy języka typy zmienne
Projektowanie warstwy serwera Współpraca z XML. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Proszę skopiować eclipse najlepiej do c:\temp uruchamiamy rejestrujemy jako academic.
Programowanie w Internecie 2 Ćwiczenie 4 – Transformacja danych Prowadzący: Rajmund Pączkowski.
HTML 4 Zebrał i opracował : dr inż. Jerzy Zgraja.
HTML 4 Zebrał i opracował : dr inż. Jerzy Zgraja.
Podstawy C# Grupa .NET PO.
XML eXtensible Markup Language. 2 Prowadzący Michał Kozielski p. 413 mail:
HTML DOM, XHTML – cel, charakterystyka
XML – eXtensible Markup Language 3
XML – eXtensible Markup Language 4. XSL transformations (XSLT) XSLT (ang. eXtensible Stylesheet Language Transformations) jest opartym na XML językiem.
XML - podstawy Szymon Bohdanowicz. Pierwszy przykład Marek Szymon Przypomnienie Pamiętaj o spotkaniu w piątek.
XML – eXtensible Markup Language
Podstawy HTML RAMKi. Ramki Za ich pomocą możesz swobodnie podzielić okno przeglądarki na kilka części i w nich niezależnie przeglądać dokumenty. Ramki.
J A V A S C R I P T Obiekty Opracowała: Anna Śmigielska.
DOM Ewa Dukała Piotr Muszyński. DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM.
Instrukcje wyboru.
Obiekty DOM.
Waldemar Bartyna Pytania egzaminacyjne 1.
Drzewo dokumentu html.
JQuery.
Adresowanie elementów struktury dokumentów - XPath.
Obiektowe metody projektowania systemów XML eXtensible Markup Language.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
I TY ZOSTAŃ WEBMASTEREM! CZĘŚĆ 2 – „STRUKTURA STRONY” STWORZYŁ GABRIEL ŚLAWSKI.
The Poznan University of Economics Department of Management Information Systems XML - wprowadzenie.
Aplikacje internetowe XML Paweł Lenkiewicz. Aplikacje internetowe – XML2 eXtensible Markup Language Uniwersalny język opisu danych Często używany we współpracy.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Aplikacje i usługi internetowe
Zapis prezentacji:

XSL Extensible Stylesheet Language 6 listopada 2003

XPath – XML Path Language Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: drzewiasty model struktury dokumentu, normalizacja zawartości dokumentu (ten sam byt, choć różnie zakodowany, jest tak samo reprezentowany w modelu), język ścieżek w drzewie struktury. Status: Rekomendacja W3C z 16 listopada 1999 r. Zastosowania: XSL, XPointer,...

XPath data model Modelowanie dokumentu przy pomocy drzewa: węzeł root, węzły elementów, węzły atrybutów, węzły tekstowe, węzły instrukcji przetwarzania, węzły komentarzy, węzły przestrzeni nazw. Własności węzłów: string-value, normalizacja odwołań do encji i sekcji CDATA, expanded-name.

Wyrażenia XPath Typy wyrażeń: node-set, boolean, number, string. Węzeł bieżący (context node). Poruszanie się w hierarchii elementów: / /book/section section/para

Location paths Ścieżka XPath złożona z kroków. Opis kroku: oś, test węzła, predykaty. Przykłady: /child::book/child::section child::para[attribute::type="warning"]

Osie (axes) "Kierunki" poruszania się po modelu dokumentu: child descendant parent ancestor following-sibling preceding-sibling following preceding attribute namespace self descendand-or-self ancestor-or-self

Testy węzłów Podstawowy typ węzła: dla osi attribute : atrybut, dla osi namespace : przestrzeń nazw, dla pozostałych osi: element. Testy: nazwa węzła, * - wszystkie węzły podstawowego typu node() text() comment() processing-instruction() processing-instruction(target-name)

Zapis skrócony Skróty: child:: można ///descendant-or-self::node()/.self::node()..parent::node() Zapis pełny vs. skrócony – przykład:.//para self::node()/descendant-or-self::node()/child::para

Predykaty Dowolne wyrażenie. Interpretacja: number – prawda, gdy równy pozycji węzła w kontekście, string – prawda, gdy niepusty, node-set – prawda gdy niepusty.

Przykłady para /doc/chapter[5]/section[2] chapter//para chapter[title] chapter[title="Introduction"]

Ważniejsze funkcje Operatory: + - * / > >= < <= and or... last() position() count( node-set ) name( node-set? ) string( object? ) concat( string, string, string* ) contains( string, string ) not( boolean )

Języki formatowania dokumentów strukturalnych SGML: FOSI (Formatting Output Specification Instance): specyfikacja MIL-PRF-28001, zbyt małe możliwości dla ogólnych zastosowań. DSSSL (Document Style Semantics and Specification Language): ISO/IEC 10179:1996 oparty na podzbiorze języka Scheme bez efektów ubocznych. XML: CSS (Cascading Style Sheets), stosowane m. in. w HTML-u, XSL (Extensible Stylesheet Language): język wysokopoziomowy, deklaratywny, bez efektów ubocznych.

XSL – części składowe XSLT (XSL Transformations): język opisu przekształceń dokumentów XML, składnia XML, oparty na dopasowywaniu wzorców, przestrzeń nazw: rekomendacja W3C z 16 listopada 1999 r. XPath (XML Path Language). XSL:FO (XSL Formatting Objects): słownik XML-owy pozwalający definiować formatowanie, przestrzeń nazw: opisany w rekomendacji XSL 1.0 z 15 października 2001 r.

XSL a XSLT Źródło: Extensible Stylesheet Language (XSL) Version 1.0, W3C Recommendation 15 October 2001 (

Arkusze stylów a przekształcenia XSLT zamówienie faktura Omnimark ustawa (RTF) ustawa (XML) XSLT faktura HTML XSL faktura PDF CSS FOSI DSSSL arkusze stylów przekształcenia

Zasada działania przekształcenia XSLT Reguła XSLT: ścieżka XPath określająca węzły, dla których reguła obowiązuje, treść "wykonywana" w przypadku uruchomienia reguły: tekst i elementy wypisywane na wyjście, instrukcje XSLT. Sposób przetwarzania: wykonaj regułę dla węzła /, reguła może rekurencyjnie wywołać reguły dla innych węzłów.

Arkusz stylów/przekształcenie XSLT Element główny: Output methods: xml, html, text. Określanie arkusza stylów dla dokumentu:

Podstawy składni – przykład

Przekształcenie – przykład aaa bbb ccc ddd *** aaa bbb ccc ddd

Wbudowane reguły

Generowanie dokumentu wyjściowego Elementy i tekst literalnie podane w przekształceniu. Instrukcje generujące:

Przetwarzanie warunkowe: if yellow

Przetwarzanie warunkowe: choose.

Pętle Index

Rodzaje przetwarzania XSLT (1) Przetwarzanie sterowane strukturą dokumentu źródłowego: przechodzimy po strukturze dokumentu źródłowego, generujemy fragmenty struktury dokumentu wyjściowego

Rodzaje przetwarzania XSLT (2) Przetwarzanie sterowane strukturą dokumentu wyjściowego: jedna duża reguła dla węzła root, generujemy strukturę dokumentu docelowego, wyciągamy odpowiednie wartości z dokumentu źródłowego. Expense Report Summary Company: Total Amount:

Zmienne Jak w funkcyjnych językach programowania: brak instrukcji przypisania, brak efektów ubocznych. Deklaracja: wartość: atrybut select wyrażenie odpowiedniego typu, zawartość elementu fragment drzewa wynikowego, Użycie: w wyrażeniach: $ name,

Zaawansowane możliwości XSLT Sortowanie węzłów. Wzorce nazwane: wywoływane jak podprogramy (procedury), przekazywanie parametrów, rekursja. Tryby przetwarzania (modes): przełączanie między trybami, niezależnie definiowane wzorce dla każdego trybu.

Wykorzystanie rekursji w XSLT (1) Sposób na brak "prawdziwych" zmiennych i pętli iteracyjnych. Przykład:

Wykorzystanie rekursji w XSLT (2) Przykład – c.d.:

Generowanie przekształceń XSL (1) Problem: źródło przekształcenia nie zawiera metainformacji o strukturze dokumentu, metainformacje pojawiają się na wyjściu. Szymon Zioło wypoczynkowy Jan Kowalski

Generowanie przekształceń XSL (2) Rozwiązanie: zapisanie metainformacji w szablonie, generowanie przekształcenia z szablonu.

Generator – przykład (1) <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:res="

Generator – przykład (2) tak nie

Zastosowanie w projekcie: KEDU ZUS KEDU RCB DRSB ZEUB RSB RCB Blok powtarzalny wycięcie dokumentuwycięcie instancji RCB Arkusz stylów Generator arkuszy stylów Szablon Wizualizacja HTML

KEDU ZUS – przykład wizualizacji

Zastosowanie w projekcie: Era DCO Szablon dokumentu: struktura (nazwy pól, typy, kontrolki edycyjne), pola automatycznie obliczane, reguły walidacji, role i uprawnienia, proces obiegu dokumentu. Generatory: schematu XML Schema, pustej instancji dokumentu, arkuszy stylów, ewaluatorów pól automatycznie obliczanych, walidatorów. Document Collection Office: system obiegu dokumentów strukturalnych, edycja przy pomocy formularzy HTML, zastosowanie: obieg protokołów z przeglądów stacji bazowych.

Era DCO – schemat przetwarzania Szablon dokumentu XML template2style.xsl Instancja dokumentu XML arkusz stylów XSL wizualizacja HTML template2instance.xsl

Formatting Objects – przykład drzewa wynikowego... Preface This is a simple test document. It shows a partial fo-result tree (page layout missing)....

Formatting Objects – przykłady reguł

Narzędzia Procesory XSLT: XT, James Clark (Java), Oracle XML Parser for Java / C / PL-SQL, Xalan (Java, C++), SAXON, Michael H. Kay (Java), Sablotron (C++, open source), Microsoft XML Core Services (MSXML 4.0). Procesor XSL:FO: FOP (open source; generuje dokumenty w formacie PDF). Edytory XSLT: xmlspy 2004, Xselerator XSL Editor/Debugger, xslide – Emacs Major Mode for XSL Stylesheets.

Rozwój XSL-a XSLT 2.0 Working Draft: wsparcie dla XML Schema, grupowanie węzłów ( for-each-group ), definiowanie i wywoływanie własnych funkcji, generowanie wielu dokumentów wyjściowych,... XPath 2.0 Working Draft wyrażenia warunkowe ( if i inne), kwantyfikatory, typ "sekwencja", pętle,...

Gdzie szukać dalej The Extensible Stylesheet Language Family: XSLT Tutorial: TopXML: Sławomir Tyszko, Rekurencyjne szablony w XSLT Software 2.0, nr 6/2002, Wydawnictwo Software Szymon Zioło, XSLT do kwadratu Software 2.0, nr 6/2003, Wydawnictwo Software