
XML at Five
by Edd Dumbill
February 12, 2003
The XML 1.0 Recommendation turned five years old this Monday, 10
February. Since February 1998 XML has grown and developed, vastly
exceeding all initial expectations. During those five years, XML.com has
followed the XML world tirelessly, publishing nearly a thousand articles
and becoming a forum for the heart of the XML community itself.
To celebrate this auspicious anniversary, I asked some XML old-hands
and friends of XML.com to comment on their experience with XML over the
last five years. Read on for their entertaining, illuminating and
thought-provoking comments.
Life-changing
It's no exaggeration to say that XML has changed my life,
professionally and personally. What about my respondents?
Rick Jelliffe, standards activist and Topologi CTO, still
waves the flag of the SGML guard: "Not at all, actually. I started working in
software for publishing using markup fifteen years ago, and still am." Others
mused on the effect XML had on their professional life, and in particular
that working with XML brought them into contact with some unique people.
Eve Maler, a founding member of the W3C XML working group:
"In addition to legitimizing my nervous habit of hierarchically structuring
all data within my reach, it has allowed me to work with and learn from some
of the most talented people in the world." Michael
Sperberg-McQueen, Architecture Domain Leader at the W3C and
co-editor of the XML 1.0 spec, added that XML "got me out of the university,
out of Chicago, and into a job where others in the organization agree that
working on open standards for information is a worthwhile way to spend time.
Works for me."
Norbert Mikula, Director of Runtime Technology at Intel
Labs and author of one of the very first XML parsers, recalls those early,
halcyon days: "[XML] enabled me to work with some of the brightest minds in
the computer industry. I fondly remember a time when the first day of an XML
conference was usually a continuous group-hug exercise. It was really just a
large family of weirdos." Of course, we've shaken that self-congratulatory
thing these days...
It's good to know that XML experts walk the XML walk as well as they
talk the talk. Henry Thompson of the University of
Edinburgh and the W3C, is completely absorbed with XML: "All three of my
jobs are centered on XML, I started an XML company 18 months ago, my
intellectual focus is on XML."Ken Holman of Crane
Softwrights and noted XML trainer, explained the benefits of XML in his
business:
"I get professional looking document publishing results and easily
managed content synthesized into presentations for my web site. I have
been able to create and sell home-grown information products (my
electronic books, licensed training materials, paper books, and
instructor-led training handouts) all from a single set of sources. My
customer management is made easy by on-the-fly aggregation of
customer-maintained data in XML files at arbitrary URL
addresses."
O'Reilly editor and long-time enfant terrible of the XML world,
Simon St.Laurent, described how his entanglement with XML
emerged from an interest in hypertext: "XML has derailed me from my
original hypertext interests and forced me to think a lot harder about
information structures in general. Along the way it's gotten me a few
jobs, sparked a few fights, and generally left me wanting both less (fewer
specs) and more (well-thought-out applications)."
Favorites
Ken Holman already described how XML is used in his business but what, I
wondered, were the favorite XML applications of the experts?
Old habits die hard with Eve Maler: "My personal favorite is good old
authoring and publishing. Using XSLT in this way still feels like a 'killer
app' to me, because I remember the days when it wasn't trivial to get your
information out of SGML form."
Rick Jelliffe and Henry Thompson, both involved in young XML-based
companies, are intrigued by new processing models and possibilities. Jelliffe
said "I like things you can see and play with. XML on the desktop is great,
especially because it allows lots more client-server and, especially,
peer-to-peer interaction." Thompson offers an alternative to conventional web
services as his favorite: "Auto-updating of transcluding documents as an
alternative to messaging."
Michael Sperberg-McQueen offered two applications, and echos Eve Maler's
approval of XSLT.
"First, I like using XML to encode historically important manuscripts,
with rich detail concerning the text and its inscription in the manuscript:
what words have been deleted, what words have been added later, and then
using XSLT to offer the user a choice of many different views of the
material, created from the same single source: a new-spelling text with
annotation suitable for high-school students or undergraduates, an
old-spelling text with annotation suitable for graduate students and
scholars, a diplomatic transcription with paleographic and codicological
details; annotation for textual critics, annotation for historians,
annotation for literary scholars; the text of Hamlet in the Folio, in this
or that Quarto, or as emended by this or that critic of the past four
hundred years.
Second, I get a particular charge out of seeing XML used in
applications for which SGML was proposed, in the late 1980s and early
1990s, but usually rejected out of hand as hopelessly impractical. XML
for configuration files (in Gnome, or Cocoon, or a zillion other
packages); XML for graphics (SVG rules!); XML for programming (XSLT has
become one of my favorite programming tools)."
Simon St.Laurent enjoys the combination of independence and
interoperability that XML offers him: "I like that I can concoct my own
vocabularies for particular documents depending on what the document looks
like, yet still have pathways to more standard vocabularies. It works well
for writing documents and converting them to DocBook or XHTML, but it's also
pretty nice for mixing and matching rule-sets for programs."
Norbert Mikula revels in the joy tags bring to everyday correspondence,
using XML "to add semantics to my e-mails such as: My <value
currency="USD">0.02</value> <rant>...</rant> or
<IMHO>...</IMHO>."
Crazies
A while
back I enjoyed myself by poking fun at various parts of the XML world,
picking out some of the more amusing applications of XML. What's the
craziest XML application our XML experts have seen?
Eve Maler agrees with Norbert Mikula, "I would have to say spontaneous
well-formed markup in human-written email, such as
<snip/> and
<sarcasm>...</sarcasm>. It works great with
wetware parsers, and you don't have to worry about performance
issues."
You can have too much of a good thing, however, and Norbert Mikula does
have limits to where he'll put those nutritious angle brackets. His too-crazy
scenario for XML is "an XML-syntax based programming language." Rick Jelliffe
took the sentiment further, and criticized XHTML: "HTML thrived on being more
forgiving of missing tags than even SGML allowed. Throwing that away makes
HTML a lot less attractive. Which is true of markup in general, actually."
Michael Sperberg-McQueen asserts that "there are no crazy applications,
only crazy application designers," leading nicely on to St.Laurent's craziest
use of XML: "I haven't written it yet."
Regrets, We've Had A Few
No retrospective is complete without wishing we'd done something
differently. Simon St.Laurent worried about the increase in complexity of
XML, a point also made by Norbert Mikula.
"When Jon Bosak approached me at SGML '96 with the challenge to write an
XML parser in three weeks (because so it was written as a requirement in
one of the first XML drafts) I was actually able to do it. Now, that we
have dozens of layers added to it, you need an engineering department for
the same task. Sometimes, to the innocent bystander, XML's complexity has
just gotten out of control. The good news is, however, that tools and
infrastructure increasingly absorb some of this complexity which allows us
to keep going."
Ken Holman also finds this a concern, "I would make the layers of
processing far more distinct than how they have evolved...e.g. separating
the representation of information in text markup from the application
interpretation of information found in text markup. I'm really worried W3C
Schema is going to ruin text processing and disenfranchise document
writers, and I think RELAX-NG is probably the way of the future because if
its clean lines."
This encouragement toward simplicity is also echoed by Eve Maler,
"...get some of those communities to keep the words 'What Is The Minimum
Required To Declare Victory?' uppermost in their minds. I suspect this is
what Tim Bray attempts to do on a daily basis!"
Michael Sperberg-McQueen offered two recipes for reducing confusion:
"(a) I'd provide a more convenient way for people to distinguish between
parsers which can support all of XML and parsers which require standalone
XML to work right. Lots of problems result from people wanting the
functionality of validating XML processors, but insisting on deploying
non-validating parsers which don't want to read external DTDs. One reason
is that we don't have a good, concise way to describe the different
possible kinds of processors.
(b) I'd take everyone who says XML is 'semi-structured data' (in
contrast with relational data, which they believe to be 'structured') out
back and engage in what Steve Zilles calls "severe counseling". The
difference between data in third normal form and XML is not the difference
between structured and semi-structured data: it's the difference between
simple, regular structures that are easy to treat with the mathematical
theory of relations and natural structures that are not so regular, not so
simple, but very, very real, and very, very structured."