[XMLSCHEMA-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Permit (greedy) conflicting wildcards

From: Michael Kay <mike@saxonica.com>
Date: Wed, 21 Mar 2007 23:10:03 -0000
To: <noah_mendelsohn@us.ibm.com>
Cc: "'Pete Cordell'" <petexmldev@tech-know-ware.com>, <xmlschema-dev@w3.org>
Message-ID: <01ac01c76c0e$0f32fc10$6401a8c0@turtle>
RE: Permit (greedy) conflicting wildcards

> 
> You may well have some sort of cache as an implementation 
> strategy, but it's not an abstraction that appears in the 
> schema language.  

By and large, the spec simply says that the schema is a collection of schema
components gathered from some implementation-defined source.

> There are already a number of constructs 
> that have the same closed world feel.

That's true: for example lax validation, and redefines. They're all a bit
problematic, because you can't inspect a schema document and an instance and
know whether the instance is valid without knowing somethng else about the
validation environment. However, I don't think there are currently any cases
where an element E that conforms to a declaration D causes the instance to
be valid when D is absent from the schema but invalid when it is present.
Intuitively, this seems a little weird. It's likely to be particularly
problematic, I think, in an XQuery scenario where you are typically dealing
with a pool of long-lived schema information rather than with one validation
episode at a time.

> 
> While not written specifically to deal with these "action at 
> a distance" 
> mechanisms, this text makes pretty clear that the definition 
> of assessment is indeed of a completely assembled schema in 
> which all components are known.  Anything more incremental is 
> a processor implementation strategy that must not have 
> externally visible characteristics that conflict with the 
> normative rule.

Generally, the way Saxon enforces this rule is to freeze components in the
cache once they have been used: for example, once a type has been used for
validation then it can't be redefined. So it sounds as if the implementation
strategy for the not-in-schema wildcard will be "once you have used the fact
that element E is not in the schema, E must not be added to the schema". But
I may also have to think about providing a mechanism to remove components
from the schema since their mere presence can now cause problems.

Michael Kay
http://www.saxonica.com/
Received on Wednesday, 21 March 2007 23:10:18 GMT

Subscribe to the Stylus Scoop newsletter for helpful XML tips and tutorials.
Email
First Name
Last Name
Company

Download Stylus Studio 6 XML Enterprise Edition

Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.