XML Path Language: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
FaPe (Diskussion | Beiträge)
FaPe (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
= Definition =
= Definition =
Die '''XML Path Language (XPath)''' ist eine Abfragesprache für XML-Dokumente, welche die Selektion einer XML-Knotenmenge (Lokalisierung) ermöglicht. XPath wird im Rahmen des [http://www.w3.org W3C]-Konsortiums gemeinsam durch die "XSL Working Group" und "XML Linking Working Group" als Standard spezifiziert. Die aktuelle Version "XPath 2.0" und Vorgänger tragen den finalen Status der "W3C Empfehlung".
Die '''XML Path Language (XPath)''' ist eine Abfragesprache, die XML-Fragmente als Baum interpretiert und daraus eine Selektion einer Knotenmenge ermöglicht (Lokalisierung).


XPath gilt als essentielles Fundament für weitere XML-basierte W3C-Standards wie [[XQuery]], [[XSLT]] oder [[XForms]].
XPath wird im Rahmen des [http://www.w3.org W3C]-Konsortiums gemeinsam durch die ''XSL Working Group'' und ''XML Linking Working Group'' als Standard spezifiziert. Die aktuelle Version ''XPath 2.0'' und Vorgänger tragen den finalen Status der ''W3C Empfehlung''. XPath gilt als essentielles Fundament für weitere XML-basierte W3C-Standards wie [[XQuery]], [[XSLT]] oder [[XForms]].


=Aufbau=
=Bemerkungen=
XPath ermöglicht praktisch filternde Sichten auf '''unveränderte''' Eingabedokumente, die nur interessierende XML-Knoten und deren Inhalt umfasst.
 
=Datenmodell=
Als Datenmodell dient eine logische Interpretation geparster XML-Dokumente als baumartig geordnete Sequenz von Einheiten. Über die Ordnung bestimmen Verschachtelung und Dokumentreihenfolge. Die Einheiten heißen ''Knoten'' und können an Blattpositionen ''Werte'' atomaren Typs tragen.
 
Die ''Knotentypen'' umfassen:
* Wurzelknoten (root nodes)
* Elementknoten (element nodes)
* Textknoten (text nodes)
* Attributknoten (attribut nodes)
* Namensraumknoten (namespace nodes)
* Verarbeitungsanweisungs-Knoten (processing instruction nodes)
* Kommentarknoten (comment nodes)
 
Als ''Wertetypen'' dienen:
* XML Schema Datentypen (z.B. integer, string, ...)
* Weitere fünf XPath-Typen (z.B. anyAtomicType, untyped, ...)
 
Alle Knoteneigenschaften können über Quasifunktionen (Accessors) ausgelesen werden, die z.B. den qualifizierten Namen, getragene Typ und Wert oder Eltern und Kinder in der Ordnung zurückgeben. Das Datenmodell wird mittlerweile als [http://www.w3.org/TR/xpath-datamodel XQuery 1.0 and XPath 2.0 Data Model] eigenständig standardisiert.
 
=Lokalisierung=
XPath-Ausdrücke können aus folgenden drei Bestandteilen zusammengesetzt werden:
XPath-Ausdrücke können aus folgenden drei Bestandteilen zusammengesetzt werden:
* Achse
* Achse
Zeile 12: Zeile 33:


=Beispiele=  
=Beispiele=  
* <code>child::absatz[position = 2]</code> Dieser Ausdruck wählt das zweite ''absatz''-Kindelement des gegenwärtigen Knotens
* <code>child::absatz[position = 2]</code> Dieser Ausdruck wählt das zweite ''absatz''-Kindelement des gegenwärtigen Knotens
* <code>attribute::*</code> Alle Attribute des gegenwärtigen Knotens werden gesucht.
* <code>attribute::*</code> Alle Attribute des gegenwärtigen Knotens werden gesucht.
* <code>absatz[@typ="neu"][1]</code> Wählt das erste ''absatz''-Kindelement, das als Atttribut typ mit dem Wert ''neu'' hat
* <code>absatz[@typ="neu"][1]</code> Wählt das erste ''absatz''-Kindelement, das als Atttribut typ mit dem Wert ''neu'' hat
Mit einem XPath Ausdruck können die sieben verschiedenen Knotenarten des XPath Datenmodells angesprochen werden:
* Wurzelknoten (root nodes)
* Elementknoten (element nodes)
* Textknoten (text nodes)
* Attributknoten (attribut nodes)
* Namensraumknoten (namespace nodes)
* Verarbeitungsanweisungs-Knoten (processing instruction nodes)
* Kommentarknoten (comment nodes)
XPath spielt vor allem bei Adressierungen in [[XForms]] und [[XSL]] eine wichtige Rolle.


= Quellen =
= Quellen =
*[http://www.w3.org/TR/xpath W3C - XML Path Language (XPath) Version 1.0]
*[http://www.w3.org/TR/xpath W3C - XML Path Language (XPath) Version 1.0]
*[http://www.w3schools.com/xpath/default.asp W3C Schools - XPath Tutorial]
*[http://www.w3schools.com/xpath/default.asp W3C Schools - XPath Tutorial]



Version vom 1. Juli 2008, 10:15 Uhr

Definition

Die XML Path Language (XPath) ist eine Abfragesprache, die XML-Fragmente als Baum interpretiert und daraus eine Selektion einer Knotenmenge ermöglicht (Lokalisierung).

XPath wird im Rahmen des W3C-Konsortiums gemeinsam durch die XSL Working Group und XML Linking Working Group als Standard spezifiziert. Die aktuelle Version XPath 2.0 und Vorgänger tragen den finalen Status der W3C Empfehlung. XPath gilt als essentielles Fundament für weitere XML-basierte W3C-Standards wie XQuery, XSLT oder XForms.

Bemerkungen

XPath ermöglicht praktisch filternde Sichten auf unveränderte Eingabedokumente, die nur interessierende XML-Knoten und deren Inhalt umfasst.

Datenmodell

Als Datenmodell dient eine logische Interpretation geparster XML-Dokumente als baumartig geordnete Sequenz von Einheiten. Über die Ordnung bestimmen Verschachtelung und Dokumentreihenfolge. Die Einheiten heißen Knoten und können an Blattpositionen Werte atomaren Typs tragen.

Die Knotentypen umfassen:

  • Wurzelknoten (root nodes)
  • Elementknoten (element nodes)
  • Textknoten (text nodes)
  • Attributknoten (attribut nodes)
  • Namensraumknoten (namespace nodes)
  • Verarbeitungsanweisungs-Knoten (processing instruction nodes)
  • Kommentarknoten (comment nodes)

Als Wertetypen dienen:

  • XML Schema Datentypen (z.B. integer, string, ...)
  • Weitere fünf XPath-Typen (z.B. anyAtomicType, untyped, ...)

Alle Knoteneigenschaften können über Quasifunktionen (Accessors) ausgelesen werden, die z.B. den qualifizierten Namen, getragene Typ und Wert oder Eltern und Kinder in der Ordnung zurückgeben. Das Datenmodell wird mittlerweile als XQuery 1.0 and XPath 2.0 Data Model eigenständig standardisiert.

Lokalisierung

XPath-Ausdrücke können aus folgenden drei Bestandteilen zusammengesetzt werden:

  • Achse
  • Knotentest
  • Prädikate

Die Achsen zur Formulierung eines XPath-Ausdruckes sind child, parent, descendant, ancestor, following, preceding, following-sibling, preceding-sibling, attribute, namespace, self und descendant-or-self. Sie beschreiben die Beziehung zwischen dem aktuellen Knoten und dem gesuchten Knoten. Der Knotentest gibt den Namen des gesuchten Knotens in dem XML Dokument an. Er ist durch zwei Doppelpunkte von der Achse getrennt. Die Prädikate folgen in eckigen Klammern und dienen dazu, die Suche nach dem Knoten zu verfeinern.

Beispiele

  • child::absatz[position = 2] Dieser Ausdruck wählt das zweite absatz-Kindelement des gegenwärtigen Knotens
  • attribute::* Alle Attribute des gegenwärtigen Knotens werden gesucht.
  • absatz[@typ="neu"][1] Wählt das erste absatz-Kindelement, das als Atttribut typ mit dem Wert neu hat

Quellen


Dieser Artikel ist GlossarWiki-konform.
In diesem Artikel sollten die Quellenangaben überarbeitet werden.
Bitte die Regeln der GlossarWiki-Quellenformatierung beachten.
Dieser Artikel sollte überarbeitet werden.
Der Inhalt sollte sprachlich verbessert werden.
Die Aussagen sollten inhaltlich verbessert bzw. präzisiert werden.