At Congressional Quarterly, an online publication that follows the Washington, D.C., legislative process, Senior Software Architect Hank Hoffman has been swimming upstream.

It's one thing to compile hearing dates, vote counts and committee actions, but it's quite something else to make those data points relate meaningfully to one another. A year ago, Hoffman found what he was looking for in the form of XQuery.

XQuery -- an XML-native query language produced by the World Wide Web Consortium (W3C), a standards development body -- is designed to query and organize XML data.

One of XML's great strengths is its flexibility in representing many different kinds of information from diverse sources, according to the W3C. To make the best use of this flexibility, an XML query language must retrieve and interpret information from these diverse sources.

XQuery is designed to query a broad spectrum of XML information sources, according to the W3C, including both databases and documents. "You can do some very powerful things with just a very few lines of code," Hoffman said, explaining that XQuery makes interpreting and managing masses of XML data a much simpler proposition.

Dive into the Data

Betty Harvey coordinates the Washington, D.C., XML Users Group and is president of the IT consultancy Electronic Commerce Connection Inc. She says XQuery's greatest strength lies in the user's ability to dive into XML data in a way that SQL never allowed.

Suppose a government worker is staring down a massive mountain of legislation and wants to pull out just the bills related to global warming. SQL was never meant to read XML data that way, but XQuery can do it.

The best way to describe the capability, Harvey said, is to think of XQuery as having been raised from the beginning to work within the XML framework. It speaks XML, as it were.

The power of that native query is considerable. Think about a vast repository of medications; should a government agency wish to compile and publish a tract specifically on heart medicines, a single XQuery command could do it, while SQL would have demanded pages of code. "XQuery gives government the ability to search and provide data in ways they hadn't really thought of before," Harvey said.

XML Changes Things

To explain XQuery's role in the realm of data assimilation and interpretation, technologists compare it to SQL, a language used to create and manage data within relational databases. These databases have been the standard means of storing data for years, and SQL is the tool by which that data is manipulated.

Now IT experts say we are moving away from relational databases and migrating to the realm of XML data. For this new era, a new language is needed.

"In the same way that SQL is a very natural language for exploring relational objects, XQuery is a very natural language for querying XML data," said Willie Hardie, vice president of database product marketing at Oracle.

XQuery doesn't necessarily surpass SQL -- the new language was designed with different specifications in mind. "If all you have is relational data, and you want to create tables, SQL is a great language. The problem is that the game has changed," said Jonathan Robie, XQuery technology lead and chief scientist at Massachusetts-based DataDirect Technologies, which makes tools for deploying XQuery within an enterprise.

He's referring to the recent rise of XML as the predominant language driving the Internet and data storage in general -- an evolution that has pushed demand for tools to query and manage XML data. That's where XQuery comes in. More than a decade in the making, XQuery belongs to no one. It's the product of the W3

Adam Stone  |  Contributing Writer