Programming and Computer Software

, Volume 32, Issue 5, pp 255–267 | Cite as

Transformation of XML data using updates without side effects

  • A. A. Boldakov
  • M. N. Grinev
Article
  • 39 Downloads

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Boag, S., Chamberlin, D., Fernandez, M., Florescu, D., Robie, J., and Simeon, J., XQuery 1.0: An XML Query Language, W3C Candidate Recommendation, 2005, http://www.w3.org/TR/xquery/.
  2. 2.
    Kay, M., XSL Transformations (XSLT) Version 2.0, W3C Candidate Recommendations 3th November 2005, 1999, http://www.w3.org/TR/xslt20/.
  3. 3.
    Biron, P., Permanente, K., and Malhotra, A., XML Schema Part 2: Datatypes Second Edition, W3C Recommendation, 2004, http://www.w3.org/TR/xmlschema-2/.
  4. 4.
    Stilo Whitepapers: Single Sourcing: Managing the Impact of Change on Content, http://www.stilo.com/download/stilowhitepapers.html.
  5. 5.
    Stilo Whitepapers: Content Engineering, http://www.stilo.com/download/stilowhitepapers.html.
  6. 6.
    Grinev, M., Kuznetsov, S., and Fomichev, A., XML-DBMS Sedna: Specific Features and Variants of Use, Otkrytye sistemy, 2004, no. 8, pp. 36–43, http://www.osp.ru/os/2004/08/036.htm.
  7. 7.
    Gana, J. and Kim, W., Transaction Management in an Object-oriented Database System, ACM SIGMOD Record, 1988, vol. 17, no. 3, pp. 37–45.CrossRefGoogle Scholar
  8. 8.
    Technical Overview: An Informal Introduction to Mark Logic’s Content Interaction Server, XQuery, and Xq:zone. http://xqzone.marklogic.com/howto/tutorials/technical-overview.xqy.
  9. 9.
  10. 10.
  11. 11.
    Clark, J. and DeRose, S., XML Path Language (XPath) 2.0, W3C Working Draft 2005, http://www.w3.org/TR/2005/WD-xpath20-20050915/.
  12. 12.
    Lisovsky, K.Yu., XML Applications Development in Scheme, Programmirovanie, 2002, no. 4, pp. 20–32 [Programming Comput. Software (Engl. Transl.), 2002, vol. 2, no. 4, pp. 189–197].Google Scholar
  13. 13.
    Tatarinov, I., Ives, Z., Halevy, A., and Weld, D., Updating XML, Proc. of the ACM SIGMOD Int. Conf. on Management of Data, 2001, http://www.cis.upenn.edu/zives/research/updatingXML.pdf.
  14. 14.
    Ghelli, G., Re, C., and Simeon, J., XQuery!: An XML Query Language with Side Effects, Full Paper, 2005, http://www.di.unipi.it/?ghelli/papers/Xquery-BangTR.pdf.
  15. 15.
    Chamberlin, D., Florescu, D., and Robie, J., XQuery Update Facility, 2006. http://www.w3.org/TR/xqupdate/.
  16. 16.
    Lehti, P., Design and Implementation of a Data Manipulation Processor for an XML Query Language, Ph.D. Dissertation, Technische Universität Darmstadt, 2001, http://www.lehti.de/beruf/diplomarbeit.pdf.
  17. 17.
    Laux, A. and Martin, L., Xupdate—XML Update Language, 2000, http://xmldb-org.sourceforge.net/xupdate/xupdate-wd.html.
  18. 18.
    Benedikt, M., Bonifati, A., Flesca, S., and Vyas, A., Adding Updates to XQuery: Semantics, Optimization, and Static Analysis, Second Int. Workshop on XQuery Implementation, Experience and Perspectives (XIME-P 2005).Google Scholar
  19. 19.
    Florescu, D., Grünhagen, A., and Kossmann, D., XL: An XML Programming Language for Web Service Specification and Composition, Proc. of Int. World Wide Wed Conf., 2002, pp. 65–76.Google Scholar
  20. 20.
    Sur, G., Hammer, J., and Simeon, J., An XQuery-based Language for Processing Updates in XML/PLAN-X, 2004.Google Scholar
  21. 21.
    Bray, T., Paoli, J., Maler, E., and Yergeau, F., Extensible Markup Language (XML) 1.0, W3C Recommendation, Third Edition, 2004, http://www.w3.org/TR/2004/RECxml-20040204/.
  22. 22.
    Chemberlin, D., XQuery: The XML Query Language, Otkrytye sistemy, 2003, http://www.osp.ru/os/2003/01/061.htm.

Copyright information

© Pleiades Publishing, Inc. 2006

Authors and Affiliations

  • A. A. Boldakov
    • 1
  • M. N. Grinev
    • 1
  1. 1.Institute for System ProgrammingRussian Academy of SciencesMoscowRussia

Personalised recommendations