W3C squeezes XML into portability
Is that a schema in your pocket...
Web-standards group the W3C has published its preferred standard for compressing XML documents into something more suitable for transmission over radio, and perhaps everywhere else too.
Efficient XML Interchange (EXI) originated with a company called AgileDelta, whose CTO is still editor of the specification which tokenises XML tags to create a significantly smaller binary file. That's easier for a computer to interpret as well as being quicker to transmit, which should lead to wider adoption of XML in embedded devices and let EXI supplant XML entirely in some applications.
Which would be no bad thing for the machines: XML is good at being human readable, and interoperable, but is horribly inefficient. XML documents contain huge amounts of replication and redundancy which we humans seem to enjoy, but it clogs up computers terribly and can be cut out with no loss of functionality.
There are already various ways of compressing XML documents: they can be zipped up for transmission, or use one of the various competing conversions that claim their own efficiencies. EXI can make use of the XML document's schema to create its compressed version, which makes encoding a little more complicated but simplifies decoding and increases the compression (so, for example, tags that only occur nested within different parents can share the same name).
With the W3C's blessing, EXI will be the standard with which to be seen, and there are already half a dozen open source and commercial implementations to play with, as long as you no longer need documents readable by our inefficient human brains. ®
So, back in the olden days file formats were binary, small and efficient. Along rolls XML with it's nicely structured, human readable format, becoming the next big thing in file formats.
And now, the new big thing to address some of the issues surrounding XML (like file size, parser complexity, load speeds, etc) is a binary file format!
Why XML is good
XML is good because it preserves the semantics of data, as opposed to say a comma delimited file, and includes namespaces so it's easier to add to, or remove data from without then having to change the software wot consumes said data.
The human readable bit is just that you can view/create/update XML data with a simple text editor. Or pretty much any programming language since it's just a text file. This may not seem like a big deal, but if you're stranded managing a legacy system and you need it to talk to something else, things like this really matter.
But don't misinterpret "human readable" as meaning it is intended to be consumed by end-users.
Is XML efficient? Nope. But that wasn't the intent. But it is useful as a data exchange format that's easy to work with -- easy as in lower barrier to entry.
About time too
Why anyone thought that XML was a good way to exchange large amounts of data is a mystery to me.
But, hey, storage is getting cheaper and processors are getting faster all the time so why bother to come up with an encoding that is space efficient and quick to parse when you have something as horredously inefficient as XML.