Opinions:
I’d say given the above, Microsoft, and you Michael given your job, have to take it beyond the real-world paying customer and look at the technology. Is it the best? Is it usable by the customers who use it, not the ones who pay the bills? Are the features being used the reason for support and not the source, and if so, what are those features and can they be more productively used with the alternative?
Microsoft will release Vista soon. That will be a sea change. If there is internal Microsoft resistance to Relax it is possibly that Vista’s interfaces to SQLServer are even more deeply coupled. If so, I can understand the resistance because a bet made has to be played or folded and the bet is too big to fold. I can also understand why some of those who are on the bandwagon for RELAX are pressing it because they are Microsoft competitors and undermining the Microsoft products and sales are what they do to compete. Given that, your job is to sort the FUD from the facts. I believe you will find that the demand for RELAX from your customer base when not FUD is coming from the experts who use the technology a lot. I believe you will find that the rest of it is a mixed bag such that simply counting yes/no votes doesn’t tell you much. So finally you will have to evaluate the technology on its own merits.
XSD is awfully overbuilt in my opinion. Solicit the opinions of your engineers about the issues of implementing it for ALL of the products that have to support it. Because people who have solved problems defend the problems because they own the solutions, even those sources are biased but all sources are for different reasons. Adjust accordingly then make your best recommendation.
len
-----Original Message-----
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!
|