Lists Home |
Date Index |
On my way back from XML 2001, I started thinking about the conference
I'd just seen and how exactly I landed in XML. Wandering through a
bunch of different loosely-connected ideas, I started thinking that XML
and markup in general - including and perhaps especially SGML - simply
doesn't fit well with a huge amount of what the rest of computing wants
I'm sure this is obvious to some people but may be worth exploring in a
little more detail for others.
Labeled and hierarchically structured information seems very useful to
XML folks, and it's pretty simple to work with as XML. Put those
labeled hierarchies into another framework - say, objects or relational
databases - and suddenly what was simple gets complicated very quickly.
XML seems to encourage a diversity of data structures (even within the
same document) which don't echo the relative conformity of both object
and relational structures.
The notion that representation is as important as underlying structure,
which XML's syntactic rules make fairly explicit, is deeply alien to the
Platonic view of information that many programmers seem to share. The
notion that lexical structure might be as important as the underlying
information is one that even this community frequently has difficulty
with, but it seems to be at the foundation of XML 1.0.
The separation of content from presentation (or processing) in XML seems
to work okay with similar notions in relational databases, but goes
against much of the grain of object-oriented development. In developing
MOE as a set of objects whose only behaviors are intended to be
utilities for carrying the data they hold, I'm keeping data and logic at
arms length wherever possible. I'm avoiding OOP concepts like
polymorphism to the extent that I can, preferring to let features like
the location in a structure have priority over the actual class type in
I'm not sure that any of this is new or unusual - most of it's probably
obvious to a lot of people. On the other hand, it explains a lot of my
visceral reaction to things like W3C XML Schema which seem to impose a
universe disconnected from markup onto markup itself. It also explains
a lot of my resistance to "Web Services", which feel to me like an
effort to use XML while continuing to program in older ways which have
no interest in what XML might bring to the table.
I'm hoping that if we're really lucky, this community and others might
notice that markup seems to bring its own agenda, and that more than
bits and bytes are at stake here. I treasure XML's flexibility and its
insistence on a core set of labeled structures, and wonder if maybe it's
time to take that seriously, rather than whatever received notions of
objects or databases we may have inherited.
Maybe I've been working in the XML trenches too long, but it seems like
maybe it's time to say "XML is different from the rest of what you've
been working on, and we should take that seriously" rather than
pretending that XML is simply glue for other technologies. This may not
be easy to sell to customers, but it may help us solve their problems.
"Every day, in every way, I'm getting better and better." - Emile Coue