1 / 14

Technol ógie XML Prednáška č. 7

Technol ógie XML Prednáška č. 7. XPath. Pre čo dotazovať XML?. Formáty pre zápis „ dotazov“ potrebujeme pretože: potrebujeme extrahovať časti XML dokumentu, potrebujeme transformovať informácie do inej formy, potrebujeme prepojiť časti jedného/viacerých XML.

efuru
Download Presentation

Technol ógie XML Prednáška č. 7

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. Technológie XMLPrednáška č.7 XPath

  2. Prečo dotazovať XML? • Formáty pre zápis „dotazov“ potrebujeme pretože: • potrebujeme extrahovať časti XML dokumentu, • potrebujeme transformovať informácie do inej formy, • potrebujeme prepojiť časti jedného/viacerých XML. • Dotaz nám poskytuje možnosť získať konkrétny údaj, ktorý je špecifikovaný polohou v štruktúre.

  3. XML dotazovacie jazyky • XPath • Základný dotazovací jazyk. • Veľmi obmedzená selekcia operátorov. • Veľmi často používaný (XSLT, Schematron) • XQuery • Nový a elegantný jazyk W3C. • Vcelku intuitívny, založený na SQL. • SQL/XML • Snaha prepojiť SQL a XML.

  4. XML PathLanguage = XPath • XPath • XPath nazerá na XML dokument ako na strom • Koreňový uzol je abstraktná entita a nekorešponduje zo žiadnym z elementov z XML, • Interné uzly sú prezentované elementmi, • Listové uzly sú buď: • Atribúty • Text • Komentáre

  5. Príklad

  6. Terminológia • Parent/Rodič priamonadradený uzol v hierarchii. • Child/Dieťa priamo podriadený uzol v hierarchii. • Ancestor/Predok nadriadený uzol, ľubovoľne vzdialený. • Descendant/Potomok podriadený uzol, ľubovoľne vzdialený.

  7. Základy XPath • Absolutná cesta k uzlu v strome s operátorom „/“: • Napr. Students/Student/ • Relatívna cesta (operátor „//“): • Napr. //Student • Označenie atribút „@“ • /Student/@id • Operátor „*“ • zhodujesa s ľubovoľným uzlom

  8. ZákladyXPath • text() = text, ktorý element obsahuje. • comment() = text komentára. • name() = meno súčasného elementu. • count() = spočíta počet špecifikovaných elementov. • sum() = spočíta hodnoty v špecifikovaných elementoch. • contains() = zisťuje či sa podreťazec nachádza v texte elelemntu/atribútu.

  9. Základy XPath • Zápis podmienok: • Pomocou predikátu ďalej špecifikujeme dotazované elementy. • //Student[count(//*) > 3] • Podmienkymôžeme združovať pomocou operátorov and a or. • Predikátom môže byť: • Výraz • Funkcia • Niekoľko Xpath výrazov môže byť skombinovaných pomocou | • //Student | //Teacher

  10. Neskrátená syntax • ancestor – vyberie všetkých predkov vzhľadom na aktuálny uzol. (//ancestor::Student) • descendant - //Student[count(descendant::*)>2] • Berú do úvahy iba priamych predkov/potomkov: • parent • Child • following-sibling – vyberá nasledujúce elementy, ktoré sú hirarchicky rovnako hlboko. • self – vyberá aktuálny uzol

  11. //kniha[contains(vydavatel,"Ik")] <?xml version="1.0" encoding="iso-8859-2"?> <kniznica> <kniha cielova-skupina="deti" jazyk="slovensky" typ="rozpravka" kolekcia="ano"> <autor><meno>Pavol Dobsinsky</meno> </autor> <nazov>Slovenskerozpravky</nazov> <vydanie>1994</vydanie> <vydavatel>Ikar</vydavatel> <rozsah jednotka="strana">120</rozsah> </kniha> </kniznica>

  12. //*[@jednotka="strana"]/text() <?xml version="1.0" encoding="iso-8859-2"?> <kniznica> <kniha cielova-skupina="deti" jazyk="slovensky" typ="rozpravka" kolekcia="ano"> <autor><meno>Pavol Dobsinsky</meno> </autor> <nazov>Slovenskerozpravky</nazov> <vydanie>1994</vydanie> <vydavatel>Ikar</vydavatel> <rozsah jednotka="strana">120</rozsah> </kniha> </kniznica>

  13. Aplikácie XPath • XSLT – vyberanie informácií z XML a transformácia formy ich prezentovania. • XPointer – odkazovanie na sa dokumenty resp. ich časti. • XLink – hyperlinky v XML

  14. Domáca úloha • http://www.zvon.org/xxl/XPathTutorial/General_cze/examples.html • XPathtutorial. • http://www.mizar.dk/XPath/Default.aspx • Možnosť vyskúšať si XPath príkazy na ľubovoľnom XML dokumente.

More Related