|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XPath (ang. XML Path Language, w wolnym tłumaczeniu Język Ścieżek XML, Język Ścieżek Rozszerzalnego Języka Znaczników) – język służący do adresowania części dokumentu XML. XPath został oryginalnie zaprojektowany dla XSLT i XPointer, ale znajduje zastosowanie także w DOM oraz językach bazujących na XML, np. XQuery, XUL.
edytuj Budowa wyrażeńDo wskazania w XPath węzła lub zbioru węzłów używa się ścieżki lokalizacji. Ścieżka ta z kolei składa się z jednego lub więcej kroków lokalizacji oddzielanych od siebie znakami / lub //. Jeśli ścieżka zaczyna się od /, nazywamy ją ścieżką bezwzględną, gdyż całą ścieżkę podaje się względem węzła głównego. W przeciwnym wypadku ścieżkę nazywamy względną, zaczyna się ona od bieżącego węzła nazywanego węzłem kontekstowym. Krok lokalizacji składa się z osi, badania węzła oraz zera lub więcej predykatów. Jeśli np. wyrażenie ma postać child::n:Kontakt[position()=2] nazwą osi jest child, badanie węzła to wyrażenie: n:Kontakt natomiast zapis: [position()=2] to predykat. Ścieżki lokalizacji składać się mogą z jednego lub więcej kroków lokalizacji, np. /descendant::n:Adresy/child::n:Adres wybiera elementy n:Adres mające rodzica n:Adresy. edytuj Osie XPathOś to kolekcja węzłów lub atrybutów o określonym pokrewieństwie wobec węzła kontekstowego.
edytuj Badanie węzłów w XPathJako testów węzłów można użyć nazw węzłów, można też uzyć znaku * do wybrania wszystkich elementów. Np. wyrażenie: child::*/child::n:Email powoduje wybranie elementów n:Email będących „wnukami” węzła kontekstu. Można też użyć innych testów:
edytuj Predykaty XPathPredykaty zawierają wyrażenia XPath. Aby otoczyć predykat i przetestować to, czy występuje określony warunek, można użyć operatora []. Można na przykład przestować:
W predykatach można użyć dowolnego rodzaju typu wyrażeń:
edytuj Zbiory węzłów XPathZbiór węzłów – jak wskazuje sama nazwa - to po prostu zbiór węzłów. Wyrażenie takie jak n:Zainteresowania zwraca zbiór węzłów elementów n:Zainteresowania. Wyrażenie: child::n:Zainteresowania/child::n:Zainteresowanie zwraca listę węzłów elementów n:Zainteresowanie będących dziećmi elementów n:Zainteresowania. Do wybrania ze zbioru węzła lub węzłów można użyć różnych funkcji używanych w predykatach. edytuj Funkcje XPath
edytuj Wyrażenia logiczne XPathW wyrażeniach XPath można używać także wyrażeń logicznych. Liczba uważana jest za fałsz, jeśli jest równa zeru i uważana za prawdę w każdym innym przypadku. Napis pusty () uważany jest za fałsz, wszystkie inne napisy odpowiadają prawdzie. Operatory logiczne XPath umożliwiają wyliczenie wartości typu prawda-fałsz:
Poszczególne elementy wyrażenia logicznego łączyć można spójnikami and i or, podobnie jak w JavaScripcie i Javie. Istnieją też funkcje true() i false() zwracające zawsze wartości odpowiednio prawdy i fałszu, a funkcji not() można użyć do odwrócenia logicznej wartości wyrażenia. edytuj Liczby w XPathLiczby w XPath zapisywane są jako zmiennprzecinkowe liczby podwójnej precyzji. W takiej postaci przechowywane są wszystkie liczby, nawet liczby całkowite jak np. 2.
XPath obsługuje także kilka funkcji działających na liczbach:
edytuj Napisy w XPathNapisy XPath składają się ze znaków Unicode. Poniżej zestawiono funkcje operujace na napisach:
edytuj Składnia skrócona XPath
edytuj Zobacz teżedytuj Linki zewnętrzne
Technologie związane z XML-em (Extensible Markup Language)
Rdzenne technologie XML-a: Namespaces in XML • XML Inclusions (XInclude) • XML Information Set • xml:id Języki stylistyczne: Cascading Style Sheets (CSS) • Document Style Semantics and Specification Language (DSSSL), Rodzina Extensible Stylesheet Language: Języki z rodziny XML Linking: XML Linking Language (XLink) • XML Base • XML Pointer Language (XPointer) Języki zapytań dokumentów XML: XML Path Language (XPath) • XML Query Language (XQuery) • XML Syntax for XQuery (XQueryX) Rodzaje schematów dokumentów XML: Document Type Definition (DTD) • XML Schema • REgular LAnguage for XML Next Generation (RELAX NG) |
| All Right Reserved © 2007, Designed by Stylish Blog. |