Randy said:
I was hoping someone here could answer this very basic question
OK, so we have very clear trollsign on this one.
However I like your domain name and you've posted to a TeX group in the
past, so lets hope you're real.
Reasons to use XML:
* It's there
* It's useful
* It's international
* It's synergistic
The world is already full of XML. You have to use it (good or not),
just because everything else you're connecting to is already doing it.
"Why" is still up for debate, but "whether to bother" was forced
several years ago. Just too late to not deal with it nowadays.
It's useful. It actually works. Imagine that, a protocol that comes out
of nowhere, does something useful, has a readable spec and actually
works pretty well. There are a few corner cases where the alternative
might be "better", but by and large XML is not only a possible
solution, it's a damn good one that beats the competition on its own
merits.
It's international. These days The Hell Of Software Development (tm)
isn't about dodging the bouncing feature request, it's about the sudden
internationalisation request. Take a big, ugly (very ugly) English-only
web app and have your sales team suddenly flog it to both Eastern
Europe and an arabic-speaking country. Now deal with those character
encoding issues in a plain text format (by yesterday). In XML though,
you just pick a workable encoding, and the DOM does the rest of the
hard work. Even for CJKV
Best of all though it's synergistic. This is a great word, even though
sadly mis-used by duck-squeezers and crystal-botherers. It's the idea
that 2+2=5, or at least can give you the benefits of 5. The whole may
be greater than the simple sum of parts.
With XML, synergy means that if I use off-the-shelf tools to work to a
standard protocol, and that if you use compatible tools to work to the
same protocol, then our overall systems together will interwork well
and be more capable than either one in isolation. To take an example
from the TeX world, TeX is a great document format for typesetting, but
it's poor for document management of large libraries. In XML though
(such as DocBook) any generalised tools I've already built to look at
"XML documents" and "extract and index embedded Dublin Core" will
magically find themselves capable of working on my newly imported
library, simply because we've all used XML and some decent good
practice and other common standards. My hypothetical "XML indexing
toolset" doesn't care too much if it's looking at RSS newsfeed entries,
the British Library or contractual definitions.
(Not that I'm at all biased against TeX, which there's a risk I might
have to be working with soon for just this purpose)
On the downside, XML doesn't do a damn thing on its own and always
needs to have a "dialect" defined for it. This can be ad hoc and
unspecified (i.e. the emergent dialect that's observable by looking at
the data itself) or it can be formally specified and made rigid by DTD,
XML Schema and OWL ontology (the ability to do the first casually is a
big benefit over SGML). However you do always have such a dialect --
whenever you hear snake oil talked about in the XML world, it's usually
by someone who doesn't appreciate this and who thinks that synergistic
benefits arise purely from using XML, not from sharing this dialect
too. XML is _not_ an instant lingua franca for all data.