I see that Elliotte Harold has declared the schema wars
over, and Tim Bray, Don Park, and others have piled on. That would be
great news, except for the little detail that the non-cognoscenti don’t
seem to know or care. As I’ve probably written here before, part of my Day
Job entails keeping track of real-world paying customer demand for XML
standards that Microsoft doesn’t support, and making the business case to
do so when warranted. When I started this job two years ago, I was all
set to pull together all the arguments for supporting RELAX NG in the Microsoft
native and managed stacks and help lead the world out of the darkness. I was
rather quickly disillusioned; as Dare mentioned when he had the job, virtually nobody
in our ecosystem actually asks Microsoft to support RNG. What people do
demand, rather loudly and frequently, is for the various XSD tools to interoperate.
(Well, what they really clamor for is XSLT 2.0, but that’s not
controversial!) XSD interoperability been a struggle, but as far as I can
tell an immense amount of progress has been made in the last few years. We are now at a bit of an inflection point- the “1.0”
generation of XML specs is pretty universally, and more or less correctly,
implemented on most commercially important platforms and languages. People
are asking “what’s next”? Where should we (the XML
community collectively) invest to move data interoperability to the next
level? There are plenty of semi-contending options, including Schematron,
XSD 1.1, the optional schema-aware features of XSLT/XQuery, JSON (which has a
bare bones datatyping capability), the semantic web technologies (some people
think of OWL as softof like a a schema language …), and of course RELAX
NG. Sure, some can be seen as complementary or orthogonal to one another, but
they DO compete for mindshare development/testing/documentation/education
resources. I have a few specific questions: -
Is this groundswell of RELAX NG adoption coming from
anywhere besides XML geekdom? -
What about XSD 1.1 (which clarifies some of the nastier
corners of the spec and addresses the very limiting lack of occurrence
constraints)? Is there any awareness of / demand for *it* outside
geekdom? And, ahem, to what extent is this “RNG – Mission Accomplished”
meme an attempt to strangle it in the cradle? :-) -
Are the non-geeks who consume RNG schemas doing
so by translating them to XSD for production use (or using the non-normative
XSD variants of the standards)? -
What about the people who use XML for “data”
rather than “documents”? Is RELAX NG just another fault
line in that dochead / datahead schism, or are people finding ways
to bind objects and databases to XML via RELAX NG as well as with XSD? -
Do the paying customers of the world REALLY hate XSD
that much more than they hate XML itself, especially namespaces and the APIs?
I get the impression that “it sux, but it sux less than not having
a data interchange standard” is about the most love we can hope for from
the teeming masses who don’t subscribe to xml-dev. -
Given the rather sad track record of “The
Right Thing” technologies in the eternal battle against “it sucks
but you have to use it anyway” technologies, why exactly should we “tear down the shaky towers with XSD in their foundation”, as
Tim put it? 5 years ago I wholeheartedly agreed, but at this point it
seems likely that XML itself will get buried in the rubble if the XSD towers
are pulled down. The whole point of XML for interoperability is lost if the
XML communities centered on different platforms move in different directions on
the question of what the real foundation standards are, so I think we all have
a stake in getting some clear answers. Thoughts appreciated! |