XSLT – część 2. Inne standardy związane z XML-em

1 XSLT – część 2. Inne standardy związane z XML-em ...
Author: Jeronim Wasiuk
0 downloads 0 Views

1 XSLT – część 2. Inne standardy związane z XML-em

2 Rodzaje przetwarzania XSLT (1)Przetwarzanie sterowane strukturą dokumentu źródłowego: przechodzimy po strukturze dokumentu źródłowego, generujemy fragmenty struktury dokumentu wyjściowego. XSLT – część 2. Inne standardy związane z XML-em

3 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:

XSLT – część 2. Inne standardy związane z XML-em

4 Zmienne Jak w funkcyjnych językach programowania: Deklaracja: Użycie: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, XSLT – część 2. Inne standardy związane z XML-em

5 Zaawansowane możliwości XSLTSortowanie 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. XSLT – część 2. Inne standardy związane z XML-em

6 Wykorzystanie rekursji w XSLT (1)Sposób na brak „prawdziwych” zmiennych i pętli iteracyjnych. Przykład: XSLT – część 2. Inne standardy związane z XML-em

7 Wykorzystanie rekursji w XSLT (2)Przykład – c.d.: XSLT – część 2. Inne standardy związane z XML-em

8 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 6 1 Jan Kowalski Źródło: Zioło, Sz., XSLT do kwadratu, Software 2.0, nr 6/2003 XSLT – część 2. Inne standardy związane z XML-em

9 Generowanie przekształceń XSL (2)Rozwiązanie: zapisanie metainformacji w szablonie, generowanie przekształcenia z szablonu. XSLT – część 2. Inne standardy związane z XML-em

10 Generator – przykład (1) xmlns:res="http://www.w3.org/1999/XSL/TransformAlias">

XSLT – część 2. Inne standardy związane z XML-em

11 Generator – przykład (2) tak nie XSLT – część 2. Inne standardy związane z XML-em

12 Zastosowanie w projekcie: KEDU ZUSRCB DRSB ZEUB RSB RCB Blok powtarzalny RCB wycięcie dokumentu wycięcie instancji Szablon Generator arkuszy stylów Arkusz stylów Wizualizacja HTML XSLT – część 2. Inne standardy związane z XML-em

13 KEDU ZUS – przykład wizualizacji XSLT – część 2. Inne standardy związane z XML-em

14 Zastosowanie w projekcie: Era DCODocument Collection Office: system obiegu dokumentów strukturalnych, edycja przy pomocy formularzy HTML, zastosowanie: obieg protokołów z przeglądów stacji bazowych. 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. XSLT – część 2. Inne standardy związane z XML-em

15 Era DCO – schemat przetwarzaniaSzablon dokumentu XML template2instance.xsl template2style.xsl Instancja dokumentu XML arkusz stylów XSL wizualizacja HTML XSLT – część 2. Inne standardy związane z XML-em

16 Formatting Objects – przykład drzewa wynikowego Preface This is a simple test document. It shows a partial fo-result tree (page layout missing). ... XSLT – część 2. Inne standardy związane z XML-em

17 Formatting Objects – przykłady reguł XSLT – część 2. Inne standardy związane z XML-em

18 Rozwój XSL-a i okolic XQuery 1.0 and XPath 2.0 Data Model Working Draft. XQuery 1.0 Working Draft: język zapytań o kolekcje dokumentów XML. 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, XSLT – część 2. Inne standardy związane z XML-em

19 Narzędzia Procesory XSLT: Procesor XSL:FO: Edytory XSLT:XT, James Clark (Java), Oracle XML Parser for Java / C / PL-SQL, Xalan, Apache (Java, C++), SAXON, Michael H. Kay (Java; implementuje XSLT 2.0 i XQuery), Sablotron (C++, open source), Microsoft XML Core Services (MSXML 4.0). Procesor XSL:FO: FOP, Apache (Java; generuje dokumenty w formacie PDF). Edytory XSLT: XMLSPY 2004, Altova Xselerator XSL Editor/Debugger, MarrowSoft, xslide – Emacs Major Mode for XSL Stylesheets. XSLT – część 2. Inne standardy związane z XML-em

20 XQuery – zapytania o dokumenty XMLJęzyk zapytań o dokumenty XML: podobny do SQL-a, pozwala pytać o kolekcje dokumentów, rozszerza funkcjonalność XPath m. in. o: zmienne, wyrażenia FLWOR (for, let, where, order by, return), złączenia, wyrażenia warunkowe, definiowanie funkcji, typ sekwencji, konstruktory, umożliwiające tworzenie struktur XML w zapytaniu, wyrażenia walidujące względem schematu. Dostępne składnie: SQL-opodobna, oparta na XML-u. XSLT – część 2. Inne standardy związane z XML-em

21 XQuery – przykład Zwróć nazwę każdego wydawcy i średnią cenę jego książek: FOR $p IN distinct(document("bib.xml")//publisher) LET $a := avg(document("bib.xml")//book[publisher = $p]/price) RETURN { $p/text() } { $a } Źródło: XML Syntax for XQuery 1.0 (XQueryX), XSLT – część 2. Inne standardy związane z XML-em

22 XPointer – adresowanie fragmentów dokumentu XMLXPath „opakowany” w składnię URI, np.: par[2]) Dodatkowe możliwości: proste adresowanie elementów opatrzonych identyfikatorami, np.: urlopy adresowanie elementów bez znajomości struktury, z wykorzystaniem identyfikatorów jako kotwic, np.: element(/4/2/3) element(urlopy/2/3) wskazanie punktu w dokumencie, wskazanie zakresu pomiędzy dwoma punktami, wskazanie punktów w tekście i fragmentów tekstu. XSLT – część 2. Inne standardy związane z XML-em

23 XPointer – status Rekomendacje W3C z 25 marca 2003: W3C Working Draft:XPointer Framework, XPointer element() scheme, XPointer xmlns() scheme. W3C Working Draft: XPointer xpointer() scheme. XSLT – część 2. Inne standardy związane z XML-em

24 XInclude – łączenie zawartości dokumentówZałączanie zawartości jednego dokumentu XML do innego: pozwala załączyć fragment dokumentu (wskazany XPointer-em), pozwala określić zawartość używaną w razie błędu. Przykład: po przetworzeniu procesorem XInclude: Sałatka z ogórków Status: W3C Proposed Recommendation XSLT – część 2. Inne standardy związane z XML-em

25 XLink – dowiązania w XML-uLinki jakie znamy (HTML): łączą dwa dokumenty: źródło i cel linku, źródłem linku jest zawsze element opisujący link (A, IMG). XLink – rozszerzona koncepcja dowiązań: dowolne elementy przechowują informacje o linkach, informacja o linkach poza połączonymi dokumentami, więcej niż dwa końce linku. Status: rekomendacja W3C z 27 czerwca 2001, korzenie historyczne: HyTime. XSLT – część 2. Inne standardy związane z XML-em

26 Terminologia Zasób (resource) – dowolna adresowalna jednostka informacji lub usługa. Dowiązanie (link) – jawnie wyrażona (przy pomocy elementu wiążącego (linking element)) relacja pomiędzy zasobami. te zasoby uczestniczą (participate) w dowiązaniu. Przejście (traversal) – użycie pary zasobów połączonej dowiązaniem. Łuk (arc) – informacja o przejściu między dwoma zasobami (kierunek, zachowanie aplikacji, itp.): wychodzący (outbound), wchodzący (inbound), niezależny (third party). XSLT – część 2. Inne standardy związane z XML-em

27 Dowiązania XLink Extended link: Simple link:wiąże dowolną liczbę zasobów: zasoby zewnętrzne (np. odwołania do innych dokumentów), zasoby lokalne (zawarte w elemencie wiążącym). łuki opisujące sposoby przechodzenia pomiędzy zasobami, role zasobów uczestniczących w linku, role łuków. Simple link: link wychodzący, wiąże dokładnie 2 zasoby: 1 lokalny i 1 zewnętrzny, jeden łuk z zasobu lokalnego do zewnętrznego. XSLT – część 2. Inne standardy związane z XML-em

28 Simple link – przykład Kopernik, Mikołaj Wybitny polski astronom, matematyk, lekarz, prawnik, tłumacz poezji włoskiej i ekonomista, pochodził z rodziny wywodzącej się z mieszczan krakowskich. Urodzony w Toruniu. XSLT – część 2. Inne standardy związane z XML-em

29 Extended link - przykład Kopernik była kobietą! XSLT – część 2. Inne standardy związane z XML-em

30 Przyszłość XLink Zastosowania: Zasięg: Problemy:organizowanie, kojarzenie zasobów, nawet gdy nie mamy prawa zapisu, dostarczanie wartości dodanej – zbiorów linków. Zasięg: lokalny: serwery linków operujące na bazie linków, Internet? Problemy: wizualizacja extended links, synchronizacja zasobów i linków (Internet). XSLT – część 2. Inne standardy związane z XML-em

31 XML Signature – podpis elektronicznyZasada działania podpisu elektronicznego: Kluczowa rola: jakości algorytmu haszującego (funkcji skrótu), jakości asymetrycznego algorytmu szyfrowania/deszyfrowania, zaufania do wystawcy certyfikatu. XSLT – część 2. Inne standardy związane z XML-em

32 XML Signature – podpis elektronicznyPodpis dokumentu XML-owego: zapisany w postaci struktury XML-owej, umieszczany w elemencie Signature: w osobnym dokumencie, dołączonym do podpisywanego dokumentu, zawierającym podpisywane dane. Możliwości XML Signature: podpisywanie fragmentów dokumentu XML, podpisy wielokrotne. XSLT – część 2. Inne standardy związane z XML-em

33 XML Signature – przykład "http://www.w3.org/TR/2001/REC-xml-c14n "/> "http://www.w3.org/2000/09/xmldsig#dsa-sha1"/> 60NvZvtdTB+7UnlLp/H24p7h4bs= OsH9A1jTNL...

imup6lm...

xDve3j7...NlugAf... W7dOmH/v... Źródło: Kazienko, P., Co tam panie w XML-u?, Software 2.0, 6/2003 XSLT – część 2. Inne standardy związane z XML-em

34 XML Encryption – szyfrowanie XML-aCel: zagwarantowanie poufności danych XML-owych. Najczęstszy scenariusz: wygenerowanie losowego klucza symetrycznego (sesyjnego), zaszyfrowanie nim danych źródłowych, zaszyfrowanie klucza sesyjnego kluczem publicznym odbiorcy. Józef Nowak Nasz Bank S.A. 10/03 Józef Nowak A2s3B4f5gCbDyBreHwTWc cx6weQ3g5teV= Źródło: Kazienko, P., Co tam panie w XML-u?, Software 2.0, 6/2003 XSLT – część 2. Inne standardy związane z XML-em

35 XForms – zaawansowane formularzeOdpowiedź na ograniczenia formularzy w HTML-u: kontrola dziedziny wprowadzanych danych po stronie klienta, specyfikowanie pól obowiązkowych i opcjonalnych, zależności między polami, np.: wartość pola jest funkcją wartości innych pól, pole jest widoczne tylko przy określonej zawartości innych pól; wyzwalacze aktywowane zdarzeniami interfejsu użytkownika, bogaty zasób kontrolek, np.: powtórzenia, grupy, wielopoziomowe wybory, suwaki do wyboru wartości z zakresu, kontrolki wyboru plików. Status: rekomendacja W3C z 14 października 2003 r, możliwość zanurzania w XHTML-u. XSLT – część 2. Inne standardy związane z XML-em

36 XForms – przykład (program X-Smiles)Źródło: Kazienko, P., Co tam panie w XML-u?, Software 2.0, 6/2003 XSLT – część 2. Inne standardy związane z XML-em

37 Gdzie szukać dalej Tyszko, S., Rekurencyjne szablony w XSLTSoftware 2.0, nr 6/2002, Wydawnictwo Software Zioło, Sz., XSLT do kwadratu Software 2.0, nr 6/2003, Wydawnictwo Software Kazienko, P., Co tam panie w XML-u? XSLT – część 2. Inne standardy związane z XML-em

38 Gdzie szukać dalej Arciniegas, A. F., What is XLink? Carr, L., Initial Experiences of an XLink Implementation journals.ecs.soton.ac.uk/xml4j/xlinkexperience.html XPointer tutorial Tamino XQuery Demo tamino.demozone.softwareag.com/demoXQuery Dubinko, M., Ten Favorite XForms Engines XSLT – część 2. Inne standardy związane z XML-em