Freigeben über


Muster

Ein Muster ist ein Typ von Ausdruck, der eine Gruppe von Knoten entsprechend einer Reihe von Knotenbedingungen zurückgibt. Knoten, die die Bedingungen erfüllen, entsprechen dem Muster. Die Syntax für Muster ist eine Teilmenge der Syntax für Ausdrücke. Vor allem Location-Paths, die bestimmten Einschränkungen entsprechen, können als Muster verwendet werden. Bei der Auswertung eines Ausdrucks, der gleichzeitig auch ein Muster darstellt, ist das Ergebnis ein Objekt vom Typ node-set. Ein Knoten stimmt mit einem Muster überein, wenn der Knoten bei der Auswertung des Musters als Ausdruck in Bezug auf möglichen Kontext ein Member der Ergebnismenge ist. Mögliche Kontexte sind Kontexte, für deren Kontextknoten Abgleich durchgeführt wird, oder einer seiner mittelbar übergeordneten Knoten.

In der folgenden Tabelle sind Beispiele für Muster aufgeführt.

Muster Entsprechungen

Para

beliebiges para-Element

*

beliebiges Element

chapter|appendix

beliebiges chapter-Element und beliebiges appendix-Element

olist/item

beliebiges item-Element mit einem übergeordneten olist-Element

appendix//para

beliebiges para-Element mit einem indirekt übergeordneten appendix-Element

/

der Stammknoten

text()

beliebiger Textknoten

processing-instruction()

beliebige Verarbeitungsanweisung

node()

jeder beliebige Knoten, jedoch kein Attribut- und nicht der Stammknoten

id("W11")

das Element mit eindeutiger ID W11

para[1]

beliebiges para-Element, das das erste untergeordnete para-Element seines übergeordneten Elements darstellt

*[position()=1 and self::para]

beliebiges para-Element, das das erste untergeordnete Element seines übergeordneten Elements darstellt

para[last()=1]

beliebiges para-Element, das das einzige untergeordnete para-Element seines übergeordneten Elements darstellt

items/item[position()>1]

beliebiges item-Element, das über ein übergeordnetes items-Element verfügt und nicht das erste untergeordnete item-Element seines übergeordneten Elements darstellt

item[position() mod 2 = 1]

beliebiges item-Element, das ein ungerades untergeordnetes item-Element seines übergeordneten Elements darstellt

div[@class="appendix"]//p

beliebiges p-Element mit einem indirekt übergeordneten div-Element, das über ein class-Attribut mit dem Wert appendix verfügt

@class

beliebiges class-Attribut (kein beliebiges Element mit class-Attribut)

@*

beliebiges Attribut

Siehe auch

Verweis

Location-Paths (Pfade zum Speicherort)