Vereinigungsmengen von Knotensets

Bisher haben wir in jedem Ausdruck lediglich ein einziges Knotenset bestimmt. Häufig gibt es jedoch Anwendungen wo mehrere Knotensets vereinigt werden sollen. Beispiel: Es sollen alle Titel der Stilrichtung Pop und alle Labels selektiert werden

//TITEL[@stil="Pop"] | //LABEL

XPath-Funktionen

Funktionen dienen für erweiterte Operationen und Abfragen auf Knotensets und zur Stringanalyse von Texteknoten und Attributwerten XPath-Funktionen können sowohl in XPATH-Ausdrücken, als auch in Prädikaten verwendet werden wie folgendes Beispiel zeigt:

Beispiel: count(//LIED)
            //ALBUM[count(LIED)>10]

Funktionen können eine Argument erhalten und geben immer einen Wert zurück!. Im ersten Beispiel erhält die Funktion "count" als Argument ein Knotenset und liefert als Rückgabewert ein Knotenset

Beispiele für Funktionen auf Knotenmengen sind:

local-name(..) Gibt den Namen des Elternelementes als String zurück
//LIED[position()=5] (Kurzschreibweise [5] ) Gibt alle Lieder aus, deren Position innerhalb anderer Lieder die fünfte ist
//LIED[position()=last()] Gibt alle Lieder aus, deren Position innerhalb anderer Lieder die letzte ist

Beispiele für Stringfunktionen sind:

//ALBUM[string-length(TITEL) > 20 ] Selektiert alle Alben deren Titeltext mehr als 20 Zeichen hat.
//ALBUM[starts-with(INTERPRET,'M')] Selektiert alle Alben deren Titeltext mit einem „M“ beginnt.

Ein Beispiel für eine sehr häufige verwendete und mächtige Funktion ist die generelle Funktion "not()". Diese Funktion negiert einen boolschen Ausdruck. Nachfolgedes Beispiel zeigt den Einsatz dieser Funktion:

//ALBUM[not(LIED)] Selektiert alle Alben die kein Lied als direktes Kind beinhalten.
<< zurück