Rising Rebellion Against W3C XML Schema

by Simon St. Laurent

Related link: http://www.sys-con.com/xml/article.cfm?id=423

While I've criticized (some would say whined about) the quality of the W3C XML Schema specifications for a long while, it seems like a lot more dissent is rising to the surface lately, especially this week.

Tom Gaven's Desperately Seeking... Help for XML Schema article arrived in the XML-Journal that appeared in my mailbox yesterday. It starts with a bang:

"There's been a lot of interest in XML Schema, and well there should be. A lot of very smart people put the XML Schema spec together, and I'm sure it took an amazing amount of effort. But if I can be frank for a moment, XML Schema is rocket science. From noNamespaceSchemaLocation to block attributes and substitutionGroups, the XML Schema syntax is simply too complex....STOP the MADNESS and just say NO!"

Gaven goes on to explain how complex type inheritance is broken, detailing one small but critical piece.

Meanwhile, on the ietf-xml-use mailing list, James Clark explained at length why RELAX NG is preferable to W3C XML Schema, noting that:

"There seems to be a tendency for people to suspend their technical judgment when it comes to W3C XML Schema. The attitude seems to be "It's a W3C Recommendation; everybody is using it, so we should too, regardless of its technical merits." I don't think this
attitude serves the best long-term interests of the Internet.

On the xml-dev mailing list, Clark's comments led to an outpouring of mostly similar comments (Threads: 1 2 3 4 5). The xml-dev discussion also appears to have inspired Dorothea Salo to write a blog entry called "Maybe I'm Not Stupid," reflecting that:

"Confession: I donít get XML Schema. I just donít get it. When one is shoved under my nose, I can kinda-sorta follow whatís happening, but to get a real idea I have to have a reference handy. I get lost.... I havenít studied RELAX NG much, but the few examples Iíve run across were aha moments. Aha! I get this! Aha! This is pretty keen!Aha! I always did want to be able to say that in a DTD!"

On XML-L, G. Ken Holman also described W3C XML Schema as:

"too complex and, in
some places, just simply broken and unable to express some of the constraints we often need to place on structured information. If it meets the needs of data-heads then they can go ahead and use it, but for doc-heads and web-heads I'm of the opinion RELAX-NG[1] (pronounced "relaxing") is part of the future and is already here for us to use today.

Back on ietf-xml-use, John Cowan went beyond Holman's claims for RELAX NG's applicability to documents:

"With the exception of identity constraints, RNG provides a superset of XML Schema facilities. It works equally well for documents and data, with no compromises required."

Developers interested in exploring RELAX NG, the most frequently proposed alternative to W3C XML Schema (and now an ISO Draft International Standard) may want to explore:

Do these rebels have a chance against the W3C empire?