14
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1 Technológie XML XPath (XML Path Language) September, 2011

Technol ógie XML

  • 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

Page 1: Technol ógie XML

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1

Technológie XML

XPath (XML Path Language)

September, 2011

Page 2: Technol ógie XML

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

Page 3: Technol ógie XML

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

Page 4: Technol ógie XML

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

Page 5: Technol ógie XML

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>

Page 6: Technol ógie XML

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

... ...

...

Page 7: Technol ógie XML

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)

Page 8: Technol ógie XML

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

... ...

...

Page 9: Technol ógie XML

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... ...

Page 10: Technol ógie XML

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

Page 11: Technol ógie XML

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

...

...

Page 12: Technol ógie XML

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

Page 13: Technol ógie XML

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

...

Page 14: Technol ógie XML

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

...

...