Dare points out a big problem with XSD 1.0 2nd Edition, but there's a solution

Dare commented on my last post, pointing out that any old processor encountering an XSD with a special attribute wouldn't know the desired semantic and that would be a big problem. He's totally right. It would mean that the schema would process differently depending on whether the schema validator thought it was 1.0 or 1.0 2nd Edition. Either you'd get different results - one maybe failing to validate - when you processed an instance or, more likely, in one case you wouldn't be able to compile the schema because it has unexpected additions. I was thinking along these lines in order to avoid a namespace change, but given that my approach (a) requires you to modify the schema document and (b) doesn't actually work, a namespace change would do. So, the root element would become:

<xs:schema xmlns:xs=”http://www.w3.org/2001/XMLSchema/Noah”>

Really, I should have taken more time before I posted. I was all worked up, as one is likely to be at the XML DevCon. :-)

Anyway, the key point is that a VERY useful proposed change is on the table and if we adopted it without opening the whole XSD 1.1 can of worms, it would be a very good thing.


Posted Oct 21 2004, 12:49 AM by tim-ewald

Comments

Paul Downey wrote re: Dare points out a big problem with XSD 1.0 2nd Edition, but there's a solution
on 10-21-2004 1:21 AM
You're at XML DevCon? *jealous* :-)

anyway, you might be interested in some slides i put together on the need for this kind of processing trick for versioning:
http://whatfettle.com/2004/09/XMLOpen/

i hope to get the time to record my findings following experimenting with various schema processors, some of which implement the mustIgnore rule.

i'm not totally convinved you do need to change the namespace if implementing this rule. The purpose of changing a namespace would be to communicare a break in compatability. OK a schema that breaks UPA will be rejected in its entirety by a conformant processor, but changing the namespace will break all schema processors, including those that do already ignore UPA: XMLBeans for example has a command line argument to turn off UPA; other schema->code generators produce code which queries the XML, rather than following a hard-wired FSM (ignoring everything else).



XML Eye for the Object Guy wrote More on XSD 1.0a
on 10-21-2004 2:08 PM

Add a Comment

(required)  
(optional)
(required)  
Remember Me?