[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Silver Bullets and Partial Solutions
I've been away from this list for a few days, and a bit thankful for that! I'm not going to try to sort out who said what, and perhaps it's all my fault for using the term "self-describing" in a post the other day. Here's my "why XML is a Good Thing, warts and all" elevator speech for your consideration: At the most basic level, XML is simply a standardized syntax, or metalanguage for builging languages, for describing labelled trees. But such a definition understates the potential of XML just as badly as the statement "XML is the silver bullet for interoperability" overstates it. "XML" provides not only this rather abstract metalanguage, but also a community of experts, tools, examples, and associated specifications that provide a substantial percentage of the infrastructure that underlies Web-based applications and business integration efforts. If silver bullets do indeed kill werewolves, XML won't give you one. XML is about providing the infrastructure to produce, buy, and sell the silver and bullet molds. If you've got werewolves in your local haunted forest, you are a lot better off if you can buy silver and bullet molds at quickly and economically than if you have to prospect for the silver, mine it, refine it, and mold it into bullets all by yourself. Let's look at the definition of XML more closely to see why it provides this infrastructure: XML is about standardized syntax, labels, and trees. -- The "standardized syntax" means that you usually don't have to write your own grammars and parsers, you can leverage XML. XML is not a perfect or optimal syntax, but it's good enough for most purposes, and its limitations for any particular problem are generally overwhelmed by the benefits provided by the network effect. -- The "labels" make it much easier for human readers and simple programs to associate a value with a description of what it is all about. This is not a general solution to the (probably insolveable) problem of representing the "meaning" of data, but it is a very practical solution to real world information exchange problems. C'mon folks, there's no "standard" for paper invoices, and they are written up using different languages, formats, currencies, and private vocabularies for centuries. I submit that human accounting clerks in bureaucratic organizations are not all that much better at pattern recognition than modern specialized software can be, and if "labels" have taken the world of business as far as it has, that's something worth taking seriously. If formal type systems and ontologies can do better, fine ... but I'll believe that when I see it working well in widespread practice. -- "Trees" mean that an XML document can describe a hierarchical package of inter-related information. This lets XML easily represent "documents" and "messages" of the sort that have enabled human and organization communication since the invention of paper. As individual components, standardized syntax, labels, and trees are useful but a bit boring. For that matter, as individual components, HTTP, HTML, and URIs are useful, but a bit boring. But just as putting HTTP, HTML, and URIs together in a single system gave us the far-from-boring World Wide Web, XML 1.0 (or even Common XML) is much more than the sum of its component parts and can indeed -- salted with a bit of hype to get the network effect started, and combined with the Web technologies -- provide an awful lot of infrastructure for communication and business even without GUI tools, standards for every business document, and ever-higher levels of complexity built on top of the XML core.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|