XQuery / Vereinigte Sequenzen

Vereinigte Sequenzen

Vereinigte Sequenzen

➪ Nodelists (Sequenzen) können 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 vereinigt, Mehrfachnennungen werden damit eliminiert.

Die XQuery-Schleife for $z at $p in $ges return ... gibt das Ergebnis aus. Die aufsteigende Nummerierung 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:


<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 / 15. September 2018



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






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