xpath                
            Ortspfade und Achsen
        
        
            
    Suche…
Bemerkungen
 Ein XPath- Standortpfad besteht aus einer Reihe von Standortschritten, die durch ein Zeichen / getrennt sind: 
step1/step2/step3
  Ein Positionsschritt enthält eine Achse , einen Knotentest und eine optionale Liste von Prädikaten . Die Achse und der Knotentest werden durch zwei Doppelpunktzeichen :: . Die Prädikate sind in eckigen Klammern angegeben: 
axis::nodeTest[predicate1][predicate2]
  Die Auswertung eines Lokalisierungspfad beginnt mit einem Knotensatz den Kontextknoten durch den Kontext des Ausdrucks oder der Wurzelknoten, wenn die Positionspfad beginnt mit einem gegebenen enthält / . Bei jedem Schritt wird jeder Knoten N in der ursprünglichen Knotengruppe durch die Menge der Knoten ersetzt, die 
- kann von N nach der angegebenen Achse erreicht werden ,
 - entspricht dem Knotentest und
 - entspricht allen Prädikaten .
 
Das Ergebnis einer Lage Pfadausdruck ist der letzte Knotensatz erhalten wird, nachdem alle Schritte der Verarbeitung Lage.
Untergeordnete Elemente durchlaufen
 Durchlaufen von dem Wurzelknoten zu einem Abkömmling Elemente der Verwendung von child - Achse: 
/child::html/child::body/child::div/child::span
  Da die child Achse die Standardachse ist, kann dies als abgekürzt werden: 
/html/body/div/span
        Alle Nachkommen durchqueren
 Mit den descendant und descendant-or-self können alle untergeordneten Elemente eines Knotens in beliebiger Tiefe gesucht werden. Im Gegensatz dazu das child durchläuft Achse nur unmittelbare Kinder. 
/child::html/descendant::span
/child::html/descendant-or-self::*
  Der doppelte Schrägstrich // ist eine Abkürzung für /descendant-or-self::node()/ . Die folgenden Ausdrücke sind also gleichwertig: 
table//td
child::table/descendant-or-self::node()/child::td
child::table/descendant::td
table/descendant::td
        Ahnen durchqueren
 Die parent Achse enthält nur das übergeordnete Element eines Knotens. Der folgende Ausdruck wählt das html Element aus, indem ein Umweg über das body Element genommen wird: 
/child::html/child::body/parent::html
  .. ist eine Verknüpfung für parent::node() 
 Die Achsen " ancestor und " ancestor-or-self durchlaufen alle Vorfahren eines Knotens. Der folgende Ausdruck gibt alle div Elemente zurück, die Vorfahren des Kontextknotens sind: 
ancestor::div
        Die "Selbst" -Achse
 Die self Achse enthält nur den Kontextknoten selbst. Der Ausdruck . ist eine Abkürzung für self::node() und passt immer zum Kontextknoten. Die . Shortcut ist nützlich, um Nachkommen des Kontextknotens aufzulisten. Die folgenden Ausdrücke sind gleichwertig: 
.//span
self::node()/descendant-or-self::node()/child::span
descendant::span
  Die self kann in XPath 1.0-Prädikaten hilfreich sein. Um beispielsweise alle h1 , h2 und h3 Kinder des h3 auszuwählen: 
*[self::h1 or self::h2 or self::h3]
        Durchlaufender und vorangegangener Knoten
 Die following-sibling und preceding-sibling enthalten die Geschwister vor oder nach dem Kontextknoten, und die following und preceding Achsen enthalten alle Knoten im Dokument vor oder nach dem Kontextknoten. 
- Keine dieser Achsen enthält Attribut- oder Namespace-Knoten.
 -  Die 
followingAchse enthält keine Nachkommen. -  Die 
precedingAchse enthält keine Vorfahren. 
Beispiele:
following::span[1]
following-sibling::*[last()]
        Durchlaufende Attribut- und Namespace-Knoten
 Die attribute und namespace Achsen enthalten alle Attribut- und Namespace-Knoten eines Elements. Das Kürzel @ steht für attribute:: , daher sind die folgenden gleichwertig: 
child::div/attribute::class
div/@class