- From: Michael Rys <mrys@microsoft.com>
- Date: Fri, 8 Mar 2002 11:51:21 -0800
- To: <sullivan@Mathcom.COM>, "Ashok Malhotra" <ashokma@microsoft.com>
- Cc: <www-ql@w3.org>
Steve, the "for in return" is basically a map (just not using functional syntax). Since Xquery currently does not provide such higher-order functions for a variety of reasons, I personally don't think adding them at this stage would be a good idea. But I agree that such higher-order functions should be more closely investigated in a version 2. Best regards Michael > -----Original Message----- > From: Steve Sullivan [mailto:sullivan@Mathcom.COM] > Sent: Friday, March 08, 2002 11:09 AM > To: Ashok Malhotra > Cc: sullivan@Mathcom.COM; www-ql@w3.org > Subject: RE: Casting: Use Cases VS Specs > > > Hi Ashok, > > Thanks for your reply. But wouldn't we still have to handle > the sequence explicitly, like: > old: min( decimal($p/text())) > new: min( for $v in $p/text() return decimal($v)) > > Maybe what we need is a handful of mapping operators > (functionals), as in many functional languages. > > So "map( decimal, $p/text())" would map the decimal function > over the sequence $p/text(). > > Cheers, > Steve > > Ashok Malhotra writes: > > Steve: > > There is an open issue on whether we allow constructors to > take > expressions as arguments. If we decide that we do, > then the use case > would work fine. > Otherwise it would > have to be changed to "cast as decimal($p/text())". > > > Please note that the documents you are looking at are > works in process > and are likely to change. Even though > the editors make their best > efforts the specs will > sometimes have inconsistencies. Our apologies. > > > > > All the best, Ashok > > =========================================================== > > Ashok Malhotra <mailto: ashokma@microsoft.com> > > Microsoft Corporation > > 212 Hessian Hills Road > > Croton-On-Hudson, NY 10520 USA > > Redmond: 425-703-9462 New York: 914-271-6477 > > > > > > > > -----Original Message----- > > From: Steve Sullivan [mailto:sullivan@Mathcom.COM] > > Sent: Friday, March 08, 2002 9:28 AM > > To: www-ql@w3.org > > Subject: Casting: Use Cases VS Specs > > > > > > Hi, > > > > There appears to be a mismatch between the XML Query Use > Cases > and the Functions and Operators specs. > > > In the XML Query Use Cases W3C Working Draft 20 December > 2001, > section 1.1.9.10 Q10, the example is: > > <results> > > { > > let $doc := document("prices.xml") > > for $t in distinct-values($doc//book/title) > > let $p := $doc//book[title = $t]/price > > return > > <minprice title={ $t/text() }> > > <price>{ min(decimal($p/text())) }</price> > > </minprice> > > } > > </results> > > > > The expression "min(decimal($p/text()))" implies that the > > cast decimal() can be applied to a sequence. > > > > Yet nowhere in "XQuery 1.0 and XPath 2.0 Functions and > Operators > W3C Working Draft 20 December 2001" is there > such as cast. > > > Section 3.2.1 discusses a decimal() constructor that takes > > a single string literal. > > Section 14 discusses casting functions from primitives to > primitives, > but not over sequences. > > > The intent of the use case is clear ... apparently the > cast > should be applied to each element of the sequence. > > But where is it in the specs? > > > Thanks, > > > > Steve > > > > > > ======================================== > > Steve Sullivan sullivan@mathcom.com > > > > Mathcom Solutions: Custom Software Development. > > * XML, XQuery, XSLT, Java, JDBC, J2EE, JSP, JNI, ... > > * Mathematical optimization, simulation, and modeling. > > > > http://www.mathcom.com 303-494-7115 > > ======================================== > > -- > > ======================================== > Steve Sullivan sullivan@mathcom.com > > Mathcom Solutions: Custom Software Development. > * XML, XQuery, XSLT, Java, JDBC, J2EE, JSP, JNI, ... > * Mathematical optimization, simulation, and modeling. > http://www.mathcom.com 303-494-7115 ========================================
Received on Friday, 8 March 2002 14:51:53 UTC