The Web supports a massive amount of content formatted in XML, the standard method for structuring online documents and data. Relational databases, however, have had a hard time handling XML documents, which are structured as a hierarchy--a set of nodes, stored in sequence--and don't fit the rows-and-columns tabular format used by those databases.
That's starting to change. Oracle 10g, Microsoft SQL Server 2005, and IBM's DB2 9.0, released last week, include XML handling capabilities, an important step in making XML queries easier. Database users can further benefit from XQuery, an XML data-access language and emerging standard.
Some businesses have been storing XML data in the form of messages and documents in specialized XML systems, such as Software AG's Tamino and Ipedo's Ipedo XIP. These systems break content into a sequence of nodes that can be tagged, then invoked to retrieve either a single piece of data or an entire document.
Oracle, Microsoft, and IBM don't want to concede their data-storage dominance to interlopers such as Ipedo and Tamino. The big three's databases also support XQuery, which is approaching final approval by the World Wide Web Consortium. It defines a means of accessing XML data from different sources and building new documents from it.
Digital Steps, a developer of apps for the energy industry, can manage XML data using XQuery with Gamma, its system for tracking energy suppliers' assets and inventories. Digital Steps used to have to modify or rebuild parts of Gamma for different customers, leading to maintenance complexities. Thanks to Oracle 10g's support of XML, "we're much closer to having a single standard platform across our client base," says Peter Black, managing director of Digital Steps.
Meanwhile, the American National Standards Institute, the standards-keeper of the SQL query language used by relational databases, is working on a version of the SQL/XML standard that will support XQuery in the next version of SQL, due out in 2007. Some vendors' databases already support the SQL/XML standard.