Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Vreni Wolbach Geändert vor über 10 Jahren
1
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 Harry Potter J K. Rowling 2005 29.99 Wurzelknoten (root element node) J K. Rowling Elementknoten (element node) lang="en Attribut (attribute node) J K. Rowling bzw. en Item /atomic value (keine Eltern oder Kinder)
5
Beziehungen zwischen Knoten Harry Potter J K. Rowling 2005 29.99 Knoten können kein child, eines, oder mehrere children haben Parent des Titels, Autors, Jahres, Preises Titel, Autor, Jahr, Preis Children des Elementes Children mit dem selben Parent sind Siblings
6
Harry Potter J K. Rowling 2005 29.99 Ancestors (Vorfahren) = Parent des Elements, Parent des Parent des Parent... Descendants (Nachfahren) = Kind eines Elements, Kind des Kindes des Kindes...
7
Knoten aufrufen AusdruckBeschreibung Knotennameruft alle Kinder des Knotens auf /ruft das Wurzelelement auf //ruft alle passenden Knoten des aktuellen Dokuments auf, egal wo sie sich befinden.ruft den aktuellen Knoten auf..ruft den Parent des aktuellen Knotens auf @ruft Attribute auf
8
Predicates (Prädikate) Zum Aufrufen spezifischer Knoten oder einem knoten mit spezifischem Wert Prädikate sind immer durch [ ] gekennzeichnet AusdruckErgebnis /bookstore/book[1]ruft das erste book-Element auf, das ein Kind von bookstore ist /bookstore/book[last()] [last()-1] ruft das letzte book-Element auf vorletzte /bookstore/book[position()<3]ruft die ersten beiden book-Elemente auf //title[@lang]ruft alle Titelelemente auf, die das Attribut lang haben /bookstore/book[price>35.00]ruft alle book-Elemente auf, die ein price-Element haben, dessen Wert größer ist als 35.00
9
Aufrufen unbekannter Knoten Wildcards zum Aufrufen unbekannter XML Elemente o * jeglicher Knoten o /bookstore/* ruft jedes Kind von bookstore auf o //* ruft alle Knoten des Dokuments auf o @* jegliches Attribut o //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 o ancestor o ancestor-or-self o attribute o child o descendant o descendant-or-self o following o following-sibling o namespace o parent o preceding o preceding-sibling o 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 OperatorBeschreibungBeispielErgebnis +Addition6+410 -Subtraktion6-42 *Multiplikation6*424 divDivision8 div 42 =gleichprice=9,80true/false !=nicht gleichprice!=9,80t/f <><> weniger als mehr als price<9,80 price>9,80 t/f <= >= weniger oder gleich mehr oder gleich price<=9,80 price>=9,80 t/f oroderprice=9,80 or price=9,70t/f andundprice>9,00 and price<9,90t/f modModul/Teilungsrest5 mod 21
15
XPath Funktionen Accessor Functions ( fn:nodename(node) ) Error and Trace Functions ( 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,...) ) Context Functions ( fn:position() )
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.