XPath. XSL – część 1..

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Przekształcanie dokumentów XML - XSL
Rafał Hryniów Tomasz Pieciukiewicz
Implementacja procesora XSLT w języku Ocaml
Programowanie w Internecie (Internet Programming) Krystyna Dziubich p. 521 XSL Formatting Objects.
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
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ęść 2: XML Schema 16 października 2003.
Definiowanie typów dokumentów Część 2. XML Schema
XSL – część 2.
XML w zarządzaniu formularzami ubezpieczeniowymi ZUS
11 RDF Wertykalne zastosowania XML-a. 22 RDF - Wprowadzenie Problemy Sieć jest nieczytelna dla programów komputerowych. Sieć zawiera zbyt wiele informacji.
Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema.
XSL Extensible Stylesheet Language 6 listopada 2003.
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.
11 Dowiązania w XML-u. Formy architektoniczne.. 22 XLink – dowiązania w XML-u Linki jakie znamy (HTML): łączą dwa dokumenty: źródło i cel linku, źródłem.
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.
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.
Maciej Zabielski 15 stycznia 2003
Aplikacje w sieciach Internet/Intranet
Aplikacje ASP.NET Arkadiusz Twardoń ZTiPSK
Dokumentowanie wymagań w języku XML
XPath, XSLT, (and XSL:FO)
XML, DTD, Schema Zaawansowane Aplikacje Internetowe Dawid Weiss.
Standardy tworzenia dokumentów [Michał Kuciapski ]
XML. Pierwszy dokument XML Witaj świecie! Elementy i atrybuty niezwykle oryginalny Witaj świecie! Druga możliwość: Witaj świecie!

XML jako standard służący do efektywnej wymiany dokumentów niezależnie od platformy sprzętowej.
Proszę skopiować eclipse najlepiej do c:\temp uruchamiamy rejestrujemy jako academic.
Programowanie w Internecie 2 Ćwiczenie 4 – Transformacja danych Prowadzący: Rajmund Pączkowski.
PODSTAWY <HTML>
XML eXtensible Markup Language. 2 Prowadzący Michał Kozielski p. 413 mail:
HTML DOM, XHTML – cel, charakterystyka
XML – eXtensible Markup Language 4. XSL transformations (XSLT) XSLT (ang. eXtensible Stylesheet Language Transformations) jest opartym na XML językiem.
Wprowadzenie do HTML, CSS, JavaScript, PHP
XML - podstawy Szymon Bohdanowicz. Pierwszy przykład Marek Szymon Przypomnienie Pamiętaj o spotkaniu w piątek.
Arkadiusz Twardoń ZTiPSK
Programowanie obiektowe – zastosowanie języka Java SE
XML – eXtensible Markup Language 2. Nazwy atrybutów i elementów w języku XML muszą spełniać te same reguły (te same reguły musza spełniać też inne, rzadziej.
XML – eXtensible Markup Language
Wprowadzenie do CSS Okiełznać style.
Specjalizacja "Dziennikarstwo On-line„ HTML – XHTML część 1 Prowadzący: Dariusz Jaruga
XML Publisher Przedmiot i zakres szkolenia Przedmiot i zakres szkolenia Przeznaczenie XML Publisher Przeznaczenie XML Publisher Definiowanie Definiowanie.
J A V A S C R I P T Obiekty Opracowała: Anna Śmigielska.
Projektowanie Aplikacji Internetowych
DOM Ewa Dukała Piotr Muszyński. DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM.
Temat 1: CSS Dołączanie stylów do dokumentu
Obiekty DOM.
Drzewo dokumentu html.
JQuery.
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Adresowanie elementów struktury dokumentów - XPath.
Obiektowe metody projektowania systemów XML eXtensible Markup Language.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
XML i nowoczesne technologie zarządzania treścią Michał Kuciapski
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.
Zapis prezentacji:

XPath. XSL – część 1.

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 pominąć, @ attribute:: // /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 * */para @name @* /doc/chapter[5]section[2] chapter//para chapter[title] chapter[title="Introduction"] employee[@secretary and @assistant]

Ważniejsze funkcje 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: http://www.w3.org/1999/XSL/Transform, rekomendacja W3C z 16 listopada 1999 r. XPath (XML Path Language): język opisu referencji do fragmentów dokumentu XML. XSL:FO (XSL Formatting Objects): słownik XML-owy pozwalający definiować formatowanie, przestrzeń nazw: http://www.w3.org/1999/XSL/Format, 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 (http://www.w3.org/TR/xsl/)

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

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: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:import href="..."/> <xsl:output-method="html"/> <xsl:param name="...">...</xsl:param> ... </xsl:stylesheet> Output methods: xml, html, text. Określanie arkusza stylów dla dokumentu: <?xml-stylesheet type="text/xsl" href="..."?>

Podstawy składni – przykład <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="wiersz"> <poemat> <tytul><xsl:value-of select="@tytul"/></tytul> <xsl:apply-templates/> </poemat> </xsl:template> <xsl:template match="zwrotka"> <xsl:apply-templates/><odstęp/> </xsl:template> <xsl:template match="wers"> <p><xsl:apply-templates/></p> </xsl:template> </xsl:stylesheet>

Przekształcenie – przykład <wiersz tytul="***"> <zwrotka> <wers>aaa</wers> <wers>bbb</wers> </zwrotka> <zwrotka> <wers>ccc</wers> <wers>ddd</wers> </zwrotka> </wiersz> <poemat><tytul>***</tytul> <p>aaa</p> <p>bbb</p> <odstęp/> <p>ccc</p> <p>ddd</p> <odstęp/> </poemat>

Wbudowane reguły <xsl:template match="*|/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="text()|@*"> <xsl:value-of select="."/> </xsl:template> <xsl:template match="processing-instruction()|comment()"/>

Wybór reguły spośród wielu pasujących Atrybut priority elementu xsl:template. Wybór pomiędzy regułami o najwyższym prorytecie – wg rodzaju testu: węzeł określonego typu o określonej nazwie: 0, węzeł określonego typu należący do określonej przestrzeni nazw: -0.25, węzeł określonego typu: -0.5, inne (bardziej specyficzne): 0.5.

Rodzaje przetwarzania XSLT (1) Przetwarzanie sterowane strukturą dokumentu źródłowego: przechodzimy po strukturze dokumentu źródłowego, generujemy fragmenty struktury dokumentu wyjściowego. <xsl:template match="..."> ... <xsl:apply-templates/> ... </xsl:template>

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. <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:template> </xsl:stylesheet>