"XML is human readable, but not human understandable." -Bonnie Shebat Williams
In a new post, Steve Jones argues that the oft-cited advantage of XML, that the markup language is human readable, may not hold as much water as thought.
"XML is not human readable, its not designed to be human readable and you shouldn't try and make it human readable. Just because something is in Unicode doesn't mean that anyone can read it. French, Chinese, Klingon (WTF?), Japanese, German, English, Urdu and many other languages can be written in Unicode, and XML should be viewed in the same way but as a language with lots of unrequired syntax, no real semantics and pretty random grammar in general. Think of XML as being English spoken by a sulky French teenager, lots and lots of grunts that mean nothing to anyone and the occasional fragment of something that no one actually properly understands."
Why? Jones says that the purpose of a "good" Web description, as rendered in XML, is to enable consumers to call a service correctly. XML functions as "a common technical language that enables accurate exchange."
Examples of that technical language role can be seen in WSDL and BPEL, he said. (Though David Chappell would argue BPEL isn't truly a language, but that's another story...) Jones said there was never a goal for WSDL and BPEL "to be human readable, they are aiming to be machine readable."
In response to Jones' post, one reader asked, "so why make these things in XML. Why not just use binary, rather than kill network bandwidth with XML. Is it that we want systems to be slower and kill the network?" Another pointed out that true, XML loses its readability as a file grows in size, adding that "XML isn't really a cure-all for anything and it has no great advantages over everything else except maybe accessibility of tools across all platforms. It can be used to create cross-platform formats, but the real art in creating such formats is making sure that the information you provide is simplistic enough to be consumable everywhere."