Re: Visibility modifiers for named Schema components -- Schema 1.1 feature?

Both of the following comments seem to have merit, but it's either
unclear how to implement them or why they'd be important in XML as
opposed to OO.

N.B. when I joined the schema WG I was an OO programmer, and it was not
at all clear to me what was good for OO wouldn't be good for XML.  The
reasons this logic really doesn't hold completely are subtle, not
completely self-evident, and therefore unsatisfying.  I offer the
following comments realizing that you'll have to buy in to this idea
before you see my answer as anything other than sandbagging.

Mark Goodhand wrote:
> I've long found it frustrating that in order to reuse schema 
> components, you have to make them global.

You mentioned that you are frustrated by this fact.  Can you elaborate?
Is that databinding doesn't work as you expect, or some other problem?

Many members of the Schema WG believe that you should be able to create
local complex types and reuse them at that scope, assuming that's what
you're requesting.  (Note that the schema component model could allow
this construct, but the XML serialization syntax has no way to express
it.)  This belief (which I've held at times and may hold again) is IMO
based in the idea of OO scoping.  You have to remember that you can't
hide data in XML.  It's not that the idea is bad, it's that the two
systems are not isomorphic.

Webb Roberts wrote:
>The other big need for this that I've seen is when doing extensions of
>restrictions:  The restriction can't be an anonymous type; it has to
have a name.  So, even >though the final type (the extension) is the
only type you want to be used, both the 
>restriction and its extension are available for use.

If you can see a glimmer of reason in the above argument, then let me
push you a little further to see that the Schema REC defines "abstract"
to define types you don't want used directly.  Granted that's not the
same as not available, but "abstract" sends a strong signal that a type
is not to be used without refinement of some kind.

Best regards,
David Ezell

Received on Friday, 8 September 2006 15:04:55 UTC