- From: Caroline Rioux <crioux@decisionsoft.com>
- Date: Wed, 5 Mar 2003 10:18:38 +0000 (GMT)
- To: Michael Rys <mrys@microsoft.com>
- cc: public-qt-comments@w3.org
Thank you very much for your reply, it clears up a lot.
Just to be clear though (before I implement this ;-)), Jonathan
mentions below that the datatypes in the
"http://www.w3.org/2001/XMLSchema-datatypes" namespace are only available
if that schema is imported.
In the XPath 2.0 spec, section 2.6.2.1.1 (Basic XPath) it states that:
"In a Basic XPath implementation, the in-scope schema definitions consist
of a fixed set of 48 predefined type definitions. These include the 44
built-in datatypes defined in [XML Schema], plus four additional types:
fn:yearMonthDuration, fn:dayTimeDuration, xs:anySimpleType, and
xs:anyType."
Wouldn't that mean that in a basic XPath2 implementation, without importing
the above schema, only the third example below is legal?
<snip>
> > for example, if I bind xf to "http://www.w3.org/2001/XMLSchema" and
> > xs to "http://www.w3.org/2001/XMLSchema-datatypes", then which of these
> > (or all?) are legal?
> >
> > 'cast as xs:string(xs:decimal("15.5"))'
> > 'cast as xf:string(xs:decimal("15.5"))'
> > 'cast as xf:string(xf:decimal("15.5"))'
Also,
> > On a different note, I thought that xs was bound to
> > "http://www.w3.org/2001/XMLSchema" in the spec simply for convenience.
> > You seem to imply that it is a predefined prefix which is always bound to
> > "http://www.w3.org/2001/XMLSchema".
>
> This is correct.
[I assume you mean that Jonathan's implication was correct?] So does this
mean that this xs: binding takes precedence over any other xs: binding
done by a user in a document?
Thanks very much for your help,
Caroline
On Tue, 4 Mar 2003, Michael Rys wrote:
> My apologies that nobody seem to have answered.
>
> See below for my reply.
>
> Best regards
> Michael
>
> > -----Original Message-----
> > From: Caroline Rioux [mailto:crioux@decisionsoft.com]
> > Sent: Tuesday, March 04, 2003 7:19 AM
> > To: public-qt-comments@w3.org
> > Subject: Re: Namespace considerations
> >
> >
> > Hi,
> >
> > I posted the following a few weeks ago.. if anyone could a look at
> this,
> > that would be great,
> >
> > Caroline
> >
> > --
> > Caroline Rioux, Software Engineer +44-1865-203192
> > DecisionSoft Limited
> http://www.decisionsoft.com
> > XML Development and Services
> >
> > ---------- Forwarded message ----------
> > Date: Wed, 19 Feb 2003 16:29:09 +0000 (GMT)
> > From: Caroline Rioux <crioux@decisionsoft.com>
> > To: Jonathan Robie <jonathan.robie@datadirect-technologies.com>
> > Cc: public-qt-comments@w3.org
> > Subject: Re: Namespace considerations
> >
> > Thanks for the quick reply,
> >
> > What I am unsure about though, is whether or not users of an XPath2
> > implementation can invoke constructors within either namespace?
> >
> > for example, if I bind xf to "http://www.w3.org/2001/XMLSchema" and
> > xs to "http://www.w3.org/2001/XMLSchema-datatypes", then which of
> these
> > (or all?) are legal?
> >
> > 'cast as xs:string(xs:decimal("15.5"))'
> > 'cast as xf:string(xs:decimal("15.5"))'
> > 'cast as xf:string(xf:decimal("15.5"))'
> >
> [Michael Rys] All are legal since they construct strings :-). And even
> if you remove the 's the above expressions should be legal.
>
> However note that as Jonathan points out below, xs:decimal is not really
> the same type as xf:decimal, instead xs:decimal is considered a subtype
> of xf:decimal.
>
> > On a different note, I thought that xs was bound to
> > "http://www.w3.org/2001/XMLSchema" in the spec simply for convenience.
> > You seem to imply that it is a predefined prefix which is always bound
> to
> > "http://www.w3.org/2001/XMLSchema".
>
> This is correct.
>
> > Yet the F&O specs do use the
> > xs: prefix for constructors, which is defined to be in the
> > "http://www.w3.org/2001/XMLSchema-datatypes" namespace.
>
> [Michael Rys] This is a bug and should be fixed in the next version.
> Ashok, please take note.
>
> > Thanks again for your help,
> > Caroline
>
> [Michael Rys] Thanks for your comment.
>
> >
> > On Wed, 19 Feb 2003, Jonathan Robie wrote:
> >
> > >
> > > Hi Caroline,
> > >
> > > Good question! The short answer is that you can use
> > > ""http://www.w3.org/2001/XMLSchema-datatypes" only if you import
> that
> > > schema. Even though the same set of datatypes are available under
> either
> > > namespace, the datatypes in the two namespaces are not exactly
> > identical.
> > > If you go to the above URI, you can download the schema for
> datatypes,
> > and
> > > you will see that it looks like the following excerpt:
> > >
> > > <schema xmlns="http://www.w3.org/2001/XMLSchema"
> > > targetNamespace="http://www.w3.org/2001/XMLSchema-
> > datatypes"
> > > version="$Id: XMLSchema-datatypes.xsd,v 1.5 2001/03/16
> > > 20:53:32 ht Exp $">
> > >
> > > <simpleType name="string">
> > > <restriction base="string"/>
> > > </simpleType>
> > >
> > > <simpleType name="boolean">
> > > <restriction base="boolean"/>
> > > </simpleType>
> > > <!-- SNIP -->
> > >
> > > For each datatype in the "http://www.w3.org/2001/XMLSchema"
> namespace,
> > it
> > > defines a new datatype in the "http://www.w3.org/2001/XMLSchema-
> > datatypes"
> > > namespace, deriving it from the original by trivial restriction.
> > >
> > > You can import this schema like any other schema. It's often easier
> to
> > > simply use the predefined xs: prefix, which always points to
> > > "http://www.w3.org/2001/XMLSchema".
> > >
> > > Jonathan
> > >
> > > At 06:13 PM 2/18/2003 +0000, Caroline Rioux wrote:
> > >
> > > >Hi,
> > > >
> > > >I need some clarification on the namespaces used for constructors
> and
> > > >datatypes.
> > > >
> > > >In the F&O spec, section 1.5 it says:
> > > >
> > > >The URIs of the namespaces are:
> > > > * http://www.w3.org/2001/XMLSchema-datatypes for constructors
> > > > * http://www.w3.org/2002/11/xquery-operators for operators
> > > > * http://www.w3.org/2002/11/xquery-functions for functions.
> > > >
> > > >Which implies that constructors are in the
> > > >http://www.w3.org/2001/XMLSchema-datatypes namespace
> > > >
> > > >In XML Schema Part 2: Datatypes section 3.1 (Namespace
> Considerations)
> > > >
> > > > The *built-in* datatypes defined by this specification are
> designed
> > to be
> > > > used with the XML Schema definition language as well as other
> XML
> > > > specifications. To facilitate usage within the XML Schema
> definition
> > > > language, the *built-in* datatypes in this specification have
> the
> > > > namespace name:
> > > >
> > > > http://www.w3.org/2001/XMLSchema
> > > >
> > > > To facilitate usage in specifications other than the XML Schema
> > definition
> > > > language, such as those that do not want to know anything about
> > aspects of
> > > > the XML Schema definition language other than the datatypes,
> each
> > > > *built-in* datatype is also defined in the namespace whose URI
> is:
> > > >
> > > > http://www.w3.org/2001/XMLSchema-datatypes
> > > >
> > > >
> > > >Does this mean that either namespace can be used, even in the case
> of
> > > >construction?
> > > >
> > > >Thanks for any clarification,
> > > >
> > > >--
> > > >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, 5 March 2003 05:16:03 UTC