1 / 15

XPath

XPath. Datenbanktechnologie Daniel Ebner SS2011 23.Mai Ulrike Lohner. Übersicht. Was ist XPath XPath Terminologie Beziehungen zwischen Knoten Knoten aufrufen Prädikate Aufrufen unbekannter Knoten Aufrufen verschiedener Pfade die XPath Achse Location Path Ausdrücke

Download Presentation

XPath

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. XPath Datenbanktechnologie Daniel Ebner SS2011 23.Mai Ulrike Lohner

  2. Übersicht • Was ist XPath • XPath Terminologie • Beziehungen zwischen Knoten • Knoten aufrufen • Prädikate • Aufrufen unbekannter Knoten • Aufrufen verschiedener Pfade • die XPath Achse • Location Path Ausdrücke • XPath Operatoren • XPath Funktionen

  3. Was ist XPath • Syntax, die teile eines XML-Dokuments definiert • wird benutzt, um in XML-Dokumenten zu navigieren • macht Gebrauch von über 100 (Standard-) Funktionen und Ausdrücken • Wichtige Grundlage für: XSLT, XQuery, XPointer • Letzte Version: 23. Januar 2007, XPath 2.0

  4. XPath Terminologie • Knoten: Element, Attribut, Text, Namespace, Befehle, Kommentare, Dokumentenknoten • <?xml version="1.0" encoding="ISO-8859-1"?><bookstore>  <book>    <title lang="en">Harry Potter</title><author>J K. Rowling</author>     <year>2005</year>    <price>29.99</price>  </book></bookstore> • <bookstore>  Wurzelknoten (root element node) • <author>J K. Rowling</author>  Elementknoten (element node) • lang="en“  Attribut (attribute node) • J K. Rowling bzw. „en“  Item /atomicvalue (keine Eltern oder Kinder)

  5. Beziehungen zwischen Knoten • <book>  <title>Harry Potter</title>  <author>J K. Rowling</author>  <year>2005</year>  <price>29.99</price></book> • Knotenkönnenkeinchild, eines, odermehrere children haben • <book>  Parent des Titels, Autors, Jahres, Preises • Titel, Autor, Jahr, Preis  Children des Elementes <book> • Children mit dem selben Parent sind Siblings

  6. <book>  <title>Harry Potter</title>  <author>J K. Rowling</author>  <year>2005</year>  <price>29.99</price></book> • Ancestors (Vorfahren) = Parent des Elements, Parent des Parent des Parent... • Descendants(Nachfahren) = Kind eines Elements, Kind des Kindes des Kindes...

  7. Knoten aufrufen

  8. Predicates (Prädikate) • Zum Aufrufen spezifischer Knoten oder einem knoten mit spezifischem Wert • Prädikate sind immer durch [ ] gekennzeichnet

  9. Aufrufen unbekannter Knoten • Wildcards zum Aufrufen unbekannter XML Elemente • * jeglicher Knoten • /bookstore/*  ruft jedes Kind von bookstore auf • //*  ruft alle Knoten des Dokuments auf • @*  jegliches Attribut • //title[@*]  ruft alle Titelknoten auf, die irgendein Attribut tragen

  10. Aufrufen verschiedener Pfade • durch den Operator | kann man verschiedene Pfade gleichzeitig aufrufen • z.B.: //book/title | //book/price ruft alle Titel und Preis-Elemente aller Buch-Elemente auf • z.B.: //title | //price  ruft alle Titel- und Preis-Elemente des Dokuments auf

  11. Die XPath-Achse • eine Achse definiert die Reihe der Verwandten des aktuellen Knotens • ancestor • ancestor-or-self • attribute • child • descendant • descendant-or-self • following • following-sibling • namespace • parent • preceding • preceding-sibling • self

  12. Location Path Ausdrücke • absoluter Pfad: /step/step/step/... • relativer Pfad: step/step/step/... • ein step besteht aus: • einer Achse • einem Knotentest (nodetest) • optionalen Prädikaten • Syntax einer Stufe: axisname::nodetest[predicate]

  13. Beispiele: child::book attribute::lang child::* child::text() child::*/child::price

  14. XPath Operatoren

  15. XPath Funktionen • Accessor Functions ( fn:nodename(node) ) • Error andTraceFunctions ( fn:error() ) • Functions on Numeric Values ( fn:number(arg) ) • Functions on Strings ( fn:string(arg) ) • functions on Boolean Values ( fn:boolean(arg) ) • Functions on Durations, Dates and Times ( fn:dateTime(date, time) ) • Functions on Nodes ( fn:name() ) • Functions on Sequences ( fn:empty(item,item,...) ) • ContextFunctions ( fn:position() )

More Related