Like OQL, XQuery is a functional language in which a query is represented as an expression.
XQuery supports several kinds of expression, and therefore its queries may take several different forms.
XML is an extremely versatile markup language, capable of labeling the information content of diverse data sources including structured and semi-structured documents, relational databases, and object repositories.
From XPath [XPath] and XQL [XQL] it took a path expression syntax suitable for hierarchical documents.
From XML-QL [XML-QL] it took the notion of binding variables and then using the bound variables to create new structures.
This document was produced by the W3C XML Query Working Group, which is part of the W3C XML Activity.
A list of current W3C Recommendations and other technical documents can be found at
It is designed to be a small, easily implementable language in which queries are concise and easily understood.
It is also flexible enough to query a broad spectrum of XML information sources, including both databases and documents.
From SQL [SQL] it took the idea of a series of clauses based on keywords that provide a pattern for restructuring data (the SELECT-FROM-WHERE pattern in SQL).
From OQL [ODMG] it took the notion of a functional language composed of several different kinds of expressions that can be nested with full generality.
This document is the first publicly available W3C Working Draft of XQuery, for review by W3C members and other interested parties.
It is a draft document and may be updated, replaced, or made obsolete by other documents at any time.
Quilt was also influenced by reading about other XML query languages such as Lorel [Lorel] and YATL [YATL]. Important issues remain open in the design of XQuery.