Home > Technology, Web > XML: I don’t get it yet

XML: I don’t get it yet

I’m grappling with understanding what XML is really good for. I guess I understand that if I wanted to make an RSS reader or something like that, I would understand it right away. Mostly I’m not trying to understand what it’s good for but how it could help me. I understand that XML is for portable document (broadly-defined) exchange over the web, but it’s the meaning of “document” and “exchange” that require illumination.

I have a few big obstacles. For one, documents describing XML are only about syntax, which for me is the really really really really really really really really really really really really simple part. I mean, how much of a brain does it take to understand well-formedness and hierarchy? What’s hard to understand is poor-formedness and non-hierarchy (i.e. HTML). I reiterate that I come from a Unix background, where it’s impossible to think of things in a non-hierarchical manner, although some bad habits are creeping into the community from outside.

The next big obstacle is that many documents describing XML say that it’s big advantage is storing data in plain text files. My reaction is always “What idiot stores data in an opaque binary that requires a special program to read it?” Again, coming from a Unix background, this idea is hardly revolutionary. So it seems to me that the complexity of XML is a way to bring simplicity out of the Unix world, with just enough annoying complexity to satisfy people who insist on complexity. If it were too simple, they wouldn’t recognize it. So we have a potentially simple thing — data stored in plain text — in a completely verbose form: XML.

That verbosity brings to mind the common complaint about XML, which is that it’s really Lisp syntax with angle brackets and a bunch of stuff inside them. Consequently Lisp is a natural way to deal with XML. Again, this is bringing the ideas of one programming community (the Lisp community) to another (web programming).

I have thought of a few things I could do with XML, but most of all I don’t know why I feel the urge to learn more about it. One would be a graphing program that uses a web server and a browser to view results as SVG. That might be cool. Again, however, I have this voice inside that says “just tie together the right tools and automate them with a Makefile!”

Please share your thoughts.

Categories: Technology, Web Tags: , , , , , ,
  1. August 13, 2010 at 09:21

    After doing a little more reading, I’ve decided to forgo any working knowledge of the XML toolchain in favor of two excellent authoring tools: LaTeX and Org Mode. LaTeX is one of my favorite things about computing and there’s no good reason I should use anything else when a good tool like LaTeXML exists: using LaTeXML I can write the way I like to write and transform the material into a webpage with MathML.

    Another excellent tool is OrgMode, which can export documents as XHTML. I highly recommend watching Carsten Dominik’s talk on Org Mode as it explains a lot of really cool stuff you can do with it. Org Mode has so many features it’s becoming the Emacs of the Emacs world. I already use Org Mode for planning, so using it to author new webpages is no sweat. Some people even use it for blogging.


  2. September 6, 2010 at 12:39

    In the intervening weeks I’ve realized that the hubbub about XML lies really in people creating “web applications” or “web application frameworks,” like content management systems and RSS parsers. I don’t need to create anything like that myself, but I might go ahead and use one for my next website project, in lieu of writing the HTML “by hand.”


  1. August 14, 2010 at 11:22

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: