XSD 1.0 2nd Edition

Several weeks ago I mentioned Noah Mendelsohn's proposal for two incredibly useful changes to XSD:

  1. Make element decls take precedence over wildcards, thereby allowing certain types of non-determinism
  2. Define a way to declare implicit extensibility points at the end of a content model or in between particles in a content model

Both of these changes would be INCREDIBLY useful.

Noah made these suggestions in the context of XSD 1.1, but I'd prefer to see it go into XSD 1.0 2nd Edition (they did this for XML). To differentiate between XSD 1.0 and 1.0a, we'd introduce a new attribute on the xs:schema element, like this (maybe it shouldn't be “noah“, but I'd like to see him credited with fixing this ;-):

<xs:schema xsa:noah="true" xmlns:xsa="..." xmlns:xs="...">

Ugly? Sure, but a hell of a lot better than waiting for 1.1 and all the changes it might bring. And hey, we're talking about XSD, is pretty really the measure of success?

If we can't get RNG, we should make this change to cauterize the wound and move on.

 


Posted Oct 20 2004, 04:22 PM by tim-ewald

Comments

kpako@yahoo.com (Dare Obasanjo) wrote RE: XSD 1.0 2nd Edition
on 10-20-2004 3:26 PM
So how are old implementations of XML Schema supposed to know about this "new and improved" version of XSD? The W3C XML Schema working group is always coming up with brain dead ideas like creating backwards incompatible versions of the spec via errata without consideration as to the harm they cause to interop by doing this.

As someone who's had to manage the complexity of managing compatibility between 3 implementations of XSD validation at MSFT, I definitely wouldn't advice the W3C to start making radical, backwards incomaptible changes to the spec without it being in a new version of XSD.
Aaron wrote re: XSD 1.0 2nd Edition
on 10-20-2004 3:45 PM
Just thought I'd mention that Noah's changes were mentioned today in Don Box's talk at the XML DevCon as part of his "WS-FantasyIsland" - brief blog entry at http://www.dogcaught.com/dpack/index.php?p=76
XML Eye for the Object Guy wrote Dare points out a big problem with XSD 1.0 2nd Edition, but there's a solution
on 10-20-2004 10:52 PM
Tim wrote re: XSD 1.0 2nd Edition
on 10-20-2004 10:52 PM
Yes, Don mentioned this today. We're both fans of Noah's proposal. The key point I wanted to make was that we could potentially adopt that without doing an entire 1.x release, which is more likely to take a very long time.

Tim-
Curt Hagenlocher wrote re: XSD 1.0 2nd Edition
on 10-21-2004 7:21 AM
Look, if y'all are so serious about wanting RNG instead of XSD, then you need to come up with a new name for the thing. "Relax-NG" is just not a name that was picked to sell. And if it doesn't have an "X" in the name, then how will the plebes know that it has anything to do with XML at all?

I know that people like us are in software instead of marketing for a reason, but no matter what your profession or inclinations, at a certain point, if you want something, you have to be able to sell it to make it happen. And part of selling something is picking the right name for it.
Dave Orchard's Blog wrote XSD and Wildcards
on 10-21-2004 7:58 AM
Tim posted a comment suggesting that XSD 1.0 2nd edition could use low priority wildcards Firstly, he characterizes this as "Noah's solution". I'm not sure that Noah invented this nor is he the first person to start evangelizing it. Michael...
XML Eye for the Object Guy wrote Dare points out a big problem with XSD 1.0 2nd Edition, but there's a solution
on 10-21-2004 2:09 PM
Noah Mendelsohn wrote re: XSD 1.0 2nd Edition
on 12-07-2004 3:27 PM
Just going back over old postings and saw Dave's comment of 10/21. Weak wildcards were indeed proposed by others in the Schema WG, though not as a versioning mechanism. Likewise treating restriction as subsumption has been investigated for a variety of good reasons. It's possible (if anyone cares), that I was the first one in the Schema WG to seriously suggest their use as building blocks for solving the versioning problem, in part because we were already adopting them for other reasons.

I also agree with Dave that changes to the control attributes on wildcards (e.g. match anything not declared in this schema) are equally important. As best I can tell, Dave was among the first to evangelize that idea, though I didn't see (or don't remember seeing) his work on that until after I wrote my paper.

Anyway, I suspect that the "who thought of it first" questions are less interesting than the "what should we do and when", but since it's come up I thought I'd try and set the record a bit straighter.

Noah

Add a Comment

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