- From: <noah_mendelsohn@us.ibm.com>
- Date: Fri, 16 Oct 2009 16:35:06 -0400
- To: "Michael Kay" <mike@saxonica.com>
- Cc: "'Henry S. Thompson'" <ht@inf.ed.ac.uk>, "'XMLSchema at XML4Pharma'" <XMLSchema@XML4Pharma.com>, xmlschema-dev@w3.org
Michal Kay writes;
> It's not clear what answers it gives for more complex
> redefinition graphs.
Well, it's been a long time since I've looked at it. I guess I assume
that all redefinition graphs are in fact trees, I.e. each redefine can
redefine only one thing, and ultimately there is a path back up to the
collection of the coponents you would have had if no redefinitions at all
were done. What I believe ACSOOD tries to do is, first collect all of the
prototype components that are not themselves the result of redefines, then
apply the redefinitions recursively, with each one being pervasive. Is
there a particular sample you have in mind for which ACSOOD doesn't signal
a fairly clear direction? You may well be right, but I'd be very curious
to learn what it is.
> And it doesn't appear to have anything to say about chameleon include.
I went back and looked at it. You're right that it isn't dealt with
explicitly. My suggestion would be that it be handled locally to the
preparation of prototype components of each include step. Thus, if a
schema with target namespace N included a schema doc with no explicit
target NS, it would for ACSOOD purposes be as if the included document did
have an explicit targetNamespace="N". If that same document were included
in another context, then that would be handled as a completely separate
include, with the same rule applied. I think this probably means that I
would have to augment my list of schema document abstraction to actually
make it a list of (schemadoc, targetNamespace) pairs, where in most cases
the targetNamespace would be determined trivially from the schemadoc's
attribute, but in the case of chameleon would be taken from the include
statement. This would allow the same schemadoc to be included in the list
repeatedly, once for each targetNS.
Again, ACSOOD was an attempt to set down more crisply how I always thought
the whole thing was working right along, though I later came to understand
some of the ambiguities in the spec as written, and that other people have
interpreted it differently. I also am a little unhappy with the fact that
ACSOOD depends in its current form on identify of schema documents (it has
a set of them), which raises some nasty questions about cases in which
schemaLocation URIs differ in, e.g., upper/lowercase, but in ways that we
know won't affect the referent (e.g. http://xxx vs. HTTP://xxx) ACSOOD
more or less winds up treating these as distinct documents, potentially
including them separately, and quite likely resulting in duplicate
component errors. Otherwise, I think it's in the ballpark. Then again, I
said as much in 2004, and it was clear that there were many differing
opinions in the WG as to how things really work in 1.0, how they should
work in 1.1, and especially in how to explain how they should work in 1.1.
I really don't want to reopen all of that here. I'm just pointing to
ACSOOD is a simple way of indicating what my personal assumptions have
been about how redefine should work.
Noah
--------------------------------------
Noah Mendelsohn
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------
"Michael Kay" <mike@saxonica.com>
10/16/2009 04:11 PM
To: <noah_mendelsohn@us.ibm.com>
cc: "'Henry S. Thompson'" <ht@inf.ed.ac.uk>, "'XMLSchema at
XML4Pharma'" <XMLSchema@XML4Pharma.com>, <xmlschema-dev@w3.org>
Subject: RE: Escalation mechanism for different
interpretation of W3C XML-Schema specification ?
> While my
> ACSOOD proposal remains very incomplete and has a variety of
> problems, I think it does more or less signal my thinking
> about questions like this [1].
>
Yes. It's close the the way I think about it. It appears to handle a chain
of redefinition (A redefines B, B redefines C) in the same way as I do.
It's
not clear what answers it gives for more complex redefinition graphs.
And it doesn't appear to have anything to say about chameleon include.
Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
Received on Friday, 16 October 2009 20:35:59 UTC