Was ist XQuery? / Vereinigte Sequenzen

Vereinigte Sequenzen

Vereinigte Sequenzen

➪ Da XQuery auf demselben Datenmodell beruht, können Nodelists (Sequenzen) zunächst generiert und anschließend mit union verkettet werden.

$g nimmt die Liste aller Menschen mit einem Gehalt von über 5000 auf, $w stellt die Liste aller Hemdkäufer dar. Über union (|) werden beide in $ges verknüpft, Mehrfachnennungen werden damit eliminiert.

Die XQuery-Schleife "for $z at $p in $ges return ..." gibt das Ergebnis aus. Die aufsteigende Numerierung wird über $p gewährleistet, das in XQuery via "at" die Aufgabe von position() übernimmt.


<root>
{
let $g as node()+:= for $x in /Orte/Ort/Mensch 
                    where $x/Gehalt >5000 return $x
let $w as node()+:= for $x in /Orte/Ort/Mensch 
                    where $x/Kauf/bez = "Hemd" return $x
let $ges as node()+:= $g union $w
for $z at $p in $ges
return <mensch pos="{$p}">{$z/vorname/text()}</mensch>
}
</root>

Derselbe Ansatz ist selbstverständlich auch alternativ darstellbar ("|" steht für "union"):


<root>{
for $z at $p in 
  (for $x in /Orte/Ort/Mensch where $x/Gehalt >5000 return $x) 
  | (for $x in /Orte/Ort/Mensch where $x/Kauf/bez = "Hemd" return $x)
return <mensch pos="{$p}">{$z/vorname/text()}</mensch>
}
</root>

wg / 22. März 2018



Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf:

Vorname
Nachname
Mailadresse







Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/XQuery11.html