- From: Bas de Bakker <bas@x-hive.com>
- Date: Tue, 18 Dec 2001 11:33:55 +0100
- To: <jmss@gssi.es>, <www-ql@w3c.org>
Yes, you are wrong. '<' does not generate a sequence, it returns 'true'
if any value in its left hand operand is less than any value in its
right hand operand ("implicit existential quantification").
Bas de Bakker
X-Hive Corporation
-----Original Message-----
From: www-ql-request@w3.org [mailto:www-ql-request@w3.org]On Behalf Of
Jose Maria Sanchez Saez
Sent: Tuesday, December 18, 2001 11:16
To: www-ql@w3c.org
Subject: "Where" with multiple values
Hi all.
Suppose the next XML document
<doc>
<elem>
<dat>3</dat>
<dat>2</dat>
</element>
</doc>
and let study the next query
FOR $v in //elem
WHERE $v/dat < 5
RETURNS $v
My problem is the valuation of the WHERE part of the query expression.
In
the XQuery recommendation:
"Only those tuples for which the condition in the WHERE-clause is true
are
used to invoke the RETURN clause. The WHERE-clause may contain several
predicates, connected by AND and OR. "
So, the expression in the WHERE clause have to be evaluable as a
boolean. But
in my example, $v/dat evaluate as a sequence (doesn't it?), and the
operator
< evaluate for each member of that sequence. So I have a sequence of
boolean
values.
Then, I think that this expression will make a mistake, because it
evaluate
to a sequence of size > 1, and not to a boolean value (or a sequence of
size
1 of boolean values :-), and it don't care if all the values in the
sequence
are true.
Am I wrong?
Thank you, and excuse my English.
José María Sánchez Sáez (:-)
jmss@gssi.es
Málaga (Spain)
Received on Tuesday, 18 December 2001 05:34:48 UTC