Abstract
XQuery is a typed, functional language for querying XML data sources. XQuery has features of both traditional query languages and modern functional languages. In this paper, we introduce XQuery from both a “programming language” and a “query language” perspective and consider how these features impact the implementation and the evolution of XQuery. We conclude with a discussion of features currently missing from XQuery, but that we expect users will soon demand.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Abiteboul, S., Benjelloun, O., Manolescu, I., et al.: Active XML: Peer-to-Peer Data and Web Services Integration. In: Proceedings of Conference on Very Large Databases (VLDB) 2002, pp. 1087–1090 (2002)
Abiteboul, S., Hull, R., Vianu, V.: Foundations of Databases. Addison-Wesley, Reading (1995)
Alagic, S.: Type-Checking OQL Queries In the ODMG Type Systems. Transactions on Database Systems 24(3), 319–360 (1999)
Bohannon, P., Freire, J., Roy, P., Siméon, J.: From XML Schema to Relations: A Cost-Based Approach to XML Storage. In: International Conference on Data Engineering, pp. 209–218 (2002)
Kaushik, R., Bohannon, P., Naughton, J., Korth, H.: Covering indexes for branching path queries. In: Proceedings of ACM SIGMOD Conference 2002, pp. 133–144 (2002)
Buneman, P., Davidson, S., Hillebrand, G., Suciu, D.: A Query Language and Optimization Techniques for Unstructured Data. In: Proceedings of ACM SIGMOD Conference, pp. 505–516 (1996)
Cardelli, L., Ghelli, G.: A Query Language based on the Ambient Logic. Mathematical Structures in Computer Science (2003)
Cattell, R.G., et al.: The Object Database Standard: ODMG 2.0. Morgan Kaufmann, San Francisco (1997)
Chamberlin, D.: Influences on the Design of XQuery. In: Katz, H. (ed.) XQuery from the Experts: A Guide to the W3C XML Query Language. Addison-Wesley, Reading (2003)
Chuang, T.: Generic Validation of Structural Content with Parametric Modules. In: Proceedings of ACM SIGPLAN International Conference on Functional Programming, pp. 98–109 (2001)
Chung, C., Min, J., Shim, K.: APEX: an adaptive path index for XML data. In: Proceedings of ACM SIGMOD Conference 2002, pp. 121–132 (2002)
Clarke, J., Makoto, M.: RELAX NG specification, Oasis (2001), http://www.oasis-open.org/committees/relax-ng/spec-20011203.html
Connor, R., et al.: Extracting Typed Values from XML Data. In: OOPSLA Workshop on Objects, XML, and Databases (2001)
Cover, R.: The XML Cover Pages: XML Industry Sectors, http://www.xml.org/xml/industry_industrysectors.jsp
Darwen, H. (Contributor), Date, C.J.: Guide to the SQL Standard: A User’s Guide to the Standard Database Language SQL. Addison-Wesley, Reading (1997)
Fernandez, M., Kadiyska, Y., Suciu, D., et al.: SilkRoute: A framework for publishing relational data in XML. Transactions on Database Systems 27(4), 438–493 (2002)
Fernández, M., Siméon, J., Wadler, P.: Static Typing in XQuery. In: Katz, H. (ed.) XQuery from the Experts: A Guide to the W3C XML Query Language. Addison-Wesley, Reading (2003)
Fernández, M., Siméon, J., Wadler, P.: Introduction to the Formal Semantics. In: Katz, H. (ed.) XQuery from the Experts: A Guide to the W3C XML Query Language. Addison-Wesley, Reading (2003)
Fernández, M., Siméon, J., Wadler, P.: A Semi-monad for Semi-structured Data. In: International Conference on Database Theory, pp. 263–300 (2001)
Fankhauser, P., Groh, T., Overhage, S.: XQuery by the Book: The IPSI XQuery Demonstrator. In: International Conference on Extending Database Technology (EDBT), pp. 742–744 (2002)
Florescu, D., Grünhagen, A., Kossmann, D.: XL: a platform for Web Services. In: Conference on Innovative Data Systems Research, CIDR 2003 (2003) (Online Proceedings)
Florescu, D., Hillary, C., Kossmann, D., et al.: A Complete and High-performance XQuery Engine for Streaming Data. In: Proceedings of Conference on Very Large Databases, VLDB 2003 (2003) (to appear)
Fernández, M., Siméon, J., et al.: Implementing XQuery 1.0: The Galax Experience Demonstration track. In: Proceedings of Conference on Very Large Databases, VLDB (2003) (to appear), http://db.bell-labs.com/galax/
Hosoya, H., Pierce, B.: XDuce: A Statically Typed XML Processing Language. ACM Transactions on Internet Technology (2003) (to appear)
Jackson, Q.: Efficient Formalism-Only Parsing of XML/HTML Using the S-Calculus. ACM SIGPLAN Notices 38(2) (February 2003)
Jagadish, H.V., et al.: TAX: A Tree Algebra for XML. In: Ghelli, G., Grahne, G. (eds.) DBPL 2001. LNCS, vol. 2397, pp. 149–164. Springer, Heidelberg (2002)
Lehti, P.: Design and Implementation of a Data Manipulation Processor for an XML Query Language. Technische Universität Darmstadt Technical Report No. KOM-D-149 (August 2001), http://www.ipsi.fhg.de/lehti/diplomarbeit.pdf
SQL, Parts 1 – 13, International Organization for Standards (ISO), Technical reports ISO/IEC 9075-1:1999 through ISO/IEC 9075-13:1999
Jagadish, H.V., Al-Khalifa, S., Chapman, A., et al.: TIMBER: A Native XML Database. The VLDB Journal 11(4), 274–291 (2002)
Leijen, D., Meijer, E.: Domain Specific Embedded Compilers. In: USENIX 2nd Conference on Domain-Specific Languages, pp. 109-122 (1999)
Manghi, P., et al.: Hybrid Applications over XML: Integrating the Procedural and Declarative Approaches. In: ACM CIKM International Workshop on Web Information and Data Management, WIDM 2002 (2002)
Neven, F.: Automata Theory for XML Researchers. ACM SIGMOD Record 31(3) (September 2003)
Robie, J.: An Introduction to XQuery. In: Katz, H. (ed.) XQuery from the Experts: A Guide to the W3C XML Query Language, Addison-Wesley, Reading (2003)
Shanmugasundaram, J., Tufte, K., He, G., et al.: Relational Databases for Querying XML Documents: Limitations and Opportunities. In: Proceedings of Conference on Very Large Databases, VLDB 1989, pp. 302–314 (1999)
Siméon, J., Wadler, P.: The Essence of XML. In: ACM Symposium on Principles of Programming Languages, pp. 1–13 (2003)
Simeoni, F., et al.: Language Bindings to XML. IEEE Internet Computing 7(1) (January/February 2003)
SOAP 1.2 Part 1: Messaging Framework, W3C Proposed Recommendation (May 2003), http://www.w3.org/TR/2003/PR-soap12-part1-20030507/
Steele, G.: Growing a Language. Journal of Higher-Order and Symbolic Computation 12(3), 221–236 (1999)
Tannen, V., Buneman, P., Naqvi, S.: Structural Recursion as a Query Language. In: Workshop on Databases and Programming Languages, pp. 9–19. Morgan Kaufmann, San Francisco (1991)
Vianu, V.: A Web Odyssey: from Codd to XML. In: Proceedings of ACM Symposium on Principles of Database Systems, pp. 1–16 (2001)
Wallace, M., Runciman, C.: Haskell and XML: generic combinators or typebased translation? In: Proceedings of ACM SIGPLAN International Conference on Functional Programming, pp. 148–159 (1999)
Extensible markup language (XML) 1.0. W3C Recommendation (February 1998), http://www.w3.org/TR/REC-xml/
XML Schema Part 1: Structures. W3C Recommendation (May 2001)
XML Schema Part 2: Datatypes. W3C Recommendation (May 2001)
XQuery 1.0 and XPath 2.0 data model. W3C Working Draft (May 2003), http://www.w3.org/TR/query-datamodel/
Xquery 1.0 and xpath 2.0 functions and operators version 1.0. W3C Working Draft (May 2003), http://www.w3.org/TR/xpath-operators/
XPath 2.0. W3C Working Draft (May 2003), http://www.w3.org/TR/xquery/
XQuery 1.0: An XML Query Language. W3C Working Draft (May 2003), http://www.w3.org/TR/xquery/
XQuery 1.0 and XPath 2.0 Formal Semantics. W3C Working Draft (May 2003), http://www.w3.org/TR/query-semantics/
XQuery and XPath Full-text Requirements W3C Working Draft (May 2003), http://www.w3.org/TR/xmlquery-full-text-requirements/
XSL Transformations (XSLT) Version 2.0. W3C Working Draft (May 2003), http://www.w3.org/TR/xslt20/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fernández, M., Siméon, J. (2003). Growing XQuery. In: Cardelli, L. (eds) ECOOP 2003 – Object-Oriented Programming. ECOOP 2003. Lecture Notes in Computer Science, vol 2743. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45070-2_18
Download citation
DOI: https://doi.org/10.1007/978-3-540-45070-2_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40531-3
Online ISBN: 978-3-540-45070-2
eBook Packages: Springer Book Archive