The IETF has promoted the next revision of XML standard to recommendation status. Among the improvements for Xml 2.0 are no more schemas, reduced processing frameworks, an expansion of namespaces, and automatic transformation of tags to other formats such as jsOff, CSV, Sql, and a compressed binary form based on two’s compliment.
Xml turned 10 a while back, which is 70 dogs years and even longer for knurds according to Moore’s Law. In any case this is much too long without significant change in a field where we can go through TWO dot com busts in the same time. Tim Bray headed the effort to change the standard, saying “Xml came about when I kept on forgetting the key sequences in VI and those LessThan characters kept popping up, so I decided to just keep the wags. Now we have the chance to change it because Microsoft has allowed us to integrate it into Word.”
Arguably the most important upgrade to Xml 2.0 is that it no longer need custom schema definitions. From now on all validations will be done through direct links to Xml.Com . Whenever a processor needs to confirm a document is well formed, it just simply does a web lookup to O’Reilly websites and quickly finds a reference schema, after the user logs into their Safari account. This help not only to find the xLinks they are using, but also a chance to purchase several books on the definitive works related to the subject.
My favorite feature is the reduction of frameworks to deal with XML. The Document Object Model was always easy because I am a programmer at heart, but it was always so slow. And Xslt always felt like it was invented by drunk Perl developers who were playing a mean joke on people like me who could not spell *nix. Now we only use Simple Api for Xml, or SAX for short. Because SAX uses a streaming model, it was a little difficult to pickup at first. I went down to my local bookstore and picked up “The Joy of Sax”. I never knew technical books could be so interesting!
Another part of Xml that if often overlooked is the use of namespaces. Now this feature will become more popular than ever with the addition of namespaces for namespaces. I can not tell you what a boon this will be for all professionals that use XML, especially consultants that can charge by the hour. There is even an option to declare certain elements with a used flag, so that you can make sure you call your nodes dirty names.
Through a partnership with the most famous Matt in the world, Xml now has Automattic transformation to any possible tag soup possible, including autoBlogging syndication to Atom. This allows Xml to upgrade to better formats such as Sql, CSV files, and jsOff - the improved version of jsON.
The strangest change to Xml is adding of a new binary compressed version based on 2’s compliment. The processing engine goes through two passes of the Xml: first transforming all nodes and attributes to reduced form names, and then using Map Reduce to lookup the result in Unicode for addition for the final output.
I always find it best to follow through an example: Suppose you had a document such as:
You could then use XmlZip to compress this to
This helps reduce the size of the stream and processing time, with the only added expense of looking up node “a” to become “BigLongNode” in the result. But thanks to the recent work on international domains (PUNYCODE) , the elements can be converted to a 128-bit integer and added to -0 (negative zero) to form the two’s compliment of the result. The same process is followed for the transformation style sheets, and then two numbers are added. The number always seems come up the same: 42, but the computer assures me this is THE answer.