[xquery-talk] strange results sequence operators
Florent Georges
lists at fgeorges.org
Mon Aug 13 06:08:31 PDT 2012
Robby Pelssers wrote:
Hi,
> let $number1 := <number>1</number>
> let $number2 := <number>2</number>
> let $number3 := <number>3</number>
> let $seq1 := ($number1, $number2)
> let $seq2 := ($number2, $number3)
> return
> <result>
> <union>{$seq1 union $seq2}</union>
> <intersection>{$seq1 intersect $seq2}</intersection>
> <except>{$seq1 except $seq2}</except>
> </result>
Those operators return results in document order, and they come
from different documents, so it's undefined. You should rather
try something like the following (not tested):
let $doc :=
<doc>
<number>1</number>
<number>2</number>
<number>3</number>
</doc>
let $number1 := $doc/number[1]
let $number2 := $doc/number[2]
let $number3 := $doc/number[3]
let $seq1 := ($number1, $number2)
let $seq2 := ($number2, $number3)
return
<result>
<union>{$seq1 union $seq2}</union>
<intersection>{$seq1 intersect $seq2}</intersection>
<except>{$seq1 except $seq2}</except>
</result>
Regards,
--
Florent Georges
http://fgeorges.org/
http://h2oconsulting.be/
More information about the talk
mailing list