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



Podobne dokumenty
Rodzaje przetwarzania XSLT (1)

Inne standardy zwiazane z XML

Inne standardy zwiazane z XML

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

XML w bazach danych i bezpieczeństwie

XPath 2.0 / XSLT 2.0 / XQuery 1.0. Inne standardy związane z XML-em. XPath 2.0 XSLT 2.0. XPath 2.0 funkcyjny język programowania

XPath 2.0 / XSLT 2.0 / XQuery 1.0. Inne standardy związane z XML-em. XPath 2.0 XSLT 2.0. XPath2.0 funkcyjny język programowania

XML w bazach danych, standardy wiążące dokumenty XML

XPath XML Path Language. XSL Extensible Stylesheet Language. Wyrażenia XPath. XPath data model. Location paths. Osie (axes)

XML w bazach danych i bezpieczeństwie

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

EDI, XML i ochrona danych Przemysław Kazienko

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

Inżynieria biomedyczna

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

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

XML Path Language (XPath)

XML extensible Markup Language 3

Wprowadzenie do XSLT

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

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

Extensible Markup Language III

XML stan obecny i trendy rozwojowe

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

XML i nowoczesne technologie zarządzania treścią

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

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

Środowisko publikacyjne oparte na XML-u. Szymon Zioło 1 maja 2004

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

XML extensible Markup Language. część 8

Tworzenie raportów XML Publisher przy użyciu Data Templates

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

Spis treści. Przedmowa

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XML extensible Markup Language 7

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

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

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema. Elementy czy atrybuty? Wartości domyślne i ustalone. Elementy czy atrybuty?

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

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema

Prezentacja dokumentów XML

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

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

XML standardy pokrewne

XML w elektronicznej wymianie danych, integracji aplikacji i bezpieczeństwie

Prezentacja i transformacja

Aplikacje internetowe laboratorium XML, DTD, XSL

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

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

Symbole wieloznaczne w XML Schema. Definiowanie typów dokumentów Część 4. XML Schema, RELAX NG, Schematron. Schematron

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

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

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

The Binder Consulting

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

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

λ 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

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML

Prezentacja dokumentów XML

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

mgr inż. Jacek Staniec Język XML

XML i nowoczesne technologie zarządzania treścią

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.

XML extensible Markup Language. część 6

Koncepcja systemu informatycznego realizującego w środowisku Oracle Spatial proces generalizacji modelu BDOT10 do postaci BDOT50

ROZPORZĄDZENIE MINISTRA FINANSÓW 1) z dnia 27 stycznia 2011 r.

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Instrukcja użytkownika

XML extensible Markup Language. część 3

Ogólna struktura dokumentu XSL-FO. Model formatowania. Ogólna struktura dokumentu XSL-FO C.d. Przykład Hello World Użycie szablonu strony

Dlaczego Python jest lepszy od XSLT?

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

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

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

XML a relacyjne bazy danych. XML w bazach danych. Klasyfikacja wsparcia dla XML-a w bazach danych. XML a relacyjne bazy danych.

Bezpieczeństwo dokumentów XML

Projektowanie obiektowe oprogramowania Wykład 14 Architektura systemów (1), Interoperability Wiktor Zychla 2013

Podstawy języka XML. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

Przykładowy dokument XML

Przykład połączenie z bazą danych

Semantyczne Wiki na przykładzie Semantic MediaWiki

XQuery. sobota, 17 grudnia 11

Bazy danych i strony WWW

XML i nowoczesne metody zarządzania treścią

Semantyczne Wiki! na przykładzie! Semantic MediaWiki!

Cocoon środowisko publikacyjne oparte na XML-u

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

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

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Język XML Query. Czym jest XML Query? Po co XML Query? Tomasz Traczyk. Czym jest XML Query? Wprowadzenie do składni języka.

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

SGML a XML różnice. XML a SGML. Standardy pokrewne. Minimalizacja w SGML-u. Elementy w SGML-u. Atrybuty w SGML-u

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP

UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Transkrypt:

Rodzaje przetwarzania XSLT (1) XSLT część 2. Inne standardy związane z XML-em Przetwarzanie sterowane strukturą dokumentu źródłowego: przechodzimy po strukturze dokumentu źródłowego, generujemy fragmenty struktury dokumentu wyjściowego. <xsl:template match=""> 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 2 Rodzaje przetwarzania XSLT (2) Zmienne 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. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns="http://www.w3.org/tr/xhtml1/strict"> <xsl:template match="/"> <html><head><title>expense Report Summary</title></head> <body> <h1>company: <xsl:value-of select="company/name"/></h1> <p>total Amount: <xsl:value-of select="expense-report/total"/></p> </body> </html> </xsl:stylesheet> Jak w funkcyjnych językach programowania: brak instrukcji przypisania, brak efektów ubocznych. Deklaracja: <xsl:variable name=/> wartość: atrybut select wyrażenie odpowiedniego typu, zawartość elementu fragment drzewa wynikowego, Użycie: w wyrażeniach: $name, <xsl:copy-of select=expression/> 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 3 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 4 Zaawansowane możliwości XSLT Wykorzystanie rekursji w XSLT (1) 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. Sposób na brak prawdziwych zmiennych i pętli iteracyjnych. Przykład: <xsl:template name="books"> <xsl:param name="cnt" select="1"/> <xsl:if test="$cnt > 0"> <book> <tr></tr> </book> <xsl:call-template name="books"> <xsl:with-param name="cnt" select="$cnt - 1"/> </xsl:call-template> </xsl:if> 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 5 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 6

Wykorzystanie rekursji w XSLT (2) Przykład c.d.: <xsl:template match="book"> <xsl:choose> <xsl:when test="@count"> <xsl:call-template name="books"> <xsl:with-param name="cnt" select="@count"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="books"/> </xsl:otherwise> </xsl:choose> Generowanie przekształceń XSL (1) Problem: źródło przekształcenia nie zawiera metainformacji o strukturze dokumentu, metainformacje pojawiają się na wyjściu. <wniosek-urlopowy> <wniosek> <pracownik>szymon Zioło</pracownik> <rodzaj>wypoczynkowy</rodzaj> <od>2003-06-20</od> <do>2003-06-27</do> <dni-roboczych>6</dni-roboczych> </wniosek> <decyzja> <zgoda>1</zgoda> <zastępca>jan Kowalski</zastępca> </decyzja> </wniosek-urlopowy> Źródło: Zioło, Sz., XSLT do kwadratu, Software 2.0, nr 6/2003 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 7 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 8 Generowanie przekształceń XSL (2) Rozwiązanie: zapisanie metainformacji w szablonie, generowanie przekształcenia z szablonu. <dokument nazwa="wniosek-urlopowy" etykieta="wniosek urlopowy"> <sekcja nazwa="wniosek" etykieta="wniosek"> <pole nazwa="pracownik" etykieta="pracownik:"/> <pole nazwa="rodzaj" etykieta="rodzaj urlopu:"/> <pole nazwa="od" etykieta="od dnia:"/> <pole nazwa="do" etykieta="do dnia:"/> <pole nazwa="dni-roboczych" etykieta="ilość dni roboczych:"/> </sekcja> <sekcja nazwa="decyzja" etykieta="decyzja przełożonego"> <pole nazwa="zgoda" etykieta="zgoda przełożonego:" typ="boolean"/> <pole nazwa="zastępca" etykieta="zastępca:"/> </sekcja> </dokument> 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 9 Generator przykład (1) <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:res="http://www.w3.org/1999/xsl/transformalias"> <xsl:namespace-alias stylesheet-prefix="res" result-prefix="xsl"/> <xsl:template match="/"> <res:stylesheet version="1.0"> <res:output method="html"/> </res:stylesheet> <xsl:template match="sekcja"> <res:template match="{@nazwa}"> <p><b><xsl:value-of select="@etykieta"/></b></p> <table><res:apply-templates/></table> </res:template> 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 10 Generator przykład (2) Zastosowanie w projekcie: KEDU ZUS <xsl:template match="pole"> <res:template match="{@nazwa}"> <tr><td><xsl:value-of select="@etykieta"/></td> <td><b> <xsl:choose> <xsl:when test="@typ='boolean'"> <res:choose> <res:when test="text()='1'">tak</res:when> <res:otherwise>nie</res:otherwise> </res:choose> </xsl:when> <xsl:otherwise> <res:value-of select="text()"/> </xsl:otherwise> </xsl:choose> </b></td></tr> </res:template> KEDU RCB DRSB ZEUB RSB Szablon wycięcie dokumentu RCB Blok powtarzalny Generator arkuszy stylów wycięcie instancji RCB Arkusz stylów Wizualizacja HTML </xsl:stylesheet> 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 11 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 12

KEDU ZUS przykład wizualizacji Zastosowanie w projekcie: Era DCO Document 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. 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 13 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 14 Era DCO schemat przetwarzania template2instance.xsl Instancja dokumentu XML Szablon dokumentu XML template2style.xsl arkusz stylów XSL wizualizacja HTML 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 15 Formatting Objects przykład drzewa wynikowego <?xml version="1.0" encoding="utf-8"?> <fo:root xmlns:fo="http://www.w3.org/1999/xsl/format"> <fo:page-sequence> <fo:flow> <fo:block font-size="18pt" font-weight="bold" text-align="centered">preface</fo:block> <fo:block font-size="12pt" space-before="1pc" text-align="justified"> This is a simple test document. It shows a <fo:inline font-style="italic">partial</fo:inline> fo-result tree (page layout missing).</fo:block> </fo:flow> </fo:page-sequence> </fo:root> 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 16 Formatting Objects przykłady reguł <xsl:template match="chapter"> <fo:flow></fo:flow> <xsl:template match="chapter/title"> <fo:block font-size="18pt" font-weight="bold" text-align="centered"> </fo:block> <xsl:template match="para"> <fo:block font-size="12pt" space-before="1pc" text-align="justified"> </fo:block> <xsl:template match="emphasis"> <fo:inline font-style="italic"> </fo:inline> 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 17 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, 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 18

Narzędzia XQuery zapytania o dokumenty XML Procesory 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. Ję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. 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 19 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 20 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 <publisher> <name>{ $p/text() }</name> <avgprice>{ $a }</avgprice> </publisher> Źródło: XML Syntax for XQuery 1.0 (XQueryX), http://www.w3.org/tr/xqueryx XPointer adresowanie fragmentów dokumentu XML XPath opakowany w składnię URI, np.: http://www.sejm.gov.pl/ustawa.xml#xpointer(/art[5]/ 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. 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 21 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 22 XPointer status Rekomendacje W3C z 25 marca 2003: XPointer Framework, XPointer element() scheme, XPointer xmlns() scheme. W3C Working Draft: XPointer xpointer() scheme. XInclude łączenie zawartości dokumentów Załą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: <file name="salatka.xml"> <xi:include href="salatka.xml#xpointer(/przepis/tytul)"/> </file> po przetworzeniu procesorem XInclude: <file name="salatka.xml"> <tytul>sałatka z ogórków</tytul> </file> Status: W3C Proposed Recommendation 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 23 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 24

XLink dowiązania w XML-u Terminologia Linki 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. 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). 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 25 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 26 Dowiązania XLink Simple link przykład Extended 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. <osoba xmlns:xlink="http://www.w3.org/1999/xlink"> <nazwisko>kopernik, Mikołaj</nazwisko> <biogram>wybitny polski astronom, matematyk, lekarz, prawnik, tłumacz poezji włoskiej i ekonomista, pochodził z rodziny wywodzącej się z mieszczan krakowskich. Urodzony w <geogr xlink:type="simple" xlink:href="torun.xml">toruniu</geogr>.</biogram> </osoba> 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 27 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 28 Extended link - przykład Przyszłość XLink <fikcja xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="extended"> <wypowiedz xlink:type="resource">kopernik była kobietą!</wypowiedz> <film xlink:type="locator" xlink:href="seksmisja.xml" xlink:title="seksmisja"/> <osoba xlink:type="locator" xlink:href="kopernik.xml" xlink:title="kopernik, Mikołaj"/> <pojecie xlink:type="locator" xlink:href="kobieta.xml" xlink:title="kobieta"/> </fikcja> Zastosowania: 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). 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 29 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 30

XML Signature podpis elektroniczny Zasada działania podpisu elektronicznego: XML Signature podpis elektroniczny Podpis 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. Kluczowa rola: jakości algorytmu haszującego (funkcji skrótu), jakości asymetrycznego algorytmu szyfrowania/deszyfrowania, zaufania do wystawcy certyfikatu. 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 31 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 32 XML Signature przykład XML Encryption szyfrowanie XML-a <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm= "http://www.w3.org/tr/2001/rec-xml-c14n-20010315"/> <SignatureMethod Algorithm= "http://www.w3.org/2000/09/xmldsig#dsa-sha1"/> <!-- w URI znajduje się wskazanie na podpisywane dane --> <Reference URI="http://przyklad.pl/pliki/do-podpisu.xml"> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>60NvZvtdTB+7UnlLp/H24p7h4bs=</DigestValue> </Reference> </SignedInfo> <!-- zaszyfrowany skrót z SignedInfo - podpis --> <SignatureValue>OsH9A1jTNL</SignatureValue> <KeyInfo><KeyValue><DSAKeyValue> <P>imup6lm</P><Q>xDve3j7</Q><G>NlugAf</G> <Y>W7dOmH/v</Y> </DSAKeyValue></KeyValue></KeyInfo> </Signature> Źródło: Kazienko, P., Co tam panie w XML-u?, Software 2.0, 6/2003 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 33 Cel: 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. <InfoPlatnicza xmlns='http://przyklad.pl/platnosc1'> <Nazwa>Józef Nowak</Nazwa> <KartaKredytowa Limit='2,000' Waluta= PLN' System= Visa > <NrKarty>4019244502775567</NrKarty> <Wystawca>Nasz Bank S.A.</Wystawca> <DataWażnosci>10/03</DataWażnosci> </KartaKredytowa> </InfoPlatnicza> Źródło: Kazienko, P., Co tam panie w XML-u?, Software 2.0, 6/2003 <InfoPlatnicza xmlns='http://przyklad.pl/platnosc1'> <Nazwa>Józef Nowak</Nazwa> <EncryptedData Type='http://www.w3.org/2001/04/ xmlenc#element xmlns='http://www.w3.org/2001/04/ xmlenc#'> <CipherData> <CipherValue>A2s3B4f5gCbDyBreHwTWc 5cx6weQ3g5teV=</CipherValue> </CipherData> </EncryptedData> </InfoPlatnicza> 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 34 XForms zaawansowane formularze Odpowiedź 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. 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 35 XForms przykład (program X-Smiles) Źródło: Kazienko, P., Co tam panie w XML-u?, Software 2.0, 6/2003 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 36

Gdzie szukać dalej Gdzie szukać dalej Tyszko, S., Rekurencyjne szablony w XSLT Software 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? Software 2.0, nr 6/2003, Wydawnictwo Software Arciniegas, A. F., What is XLink? www.xml.com/pub/a/2000/09/xlink Carr, L., Initial Experiences of an XLink Implementation journals.ecs.soton.ac.uk/xml4j/xlinkexperience.html XPointer tutorial www.zvon.org/xxl/xpointer/tutorial/outputexamples/xpointer_tut.html Tamino XQuery Demo tamino.demozone.softwareag.com/demoxquery Dubinko, M., Ten Favorite XForms Engines www.xml.com/pub/a/2003/09/10/xforms.html 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 37 2004-11-18 XSLT część 2. Inne standardy związane z XML-em 38