The extraordinary success of the web is doubtless due to its winning combination of great power and extreme simplicity. But the ease with which web pages can be created - essentially a few tags in a text document - came at the price of a severely limited future growth for the medium.
Partly to remedy this, the official standards organisation for the web, the World Wide Web Consortium, developed XML. This addressed two pressing needs. First, it allowed HTML to be reformulated rigorously in XML. The result was XHTML, the first major change since HTML was released in 1997.
Just as important was the fact that XML allowed web data to be encoded in a machine-readable way. That is, where HTML (and XHTML) was about presentation, XML could capture the underlying structural information that had been lost when data was converted into a web page.
As a result, since its introduction five years ago , XML has blossomed mightily to encompass an extremely wide range of capabilities. For example, the Extensible Stylesheet Language allows XML documents to be formatted for presentation purposes. Two of its component parts are XSL Transformations and XPath. XPath, in particular, is emerging as one of the key second-generation XML technologies.
For example, other XML standards that draw on XPath include XForms, XML Query and XPointer. The last of these has just been announced as a recommended standard. It has three parts: the XPointer framework; the XPointer element scheme and the XPointer xmlns scheme. The most interesting part of the XPointer work is the clumsily-named XPointer xpointer scheme which is still a working draft.
As the site explains, "This scheme supports addressing into the internal structures of XML documents and external parsed entities. It allows for examination of a document's hierarchical structure and choice of portions based on various properties, such as element types, attribute values, character content, and relative position."
This may ring a bell for those with good memories, since it is very similar to an older web standard called the Document Object Model. In 1997 I described Dom as "HTML 4's most important innovation", since it allowed elements on a web page to be manipulated on the fly - for example, by dragging and dropping - without referring back to the web server. Microsoft and Netscape both worked on the idea, which they called Dynamic HTML.
But the idea never really took off, perhaps because the implementations from Microsoft and Netscape differed so much that nobody tried to use them on major websites.
Nonetheless, the Dom standards process has been grinding on ever since: the official W3C recommendation is currently Dom level 2, with level 3 in draft. But much more interesting than these is a version of Dom mapped to XPath. The practical benefits of this is that XML documents can be manipulated using Dom in much the same way as older HTML documents.
Whether this will lead to anything practical remains to be seen. Let's hope the combination of the Dom ideas - which seemed to offer great promise back in 1997 - together with the flexibility of XML are just enough to get the currently rather dull world of XHTML moving again and perhaps even generate the kind of excitement that accompanied HTML when it first appeared.