I just got off the phone with Simon St. Laurent, a friend and co-editor at O'Reilly
(and a long time XML guru), and as we talked, he mentioned his sense that XML is,
after several years of largely stagnating, going through something of a renaissance
- a rebirth, not a period where people where elaborate circular collars, dress in
tights and paint pictures of cherubs (though they may be doing that too, although if
they are, I've seen thankfully very little evidence).
His observations parallel my own. At one time, the XML community was tiny - perhaps a
few hundred people all told, scattered across the globe. Some of them have drifted
away (though surprisingly few of them - once you've played with XML, you never
really stay away from it for long), many have, as they've become older, found
themselves in positions as architects, CIOs, analysts, or managing editors. Not a
few have started their own companies, though truth be told, I've found that the
mindset that finds XML attractive tends not to be highly entrepreneurial in nature,
so such companies tend to be consulting shops writ large.
However, the years have generally not been as kind with XML as those of us who
started working with it in the mid-1990s could have hoped. Procedural developers
have generally worked hard to hide the XML as much as possible - it was awkward and
didn't fit well into the way that they programmed. It required parsing, and it
didn't have any native methods beyond what DOM supplied, and it was decidely awkward
to work with when building compiled applications. Web developers were perhaps more
kindly disposed to it, though there's always been a vocal minority that have been
convinced that the simple act of writing HTML as an XML language was the ultimate in
heresy, and an equally strident minority (with a fair amount of overlap) that felt
that XML was a strawman to be knocked down by JSON or other condensed encodings.
Both groups inherently abhor namespaces, which curiously enough seem to be the
rising star in the Semantic Web, and increasingly in XML itself.
Inside Lightroom
Visit our Sponsored Developer Resource Pages and learn about cool
stuff from our sponsors!
Interesting in Sponsoring?
Interested in sponsoring the XML.com newsletter? Please
email us at advertising@oreilly.com for rate and availability
information. Thank you!
The period from about 2003 to 2006 in particular were hard for XML. The long hold-up
with XPath 2.0 kept XSLT 2.0 and XQuery both in limbo until 2007, while technologies
such as SVG and XForms seemingly foundered on rocks as major supporters backed away
from these specs in favor of proprietary solutions. The Semantic Web seemed to
dither away into incomprehensibility. SOA systems adopted XML as a marshalling
technology, then proceeded to hide it as much as possible - not just from the users,
but from the developers themselves. Perhaps it wasn't all that surprising that JSON
should become the dominant messaging medium for AJAX users - even with that
tantalizing X in the name, AJAX was ultimately about JavaScript, and AJAX developers
were just as determined to get rid of that awful, ugly XML mess festering away as
were SOA developers.
Yet there was several things that happened starting in 2007 that seem to be bringing
XML back from the brink of obscurity. The first was the clearing of a log-jam, with
the triple publication of XPath 2.0, XSLT 2.0 and XQuery 1.0. These truly were
revolutionary more than evolutionary, involving nothing less than the rethinking of
the mission that XML itself was to perform - getting away from the trees, and
concentrating increasingly on the forest.
On the document front, Microsoft, seeing the momentum of Office slipping away with
the publication of ODF as an ISO standard, put together OOXML as a prospective
standard that did something nothing else has done in the XML space - it made people
passionate about XML, even if it also meant a fair amount of rancor between sides
pro- and con-. It also made people aware of the potential that any XML document has
in terms of workflow, and already interest in XML-based publishing pipelines have
risen dramatically in the wake of the controversy.
A chance question by Sam Ruby on the xml-dev list laid the foundation for a new RSS
schema that was based upon XML and was at the same time easy to use. Atom
made its debut in 2005, gathering momentum, but it was the publication of AtomPub in
late 2007 that got many people to thinking about the role of syndication (and the
role of XML in that syndication). Atom and AtomPub stand poised to become the
foundations for a new generation of Resource Oriented Architecture, one where
taxonomies for resource management become possible, where REST is the dominant
operating paradigm and where the middleware stack all but disappears.
SVG is the graphics format that refuses to die, no matter how many attempts are made
on its life. SVG adoption in mobile devices has risen dramatically, and 2007 was the
first year where you could in fact view SVG in all browsers (most natively). XForms
similarly is beginning to make a comeback as the Mozilla XForms component makes
client-side XForms feasible, and Orbeon and Chiba do the same for server-side
solutions. None of these occupy a huge niche yet, but combine
XHTML+XForms+SVG+JavaScript+CSS on one side of the equation with AtomPub and XQuery
on the other, and you have a remarkably powerful application development system that
is XML all the way through.
The Semantic Web has similarly seen its stock rise after a long and painful period in
the wilderness, in part because people tried building the folksonomic Web and for
the most part have discovered why RDF is the way it is. On the flipside, this
rethinking of taxonomy has also forced changes back up the stack as the community
recognized (properly) that RDF as it stood was too complex. The future of the
Semantic Web is not in RDF - it's in RDFa, where attributes carry the necessary
semantic qualifications within documents in different namespaces. Ultimately, RDF
will act as a carrier (a lot like messenger RNA) but the concepts involved are
increasingly being articulated in terms that normal human beings can comprehend.
Another change has taken place, one outside of the scope of the core working groups.
In the late 1990s, everyone rushed to create common schemas for everything from
invoices to airp***s, and in the process discovered a truth known to anyone who's
put together a dictionary: defining a new language is gruellingly difficult to work.
What everyone expected to happen in a year with industry schemas has taken more than
a decade in many cases - defining and testing and rejecting and reshaping schemas
and ontologies and processes.
Yet even that seeming march into the quagmire eventually has to end. Industry
specifications in areas as diverse as finance, health, government standards,
mapping, production and education are all beginning to come online at roughly the
same time, and a whole new generation of people are being exposed to XML that had
only heard of it indirectly as being the stuff that theoretically ran through the
SOA pipes. Having defined these schemas, they now want to use them, and that in turn
is driving up interests in seeming backwaters as XSLT development.
Moreover, the ease of working with JSON when you control the pipes begins to break
down once you have to start consuming other people's data streams. JSON is good for
encoding comparatively simple structures, but things get more complex quickly when
you have to deal with document-like data-structures. Not surprisingly, XML is there
in the wings, inelegant perhaps, but having the requisite neutrality of semantics
that made it such a good candidate for a metalanguage a dozen years ago.
XML is coming back. The mission that I have with xml.com is to shepherd this site
back to a point where it can reflect this renaissance of interest, where it can be a
portal of information about everything new that's happening in this space as well as
an introduction for those people who are discovering XML for the first time. This
won't happen immediately - but it will happen, and I'm finding that, for the first
time in a while that it's fun to be working with XML.
XML Insights: XML and St. Patrick
Sean McGrath is another of those brilliant XML gurus I referenced above, and he has had a number of
deep insights about the way that XML works over the years. He recently reposted an interesting play upon the
Desiderata of St. Patrick that he wrote back in 2002, one that should be printed up and posted next to any angle-bracket-coder's monitor
(original at http://www.itworld.com/nl/xml_prac/03212002/):
St. Patrick to be Named Patron Saint of Software Developers
In a dramatic development, scholars working in Newgrange, Ireland, have deciphered an Ogham stone thought to have been carved by St. Patrick himself. The text on the stone predicts, with incredible accuracy, the trials-and-tribulations of IT professionals in the early 21st century. Calls are mounting for St. Patrick to be named the patron saint of Markup Technologists.
The full transcription of the Ogham stone is presented here for the first time:
DeXiderata
Go placidly amid the noise and haste and remember what peace there may be in silence.
As far as possible, without surrender, accommodate the bizarre tag names and strange attribute naming conventions of others.
Speak your truth quietly and clearly, making liberal use of UML diagrams. Listen to others, even the dull and ignorant, they too have their story and won't shut up until you have heard it.
Avoid loud style sheets and aggressive time scales, they are vexations to the spirit. If you compare your schemas with others, you will become vain and bitter for there will always be schemas greater and lesser than yours -- even if yours are auto-generated.
Enjoy the systems you ship as well as your plans for new ones. Keep interested in your own career, however humble. It's a real possession in the changing fortunes of time and Cobol may yet make a comeback.
Exercise caution in your use of namespaces for the world is full of namespace semantic trickery. Let this not blind you to what virtue there is in namespace-free markup. Many applications live quite happily without them.
Be yourself. Especially do not feign a working knowledge of RDF where no such knowledge exists. Neither be cynical about Relax NG; for in the face of all aridity and disenchantment in the world of markup, James Clark is as perennial as the grass.
Take kindly the counsel of the years, gracefully surrendering the things of youth such as control over the authoring subsystems and any notion that you can dictate a directory structure for use by others.
Nurture strength of spirit to nourish you in sudden misfortune but do not distress yourself with dark imaginings of wholesale code re-writes.
Many fears are born of fatigue and loneliness. If you cannot make that XML document parse, go get a pizza and come back to it.
Beyond a wholesome discipline, be gentle with yourself. Loosen your content models to help your code on its way, your boss will probably never notice.
You are a child of the universe no less than the trees and all other acyclic graphs; you have a right to be here. And whether or not it is clear to you, no doubt the universe is unfolding as it should.
Therefore be at peace with your code, however knotted it may be. And whatever your labors and aspirations, in the noisy confusion of life, keep peace with your shelf of manuals. With all its sham, drudgery, and broken dreams, software development is a pretty cool thing to do with your head. Be cheerful. Strive to be happy.
Standards Watch
To change your newsletter subscription options, please visit
http://www.oreillynet.com/cs/nl/home For assistance, email
help@oreillynet.com
O'Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472 (707) 827-7000