- From: Caroline Rioux <crioux@decisionsoft.com>
- Date: Wed, 13 Aug 2003 10:43:49 +0100 (BST)
- To: Ashok Malhotra <ashokma@microsoft.com>
- cc: "public-qt-comments@w3.org" <public-qt-comments@w3.org>
Thanks for the quick reply, [I am looking at the latest public version of F&O, 2003-05-02] I understand that you cannot construct xs:NOTATION, but it is not clear to me from the specs that this applies to all types *derived* from xs:NOTATION. Are they dissallowed as well? I think this should be made clearer, since in the casting table we are allowing casts from xs:NOTATION to xs:NOTATION, which implies that there is some way to get a hold of a value of type xs:NOTATION or derived from it. Thanks again, Caroline On Tue, 12 Aug 2003, Ashok Malhotra wrote: > Caroline: > Which version of the F&O are you looking at? The latest version > disallows both constructing xs:NOTATION and casting to it. I think this > is the right decision given the context dependent nature of the > datatype. > > All the best, Ashok > > > -----Original Message----- > > From: public-qt-comments-request@w3.org [mailto:public-qt-comments- > > request@w3.org] On Behalf Of Caroline Rioux > > Sent: Tuesday, August 12, 2003 9:36 AM > > To: public-qt-comments@w3.org > > Subject: Casting to types derived from xs:NOTATION > > > > > > Hi, > > > > I have two questions regarding xs:NOTATION. > > > > 1. Does there exist a constructor my:notation(xdt:anyAtomicType) for > > my:notation derived by restriction from xs:NOTATION? > > > > From F&O 5.2 'Constructor Functions for User-Defined Types': > > > > "For every globally-defined atomic type in the static context (See > [XQuery > > 1.0: An XML Query Language] that is derived by restriction from a > > primitive type, there is a constructor function [...] whose effect is > to > > create a value of that type from the supplied argument" > > > > However F&O 17.15 Casting to xs:NOTATION states: > > > > "It is not possible to cast values of any other type to xs:NOTATION > > because the validity of an xs:NOTATION value is context dependent and > > cannot, in general, be determined." > > > > This appears inconsistent since, according to F&O 5.1, constructors > are > > equivalent to casting. > > > > 2. If constructors for types derived from xs:NOTATION exist, how do > > they work? > > > > According to F&O 17.5: > > > > "Casting across the type hierarchy is logically equivalent to three > > separate steps performed in order. Errors can occur in either of the > > latter two steps. > > > > * Cast the source value, up the hierarchy, to the primitive type of > the > > source. > > * Cast the value to the primitive type of the target type. > > * Cast the value down to the target type. " > > > > In the case of xs:NOTATION however: > > > > xs:string("http://example.com:jpeg") cast as my:notation > > > > (where my:notation is derived by restriction from xs:NOTATION) > > > > should be allowed (see XPath 2.0 Language 3.10.2 4.3), but the second > step > > above would fail, since casting from xs:string to xs:NOTATION is not > > permitted. > > > > Thanks for any clarifications, > > Caroline > > > > -- > > Caroline Rioux, Software Engineer +44-1865-203192 > > DecisionSoft Limited > http://www.decisionsoft.com > > XML Development and Services > > > > > > > > > > > -- Caroline Rioux, Software Engineer +44-1865-203192 DecisionSoft Limited http://www.decisionsoft.com XML Development and Services
Received on Wednesday, 13 August 2003 05:33:38 UTC