Freigeben über


Achsen

Ein Location-Path gibt die Beziehung zwischen den vom Location-Step und den vom Kontextknoten ausgewählten Knoten mittels einer Achse an.

Achsen Beschreibung

ancestor::

Die indirekt übergeordneten Knoten des Kontextknotens.

Die indirekt übergeordneten Knoten des Kontextknotens bestehen aus dem direkt übergeordneten Knoten des Kontextknotens und dem übergeordneten Knoten des übergeordneten Knotens usw. Demnach enthält die ancestor::-Achse stets den Stammknoten, es sei denn, der Kontextknoten ist der Stammknoten.

ancestor-or-self::

Der Kontextknoten und seine indirekt übergeordneten Knoten.

Die ancestor-or-self::-Achse enthält stets den Stammknoten.

attribute::

Die Attribute des Kontextknotens.

Diese Achse ist leer, es sei denn, der Kontextknoten ist ein Element.

child::

Die untergeordneten Knoten des Kontextknotens.

Als untergeordnete Knoten werden alle Knoten betrachtet, die sich in der Struktur unmittelbar unterhalb des Kontextknotens befinden. Es werden jedoch weder Attributknoten noch Namespaceknoten als untergeordnete Knoten des Kontextknotens angesehen.

descendant::

Die indirekt untergeordneten Knoten des Kontextknotens.

Ein indirekt untergeordneter Knoten ist ein untergeordneter Knoten oder ein untergeordneter Knoten eines untergeordneten Knotens usw. Demnach enthält die descendant::-Achse grundsätzlich keine Attribut- oder Namespaceknoten.

descendant-or-self::

Der Kontextknoten und seine indirekt untergeordneten Knoten.

following::

Alle Knoten, die in der Struktur auf den Kontextknoten folgen, jedoch keine indirekt untergeordneten Knoten, Attribut- und Namespaceknoten.

following-sibling::

Alle folgenden gleichgeordneten Knoten des Kontextknotens.

Die following-sibling::-Achse gibt nur die untergeordneten Knoten eines übergeordneten Knotens an, die in der Struktur nach dem Kontextknoten stehen. Diese Achse schließt alle anderen untergeordneten Knoten aus, die vor dem Kontextknoten angezeigt werden.

Wenn der Kontextknoten ein Attributknoten oder ein Namespaceknoten ist, bleibt die following-sibling::-Achse leer.

namespace::

Die Namespaceknoten des Kontextknotens.

Für jeden Namespace ist ein Namespaceknoten vorhanden, der sich im Gültigkeitsbereich für den Kontextknoten befindet.

Diese Achse ist leer, es sei denn, der Kontextknoten ist ein Element.

parent::

Der übergeordnete Knoten des Kontextknotens, falls vorhanden.

Der übergeordnete Knoten ist der Knoten, der sich in der Struktur unmittelbar oberhalb des Kontextknotens befindet.

preceding::

Alle Knoten, die sich in der Struktur vor dem Kontextknoten befinden, jedoch keine indirekt übergeordneten Knoten, Attribut- und Namespaceknoten.

Sie können sich die vorhergehende Achse als Gesamtheit aller Knoten vorstellen, deren Inhalt sich vollständig vor dem Anfang des Kontextknotens befindet.

preceding-sibling::

Alle vorhergehenden gleichgeordneten Knoten des Kontextknotens.

Die preceding-sibling::-Achse gibt nur die untergeordneten Knoten eines übergeordneten Knotens an, die in der Struktur vor dem Kontextknoten stehen. Diese Achse schließt alle anderen untergeordneten Knoten aus, die nach dem Kontextknoten stehen.

Wenn der Kontextknoten ein Attributknoten oder ein Namespaceknoten ist, bleibt die preceding-sibling::-Achse leer.

self::

Nur der Kontextknoten selbst.

Hinweise

  • namespace
    Jedes Element verfügt über eine Gruppe zugeordneter Namespaceknoten, und zwar einen für jedes eindeutige Namespacepräfix, das sich im Gültigkeitsbereich für das Element befindet (einschließlich des xml-Präfixes, das implizit über die Empfehlung für XML-Namespaces deklariert wird), sowie einen für den Standardnamespace, sofern sich ein solcher im Gültigkeitsbereich für das Element befindet. Das Element ist der übergeordnete Knoten jedes dieser Namespaceknoten. Ein Namespaceknoten ist jedoch kein untergeordneter Knoten seines übergeordneten Elements. Elemente teilen sich grundsätzlich keine Namespaceknoten: Wenn ein Elementknoten nicht derselbe Knoten wie ein anderer Elementknoten ist, dann stimmt keiner der Namespaceknoten eines Elementknotens mit einem Namespaceknoten eines anderen Elementknotens überein. Dies bedeutet, dass ein Element über einen Namespaceknoten verfügt:

    • Für jedes Attribut im Element, dessen Name mit xmlns: beginnt.

    • Für jedes Attribut eines übergeordneten Elements, dessen Name mit xmlns: beginnt – es sei denn, das Element selbst oder ein näheres übergeordnetes Element deklariert das Präfix neu.

    • Für ein xmlns-Attribut, wenn das Element oder ein indirekt übergeordnetes Element über ein xmlns-Attribut verfügt und der Wert des xmlns-Attributs für das nächste Element dieser Art nicht leer ist.

Das <sample>-Element in der Instanz

enthält die folgenden Namespaceknoten:

Das <sample>-Element in der folgenden Instanz

enthält die folgenden Namespaceknoten:

xmlns:sampletest="sampletest"

xmlns:test="test"

ms256456.note(de-de,VS.100).gifHinweis:
Ein Attribut xmlns="" hebt die Deklaration für den Standardnamespace auf.

Ein Namespaceknoten verfügt über einen erweiterten Namen: Der lokale Teil ist das Namespacepräfix (es ist leer, wenn der Namespaceknoten für den Standardnamespace vorgesehen ist). Der Namespace-URI (Uniform Resource Identifier) ist stets NULL.

Der Zeichenfolgenwert eines Namespaceknotens ist der Namespace-URI, der an das Namespacepräfix gebunden wird. Wenn er relativ ist, muss er wie ein Namespace-URI in einem erweiterten Namen aufgelöst werden.

Beispiele

following::

Die Beispiele für die following::-Achse beziehen sich auf dieses Instanzdokument:

Abfrage Zurückgegebene Knoten

A/B[1]/following::*

A/B[1]/following::node()

preceding::

Das Beispiel für die preceding::-Achse bezieht sich auf dieses Instanzdokument:

Abfrage Zurückgegebene Knoten

A/B[2]/preceding::*

following-sibling::

Das Beispiel für die following-sibling::-Achse bezieht sich auf dieses Instanzdokument:

Abfrage Zurückgegebene Knoten

A/B[1]/following-sibling::*

preceding-sibling::

Das Beispiel für die preceding-sibling::-Achse bezieht sich auf dieses Instanzdokument:

Abfrage Zurückgegebene Knoten

A/B[2]/preceding-sibling::*

Siehe auch

Verweis

Location-Steps
Knotentests
Prädikate