- From: Michael Kay <mhk@mhk.me.uk>
- Date: Mon, 16 Feb 2004 10:01:27 -0000
- To: "'Jonathan Robie'" <jonathan.robie@datadirect.com>, "'XML Query Comments'" <public-qt-comments@w3.org>
We could achieve this, without loss of backwards compatibility in the untyped case, by specifying that the typed value of a document node is the concatenation of the typed values of its children, each such typed value being first converted to a string, with the final result being xdt:untypedAtomic. What did you think of my other suggestion, of saying that the typed value of an element with child elements should be a string, thus allowing its use in a string context (like contains()) but not in a numeric context? Michael Kay > -----Original Message----- > From: public-qt-comments-request@w3.org > [mailto:public-qt-comments-request@w3.org] On Behalf Of Jonathan Robie > Sent: 15 February 2004 23:49 > To: XML Query Comments > Subject: [DM] Typed value of document node > > > > If an element has a complex type with complex content, the > typed-value() accessor raises a type error when applied to > the element. So if the Cities element has a known type, the > following raises a type error: > > <Cities> > <City> > <CityId>01</CityId> > <Longitude>100</Longitude> > <Latitude>32</Latitude> > </City> > <City> > <CityId>02</CityId> > <Longitude>54</Longitude> > <Latitude>24</Latitude> > </City> > </Cities> * 2 > > If you the same element is placed in a document node, the > typed-value() accessor returns its string value, as an > instance of xdt:untypedAny. Consider the following query. > > document { > <Cities> > <City> > <CityId>01</CityId> > <Longitude>100</Longitude> > <Latitude>32</Latitude> > </City> > <City> > <CityId>02</CityId> > <Longitude>54</Longitude> > <Latitude>24</Latitude> > </City> > </Cities> > } * 2 > > This query succeeds. Either both queries should succeed, > or both should fail. > > Jonathan >
Received on Monday, 16 February 2004 05:00:47 UTC