Upload
kawena
View
53
Download
0
Embed Size (px)
DESCRIPTION
Technol ógie XML. XPath (XML Path Language) September , 2011. Vznik XPath. Je to „pomocná“ technológia cieľom bola podpora technológií XSLT, XPointer, XQuery Poskytuje funkčnosť, zdieľanú podporovanými technológiami Umožňuje: adresovanie v rámci XML dokumentu - PowerPoint PPT Presentation
Citation preview
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1
Technológie XML
XPath (XML Path Language)
September, 2011
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 2
Vznik XPath• Je to „pomocná“ technológia
• cieľom bola podpora technológií XSLT, XPointer, XQuery
• Poskytuje funkčnosť, zdieľanú podporovanými technológiami
• Umožňuje:• adresovanie v rámci XML dokumentu• prostriedky pre manipuláciu s reťazcami, číslami a
booleovskými hodnotami
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 3
Vlastnosti XPath• Kompaktná syntax (nie je XML aplikáciou)
• je vyžadované jeho použitím (napr. v hodnotách atribútov)
• Pracuje na logickej (hierarchickej) štruktúre XML dokumentu
• Jeho aplikácia má charakter výrazu, výsledkom vyhodnotenia ktorého je• množina uzlov vyhovujúca výrazu• booleovská hodnota reprezentujúca platnosť výrazu• hodnota reprezentujúca hodnotu výrazu v kontexte
dokumentu
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 4
Stav XPath• Spravovaný W3C (http://www.w3.org)
• XML Path Language 1.0 (štandard)• W3C working draft – júl 1999• W3C recommendation – november 1999
• XML Path Language 2.0 (štandard v 2.edícii)• W3C working draft – júl 2004• W3C recommendation – január 2007• W3C recommendation – 2.edícia – december 2010
• XML Path Language 3.0• W3C working draft – jún 2011
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 5
Knižnica – značkovaný dokument<kniznica>
...
<kniha typ="rozpravka" jazyk="slovensky" kolekcia="ano">
<autor>Pavol Dobšinský</autor>
<nazov>Slovenské rozprávky</nazov>
<rok>1994</rok>
<obsah>
<cast>Slncový kôň</cast>
<cast>O dvanástich mesiačikoch</cast>
...
</obsah>
</kniha>
...
</kniznica>
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 6
Knižnica – logická štruktúra
text
typ
/
jazyk kolekcia
kniznica
kniha
autor nazov rok cast
obsah
cast
texttexttexttext
... ...
...
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 7
XPath výraz• Výraz má tvar
//ucitel/uvazok[@forma="prednaska"]/parent::*/meno• cesta v logickej štruktúre dokumentu• obohatená o podmienky, logické spojky, volanie funkcií a
zmeny smeru• Kombinovaný výraz: výraz | výraz
• Vyhodnotenie sa realizuje v určitom kontexte, ktorým môže byť• koreň dokumentu reprezentujúci celý dokument• nejaký uzol logickej štruktúry dokumentu (aktuálny uzol)
• výraz začína znakom "/" (koreň) alebo iným znakom (aktuálny uzol)
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 8
Adresovanie elementov• kniha• /kniha• /kniznica• //kniha• //kniha/obsah/cast• //kniha//cast• //kniha/*/cast• //obsah/*• *• //*
text
/
kniznica
kniha
autor nazov rok cast
obsah
cast
texttexttexttext
... ...
...
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 9
Adresovanie atribútov• @jazyk• @*• /kniznica/@*• //kniha/@kolekcia• //kniha/@*• //*/@jazyk
typ
/
jazyk kolekcia
kniznica
kniha... ...
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 10
Adresovanie textu• //kniha/text()• //kniha/nazov/text()• //kniha/text()
text
/
kniznica
kniha
autor
nazov rok cast
obsah
cast
texttexttexttext
... ...
...
text
text texttext
text
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 11
Podmienky – výskyt a hodnota• //*[@jazyk]• //*[@*]• //kniha[@jazyk="slovensky"]• //kniha[rok="2010"]/nazov• //kniha[@jazyk="slovensky"
and rok="2010"]• //kniha[not(rok="2010")]• //kniha[rok>"2000"]
/
jazyk
kniznica
kniha
rok cast
obsah
cast
texttexttext
...
...
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 12
Podmienky – pozícia• //kniha//cast[1]• //kniha//cast[last()]• //kniha//cast[position() > 2]• //kniha/@*[2]• //kniha[rok="2011"][1]• //kniha[1][rok="2011"]
/
kniznica
kniha
rok cast
obsah
cast
texttexttext
...
... cast
text
typ jazyk kolekcia
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 13
Podmienky – funkcie• //kniha[@typ="rozpravka"]//cast/text()[starts-with(.,"O dvanástich")]• //kniha[@typ="rozpravka"]//text()[starts-with(.,"O dvanástich")]• //kniha/obsah/cast[position() = floor(last() div 2 + 0.5)]• //kniha/autor[contains(text(),"Pavol"]• //kniha/autor/text()[contains(.,"Pavol"]• //kniha[count(obsah/cast) > 10]• //*[string-length(name()) > 5]• //*[starts-with(name(),"kni"]
• Referencia: http://www.w3schools.com/xpath/xpath_functions.asp
text
typ
/
kniha
autor nazov cast
obsah
cast
texttexttext
...
kniznica
...
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 14
Smery pohybu• /child::kniznica/child::kniha• /kniznica/kniha• /descendant::kniha/autor• //kniha/autor• //
autor[contains(text(),"Dobšinský"] /parent::*/@jazyk
• //autor[contains(text(),"Dobšinský"] /../@jazyk/text()
• //cast[contains(text(),"O dvanástich"]/preceding-sibling::cast
• //cast[contains(text(),"O dvanástich"]/ancestor::*/autor
text
/
jazyk
kniznica
kniha
autor
cast
obsah
cast
texttext
...
...