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

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

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

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 Path Language (XPath)

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

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

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

Prezentacja i transformacja

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

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

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

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

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią 2008/09. Instytut Informatyki UW

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

Słowem wstępu. Standard: W3C XPath razem XSLT 1.0. XPath razem z XQuery 1.0 i XSLT 2.0. XPath trwają prace nad XPath 3.

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

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

Prezentacja i transformacja

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią 2011/12

Wprowadzenie do XSLT

Języki XPath i XQuery

XML extensible Markup Language. część 6

Języki XPath i XQuery

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2011/12. Instytut Informatyki UW. Patryk Czarnik 08 XSLT XML 2011/12 1 / 54

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

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

Wprowadzenie do standardu XSL

XML extensible Markup Language. część 3

Języki XPath i XQuery

XML extensible Markup Language. część 4

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

XML extensible Markup Language. część 8

Języki i Techniki Programowania II. Wykład 13. TRaX, Applety, Java Security

Extensible Markup Language III

Rodzaje przetwarzania XSLT (1)

XPath i XQuery. Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią 2011/12. Wprowadzenie Status Model danych XPath

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

XML extensible Markup Language 3

Prezentacja dokumentów XML

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

XML i nowoczesne technologie zarządzania treścią

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

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

Wprowadzenie do standardu XSL

Aplikacje internetowe laboratorium XML, DTD, XSL

Przykładowy dokument XML

XML. 6.6 XPath. XPath is a syntax used for selecting parts of an XML document

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

XML i nowoczesne metody zarządzania treścią

Aplikacje internetowe. Interfejs użytkownika

Prezentacja dokumentów XML

Plan prezentacji XSLT. XSLT Ogólna charakterystyka. Drzewo XML. Wstęp. Przedmiot: XML i jego zastosowania. Zagadnienia podstawowe

Model semistrukturalny

Elektroniczna wymiana danych (EDI) jest to: - wymiana informacji pomiędzy komputerami, z użyciem powszechnie akceptowanych standardów

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

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

<body> <div style="max-width: 900px; margin: 0 auto;">

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

Technologie internetowe

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1

Prezentacja dokumentów XML

UCHWAŁA NR L/932/13 RADY MIASTA MYSŁOWICE. z dnia 19 grudnia 2013 r.

Prezentacja dokumentów XML

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

Przykładowy dokument XML

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Semistrukturalne bazy danych Wykład dla studentów matematyki

Informatyka (10) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro

29. Poprawność składniowa i strukturalna dokumentu XML

Przykładowy dokument XML

Przegląd języków zapytań

XML & XSLT. Programowanie w Javie 2

Układ informacji i powiązań między danymi w deklaracji w formacie XML

XML extensible Markup Language. Paweł Chodkiewicz

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

XML i nowoczesne technologie zarządzania treścią

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Wprowadzenie do technologii XML

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

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

Podstawowe konstrukcje Podstawowymi konstrukcjami są wzorce element oraz attribute:

XML i nowoczesne technologie zarządzania treścią

Prezentacja dokumentów XML

Dlaczego Python jest lepszy od XSLT?

Drzewa DOM. Maciej Zakrzewicz.

Literatura. Głównie informacje w sieci:

Podstawy (X)HTML i CSS

METODY REPREZENTACJI INFORMACJI

Jak wygląda XML? Definiowanie typów dokumentów Część 1. DTD, XML Schema. Struktura logiczna dokumentu XML. Składnia XML. Encje predefiniowane.

XML DTD XML Schema CSS

Intro. I.Wojnicki, ZTB:XML ZTB: XML. Igor Wojnicki. Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie.

1 Model semistrukturalny 1 2 XML 3. 3 XPath 8. 4 Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML

XML extensible Markup Language. część 5

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

Jak wygląda XML? Definiowanie typów dokumentów. Struktura logiczna dokumentu XML. Podstawy składni XML. Definiowanie języków. Poprawność dokumentów

HTML DOM, XHTML cel, charakterystyka

Rola języka XML narzędziem

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl

λ 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

Transkrypt:

XPath XML Path Language XPath. XSLT część 1 Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: abstrakcyjny drzewiasty model struktury dokumentu, normalizacja zawartości dokumentu (ten sam byt, choć różnie zakodowany, jest tak samo reprezentowany w modelu), język oparty na ścieżkach w drzewie struktury. Status: wersja 1.0 rekomendacja W3C z 16 listopada 1999 r., wersja 2.0 candidate recommendation z 3 listopada 2005. Zastosowania: XSL, XPointer,... 2005-11-10 XPath. XSLT część 1 2 XPath data model Wyrażenia XPath 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. Typy wyrażeń: node-set, boolean, number, string. Węzeł bieżący (context node). Poruszanie się w hierarchii elementów: / /book/section section/para 2005-11-10 XPath. XSLT część 1 3 2005-11-10 XPath. XSLT część 1 4 Location paths Osie (axes) Ś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"] 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 2005-11-10 XPath. XSLT część 1 5 2005-11-10 XPath. XSLT część 1 6

Testy węzłów Zapis skrócony 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) 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 2005-11-10 XPath. XSLT część 1 7 2005-11-10 XPath. XSLT część 1 8 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] //country[not(.=preceding::country)] 2005-11-10 XPath. XSLT część 1 9 2005-11-10 XPath. XSLT część 1 10 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. 2005-11-10 XPath. XSLT część 1 11 2005-11-10 XPath. XSLT część 1 12

XSL części składowe XSL a XSLT 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, wersja 1.0 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: http://www.w3.org/1999/xsl/format, opisany w rekomendacji XSL 1.0 z 15 października 2001 r. Źródło: Extensible Stylesheet Language (XSL) Version 1.0, W3C Recommendation 15 October 2001 (http://www.w3.org/tr/xsl/) 2005-11-10 XPath. XSLT część 1 13 2005-11-10 XPath. XSLT część 1 14 Arkusze stylów a przekształcenia Zasada działania przekształcenia XSLT CSS arkusze stylów FOSI XSL faktura PDF DSSSL XSLT faktura HTML przekształcenia XSLT zamówienie faktura Omnimark ustawa (RTF) ustawa (XML) Reguła XSLT: wyrażenie XPath określające 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 wywołać reguły dla innych węzłów. 2005-11-10 XPath. XSLT część 1 15 2005-11-10 XPath. XSLT część 1 16 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> </poemat> <xsl:template match="zwrotka"> <odstęp/> <xsl:template match="wers"> <p></p> </xsl:stylesheet> 2005-11-10 XPath. XSLT część 1 17 2005-11-10 XPath. XSLT część 1 18

Przekształcenie przykład Wbudowane reguły <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> <xsl:template match="* /"> <xsl:template match="text() @*"> <xsl:value-of select="."/> <xsl:template match="processing-instruction() comment()"/> 2005-11-10 XPath. XSLT część 1 19 2005-11-10 XPath. XSLT część 1 20 Generowanie dokumentu wyjściowego Szablony wartości atrybutów Elementy i tekst literalnie podane w przekształceniu. Instrukcje generujące: <xsl:value-of select="string-expression"/> <xsl:element name="..."/> <xsl:attribute name="..."/> <xsl:text/> <xsl:processing-instruction name="..."/> <xsl:comment/> <xsl:copy/> 2005-11-10 XPath. XSLT część 1 21 W określonych atrybutach można wstawiać wyrażenia XPath w nawiasach klamrowych {}. <img src="{@nazwa}.gif"/> <xsl:element name="h{count(ancestor::*)}"/> Element XSLT literalny element dokumentu wyjściowego element attribute number sort processing-instruction Atrybuty dowolny atrybut spoza przestrzeni nazw XSLT name, namespace name, namespace level, count, from, format, lang, grouping-separator, grouping-size order, lang, data-type, case-order name 2005-11-10 XPath. XSLT część 1 22 Przetwarzanie warunkowe: if Przetwarzanie warunkowe: choose <xsl:template match="item"> <tr> <xsl:if test="position() mod 2 = 0"> <xsl:attribute name="bgcolor">yellow</xsl:attribute> </xsl:if> </tr> <xsl:template match="orderedlist/item"> <xsl:variable name="level" select="count(ancestor::orderedlist) mod 3"/> <xsl:choose> <xsl:when test='$level=1'> <xsl:number format="i"/> </xsl:when> <xsl:when test='$level=2'> <xsl:number format="a"/> </xsl:when> <xsl:otherwise> <xsl:number format="1"/> </xsl:otherwise> </xsl:choose> <xsl:text>. </xsl:text> <xsl:apply-templates> 2005-11-10 XPath. XSLT część 1 23 2005-11-10 XPath. XSLT część 1 24

Pętle Gdzie szukać dalej <xsl:template match="index"> <h1>index</h1> <xsl:for-each select="//keyword"> <p><xsl:value-of select="text()"/></p> </xsl:for-each> The Extensible Stylesheet Language Family: www.w3.org/style/xsl XSLT Tutorial: www.zvon.org/xxl/xsltutorial/output TopXML: www.topxml.com/xsl www.topxml.com/xsltstylesheets 2005-11-10 XPath. XSLT część 1 25 2005-11-10 XPath. XSLT część 1 26