Skip to main content

Virtual XML Garden

An implementation of XPath and XQuery for processing (and combining) many kinds of structured and formatted data as if it were all XML.

Date Posted: November 3, 2005

alphaworks tab navigation


 

Update: December 19, 2006 Version 4: Rewritten XQuery optimizer based on higher-order rewriting; DFDL adapter updated to reflect the DFDL Combined Specification Working Document (core, revision 09); many fixes.

 

What is Virtual XML Garden?

More and more structured data is converted into XML documents, either for transmission and processing that follow various standards such as the Web services standards, or for combination with semi-structured data such as HTML documents. Sometimes the original structured data is replaced with the converted data, sometimes it is converted "on the fly." Both approaches pose problems: If the original data is converted, then legacy applications depending on the old format must be rewritten. Converting data on the fly, on the other hand, imposes a significant performance penalty because the standard XML format requires significant overhead for generating or parsing XML character sequences.

Virtual XML solves these problems by

This solution is combined with implementations of the XPath and XQuery languages and sophisticated analysis technology based on a generic, higher-order rewriting engine. This combination allows it to exploit the specific data access patterns allowed by each actual structured data source underneath the Virtual XML adaptation layer through the use of data model profiles. (For a technical overview of this idea, please see Phantom XML.) Each adapter is then exposed to the user as a simple XPath or XQuery function, which allows for scripts that merge and join data from all the available data sources. Several examples of such scripts are included in the updated version of Virtual XML Garden.

Although Extensible Markup Language (XML) has gained popularity and has resulted in the creation of powerful software for creating, transforming, and querying XML-based business data, much information remains in non-XML form. Virtual XML Garden demonstrates how it is possible to "virtualize" data resources to appear as if they were all in XML and thus enables applications to access both XML and non-XML sources in a uniform manner. (For an in-depth treatment of the business case, see the IBM Systems Journal paper.)

For further details, discussion, and applications, please see Kristoffer Rose's Blog.

How does it work?

With the new Virtual XML Garden release, users can write scripts in XPath and XQuery that mix and match data retrieved from virtual XML views in order to create derived views or "XML mash-ups" with data from a wide variety of data sources:

Furthermore, data generated by such scripts are themselves derived views that can be accessed as XML data or through standard APIs such as SDO (Service Data Objects).

About the technology author(s)

Virtual XML Garden was developed by a world-wide team of IBM's XML technology experts as part of the Virtual XML project. They can be contacted through e-mail.

Trademarks