W3C home > Mailing lists > Public > public-qt-comments@w3.org > August 2003

RE: Casting to types derived from xs:NOTATION

From: Caroline Rioux <crioux@decisionsoft.com>
Date: Wed, 13 Aug 2003 16:44:28 +0100 (BST)
To: Ashok Malhotra <ashokma@microsoft.com>
cc: "public-qt-comments@w3.org" <public-qt-comments@w3.org>
Message-ID: <Pine.LNX.4.44.0308131637380.20517-100000@ouse.dsl.local>

Thanks!

> I'll add wording saying that types derived from xs:NOTATION as well as
> xs:NOTATION cannot be constructed or cast to.

Does this mean that the casting table now dissalows casting xs:NOTATION to 
xs:NOTATION?

Otherwise, '$var cast as my:notation' (where $var is of type derived from 
xs:NOTATION) is equivalent to 'my:notation($var)', which leads to a 
constructor function being needed!

Also, if we atomize a sequence of nodes whose type is derived from 
xs:NOTATION, does the dm:typed-value() accessor return a value of type 
derived from xs:NOTATION?

Thanks again,
Caroline

> 
> All the best, Ashok
> 
> > -----Original Message-----
> > From: Caroline Rioux [mailto:crioux@decisionsoft.com]
> > Sent: Wednesday, August 13, 2003 2:44 AM
> > To: Ashok Malhotra
> > Cc: public-qt-comments@w3.org
> > Subject: RE: Casting to types derived from xs:NOTATION
> > 
> > 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 disallowed 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
> > 
> 
> 
> 

-- 
Caroline Rioux, Software Engineer           +44-1865-203192
DecisionSoft Limited                        http://www.decisionsoft.com
XML Development and Services
Received on Wednesday, 13 August 2003 11:34:17 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:45:13 UTC