Accessing Databases with XQuery

At the start of this section, we stated that the main purpose of XQuery is to extract data from XML databases, but all our examples have used a single XML document as input.

People sometimes squeeze a large data set (for example, a corporate phone directory) into a single XML document, and process it as a file without the benefit of any database system. While there are preferable alternatives, if the data volumes do not go above a few megabytes and the transaction rate is modest, then XML-document-as-database is a perfectly feasible storage mechanism. In other words, the examples in this section are not totally unrealistic.

If you have got a real database, however, the form of the queries used in this section will not need to change all that much from these examples. Instead of using the doc() function (or simply ".") to select a document, you are likely to call the collection() function to open a database, or a specific collection of documents within a database. The actual way collections are named is likely to vary from one database system to another. The result of the XQuery collection() function is a set of documents (more strictly, a sequence of documents, but the order is unlikely to matter), and you can process this using XPath expressions or FLWOR expressions in just the same way as you address a single document.

There is a lot more to databases than doing queries, of course. Each product has its own ways of setting up the database, defining schemas, loading documents, and performing maintenance operations such as backup and recovery. XQuery currently handles only one small part of the job. In the future it is also likely to have an update capability, but in the meantime each vendor is defining his own.

One particularly nice feature of XQuery is that it has the potential to combine data from multiple databases (and freestanding XML documents). DataDirect XQuery®, which supports access to Oracle, DB2, SQL Server, and Sybase is one product that addresses this need.

Why XQuery - The Case for XQuery

Read "The Case for XQuery" - an article that debuted in the November 2005 issue of SOA WebServices Journal, written by Jerry King, Vice President of DataDirect Technologies.

OASIS Catalog Support

Stylus Studio's features for working with OASIS catalogs allow you to incorporate any vendor's catalog - or one of your own - in your XML, making writing correct and robust XML easier than ever.

Java Code Generation

The Stylus Studio Java Codce Generator lets you generate deployable Java code for XQuery and XSLT at the push of a button!

Validating X12 Documents with XML Schemas

Either before or after transforming X12 EDI content, generated XML Schemas will make sure that we have all of the necessary components, our codes are all according to the standard codelists, and every little delimiter is in the right place.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member