This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This is the First Public Working Draft for review by W3C Members and other interested parties. Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document has been produced by the XML Query Working Group (part of the XML Activity), following the procedures set out in the W3C Process Document. The XML Query Working Group feels that the contents of this Working Draft are relatively stable, and therefore encourages feedback on this version.
These Requirements identify extensions to the XQuery 1.0 Recommendation published 23 January 2007 that have been requested by WG participants and by reviewers who do not participate in the W3C activities. The XML Query WG has reviewed these requirements extensively and has reached a very high level of agreement (but not necessarily unanimity) on the desirability of each of them.
Public comments on this document and its open issues are invited. Comments on this document should be made in W3C's public Bugzilla system (instructions can be found at http://www.w3.org/XML/2005/04/qt-bugzilla). When entering comments, select the Product named "XPath / XQuery / XSLT", the Component named "XQuery 1.1 Requirements", and the Version named "Working drafts". This repository includes open issues recorded by the XML Query Working Group as well as by members of the public. If access to the Bugzilla system is not feasible, you may send your comments to the W3C XSLT/XPath/XQuery mailing list, email@example.com. It will be very helpful if you include the string [XQuery11Req] in the subject line of your comment, whether made in Bugzilla or in email. Each Bugzilla entry and email message should contain only one comment. Archives of the comments and responses are available at http://lists.w3.org/Archives/Public/public-qt-comments/.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
2.2 General Requirements
2.2.1 Backward compatibility
2.2.2 Extension compatibility
2.3 XML Query Functionality
2.3.1 Value-based grouping
2.3.2 Error processing and recovery
2.3.3 Numeric formatting
2.3.4 Date formatting
2.3.5 Default values for external variables
2.3.6 Non-deterministic external functions
2.3.7 Positional grouping
2.3.9 Output numbering
2.3.10 Dynamic creation of namespace bindings
2.3.11 Declaration of serialization parameters
2.3.12 Node references
2.3.13 Outer for
2.3.14 Type declaration for context item
2.3.15 Support for new data types
2.3.16 Higher order functions
2.3.17 Conditional constructors
2.3.19 Type expressions
2.3.20 Module composition restrictions
2.3.21 Invocation of external functionality
2.3.22 Static typing extensions
The goal of XML Query 1.1 is to extend XML Query 1.0 with additional functionality in response to requests from users and implementors.
Satisfying these goals may require changes to the set of eight documents that have progressed to Recommendation together (Data Model, Functions and Operators, Formal Semantics, Serialization, XPath 2.0, XQuery 1.0, XQueryX, and XSLT 2.0).
The following keywords are used throughout the document to specify the extent to which an item is a requirement for the work of the XML Query Working Group:
The item is an absolute requirement.
There may exist valid reasons not to treat this item as a requirement, but the full implications should be understood and the case carefully weighed before discarding this item.
An item deserves attention, but further study is needed to determine whether the item should be treated as a requirement.
When the words MUST, SHOULD, or MAY are used in this technical sense [IETF RFC 2119], they occur as a hyperlink to these definitions. These words will also be used with their conventional English meaning, in which case there is no hyperlink. For instance, the phrase "the full implications should be understood" uses the word "should" in its conventional English sense, and therefore occurs without the hyperlink.
XQuery 1.1 MUST include a language facility to specify value-based grouping.
XQuery 1.1 MUST have a mechanism to specify default values for external variables.
XQuery 1.1 MUST provide a way to denote that an external function is non-deterministic.
XQuery 1.1 SHOULD provide a facility for positional grouping of items in a sequence according to specified partitioning conditions.
XQuery 1.1 SHOULD provide a way to iterate over a sequence by several values at a time.
XQuery 1.1 SHOULD provide a mechanism to associate ordinal numbers with the items returned by a FLWOR expression.
XQuery 1.1 SHOULD allow dynamic creation of namespace bindings.
XQuery 1.1 SHOULD have a mechanism to specify serialization parameters in the query prolog.
XQuery 1.1 SHOULD support creation of a reference to an existing node having the following properties:
a) the reference could be included in a constructed element
b) the reference can be dereferenced, returning the original node with the original node id.
XQuery 1.1 SHOULD provide additional mechanisms to specify joins between sequences. A possible approach would be to add an "outer-for" clause to the FLWOR expression to specify variable binding which is guaranteed to be bound to an empty sequence if there are no other bindings generated.
XQuery 1.1 SHOULD allow explicit type declaration for the context item.
XQuery 1.1 MAY add a language extension to the node constructors to specify, in a compact notation, that a node should be constructed only if its typed value would not be an empty sequence or if it would satisfy some other condition.
XQuery 1.1 MAY provide a way to compare the type of an expression to the type of another expression without exposing the type itself.
XQuery 1.1 MAY relax the restrictions on the module import feature relating to forward references and circular imports.
XQuery 1.1 MAY provide a normative way to invoke external functions and modules that are not implemented in XQuery, such as functions defined as web services or XSLT functions and templates.
XQuery 1.1 MAY extend static typing rules.
The following references are some of the works considered by the WG in deriving its requirements.