<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://demowiki.knowlus.com/index.php?action=history&amp;feed=atom&amp;title=XPath</id>
	<title>XPath - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://demowiki.knowlus.com/index.php?action=history&amp;feed=atom&amp;title=XPath"/>
	<link rel="alternate" type="text/html" href="https://demowiki.knowlus.com/index.php?title=XPath&amp;action=history"/>
	<updated>2026-05-15T11:37:33Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Demo Wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://demowiki.knowlus.com/index.php?title=XPath&amp;diff=6020&amp;oldid=prev</id>
		<title>imported&gt;Mary Joanna: Mary Joanna verschob die Seite Xpath nach XPath und überschrieb dabei eine Weiterleitung: Revert: sowas zuerst auf der Disk besprechen. Die Richtline sagt auch: „Ausnahmen von dieser Regel können in solchen Fällen gemacht werden, wo eine Anpassung verwirren würde oder wenn die unkonventionelle Schreibung eindeutig die üblichere ist und Wortverbindungen nicht stört “</title>
		<link rel="alternate" type="text/html" href="https://demowiki.knowlus.com/index.php?title=XPath&amp;diff=6020&amp;oldid=prev"/>
		<updated>2025-06-18T23:55:15Z</updated>

		<summary type="html">&lt;p&gt;Mary Joanna verschob die Seite &lt;a href=&quot;/index.php?title=Xpath&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Xpath (Seite nicht vorhanden)&quot;&gt;Xpath&lt;/a&gt; nach &lt;a href=&quot;/index.php?title=XPath&quot; title=&quot;XPath&quot;&gt;XPath&lt;/a&gt; und überschrieb dabei eine Weiterleitung: Revert: sowas zuerst auf der Disk besprechen. Die Richtline sagt auch: „Ausnahmen von dieser Regel können in solchen Fällen gemacht werden, wo eine Anpassung verwirren würde oder wenn die unkonventionelle Schreibung eindeutig die üblichere ist und Wortverbindungen nicht stört “&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;XML Path Language&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;XPath&amp;#039;&amp;#039;&amp;#039;) ist eine vom [[World Wide Web Consortium|W3-Konsortium]] entwickelte [[Abfragesprache]], um Teile eines [[Extensible Markup Language|XML]]-Dokuments zu adressieren und auszuwerten. XPath dient als Grundlage einer Reihe weiterer Standards wie [[XSL Transformation|XSLT]], [[XPointer]] und [[XQuery]]. XPath ist derzeit in der Version&amp;amp;nbsp;3.1 vom 21.&amp;amp;nbsp;März 2017 standardisiert.&lt;br /&gt;
&lt;br /&gt;
In [[Webbrowser]]n, [[XSLT-Prozessor]]en und anderer Software wird oft nur die XPath-Version&amp;amp;nbsp;1.0 aus dem Jahr 1999 unterstützt, vereinzelt jedoch auch die XPath-Version&amp;amp;nbsp;2.0 von 2007.&lt;br /&gt;
&lt;br /&gt;
== Prinzipien ==&lt;br /&gt;
Ein &amp;#039;&amp;#039;XPath&amp;#039;&amp;#039;-Ausdruck adressiert Teile eines [[Extensible Markup Language|XML]]-Dokuments, das dabei als [[Baum (Graphentheorie)|Baum]] betrachtet wird, wobei einige Unterschiede zum „klassischen“ Baum der [[Graphentheorie]] zu beachten sind:&lt;br /&gt;
* Knoten &amp;#039;&amp;#039;(nodes)&amp;#039;&amp;#039; des Baums sind der Dokumenten-Knoten, XML-Elemente, -Attribute, -Textknoten, -Kommentare, -Namensräume und -Verarbeitungsanweisungen.&lt;br /&gt;
* Die Achsen &amp;lt;code&amp;gt;preceding&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;following&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;preceding-sibling&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;following-sibling&amp;lt;/code&amp;gt; orientieren sich nicht allein an der Baumstruktur, sondern auch an der Reihenfolge der Deklaration der Elemente im XML-Dokument (Linked-Tree).&lt;br /&gt;
Ein &amp;#039;&amp;#039;XPath&amp;#039;&amp;#039;-Ausdruck setzt sich aus einem oder mehreren &amp;#039;&amp;#039;&amp;#039;Lokalisierungsschritten&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;(Location Steps)&amp;#039;&amp;#039; zusammen. Sie werden mit dem Zeichen &amp;quot;&amp;lt;code&amp;gt;/&amp;quot;&amp;lt;/code&amp;gt; getrennt.&lt;br /&gt;
&lt;br /&gt;
Ein &amp;#039;&amp;#039;Lokalisierungsschritt&amp;#039;&amp;#039; &amp;lt;code&amp;gt;axis::node-test[predicate 1][predicate 2]...&amp;lt;/code&amp;gt; besteht aus:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#Achsen|Achse]]&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;(axis)&amp;#039;&amp;#039; und&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[#Knotentests|Knotentest]]&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;(node-test)&amp;#039;&amp;#039;,&lt;br /&gt;
* Optional gefolgt von einem oder mehreren &amp;#039;&amp;#039;&amp;#039;[[#Prädikate|Prädikaten]]&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;(predicates)&amp;#039;&amp;#039;.&lt;br /&gt;
Beliebig viele XPath-Ausdrücke lassen sich mit dem [[Senkrechter Strich|Pipe-Zeichen]] &amp;quot;|&amp;quot; [[Menge (Mathematik)#Vereinigung (Vereinigungsmenge)|mengenmäßig vereinigen]].&lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Möglichkeiten, eine gesuchte Knotenmenge in XPath auszudrücken.&lt;br /&gt;
&lt;br /&gt;
XPath operiert auf der logischen Dokumentenstruktur. Das bedeutet beispielsweise, dass Entitäten bereits [[Parser|geparst]] wurden oder dass auch eventuelle Standard-Attribute und -Knoten, die ein [[XML Schema|Schema]] vorgeben, im Baum enthalten sind.&lt;br /&gt;
&lt;br /&gt;
== Achsen ==&lt;br /&gt;
Durch Angabe von Achsen wird ausgehend vom aktuellen Kontextknoten in der Baumstruktur des XML-Dokuments navigiert.&lt;br /&gt;
&lt;br /&gt;
Wird dabei vom Dokument-Knoten (der Wurzel des XML-Dokuments) ausgegangen, wird dem XPath-Ausdruck das Zeichen &amp;quot;&amp;lt;code&amp;gt;/&amp;quot;&amp;lt;/code&amp;gt; vorangestellt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe6&amp;quot;&lt;br /&gt;
!Achse !! adressierte Knoten !! Abkürzung !! Position im u.&amp;amp;nbsp;a. Baum&amp;lt;br /&amp;gt;(ausgehend von Element D)&lt;br /&gt;
|-&lt;br /&gt;
|  || der Dokument-Knoten || &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; (am Anfang eines XPaths)|| Dokument-Knoten&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;child&amp;lt;/code&amp;gt; || alle direkt untergeordneten Kindknoten  ||(wird weggelassen)|| E, G&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; ||der direkt übergeordnete Elternknoten || &amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt; || B&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; || der Kontextknoten selbst (nützlich für zusätzliche Bedingungen) || &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;  || D&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ancestor&amp;lt;/code&amp;gt; || alle übergeordneten Knoten || || B, A&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ancestor-or-self&amp;lt;/code&amp;gt; || alle übergeordneten Knoten inklusive des Kontextknotens || || D, B, A&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;descendant&amp;lt;/code&amp;gt; || alle untergeordneten Knoten || &amp;lt;code&amp;gt;.//&amp;lt;/code&amp;gt; || E, F, G&lt;br /&gt;
|-&lt;br /&gt;
|  || alle Knoten des Dokuments außer dem Dokument-Knoten|| &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt; || A, B, C, D, E, F, G, H, I, J, K, L&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;descendant-or-self&amp;lt;/code&amp;gt; || alle untergeordneten Knoten inklusive des Kontextknotens ||  || D, E, F, G&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;following&amp;lt;/code&amp;gt; || im XML-Dokument nachfolgend (ohne untergeordnete Knoten des selektierten Knotens) || || H, I, J, K, L&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;following-sibling&amp;lt;/code&amp;gt; || wie &amp;lt;code&amp;gt;following&amp;lt;/code&amp;gt;, aber zugleich vom selben &amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; stammend|| || H, I&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;preceding&amp;lt;/code&amp;gt; || im XML-Dokument vorangehend (ohne übergeordnete Knoten) || || C&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;preceding-sibling&amp;lt;/code&amp;gt; || wie &amp;lt;code&amp;gt;preceding&amp;lt;/code&amp;gt;, aber zugleich vom selben &amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; stammend || || C&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;attribute&amp;lt;/code&amp;gt; || Attributknoten || &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; || Namensraumknoten, die aus dem Attribut &amp;lt;code&amp;gt;xmlns&amp;lt;/code&amp;gt; stammen || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dieser Baum visualisiert beispielhaft die Struktur eines XML-Dokuments.&lt;br /&gt;
&lt;br /&gt;
{{Stammbaum/Start}}&lt;br /&gt;
{{Stammbaum | | | | | | |  R  | | | | | | | | |R=Dokument-Knoten}}&lt;br /&gt;
{{Stammbaum | | | | | | | |!| | | | | | | | | }}&lt;br /&gt;
{{Stammbaum | | | | | | |  a  | | | | | | | | |a=A}}&lt;br /&gt;
{{Stammbaum | | | | | |,|-|^|-|.| | | | | | | }}&lt;br /&gt;
{{Stammbaum | | | | |  b  | |  l  | | | | | | |b=B |l=L}}&lt;br /&gt;
{{Stammbaum | |,|-|-|-|+|-|-|-|v|-|-|-|.| | | }}&lt;br /&gt;
{{Stammbaum |  c  | |  d  | |  h  | |  i  | | |c=C |d=(D) |h=H |i=I}}&lt;br /&gt;
{{Stammbaum | | | |,|-|^|-|.| | | |,|-|^|-|.| }}&lt;br /&gt;
{{Stammbaum | | |  e  | |  g  | |  j  | |  k  |e=E |g=G |j=J |k=K}}&lt;br /&gt;
{{Stammbaum | | | |!| | | | | | | | | | | | | }}&lt;br /&gt;
{{Stammbaum | | |  f  | | | | | | | | | | | | |f=F}}&lt;br /&gt;
{{Stammbaum/Ende}}&lt;br /&gt;
&lt;br /&gt;
Die fünf Achsen &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ancestor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;descendant&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;preceding&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;following&amp;lt;/code&amp;gt; bilden ausgehend von einem beliebigen Knoten den Dokumentbaum vollständig und überlappungsfrei ab.&amp;lt;ref&amp;gt;[http://www.w3.org/TR/xpath#axes w3.org]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Knotentests ==&lt;br /&gt;
Knotentests (geschrieben &amp;lt;code&amp;gt;&amp;#039;&amp;#039;Achse&amp;#039;&amp;#039;::&amp;#039;&amp;#039;Knotentest&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;) schränken die Elementauswahl einer Achse ein:&lt;br /&gt;
* Angabe eines Elementnamens wählt alle entsprechenden Elemente.&amp;lt;br /&amp;gt;Beispiel: &amp;lt;code&amp;gt;/descendant-or-self::Foo&amp;lt;/code&amp;gt; wählt alle Elemente im Dokument die den Namen „Foo“ haben.&lt;br /&gt;
* Mit dem Zeichen &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; wählt man beliebige Elemente.&amp;lt;br /&amp;gt;Beispiel: &amp;lt;code&amp;gt;/descendant-or-self::Foo/child::*&amp;lt;/code&amp;gt; wählt alle Elemente im Dokument die Kinder von Elementen mit dem Namen „Foo“ sind.&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;text()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;comment()&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;processing-instruction()&amp;lt;/code&amp;gt; lassen sich Knoten bestimmten Typs wählen.&lt;br /&gt;
&lt;br /&gt;
== Prädikate ==&lt;br /&gt;
{{Überarbeiten|[[Diskussion:Xpath#Funktionen und Operatoren nicht hinreichend gewürdigt|Diskussionsseite]]|Dieser Abschnitt}}&lt;br /&gt;
&lt;br /&gt;
Durch Angabe von Prädikaten kann das Ergebnis weiter eingeschränkt werden. Prädikate werden in eckige Klammern eingeschlossen und können in beliebiger Zahl hintereinander geschrieben werden, wobei die Reihenfolge wesentlich ist. Prädikate können XPath-Ausdrücke enthalten, außerdem kann eine Vielzahl von Funktionen und Operatoren verwendet werden. Die sind zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
* Zugriffsindex (Zählung beginnt bei 1)&lt;br /&gt;
* Relationszeichen: &amp;lt;code&amp;gt; = != and or &amp;lt; &amp;gt; &amp;lt;= &amp;gt;= &amp;lt;/code&amp;gt;&lt;br /&gt;
* Zeichenkettenfunktionen:&lt;br /&gt;
** &amp;lt;code&amp;gt;normalize-space()&amp;lt;/code&amp;gt; – Entfernen von Leerzeichen am Anfang und Ende des Strings und Reduktion aufeinanderfolgender Leerzeichen auf eines.&lt;br /&gt;
** &amp;lt;code&amp;gt;substring()&amp;lt;/code&amp;gt; – Einen Teilstring selektieren.&lt;br /&gt;
** &amp;lt;code&amp;gt;substring-before(source, splitter)&amp;lt;/code&amp;gt; – Einen Teilstring vor dem ersten Vorkommen des Trennzeichens selektieren.&lt;br /&gt;
** &amp;lt;code&amp;gt;substring-after(source, splitter)&amp;lt;/code&amp;gt; – Einen Teilstring nach dem ersten Vorkommen des Trennzeichens selektieren.&lt;br /&gt;
** &amp;lt;code&amp;gt;string-length()&amp;lt;/code&amp;gt; – Die Länge des Strings.&lt;br /&gt;
* Numerische Operatoren: &amp;lt;code&amp;gt; + - * div [[Division mit Rest#Modulo|mod]]&amp;lt;/code&amp;gt;&lt;br /&gt;
* Knotenmengen-Funktionen:&lt;br /&gt;
** &amp;lt;code&amp;gt;count()&amp;lt;/code&amp;gt; – Anzahl der Knoten in einer Knotenmenge.&lt;br /&gt;
** &amp;lt;code&amp;gt;id()&amp;lt;/code&amp;gt; – Selektiert Elemente über die [[Dokumenttypdefinition|DTD]]-ID.&lt;br /&gt;
** &amp;lt;code&amp;gt;name()&amp;lt;/code&amp;gt; – Name des Knotens.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
* &amp;lt;code&amp;gt;//child::Buch/Kapitel&amp;lt;/code&amp;gt; Alle Kapitel aller Bücher.&lt;br /&gt;
* &amp;lt;code&amp;gt;//child::Buch/Kapitel[1]&amp;lt;/code&amp;gt; Alle ersten Kapitel aller Bücher.&lt;br /&gt;
* &amp;lt;code&amp;gt;//child::Buch[count(./Seite)&amp;lt;=100][count(./Seite)&amp;gt;=10]&amp;lt;/code&amp;gt; liefert alle Knoten vom Typ „Buch“ die mindestens 10 aber höchstens 100 Kindelemente vom Typ „Seite“ haben.&lt;br /&gt;
(das Gleiche leistet &amp;lt;code&amp;gt;//Buch[count(Seite)&amp;lt;=100 and count(Seite)&amp;gt;=10]&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;substring-before($variable, &amp;#039;:&amp;#039;)&amp;lt;/code&amp;gt; Selektiert den Teilstring vor dem ersten Doppelpunkt aus dem Wert der Variable mit dem Namen &amp;quot;variable&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
Gegeben sei folgendes XML-Dokument:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; standalone=&amp;quot;yes&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;dok&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ein XML-Dokument --&amp;gt;&lt;br /&gt;
    &amp;lt;kap title=&amp;quot;Nettes Kapitel&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;pa&amp;gt;Ein Absatz&amp;lt;/pa&amp;gt;&lt;br /&gt;
        &amp;lt;pa&amp;gt;Noch ein Absatz&amp;lt;/pa&amp;gt;&lt;br /&gt;
        &amp;lt;pa&amp;gt;Und noch ein Absatz&amp;lt;/pa&amp;gt;&lt;br /&gt;
        &amp;lt;pa&amp;gt;Nett, oder?&amp;lt;/pa&amp;gt;&lt;br /&gt;
    &amp;lt;/kap&amp;gt;&lt;br /&gt;
    &amp;lt;kap title=&amp;quot;Zweites Kapitel&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;pa&amp;gt;Ein Absatz&amp;lt;/pa&amp;gt;&lt;br /&gt;
        &amp;lt;pa format=&amp;quot;bold&amp;quot;&amp;gt;Erste Zeile&amp;lt;/pa&amp;gt;&lt;br /&gt;
        &amp;lt;pa format=&amp;quot;bold&amp;quot;&amp;gt;Zweite Zeile&amp;lt;/pa&amp;gt;&lt;br /&gt;
        &amp;lt;pa format=&amp;quot;italic&amp;quot;&amp;gt;Dritte Zeile&amp;lt;/pa&amp;gt;&lt;br /&gt;
    &amp;lt;/kap&amp;gt;&lt;br /&gt;
&amp;lt;/dok&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiele für XPath-Ausdrücke:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Ausdruck !! selektiert …&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/dok&amp;lt;/code&amp;gt; || das erste Element &amp;lt;code&amp;gt;dok&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/*&amp;lt;/code&amp;gt; || das äußerste Element unabhängig vom Namen (jedes wohlgeformte XML-Dokument hat genau &amp;#039;&amp;#039;ein&amp;#039;&amp;#039; äußerstes Element), hier &amp;lt;code&amp;gt;dok&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;//dok/kap&amp;lt;/code&amp;gt; || alle &amp;lt;code&amp;gt;kap&amp;lt;/code&amp;gt;-Elemente innerhalb aller &amp;lt;code&amp;gt;dok&amp;lt;/code&amp;gt;-Elemente&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;//dok/kap[1]&amp;lt;/code&amp;gt; || alle jeweils ersten &amp;lt;code&amp;gt;kap&amp;lt;/code&amp;gt;-Elemente innerhalb aller &amp;lt;code&amp;gt;dok&amp;lt;/code&amp;gt;-Elemente&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;//pa&amp;lt;/code&amp;gt; || alle &amp;lt;code&amp;gt;pa&amp;lt;/code&amp;gt;-Elemente auf allen Ebenen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;//kap[@title=&amp;#039;Nettes Kapitel&amp;#039;]/pa&amp;lt;/code&amp;gt; || alle Absätze der Kapitel mit Titel „Nettes Kapitel“&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;//kap/pa[2]&amp;lt;/code&amp;gt; || Jeweils das zweite pa-Element in den beiden Kapiteln.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;//kap[2]/pa[@format=&amp;#039;bold&amp;#039;][2]&amp;lt;/code&amp;gt; || Zweite Zeile mit dem Format &amp;#039;bold&amp;#039; im 2. Kapitel.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;child::*&amp;lt;/code&amp;gt; || alle Kindelemente des gegenwärtigen Knotens&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;child::pa&amp;lt;/code&amp;gt; || alle &amp;lt;code&amp;gt;pa&amp;lt;/code&amp;gt;-Kinder des gegenwärtigen Knotens&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;child::text()&amp;lt;/code&amp;gt; || alle Textknoten des gegenwärtigen Knotens&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; || der gegenwärtige Knoten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;./*&amp;lt;/code&amp;gt; || alle Kindelemente des gegenwärtigen Knotens&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;./pa&amp;lt;/code&amp;gt; || alle &amp;lt;code&amp;gt;pa&amp;lt;/code&amp;gt;-Kinder des gegenwärtigen Knotens&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pa&amp;lt;/code&amp;gt; || alle &amp;lt;code&amp;gt;pa&amp;lt;/code&amp;gt;-Kinder des gegenwärtigen Knotens&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attribute::*&amp;lt;/code&amp;gt; || alle Attribute des gegenwärtigen Knotens&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;namespace::*&amp;lt;/code&amp;gt; || alle Namespaces des gegenwärtigen Knotens&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;//kap[1]/pa[2]/text()&amp;lt;/code&amp;gt; || Textinhalt des zweiten &amp;lt;code&amp;gt;pa&amp;lt;/code&amp;gt;-Elements im ersten &amp;lt;code&amp;gt;kap&amp;lt;/code&amp;gt;-Element (also „Noch ein Absatz“)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
XPath-Visualisierer helfen, die mitunter komplizierten XPath-Abfragen auf konkrete XML-Dateien anzuwenden.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Document Object Model]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Michael Kay: &amp;#039;&amp;#039;XPath 2.0 Programmer’s Reference&amp;#039;&amp;#039;. Wrox Press, 2004, ISBN 0-7645-6910-4 (englisch)&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Margit Becher&lt;br /&gt;
   |Titel=XML – DTD, XML-Schema, XPath, XQuery, XSLT, XSL-FO, SAX, DOM&lt;br /&gt;
   |Verlag=W3L Verlag&lt;br /&gt;
   |Ort=Witten&lt;br /&gt;
   |Datum=2009&lt;br /&gt;
   |ISBN=978-3-937137-69-8}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
{{Wiktionary}}&lt;br /&gt;
* [http://www.w3.org/TR/xpath XML Path Language (XPath) Version 1.0]; sowie [http://www.obqo.de/w3c-trans/xpath-de-20020226 deutsche Übersetzung]&lt;br /&gt;
* [http://www.w3.org/TR/xpath20/ XML Path Language (XPath) Version 2.0]&lt;br /&gt;
* [http://www.w3.org/TR/xpath-31/ XML Path Language (XPath) Version 3.1]&lt;br /&gt;
* [http://www.w3.org/TR/xpath-functions/ XQuery 1.0 and XPath 2.0 Functions and Operators]&lt;br /&gt;
* [http://www.data2type.de/xml-xslt-xslfo/xpath/xpath-einfuehrung XPath Tutorial auf Deutsch]&lt;br /&gt;
* [http://www.w3schools.com/xml/xpath_intro.asp XPath Tutorial von w3schools]&lt;br /&gt;
* [http://www.zvon.org/xxl/XPathTutorial/General_ger/examples.html ZVON: XPath Tutorial in deutscher Sprache]&lt;br /&gt;
* [http://www.fh-wedel.de/~si/seminare/ws00/Ausarbeitung/3.xlink/xlink0.htm FH Wedel: XLink, XPath, XPointer]&lt;br /&gt;
* [http://www.html-world.de/program/xpath_ov.php HTMLWorld: XPath]&lt;br /&gt;
* [http://xn--rthschilling-dlb.info/web/openlab/cms/xpath/axis-specifier-overview XPath Achsen Diagramme]&lt;br /&gt;
* [http://xpathvisualizer.codeplex.com/ XPath Visualizer] stellt XPath-Ausdrücke visuell auf Basis beliebiger XML-Dateien dar.&lt;br /&gt;
* [http://www.data2type.de/en/xml-xslt-xslfo/xslt/xslt-xpath-function-reference/ umfangreiche XPath 2.0 Referenz mit Beispielen]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navigationsleiste W3C-Standards}}&lt;br /&gt;
&lt;br /&gt;
{{Normdaten|TYP=s|GND=4613223-5}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:XML]]&lt;br /&gt;
[[Kategorie:Abkürzung]]&lt;br /&gt;
&lt;br /&gt;
[[he:XSL#XPath]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Mary Joanna</name></author>
	</entry>
</feed>