| |
| | 3.2.1 Query Language Syntax
|
| | The XML Query Language MAY have more than one syntax binding. One query language syntax MUST be convenient for humans to read and write. One query language syntax MUST be expressed in XML in a way that reflects the underlying structure of the query. |
| | The XML Query Language MUST be declarative. Notably, it MUST not enforce a particular evaluation strategy. |
| | 3.2.3 Protocol Independence
|
| | The XML Query Language MUST be defined independently of any protocols with which it is used. |
| | The XML Query Language MUST define standard error conditions that can occur during the execution of a query, such as processing errors within expressions, unavailability of external functions to the query processor, or processing errors generated by external functions. |
| | Version 1.0 of the XML Query Language MUST not preclude the ability to add update capabilities in future versions. |
| | 3.2.6 Defined for Finite Instances
|
| | The XML Query Language MUST be defined for finite instances of the data model. It MAY be defined for infinite instances. |
| | 3.3.1 Reliance on XML Information Set
|
| | The XML Query Data Model relies on information provided by XML Processors and Schema Processors, and it MUST ensure that it does not require information that is not made available by such processors. For XML constructs found in XML 1.0 or the Namespaces Recommendation, the XML Query Data Model MUST show how the equivalent XML Query Data Model constructs are are defined in terms of items in the XML Information Set. The XML Query Data Model SHOULD represent all information items, or provide justification for any information items omitted. For information found in the XML Schema, such as datatypes, the Data Model MUST coordinate with the XML Schema Working Group to ensure that schema processors may be relied on to provide the information needed to construct the Data Model. |
| | The XML Query Data Model MUST represent both XML 1.0 character data and the simple and complex types of the XML Schema specification. |
| | The XML Query Data Model MUST represent collections of documents and collections of simple and complex values. (Note that collections are not part of the current XML Infoset.) |
| | The XML Query Data Model MUST include support for references, including both references within an XML document and references from one XML document to another. |
| | 3.3.5 Schema Availability
|
| | Queries MUST be possible whether or not a schema is available (in this document, the term "schema" may refer to either an XML Schema or a DTD). If a schema is available, the data model MUST represent any items which they define for their instances, such as default attributes, entity expansions, or data types. These items will not be present if a schema is not present. |
| | 3.3.6 Namespace Awareness
|
| | The XML Query Language and XML Query Language Data Model MUST be namespace aware. |
| | 3.4 XML Query Functionality
|
| | 3.4.1 Supported Operations
|
| | The XML Query Language MUST support operations on all data types represented by the XML Query Data Model (see datatypes, collections, references). |
| | 3.4.2 Text and Element Boundaries
|
| | Operations on text MUST be applicable to text that spans element boundaries. |
| | 3.4.3 Universal and Existential Quantifiers
|
| | Operations on collections MUST include support for universal and existential quantifiers. |
| | 3.4.4 Hierarchy and Sequence
|
| | Queries MUST support operations on hierarchy and sequence of document structures. |
| | The XML Query Language MUST be able to combine related information from different parts of a given document or from multiple documents. |
| | The XML Query Language MUST be able to compute summary information from a group of related document elements (this operation is sometimes called "aggregation.") |
| | 3.4.7 Composition of Operations
|
| | The XML Query Language MUST support expressions in which operations can be composed, including the use of queries as operands. |
| | The XML Query Language MUST include support for NULL values. Therefore, all operators MUST take NULL values into account, including logical operators. |
| | 3.4.9 Structural Preservation
|
| | Queries MUST be able to preserve the relative hierarchy and sequence of input document structures in query results. |
| | 3.4.10 Structural Transformation
|
| | Queries MUST be able to transform XML structures and MUST be able to create new structures. |
| | Queries MUST be able to traverse intra- and inter-document references. |
| | 3.4.12 Identity Preservation
|
| | Queries MUST be able to preserve the identity of items in the XML Query Data Model. |
| | 3.4.13 Operations on Literal Data
|
| | Queries SHOULD be able to operate on XML Query Data Model instances specified with the query. We refer to such data as "literal data" in this document. |
| | 3.4.14 Operations on Names
|
| | Queries SHOULD be able to operate on names, such as element names, attribute names, and processing instruction targets, and to operate on combinations of names and data. |
| | 3.4.15 Operations on Schemas
|
| | Queries SHOULD provide access to the XML schema or DTD for a document, if there is one. If the schema is represented as a DTD, a mapping to an appropriate XML Schema representation MAY be required. |
| | The XML Query Language SHOULD support the use of externally defined functions on all datatypes of the XML Query Data Model. The interface to such functions SHOULD be defined by the Query Language, and SHOULD distinguish these functions from functions defined in the Query Language. The implementation of externally defined functions is not part of the Query Language. |
| | 3.4.17 Environment Information
|
| | The XML Query Language MUST provide access to information derived from the environment in which the query is executed, such as the current date, time, or user. |
| | Queries MUST be closed with respect to the XML Query Data Model. Both the input to a query and the output of a query MUST be defined purely in terms of the XML Query Data Model. Non-XML sources such as traditional databases or objects may be queried if they are given an XML Query Data Model representation. Similarly, query results are defined purely in terms of the XML Query Data Model. In software systems these results may be instantiated in any convenient representation such as DOM nodes, hyperlinks, XML text, or various data formats. |
|