Transformation of XML Data Using Updates without Side Effects.
One of the key technologies of XML data management is XQuery, the query language for both retrieving and transforming XML data. In the paper, limitations of the XQuery facilities for transforming XML data are discussed. It is shown that, for one important class of queries, XQuery expressions are too cumbersome and computationally inefficient. In the paper, it is suggested to extend the XQuery language by functional update expressions. From the syntax standpoint, such expressions are similar to expressions of XML update languages. However, they can be evaluated without side effects, which makes it possible to integrate them in XQuery in a natural way. The expressiveness of the extended language is demonstrated, and approaches to efficient implementation of the suggested extension are considered. In addition, the problem of arbitrary compositions of XML query and update expressions (the problem of nested update expressions) is discussed. The existing XML update languages are based, as a rule, on the XQuery language; however, the possibility of constructing arbitrary compositions of XQuery expressions and those of the XML update language is not provided. This impedes development of practical XML applications in the XQuery language. In the paper, an approach to solving the composition problem based on the use of functional update expressions is suggested. Possibilities of the implementation of the suggested extension are discussed.
Programming and Computer Software, Vol. 32, No. 5, 2006, pp. 255-267.