XVM - A Hybrid Sequential-Query Virtual Machine for Processing XML Languages.

Anguel Novoselsky, Zhen Hua Liu · 2008

As XML establishes itself as a universal data model for data exchange and presentation, a number of high-level declarative languages, such as XPath, XQuery, XQueryP, XSLT, have been proposed to effectively query, transform and manipulate the XML data. There have been considerable efforts, both in academic and industry communities of providing optimization and efficient implementation of these languages. However, majority of such efforts have been directed on optimizing these languages as database query languages using iterator streaming based execution model with XML indexing techniques. While iterator based model is effective for searching and pipelining large XML data, it may not be efficient for processing XML data with procedural oriented constructs, such as modules and user defined functions in XQuery, variable assignments, sequential execution expressions in XQueryP and template matching constructs in XSLT. In this paper, we present an XML Virtual Machine (XVM) that is able to handle a family of XML languages like XQuery, XPath, XQueryP and XSLT by using a sequential processing model implemented as a classical stack based virtual machine (XVM). Furthermore, we show how the XVM sequential processing model can be integrated with the iterator query processing model through the notion of iterator sequence and query fragment push-down so that the best part of both models can be embraced for the purpose of building an efficient XML application environment. 1.

Read the paper · More papers on PaperTik