XPath: Porovnání verzí

Smazaný obsah Přidaný obsah
JAnDbot (diskuse | příspěvky)
m Robot: přidáno {{Autoritní data}}; kosmetické úpravy
+infobox; wikifikace
Řádek 1:
{{Infobox - programovací jazyk
'''XPath''' (''XML Path Language'') je počítačový [[formální jazyk|jazyk]], pomocí kterého lze adresovat části [[Extensible Markup Language|XML]] dokumentu. Pomocí tohoto jazyka lze z XML dokumentu vybírat jednotlivé elementy a pracovat s jejich hodnotami a atributy. XPath se používá v mnoha aplikacích XML, mezi nejvýznamnější patří využití v [[XSLT]]. Jazyk XPath je [[Technická norma|standardem]] vydaným organizací [[World Wide Web Consortium|W3C]].
| název = XPath
| logo =
| paradigma = [[dotazovací jazyk]]
| vznik =
| autor =
| vývojář = [[World Wide Web Consortium|W3C]]
| první oznámení = 1999
| první vydání =
| poslední verze = 3.1
| datum poslední verze = 21. března 2017
| poslední testovací verze =
| datum poslední testovací verze =
| typování =
| implementace =
| dialekty =
| ovlivněno = [[Extensible Stylesheet Language Transformations|XSLT]], [[XPointer]]
| ovlivnil = [[XML Schema]], [[XForms]]
| operační systém =
| licence =
| web =
}}
'''XPath''' (''XML Path Language'') je počítačový [[formální jazyk|jazyk]], pomocí kterého lze adresovat části [[Extensible Markup Language|XML]] dokumentu. Pomocí tohoto jazyka lze z  XML dokumentu vybírat jednotlivé elementy a  pracovat s  jejich hodnotami a atributy. XPath se používá v  mnoha aplikacích XML, mezi nejvýznamnější patří využití v  [[Extensible Stylesheet Language Transformations|XSLT]]. Jazyk XPath je [[Technická norma|standardem]] vydaným organizací [[World Wide Web Consortium|W3C]].
 
== Syntaxe jazyka ==
Řádek 9 ⟶ 31:
Nejjednodušší zápis používá pouze položky test a má tvar např. <code>/A/B/C</code>, přičemž označuje množinu elementů <code>C</code>, které jsou uvnitř elementů <code>B</code>, které jsou uvnitř elementu <code>A</code>, který je kořenovým elementem dokumentu. Takový zápis je podobný zápisu cesty k souboru v souborovém systému, případně [[Uniform Resource Locator|URL]]. U složitějších dotazů se místo implicitní osy <code>child</code> (potomek) může zapsat jiná osa, oddělená čtyřtečkou, případně predikáty, uvedené jako seznam podmínek v hranatých závorkách. Příkladem takového složitějšího dotazu je <code>/A/B/following-sibling::*[1]</code>, který vybere všechny (libovolně pojmenované) elementy, které jsou prvním elementem následujícím po elementu <code>B</code>, který je uvnitř kořenového elementu <code>A</code>.
 
Specifikace osy popisuje směr pohybu po [[stromStrom (informatikadatová struktura)|stromové]] reprezentaci XML dokumentu. Je definováno celkem 13 os, mezi nimi například <code>child</code> (dítě, implicitní), <code>descendant</code> (potomek), <code>parent</code> (rodič), <code>ancestor</code> (předek), <code>attribute</code> (atribut) apod. Pro některé často používané osy existuje zkratka zápisu, takže např. místo <code>attribute::id</code> lze psát <code>@id</code>.
 
Kromě výrazů popisujících cestu jsou v XPath definovány také běžnější číselné, logické ad. výrazy, které se používají nejčastěji v rámci predikátů. Příkladem je výraz popisující cestu <code>//zboží[@sleva >= @cena div 2]</code>, který najde všechny elementy <code>zboží</code>, jejichž atribut <code>sleva</code> má hodnotu nejméně poloviny hodnoty atributu <code>cena</code>. V podobných výrazech lze používat operátory a funkce ze standardní knihovny.
Řádek 19 ⟶ 41:
* Atribut <code>edits</code> elementu <code>group</code> s atributem <code>name</code> rovným <code>main</code>: <code>group[@name="main"]/@edits</code>
 
== OdkazyExterní odkazy ==
* {{commonscat}}
 
=== Externí odkazy ===
 
* [http://www.w3.org/TR/xpath www.w3.org/TR/xpath] – Standard XPath verze 1.0 (anglicky)
* [http://interval.cz/clanky/zaklady-jazyka-xpath/ Základy jazyka XPath]
Řádek 29 ⟶ 49:
* [http://www.data2type.de/xml-xslt-xslfo/xpath/xpath-einfuehrung XPath Tutorial] {{de}}
* [http://www.data2type.de/xml-xslt-xslfo/xslt/xsltundxpathreferenz XSLT and XPath Reference] {{de}}
 
{{Autoritní data}}