Another view: XML not meant to be 'human readable'

Another view: XML not meant to be 'human readable'

Summary: 'XML is not human readable, its not designed to be human readable and you shouldn't try and make it human readable.'

TOPICS: Browser

"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."

Topic: Browser

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Electrical outlet, not an appliance

    XML is like an electrical outlet. It's not a universal appliance that can hook everything together, it's a common standard so connections can be built between.

    So if XML becomes binary, awesome. It'll still be a ubiquitous standard everything can talk cleanly on. Doesn't mean there won't be work to make things talk, it'll just be more standardized (faster to build the connections).
    • Analogy continued

      And furthermore... people may say "well if there's all this work to hook it together even if it's a common language, why use it?"

      You don't need electrical outlets in your house either. You could hard wire everything and it would all work exactly the same. But it's alot more work and harder to change.

      Loose coupling works in XML and in your home electrical appliances.
  • think integration geeks

    Let's face it. The most common xml data integration methodology is for one geek to give an xml instance over to another geek. The other geek looks at the instance and codes to it. (Not saying it *should* be that way, but it is reality.)
    For significant chunks of the xml (i.e. PersonName element and PostalAddress element), the xml is self describing and can be coded to easily. It is only when the data relationships are more complex that the 2 geeks need to talk to one another.