An XML aside
In a
Lambda weblog discussion,
Florian Hars answered Tim Sweeney's dismissive description of
XML with a quote from
a paper co-authored by Phil Wadler. Here is a longer quote
from the paper:
XML is touted as an external format for representing data.
This is not a hard problem. All we require are two properties:
Self-describing From the external representation one
should be able to derive the corresponding internal
representation.
Round-tripping If one converts from an internal representation
to the external representation and back
again, the new internal representation should equal the
old.
Lisp S-expressions, for example, possess these properties.
XML has neither property. It is not always self-describing,
since the internal format corresponding to an external XML
description depends crucially on the XML Schema that is
used for validation (for instance, to tell whether data is an
integer or a string). And it is not always round-tripping,
since some pathological Schemas lack this property (for instance,
if there is a type union of integers and strings). So
the essence of XML is this: the problem it solves is not hard,
and it does not solve the problem well.
Nonetheless, XML and Schema are widely used standards,
and there is value in modeling these standards.
I beg to differ (with the bold part, which is the part that
Florian quoted on Lambda). The important problem that XML did solve,
that Lisp S-expressions did not solve, was to
get popular. To gain enough mindshare to become
a near-universal standard. To be adopted by enough
organizations that it became a useful way for web-based
applications to communicate with one another.
This is one of those situations where looking at only the
technical aspects of an issue, while (mostly) ignoring the
social aspects, can lead tech-oriented people to miss the
big picture.
11:33:10 AM