- From: Daniela Florescu <danielaf@bea.com>
- Date: Mon, 17 May 2004 20:06:22 -0700
- To: Mary Fernandez <mff@research.att.com>
- Cc: public-qt-comments@w3.org, plucas@bea.com
Mary, I am sorry but I do not understand. First, quantifier(none)=1 is really surprising. It is really counter intuitive with the definition of quantifier. Second, according to the new rules, one cannot detect statically that the following expression returns an empty sequence (and by consequent, one cannot raise the good static errors): for $x in (), $y in () return ($x, $y) So, no, I am sorry but I do not understand those new rules. The old rules might have been more complex but they seemed closer to correctness then the new ones. Best regards, Dana On May 17, 2004, at 3:34 PM, Mary Fernandez wrote: > > >> This is a request for the rationale as to why the quantifiers >> for "()" and "none" changed between Aug 2002 and May 2003. In >> Aug 2002: >> >> quantifier(()) = 0 >> quantifier(none) = 0 >> >> In May 2003, this changed to: >> >> quantifier(()) = ? >> quantifier(none) = 1 >> >> Why? The current version seems rather odd. Why should >> quantifier(none) be 1? >> >> - Paul >> BEA Systems, Inc. > > A little detective work indicates that this has been the definition > since May 2003: > http://www.w3.org/TR/xquery-semantics/#jd_prime > http://www.w3.org/TR/2003/WD-xquery-semantics-20030822/#jd_prime > http://www.w3.org/TR/2003/WD-xquery-semantics-20030502/#sec_factor > > Returning to Nov 2002, we see the old definition: > http://www.w3.org/TR/2002/WD-query-semantics-20021115/#jd_prime > which was unnecessarily complex. First, there is no '0' quantifier > in the language, only ?, 1, *, +. Plus all the entries in > the table for combining the 0 quantifier are redundant > (e.g., () . 0 = () = () . 1), > so we can just get rid of 0 quantifiers entirely. Make sense? > > > > -- > Mary Fernandez <mff@research.att.com> > AT&T Labs - Research >
Received on Monday, 17 May 2004 23:15:29 UTC