Lists Home |
Date Index |
At 01:26 AM 3/24/2002 +0900, MURATA Makoto wrote:
>From: Jonathan Robie <firstname.lastname@example.org>
> > Here are some of the advantages of XML Schema:
> > 1. For most people who use schemas, what they really need is datatypes.
> > Otherwise, DTDs would meet most of their needs. Having the same set of
> > built-in datatypes across all XML Schema implementations is a very good
> > thing, IMHO.
>Unfortunately, datatypes and facets of XML Schema are not thoroughly
>defined, as you know very well.
>BTW, RELAX NG can borrow datatypes and facets of XML Schema. It can
>also use other datatype libraries.
Yes, but it really is very convenient to have a schema language that has a
built-in set of datatypes, not merely the ability to import datatypes. If
my query language has a concept of "integer", "string", etc., I like to
know exactly what XML datatypes these map onto. Of course, it would be
possible for us to mandate RELAX-NG with the imported datatypes from XML
> > 2. Named typing is very efficient for parameter passing. The fact that
> > named typing is used in XML Schema makes it easy to implement to efficient
> > parameter passing in XQuery. There are fancy ways to do similar things by
> > computing tokens with forest automata, but they are not all that easy for
> > most people to implement.
>Do you have any supporting evidence for the last sentence?
Perhaps I should have said "straightforward" rather than "easy to
implement". I think that the programming community as a whole understands
named typing, which is much more common in programming languages than
structural typing. XML Schema uses named typing. I think that has
advantages for both users and query language implementors.
> > As a basis for the XML Query type system, I think that the above factors
> > outweigh the advantages of RELAX-NG.
>I am wondering how XQuery can use XML Schema as a basis, since the
>type system of XQuery is extremely different from XML Schema. XQuery
>can capture co-occurrence constraints between elements and attributes.
>RELAX NG can. XML Schema can't. XQuery and RELAX NG has
>interleaving, but XML Schema has "all" only.
Obviously, XQuery can only use XML Schema as a basis if its formal
semantics are more closely aligned with XML Schema than the 7 June 2001
Formal Semantics are. And a lot of work has gone into that.
>Do you agree on abstract datatypes of XQuery, which are very different
>from XML Schema but are quite similar to RELAX NG?
The published drafts of XQuery do not use named typing, and the formal
semantic Working Draft which you cite, 7 June 2001, is somewhat out of
date. I think when the next coordinated set of XQuery Working Drafts come
out, it will be easier to discuss. some of these points in detail.
>Have you seen "Notes on implementing RELAX NG" by James Clark and my
>paper at Extreme 2001? Have you compared implementations of RELAX NG
>and those of XML Schema?
Yes - these notes are great.
> > 3. It's established and supported. If I want to solve a problem today with
> > a representation that is supported by most of the tools I use, XML Schema
> > is the obvious choice.
>It appears that quite a few people in this mailing list thinks XML
>Schema is not established, at least technically. On the other hand,
>Jing and MSV (implementations of RELAX NG) are very reliable.
In recent discussions on this list, people suggested that Xerces and
Microsoft's implementions of XML Schema are reliable. I'm not sure whether
"very" would apply or not.
> > Since both activities are in the W3C,
> > we probably don't have much choice anyway.
>If this is the real reason that you stick to XML Schema, please say
Let's separate two things.
Because both activities are in the W3C, and the W3C really should give
people one consistent XML environment, I think we were forced to use XML
Schema in the first place. At one time, I thought this constraint was
simply awful. I no longer feel that way. I think you will have to see the
next Working Draft of XQuery before I can really explain why, so I'd like
to postpone this for now.