1 / 22

Technologie

Łódź, 22 października 2012 roku. Technologie. mgr inż. Tomasz Węgliński email: tweglinski@kis.p.lodz.pl www: http://www.tweglinski.pl. WYKŁAD 4. XPath. 2/22. Co to jest XPath?. XPath (ang. XML Path Language - język ścieżek XML)

azia
Download Presentation

Technologie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Łódź, 22 października 2012 roku Technologie mgr inż. Tomasz Węglińskiemail: tweglinski@kis.p.lodz.plwww: http://www.tweglinski.pl

  2. WYKŁAD 4 XPath 2/22

  3. Co to jest XPath? XPath (ang. XML Path Language - język ścieżek XML) -- jest to język służący do adresowania części dokumentu XML. XPath to język deklaratywny, umożliwiający wskazywanie elementów, atrybutów czy całych fragmentów dokumentu XML. Nie zawiera on żadnych struktur powodujących jego przetwarzanie. • XPathjest wykorzystywany w innych standardach, takich jak: • transformacje XSL (XSLT) • odsyłacze XLink -- do wskazywania (adresowania) części dokumentu XML w odesłaniach hipertekstowych • wyrażenia XPointer -- jest to rozszerzenie XPath • schematy XMLSchema • zapytania XQuery -- do tworzenia zapytań XQuery 3/22 Wykład 7: XPath

  4. Cechy języka XPath • XPath to wyrażenie, którego składnia definiuje fragmenty dokumentu XML • XPath używa tzw. „ścieżek”, aby poruszać się po dokumencie XML • XPath posiada bibliotekę funkcji standardowych • XPath to główny składnik XSLT • XPath jest oficjalną rekomendacją organizacji W3C 4/22 Wykład 7: XPath

  5. Budowa wyrażeń XPath • Wyrażenia XPath umożliwiają wydobywanie informacji tekstowychoraz badanie drzewiastej struktury dokumentu. • Struktury omawianego języka mogą zwracać następujące wartości: • boolean – wartość logiczna • number – liczba • string – łańcuch tekstu • node-set – zbiór węzłów W języku XPath węzłem jest cały element dokumentu XML (wraz z podelementami, komentarzami i instrukcjami przetwarzania) 5/22 Wykład 7: XPath

  6. Budowa wyrażeń XPath • Ważne terminy: • Krok (ang. step) – jest to wyrażenie reprezentujące element, atrybut lub funkcję. Element może być określony przez nazwę lub określoną strukturę nawigacyjną. • Ścieżka (ang. path) – składa się z szeregu kroków oddzielonych symbolem „/”. • Wzorzec (ang. pattern) – wyrażenie zawierające szereg alternatywnych ścieżek. wzorzec dane/pozycja[1] | dane/pozycja[2]/kwota[@nr=4] | dane/pozycja[3] ścieżka krok krok 6/22 Wykład 7: XPath

  7. Budowa wyrażeń XPath Zwróć uwagę na znaczenie znaku „|” (!) • Ważne: • Jeżeli symbol „/” występuje samodzielnie lub jest pierwszym znakiem w wyrażeniu, to określa dostęp do korzenia dokumentu. • Jeżeli symbole „//” są pierwszymi znakami w wyrażeniu, to określają dostęp do korzenia dokumentu oraz jego potomków. 7/22 Wykład 7: XPath

  8. http://dret.net/lectures/xml-fall07/img/xpath-axes.png Drzewo XPath Słownik: ancestors – przodkowie parent – rodzic child – dzieci preceding – poprzednik descendant – potomkowie preceding-sibiling – rodzeństwa-poprzedniki sibiling – następnik following-sibiling – rodzeństwa-następniki 8/22 Wykład 7: XPath

  9. Drzewo XPath węzeł odniesienia Element <author> jest węzłem odniesienia, które elementy są: a) ancestorsb) parent c) preceding d) preceding-sibilinge) following f) following-sibiling g) descendant h) child 9/22 Wykład 7: XPath

  10. Składnia XPath • Wyszukiwanie węzłów 10/22 Wykład 7: XPath

  11. Składnia XPath • Wyszukiwanie węzłów – predykaty (ang. predicates) -- służą do wyszukiwania określonych węzłów lub węzłów zawierających określoną zawartość tekstową. 11/22 Wykład 7: XPath

  12. Składnia XPath • Wyszukiwanie węzłów – symbole wystąpień (ang. wildcard) 12/22 Wykład 7: XPath

  13. Składnia XPath • Wyszukiwanie węzłów (alternatywne podejście) Składnia: 13/22 Wykład 7: XPath

  14. Składnia XPath • Wyszukiwanie węzłów (alternatywne podejście) • Po łańcuchu „::” należy dołączyć nazwę elementu, symbol „*”, bądź wywołać jedną z czterech funkcji: • node() • text() • comment() • processing-instruction() 14/22 Wykład 7: XPath

  15. Składnia XPath • Operatory (ang. operators) 15/22 Wykład 7: XPath

  16. Składnia XPath Zobaczmy to w praktyce! http://www.w3schools.com/xpath/xpath_examples.asp 16/22 Wykład 7: XPath

  17. Funkcje XPath • Podstawowe (!) funkcje XPath umożliwiają operowanie na: • liczbach; • łańcuchach tekstów; • wartościach logicznych. • Każda z funkcji zwraca wynik, który może być dalej przetwarzany. • Język XPath umożliwia zagnieżdżanie funkcji. Pełna lista funkcji znajduje się pod adresem: http://www.w3schools.com/xpath/xpath_functions.asp Omawiane funkcje należą do biblioteki funkcji wykorzystywanych w XPath 2.0, XQuery 1.0 i XSLT 2.0. 17/22 Wykład 7: XPath

  18. Funkcje XPath • Operacje dotyczące liczb sum(//pozycja[1]/wartosc | //pozycja[2]/wartosc) 18/22 Wykład 7: XPath

  19. Operacje dotyczące tekstu (wybrane) Funkcje XPath concat(‘Kod: ’, //autor[1]/kod, //autor[1]/miasto) 19/22 Wykład 7: XPath

  20. Funkcje XPath • Operacje dotyczące tekstu (wybrane) 20/22 Wykład 7: XPath

  21. Funkcje XPath • Operacje dotyczące wartości logicznych • Przykład wyrażenia XPath: • boolean(//pozycja[1]/wartosc > pozycja[2]/wartosc) = true() 21/22 Wykład 7: XPath

  22. Ograniczenia XPath • Język XPath nie posiada mechanizmów do: • wyszukiwania łańcuchów tekstów rozciągających się poprzez kilka elementów; • wskazywania na znaczniki (początkowy lub końcowy); • wyszukiwania jednostek (encji) i sekcji CDATA • oznaczania punktów (określonych miejsc w tekście) lub zakresów (obszarów pomiędzy dwoma punktami). W przypadku konieczności korzystania z wymienionych funkcjonalnościnależy sięgnąć po język XPointer, który jest rozszerzeniem języka XPath. 22/22 Wykład 7: XPath

More Related