XML Path Language (XPath)



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

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)

Wprowadzenie do XSLT

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

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

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

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

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

Prezentacja i transformacja

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. Instytut Informatyki UW. XML i nowoczesne technologie zarzadzania treścia 2007/08

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

Języki XPath i XQuery

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

Prezentacja i transformacja

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

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

Wprowadzenie do standardu XSL

XML extensible Markup Language. część 6

Rodzaje przetwarzania XSLT (1)

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

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

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.

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

Języki XPath i XQuery

XML extensible Markup Language. część 4

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

XML extensible Markup Language. część 3

XML extensible Markup Language 3

Języki XPath i XQuery

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

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

XML extensible Markup Language. część 8

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

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

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

Extensible Markup Language III

Wprowadzenie do standardu XSL

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

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

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

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

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

XML & XSLT. Programowanie w Javie 2

Technologie internetowe

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

METODY REPREZENTACJI INFORMACJI

Wykład 5_2 Arkusze stylów dziedziczenie. Technologie internetowe Zofia Kruczkiewicz

UCHWAŁA NR XLIII/569/14 RADY MIEJSKIEJ W CZERWIONCE-LESZCZYNACH. z dnia 25 kwietnia 2014 r.

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

XML i nowoczesne metody zarządzania treścią

XML i nowoczesne technologie zarządzania treścią

UKŁAD INFORMACJI I POWIĄZAŃ MIĘDZY NIMI W INFORMACJI W SPRAWIE PODATKU LEŚNEGO (IL-1) W FORMACIE DANYCH XML

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŚLĄSKIEGO

Przegląd języków zapytań

XML i nowoczesne technologie zarządzania treścią

Przykładowy dokument XML

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŚLĄSKIEGO

Aplikacje internetowe. Interfejs użytkownika

Inżynieria biomedyczna

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

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

Aplikacje internetowe laboratorium XML, DTD, XSL

λ 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

UCHWAŁA NR XLII/992/13 RADY MIASTA KATOWICE. z dnia 27 listopada 2013 r.

Dlaczego Python jest lepszy od XSLT?

UCHWAŁA NR XL/527/14 RADY MIEJSKIEJ W CZERWIONCE-LESZCZYNACH. z dnia 29 stycznia 2014 r.

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

Przykładowy dokument XML

Zaawansowany kurs języka Python

Układ informacji i powiązań między nimi w deklaracji na podatek leśny (DL-1) w formacie danych XML

XML extensible Markup Language. część 5

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

Prezentacja dokumentów XML

Facelets ViewHandler

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

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

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

HTML DOM, XHTML cel, charakterystyka

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

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

UCHWAŁA NR 135/XXVII/13 RADY MIASTA ZAMBRÓW. z dnia 26 marca 2013 r.

Egzamin z przedmiotu Projektowanie języków XML imię i nazwisko. Zadanie Suma Punkty Max Punkty

Drzewa DOM. Maciej Zakrzewicz.

Podstawy programowania w języku JavaScript

Obiektowe bazy danych

Literatura. Głównie informacje w sieci:

JĘZYKI WYSZUKIWANIA W DOKUMENTACH XML

Przykładowy dokument XML

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

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

Kurs rozszerzony języka Python

Bazy Danych i Usługi Sieciowe

Programowanie Komputerów

252 Bazy danych. Praca z językiem XML

Układ informacji i powiązań między danymi w deklaracji o wysokości opłaty za gospodarowanie odpadami komunalnymi w formacie danych XML

Transkrypt:

XML Path Language (XPath) 1 Cel adresowanie elementów /częś ci dokumentu XML składnia podobna do URI wyszukiwanie elementów bądź grup elementów dokument jako drzewo typy węzłów: element, attribute, text wyrażenie (expression) jako podstawowa konstrukcja składniowa Wynik ewaluacji wyrażenia (obiekt) Zbiór węzłów (node set) Wartość logiczna Liczba Napis Kontekst ewaluacji wyrażenia = węzeł (context node) + pozycja (context position) + rozmiar (context size) + dowiązania zmiennych (variable bindings) + biblioteka funkcji (function library) + deklaracje przestrzeni nazewniczych (namespace declarations)

Location Paths szczegó lny przypadek wyrażeń 2 Element ś cieżki składa się z: osi (axis) testu węzła (node test) predykatów (predicates) axis :: node test [predicate][predicate]... Relacja do węzła kontekstu (context node) Typ i nazwa węzła wynikowego Filtry child::para[position()=1] /child::doc/child::chapter[position()=5]/child::section /descendant::olist/child::item

ancestor or self Testy węzłó w Osie w Location Paths 3 child descendant parent ancestor (zawsze zawiera element korzeń) following sibling, preceding sibling following, preceding (bez potomków, atrybutów i przestrzeni nazw) attribute ( principal node atrybut ) namespace ( principal node namespace ) self descendant or self Element pasuje, jeśli jego typ się zgadza z podstawowym typem osi oraz nazwa jest równa podanej Symbol * oznacza każdy węzeł text(), comment(), processing instruction(), node()

Składnia skró cona 4 child jest osią domyślną attribute:: może być przedstawiony jako @ // jest równoważne /descendant or self::node()/. oznacza self::node().. oznacza parent::node() [x] jest równe [position()=x] Przykłady: para../@lang text() chapter//para @name para[last()] @*.//para */para /doc/chapter[5]/section[2] para[@type="warning"] employee[@secretary and @assistant]

Core Function Library (wybrane funkcje) 5 Zbiory węzłów last() zwraca context size, position() zwraca context position, count(node set) liczebność zbioru węzłów local name(node set), name(node set), namespace uri(node set) id(object) id("ala") id("ala")/child::para[position()=5] Napisy string(object), concat(string,string,string*), starts with(string,string), contains(string,string), substring(string,number,number?), string length(string?) Wyrażenia logiczne Wyrażenia arytmetyczne

XSL Transformations 6 drzewo źródłowe Template Rule Template Rule... Template Rule XSLT Stylesheet drzewo docelowe Template Rule Wzorzec (Pattern) Definiowany przy użyciu XPath Szablon (Template) Opisuje fragment drzewa docelowego

Stylesheet 7 Dokument taki zawiera zwykłe elementy XML oraz elementy z przestrzeni nazewniczej http://www.w3.org/1999/xsl/transform stylesheet <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:import href="..."/> <xsl:include href="..."/> <xsl:strip space elements="..."/> <xsl:preserve space elements="..."/> <xsl:output method="..."/> <xsl:key name="..." match="..." use="..."/> <xsl:decimal format name="..."/> <xsl:namespace alias stylesheet prefix="..." resultprefix="..."/> <xsl:attribute set name="...">... </xsl:attribute set> <xsl:variable name="...">...</xsl:variable> <xsl:param name="...">...</xsl:param> <xsl:template match="...">... <xsl:template name="...">... </xsl:stylesheet>

Składnia uproszczona Literal Result Element 8 <html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns="http://www.w3.org/tr/xhtml1/strict"> <head> <title>tutaj tytuł</title> </head> <body> <p>podsumowanie: <xsl:value of select="wydatki/razem"/></p> </body> </html> <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>tutaj tytuł</title> </head> <body> <p>podsumowanie: <xsl:value of select="wydatki/razem"/></p> </body> </html> </xsl:stylesheet>

Wybrane pomocnicze elementy XSLT 9 xsl:include (top level) <xsl:include href = uri reference /> xsl:import (top level) <xsl:import href = uri reference /> xsl:strip space / xsl:preserve space (top level) <xsl:strip space elements = tokens /> <xsl:preserve space elements = tokens /> xsl:variable / xsl:param <xsl:variable name="para font size">12pt</xsl:variable> <xsl:template match="para"> <fo:block font size="{$para font size}"> <xsl:apply templates/> </fo:block>

Przetwarzanie dokumentu 10 Model przetwarzania Szablon <xsl:template match = pattern name = qname priority = number mode = qname> <! Content: (xsl:param*, template) > <xsl:apply templates select = node set expression mode = qname> <! Content: (xsl:sort xsl:with param)* > </xsl:apply templates> Przykłady: <xsl:template match="rozdzial"> <p> <xsl:apply templates/> </p> <xsl:template match="ksiazka"> <p align= center > <xsl:apply templates select=".//rozdzial"/> </p>

Wstawianie nowych elementó w 11 Tag <xsl:element name = { qname } namespace = { uri reference } use attribute sets = qnames> <! Content: template > </xsl:element> Atrybut <xsl:attribute name = { qname } namespace = { uri reference }> <! Content: template > </xsl:attribute> Tekst <xsl:text disable output escaping = "yes" "no"> <! Content: #PCDATA > </xsl:text> Komentarz <xsl:comment> <! Content: template > </xsl:comment>

Wstawianie nowych elementó w cd 12 Wartość wyliczona <xsl:value of select = string expression disable output escaping = "yes" "no" /> <xsl:template match="osoba"> <p> <xsl:value of select="@imie"/> <xsl:text> </xsl:text> <xsl:value of select="@nazwisko"/> </p> <xsl:template match="ksiazka"> <p> Ilość rozdziałów: <xsl:value of select="count(rozdzial)"/> </p> Pętla <xsl:for each select = node set expression> <! Content: (xsl:sort*, template) > </xsl:for each> Instrukcja warunkowa (if,choose,when,otherwise) <xsl:if test = boolean expression> <! Content: template > </xsl:if>