XSL – część 2.

1 XSL – część 2 ...
Author: Wioletta Karwacki
0 downloads 7 Views

1 XSL – część 2

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

3 Przetwarzanie warunkowe: if yellow

4 Przetwarzanie warunkowe: choose .

5 Pętle

Index

6 Sortowanie Instrukcja sortowania: może występować wewnątrz apply-templates i for-each.

3000xyz2500abc

7 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,

8 Użycie zmiennych w wyrażeniachElement XSLT Atrybut apply-templates select value-of number value for-each if test when sort

9 Użycie wyrażeń w atrybutachSzablony wartości atrybutów: mogą zawierać wyrażenia pomiędzy nawiasami {}. Element XSLT Atrybuty literalny element dokumentu wyjściowego dowolny atrybut element name, namespace attribute number level, count, from, format, lang, grouping-separator, grouping-size sort order, lang, data-type, case-order processing-instruction name

10 Nazwane wzorce i parametry #000000 ... #FFFFFF" ...

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

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

13 Jak napisać własną funkcję w XSLT? ...

14 Modes Atrybut mode elementów: template (tylko z atrybutem match),apply-templates. Możliwość przełączania między niezależnymi trybami przetwarzania.

15 Wybrane funkcje Node-set reprezentujący inny dokument: document(URI) Unikalny identyfikator węzła: generate-id(node-set) Bieżący węzeł: current() uwaga: różnica między węzłem bieżącym a węzłem kontekstowym:

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

17 Formatting Objects – przykłady reguł

18 Narzędzia Procesory XSLT: XT Jamesa Clarka (Java),Oracle XML Parser for Java / C / PL-SQL, Xalan (Java, C++), Microsoft XML Core Services (MSXML 4.0), XML::XSLT (Perl). Procesor XSL:FO: FOP (open source; generuje dokumenty w formacie PDF). Edytory XSLT: IBM XSL Editor (IBM alphaWorks), Inso XSL/CSS Editor, XML Spy 5.0, Homesite XSL Authoring Toolbar.

19 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,

20 Case study XML w zarządzaniu formularzami ubezpieczeniowymi ZUS Część 2

21 Przypomnienie: przykład dokumentu KEDUWidzimy poskracaną wersję reprezentacji elektronicznej formularza z poprzedniego slajdu Główny element – KEDU2 Element RCB – odpowiada całemu dokumentowi ZUS RCB Bloki I, II i V są „zwinięte” Blok III jest rozwinięty w całości Pole RCB.III.B.08 składa się z dwóch segmentów Do pola RCB.III.B.12 została przypięta korekta systemowa Do całego bloku RCB.III przypięto błędy

22 Wizualizacja formularzyProblemy: duża złożoność wizualizowanej informacji duża objętość wizualizowanych dokumentów Rozwiązanie: podział dokumentu KEDU na poszczególne formularze arkusze stylów (transformacje) XSLT generator arkuszy stylów na podstawie informacji o budowie formularza

23 Schemat wizualizacji Arkusz stylów Szablon Generator arkuszy stylówKEDU RCB DRSB ZEUB RSB RCB Blok powtarzalny RCB wycięcie dokumentu wycięcie instancji Szablon Generator arkuszy stylów Arkusz stylów Wizualizacja HTML

24 Przykład wizualizacjiEmpolis Polska