[xquery-talk] where clause
Michael Sokolov
msokolov at safaribooksonline.com
Thu Mar 28 10:15:20 PST 2013
On 03/28/2013 12:23 PM, daniela florescu wrote:
> Michael,
>
> in addition to the queries I already gave you with count and groupby, here is another one in
> pure XQuery 1.0 that cannot be reduced
>
> declare function foo($x)
> {
> if ($x/@a) then $x else<b/>
> };
>
>
> for $x in Blah1
> for $y in Blah2
> let $z := foo($y)
> where $z is $z
> return $x
>
>
> (variable $z cannot be unfolded because of the generation of new nodes, and then the where cannot be move up because
> of the let)
>
>
> Sorry, I felt like being twisted minded this morning :-)
>
> XQuery is wicked :-)
>
Yes, that is twisted for sure. But isn't it also equivalent to:
for $x in Blah1
for $y in Blah2
for $z in foo($y)[. is .]
return $x
?
not that that really makes any difference, in some sense, but given the
problem as stated, I don't think a where clause is required
--
Michael Sokolov
Senior Architect
Safari Books Online
More information about the talk
mailing list