Five years later, XML...
by Simon St. Laurent
Related link: http://www.w3.org/2003/02/xml-at-5.html
The W3C is celebrating five years of XML. I'm not so sure that it's a good time to throw a party - and fortunately, the W3C article recognizes that.
XML has had some major accomplishments in the last five years. XML has demonstrated that it's possible to share labeled structured information without requiring everyone to share a common API. XML has made it clear that it's possible for programs to manage large quantities of information in forms that don't neatly fit in relational database tables. XML has also evangelized Unicode quite substantially, making it far easier to exchange information across language barriers without corruption.
At the same time, however, it's extremely clear that what was once a simplification process - "SGML for the Web" - has metastasized into an ever-growing collection of intricately connected (and disconnected) specifications. As the article puts it:
"You now have XML + XLINK + XSL + Namespaces + Infoset + XML Linking + XPointer Framework + XPointer namespaces + XPointer xptr() + XSLT + XPath + XSL FO + DOM + Sax + stylesheet linking PI + XML Schema + XQuery + XML Encryption + XML Canonicalization + XML Signature + DOM Level 2 + DOM Level 3. And as it grew, It became more complex and confusing. What started as a trim 25-page spec, SGML slimmed down for the Web, now has become a complex set of specs totaling hundreds of pages. While these specs describe powerful technologies, taken as a whole, who would describe them now as slim or trimmed down? Five years ago, XML tools could be developed by a good programmer in a week; now it may take full-time teams of the best programmers to keep up. Usability has suffered a bit."
That list doesn't even get into the stack of "Web Services" specifications, which are growing even more rapidly at the moment. Fortunately, the authors also ask:
"what remains to be answered is whether we, the community who are defining XML and building the tools to use it, can use what we learned over the last five years as a guide, and re-ask with passion and enthusiasm the question asked so often years ago — 'is this necessary for success?'"
If not, perhaps it's time for something much simpler - a break. While the volume of specifications has increased, it's hardly clear that the quality of specifications has improved. XML 1.0 and XSLT 1.0 have flaws, certainly, but reading, implementing, or merely using the many hundreds of pages that attempt to add what they lack is a Sisyphean task. The continuous pile-up of XML specifications seems to be driven by a concern that vendors will go their own ways and that standardization is crucial.
At some point, we have to ask how much standardization is really needed. It may be time to let developers and vendors play for a while, learning what works without further burdening everyone with new common standards. XML 1.0 may not provide enough interop for every application, but using the interoperability it provides is pretty easy. Developers who need different kinds of interop might even want to look beyond XML to alternate approaches that do what they need without the overhead of markup.
If we're lucky, XML will have a much calmer five years ahead than the past five years have been, making it easier for XML to permeate into new applications and become a common part of everyone's shared toolkit. If we're unlucky, the current pile-up will continue, and there will be enough momentum for a new round of simplification in five years. Then we can hope for stability in around ten years - maybe.
Can less be more effective?
extensible is the key word
XML was designed to be the foundation for so much development; less like a product itself and more like a language. All of the various XML applications that have been built on top of it are testimony to its usefulness, but IMHO really shouldn't be considered necessary adjuncts.