XQuery 1.0:XML查询语言 工作草案-6

TransWiki - W3CHINA.ORG开放翻译计划(OTP)

摘要_文档状态_目录 第1节 第2节 3.1~3.3节 3.4~3.6节 3.7节 3.8~3.13节 第4节 附录A 附录B,C,D 附录E,F,G,H,I


目录

B Type Promotion and Operator Mapping

B.1 Type Promotion

[Definition: Under certain circumstances, an atomic value can be promoted from one type to another. Type promotion is used in function calls (see 3.1.5 Function Calls) and in processing of operators that accept numeric operands (see B.2 Operator Mapping).] The following type promotions are permitted:


A value of type xs:float (or any type derived by restriction from xs:float) can be promoted to the type xs:double. The result is the xs:double value that is the same as the original value.


A value of type xs:decimal (or any type derived by restriction from xs:decimal) can be promoted to either of the types xs:float or xs:double. The result of this promotion is created by casting the original value to the required type. This kind of promotion may cause loss of precision.
Note that type promotion (http://www.w3.org/TR/2004/WD-xquery-20040723/#dt-type-promotion) is different from subtype substitution (http://www.w3.org/TR/2004/WD-xquery-20040723/#dt-subtype-substitution). For example:


A function that expects a parameter $p of type xs:float can be invoked with a value of type xs:decimal. This is an example of type promotion (http://www.w3.org/TR/2004/WD-xquery-20040723/#dt-type-promotion). The value is actually converted to the expected type. Within the body of the function, $p instance of xs:decimal returns false.


A function that expects a parameter $p of type xs:decimal can be invoked with a value of type xs:integer. This is an example of subtype substitution (http://www.w3.org/TR/2004/WD-xquery-20040723/#dt-subtype-substitution). The value retains its original type. Within the body of the function, $p instance of xs:integer returns true.

B.2 Operator Mapping

The tables in this section list the combinations of types for which the various operators of XQuery are defined in terms of functions that are defined in [XQuery 1.0 and XPath 2.0 Functions and Operators (http://www.w3.org/TR/2004/WD-xquery-20040723/#FunctionsAndOperators)]. The and and or operators are defined directly in the main body of this document, and do not occur in this table. For each valid combination of types, the table indicates the function(s) that are used to implement the operator and the type of the result. Note that in some cases the function does not implement the full semantics of the given operator. For the definition of each operator (including its behavior for empty sequences or sequences of length greater than one), see the descriptive material in the main part of this document.
Any operator listed in the tables may be validly applied to an operand of type AT if the table calls for an operand of type ET and type-matches(ET, AT) is true (see 2.4.4 SequenceType Matching). For example, a table entry indicates that the gt operator may be applied to two xs:date operands, returning xs:boolean. Therefore, the gt operator may also be applied to two (possibly different) subtypes of xs:date, also returning xs:boolean.
In the operator tables, the term numeric refers to the types xs:integer, xs:decimal, xs:float, and xs:double. An operator whose operands and result are designated as numeric might be thought of as representing four operators, one for each of the numeric types. For example, the numeric + operator might be thought of as representing the following four operators:








Operator

First operand type

Second operand type

Result type

+

xs:integer

xs:integer

xs:integer

+

xs:decimal

xs:decimal

xs:decimal

+

xs:float

xs:float

xs:float

+

xs:double

xs:double

xs:double

A numeric operator may be validly applied to an operand of type AT if type-matches(ET, AT) is true where ET is any of the four numeric types. If the result type of an operator is listed as numeric, it means "the first type in the ordered list (xs:integer, xs:decimal, xs:float, xs:double) into which all operands can be converted by subtype substitution (http://www.w3.org/TR/2004/WD-xquery-20040723/#dt-subtype-substitution) and type promotion (http://www.w3.org/TR/2004/WD-xquery-20040723/#dt-type-promotion)." As an example, suppose that the type hatsize is derived from xs:integer and the type shoesize is derived from xs:float. Then if the + operator is invoked with operands of type hatsize and shoesize, it returns a result of type xs:float. Similarly, if + is invoked with two operands of type hatsize it returns a result of type xs:integer.
In the following tables, the term Gregorian refers to the types xs:gYearMonth, xs:gYear, xs:gMonthDay, xs:gDay, and xs:gMonth. For binary operators that accept two Gregorian-type operands, both operands must have the same type (for example, if one operand is of type xs:gDay, the other operand must be of type xs:gDay.)


Binary Operators













































































































Operator

Type(A)

Type(B)

Function

Result type
A + B numeric numeric op:numeric-add(A, B) numeric
A + B xs:date xdt:yearMonthDuration op:add-yearMonthDuration-to-date(A, B) xs:date
A + B xdt:yearMonthDuration xs:date op:add-yearMonthDuration-to-date(B, A) xs:date
A + B xs:date xdt:dayTimeDuration op:add-dayTimeDuration-to-date(A, B) xs:date
A + B xdt:dayTimeDuration xs:date op:add-dayTimeDuration-to-date(B, A) xs:date
A + B xs:time xdt:dayTimeDuration op:add-dayTimeDuration-to-time(A, B) xs:time
A + B xdt:dayTimeDuration xs:time op:add-dayTimeDuration-to-time(B, A) xs:time
A + B xs:datetime xdt:yearMonthDuration op:add-yearMonthDuration-to-dateTime(A, B) xs:dateTime
A + B xdt:yearMonthDuration xs:datetime op:add-yearMonthDuration-to-dateTime(B, A) xs:dateTime
A + B xs:datetime xdt:dayTimeDuration op:add-dayTimeDuration-to-dateTime(A, B) xs:dateTime
A + B xdt:dayTimeDuration xs:datetime op:add-dayTimeDuration-to-dateTime(B, A) xs:dateTime
A + B xdt:yearMonthDuration xdt:yearMonthDuration op:add-yearMonthDurations(A, B) xdt:yearMonthDuration
A + B xdt:dayTimeDuration xdt:dayTimeDuration op:add-dayTimeDurations(A, B) xdt:dayTimeDuration
A - B numeric numeric op:numeric-subtract(A, B) numeric
A - B xs:date xs:date fn:subtract-dates-yielding-dayTimeDuration(A, B) xdt:dayTimeDuration
A - B xs:date xdt:yearMonthDuration op:subtract-yearMonthDuration-from-date(A, B) xs:date
A - B xs:date xdt:dayTimeDuration op:subtract-dayTimeDuration-from-date(A, B) xs:date
A - B xs:time xs:time op:subtract-times(A, B) xdt:dayTimeDuration
A - B xs:time xdt:dayTimeDuration op:subtract-dayTimeDuration-from-time(A, B) xs:time
A - B xs:datetime xs:datetime fn:subtract-dateTimes-yielding-dayTimeDuration(A, B) xdt:dayTimeDuration
A - B xs:datetime xdt:yearMonthDuration op:subtract-yearMonthDuration-from-dateTime(A, B) xs:dateTime
A - B xs:datetime xdt:dayTimeDuration op:subtract-dayTimeDuration-from-dateTime(A, B) xs:dateTime
A - B xdt:yearMonthDuration xdt:yearMonthDuration op:subtract-yearMonthDurations(A, B) xdt:yearMonthDuration
A - B xdt:dayTimeDuration xdt:dayTimeDuration op:subtract-dayTimeDurations(A, B) xdt:dayTimeDuration
A * B numeric numeric op:numeric-multiply(A, B) numeric
A * B xdt:yearMonthDuration numeric op:multiply-yearMonthDuration(A, B) xdt:yearMonthDuration
A * B numeric xdt:yearMonthDuration op:multiply-yearMonthDuration(B, A) xdt:yearMonthDuration
A * B xdt:dayTimeDuration numeric op:multiply-dayTimeDuration(A, B) xdt:dayTimeDuration
A * B numeric xdt:dayTimeDuration op:multiply-dayTimeDuration(B, A) xdt:dayTimeDuration
A idiv B numeric numeric op:integer-div(A, B) xs:integer
A div B numeric numeric op:numeric-divide(A, B) numeric; but xs:decimal if both operands are xs:integer
A div B xdt:yearMonthDuration numeric op:divide-yearMonthDuration(A, B) xdt:yearMonthDuration
A div B xdt:dayTimeDuration numeric op:divide-dayTimeDuration(A, B) xdt:dayTimeDuration
A mod B numeric numeric op:numeric-mod(A, B) numeric
A eq B numeric numeric op:numeric-equal(A, B) xs:boolean
A eq B xs:boolean xs:boolean op:boolean-equal(A, B) xs:boolean
A eq B xs:string xs:string op:numeric-equal(fn:compare(A, B), 1) xs:boolean
A eq B xs:date xs:date op:date-equal(A, B) xs:boolean
A eq B xs:time xs:time op:time-equal(A, B) xs:boolean
A eq B xs:dateTime xs:dateTime op:datetime-equal(A, B) xs:boolean
A eq B xdt:yearMonthDuration xdt:yearMonthDuration op:yearMonthDuration-equal(A, B) xs:boolean
A eq B xdt:dayTimeDuration xdt:dayTimeDuration op:dayTimeDuration-equal(A, B) xs:boolean
A eq B Gregorian Gregorian op:gYear-equal(A, B) etc. xs:boolean
A eq B xs:hexBinary xs:hexBinary op:hex-binary-equal(A, B) xs:boolean
A eq B xs:base64Binary xs:base64Binary op:base64-binary-equal(A, B) xs:boolean
A eq B xs:anyURI xs:anyURI op:anyURI-equal(A, B) xs:boolean
A eq B xs:QName xs:QName op:QName-equal(A, B) xs:boolean
A eq B xs:NOTATION xs:NOTATION op:NOTATION-equal(A, B) xs:boolean
A ne B numeric numeric fn:not(op:numeric-equal(A, B)) xs:boolean
A ne B xs:boolean xs:boolean fn:not(op:boolean-equal(A, B)) xs:boolean
A ne B xs:string xs:string fn:not(op:numeric-equal(fn:compare(A, B), 1)) xs:boolean
A ne B xs:date xs:date fn:not(op:date-equal(A, B)) xs:boolean
A ne B xs:time xs:time fn:not(op:time-equal(A, B)) xs:boolean
A ne B xs:dateTime xs:dateTime fn:not(op:datetime-equal(A, B)) xs:boolean
A ne B xdt:yearMonthDuration xdt:yearMonthDuration fn:not(op:yearMonthDuration-equal(A, B)) xs:boolean
A ne B xdt:dayTimeDuration xdt:dayTimeDuration fn:not(op:dayTimeDuration-equal(A, B) xs:boolean
A ne B Gregorian Gregorian fn:not(op:gYear-equal(A, B)) etc. xs:boolean
A ne B xs:hexBinary xs:hexBinary fn:not(op:hex-binary-equal(A, B)) xs:boolean
A ne B xs:base64Binary xs:base64Binary fn:not(op:base64-binary-equal(A, B)) xs:boolean
A ne B xs:anyURI xs:anyURI fn:not(op:anyURI-equal(A, B)) xs:boolean
A ne B xs:QName xs:QName fn:not(op:QName-equal(A, B)) xs:boolean
A ne B xs:NOTATION xs:NOTATION fn:not(op:NOTATION-equal(A, B)) xs:boolean
A gt B numeric numeric op:numeric-greater-than(A, B) xs:boolean
A gt B xs:boolean xs:boolean op:boolean-greater-than(A, B) xs:boolean
A gt B xs:string xs:string op:numeric-greater-than(fn:compare(A, B), 0) xs:boolean
A gt B xs:date xs:date op:date-greater-than(A, B) xs:boolean
A gt B xs:time xs:time op:time-greater-than(A, B) xs:boolean
A gt B xs:dateTime xs:dateTime op:datetime-greater-than(A, B) xs:boolean
A gt B xdt:yearMonthDuration xdt:yearMonthDuration op:yearMonthDuration-greater-than(A, B) xs:boolean
A gt B xdt:dayTimeDuration xdt:dayTimeDuration op:dayTimeDuration-greater-than(A, B) xs:boolean
A lt B numeric numeric op:numeric-less-than(A, B) xs:boolean
A lt B xs:boolean xs:boolean op:boolean-less-than(A, B) xs:boolean
A lt B xs:string xs:string op:numeric-less-than(fn:compare(A, B), 0) xs:boolean
A lt B xs:date xs:date op:date-less-than(A, B) xs:boolean
A lt B xs:time xs:time op:time-less-than(A, B) xs:boolean
A lt B xs:dateTime xs:dateTime op:datetime-less-than(A, B) xs:boolean
A lt B xdt:yearMonthDuration xdt:yearMonthDuration op:yearMonthDuration-less-than(A, B) xs:boolean
A lt B xdt:dayTimeDuration xdt:dayTimeDuration op:dayTimeDuration-less-than(A, B) xs:boolean
A ge B numeric numeric fn:not(op:numeric-less-than(A, B)) xs:boolean
A ge B xs:boolean xs:boolean fn:not(op:boolean-less-than(A, B))
A ge B xs:string xs:string op:numeric-greater-than(fn:compare(A, B), -1) xs:boolean
A ge B xs:date xs:date fn:not(op:date-less-than(A, B)) xs:boolean
A ge B xs:time xs:time fn:not(op:time-less-than(A, B)) xs:boolean
A ge B xs:dateTime xs:dateTime fn:not(op:datetime-less-than(A, B)) xs:boolean
A ge B xdt:yearMonthDuration xdt:yearMonthDuration fn:not(op:yearMonthDuration-less-than(A, B)) xs:boolean
A ge B xdt:dayTimeDuration xdt:dayTimeDuration fn:not(op:dayTimeDuration-less-than(A, B)) xs:boolean
A le B numeric numeric fn:not(op:numeric-greater-than(A, B)) xs:boolean
A le B xs:boolean xs:boolean fn:not(op:boolean-greater-than(A, B))
A le B xs:string xs:string op:numeric-less-than(fn:compare(A, B), 1) xs:boolean
A le B xs:date xs:date fn:not(op:date-greater-than(A, B)) xs:boolean
A le B xs:time xs:time fn:not(op:time-greater-than(A, B)) xs:boolean
A le B xs:dateTime xs:dateTime fn:not(op:datetime-greater-than(A, B)) xs:boolean
A le B xdt:yearMonthDuration xdt:yearMonthDuration fn:not(op:yearMonthDuration-greater-than(A, B)) xs:boolean
A le B xdt:dayTimeDuration xdt:dayTimeDuration fn:not(op:dayTimeDuration-greater-than(A, B)) xs:boolean
A is B node() node() op:is-same-node(A, B) xs:boolean
A << B node() node() op:node-before(A, B) xs:boolean
A >> B node() node() op:node-after(A, B) xs:boolean
A union B node()* node()* op:union(A, B) node()*
A | B node()* node()* op:union(A, B) node()*
A intersect B node()* node()* op:intersect(A, B) node()*
A except B node()* node()* op:except(A, B) node()*
A to B xs:integer xs:integer op:to(A, B) xs:integer+
A , B item()* item()* op:concatenate(A, B) item()*


Unary Operators







Operator

Operand type

Function

Result type
+ A numeric op:numeric-unary-plus(A) numeric
- A numeric op:numeric-unary-minus(A) numeric

C Context Components

The tables in this section describe how values are assigned to the various components of the static context and dynamic context, and to the parameters that control the serialization process.

C.1 Static Context Components

The following table describes the components of the static context. The following aspects of each component are described:


Default value: This is the value of the component if it is not overridden or augmented by the implementation or by a query.


Can be overwritten or augmented by implementation: Indicates whether an XQuery implementation is allowed to replace the default value of the component by a different value and/or to augment the default value by additional values.


Can be overwritten or augmented by a query: Indicates whether a query is allowed to replace and/or augment the initial value provided by default or by the implementation. If so, indicates how this is accomplished (for example, by a declaration in the prolog).


Scope: Indicates where the component is applicable. "Global" indicates that the component applies globally, throughout all the modules used in a query. "Module resource" indicates that the component applies throughout a module resource (http://www.w3.org/TR/2004/WD-xquery-20040723/#dt-module-resource). "Lexical" indicates that the component applies within the expression in which it is defined (equivalent to "module resource" if the component is declared in a Prolog (http://www.w3.org/TR/2004/WD-xquery-20040723/#dt-prolog).)


Consistency Rules: Indicates rules that must be observed in assigning values to the component. If any consistency rule is violated, a static error (http://www.w3.org/TR/2004/WD-xquery-20040723/#dt-static-error) is raised. Additional consistency rules may be found in 2.2.5 Consistency Constraints.


Static Context Components



























Component

Default predefined value

Can be overwritten or augmented by implementation?

Can be overwritten or augmented by a query?

Scope

Consistency rules
XPath 1.0 Compatability Mode false no no global Must be false.
Statically known namespaces fn, xml, xs, xsi, xdt, local overwriteable and augmentable (except for xml) overwriteable and augmentable by prolog or element constructor lexical Only one namespace can be assigned to a given prefix per lexical scope.
Default element/type namespace no namespace overwriteable overwriteable by prolog or element constructor lexical Only one default namespace per lexical scope.
Default function namespace fn overwriteable (not recommended) overwriteable by prolog module resource Only one declaration per prolog.
In-scope type definitions Built-in types in xs, xdt augmentable augmentable by schema import in prolog module resource Only one definition per global or local type.
In-scope element declarations none augmentable augmentable by schema import in prolog module resource Only one definition per global or local element name.
In-scope attribute declarations none augmentable augmentable by schema import in prolog module resource Only one definition per global or local attribute name.
In-scope variables none augmentable overwriteable and augmentable by prolog and by variable-binding expressions lexical Only one definition per variable per lexical scope.
Context item static type none augmentable not explicitly, but can be influenced by expressions lexical None
Function signatures Functions in fn namespace, and constructors for built-in atomic types augmentable augmentable by module import and by function declaration in prolog module resource Each function must have a unique expanded QName and number of arguments.
Statically known collations only the default collation augmentable no module resource Each URI uniquely identifies a collation.
Default collation Unicode codepoint collation overwriteable overwriteable by prolog module resource Only one default collation per module resource.
Construction mode preserve overwriteable overwriteable by prolog module resource Only one construction mode per module resource.
Ordering mode ordered overwriteable overwriteable by prolog or expression lexical None
XMLSpace policy strip overwriteable overwriteable by prolog module resource Only one XMLSpace declaration per module resource.
Base URI none overwriteable overwriteable by prolog module resource Only one base-uri declaration per module resource.
Statically known documents none augmentable no module resource None
Statically known collections none augmentable no module resource None
XQuery Flagger status off overwriteable no global None
XQuery Static Flagger status off overwriteable no global None

C.2 Dynamic Context Components

The following table describes the components of the dynamic context. The following aspects of each component are described:


Default value: This is the value of the component if it is not overridden or augmented by the implementation or by a query.


Can be overwritten or augmented by implementation: Indicates whether an XQuery implementation is allowed to replace the default value of the component by a different value and/or to augment the default value by additional values.


Can be overwritten or augmented by a query: Indicates whether a query is allowed to replace and/or augment the initial value provided by default or by the implementation. If so, indicates how this is accomplished.


Scope: Indicates where the component is applicable. "Global" indicates that the component applies globally, throughout all the modules used in a query, and remains constant during evaluation of a query. "Dynamic" indicates that evalation of an expression may influence the value of the component for that expression and for nested expressions.


Consistency Rules: Indicates rules that must be observed in assigning values to the component. Additional consistency rules may be found in 2.2.5 Consistency Constraints.


Dynamic Context Components
















Component

Default predefined value

Can be overwritten or augmented by implementation?

Can be overwritten or augmented by a query?

Scope

Consistency rules
Context item none overwriteable overwritten during evaluation of path expressions and predicates dynamic none
Context position none overwriteable overwritten during evaluation of path expressions and predicates dynamic Must be consistent with context item and context size
Context size none overwriteable overwritten during evaluation of path expressions and predicates dynamic Must be consistent with context item
Variable values none augmentable overwriteable and augmentable by prolog and by variable-binding expressions dynamic Names and values must be consistent with in-scope variables.
Function implementations Functions in fn namespace, and constructors for built-in atomic types augmentable augmentable by module import and by function declaration in prolog global Must be consistent with function signatures
Current date and time none Must be initialized by implementation no global Remains constant during evaluation of a query.
Implicit timezone none Must be initialized by implementation no global Remains constant during evaluation of a query.
Available documents none Must be initialized by implementation no global None
Available collections none Must be initialized by implementation no global None

C.3 Serialization Parameters

The following table specifies default values for the parameters that control the process of serializing the Data Model into XML notation (method = "xml"). The meanings of the various parameters are defined in [XSLT 2.0 and XQuery 1.0 Serialization (http://www.w3.org/TR/2004/WD-xquery-20040723/#serialization)]. For each parameter, an XQuery implementation may (but is not required to) provide a means whereby a user can override the default value.


Serialization Parameters















Parameter

Default Value
encoding implementation-defined
cdata-section-elements empty
doctype-system (none)
doctype-public (none)
escape-uri-attributes no
indent no
media-type implementation-defined
normalization-form implementation-defined
omit-xml-declaration yes
standalone none
use-character-maps empty
version 1.0

D References

D.1 Normative References

XQuery 1.0 and XPath 2.0 Functions and Operators
World Wide Web Consortium. XQuery 1.0 and XPath 2.0 Functions and Operators W3C Working Draft, 23 Jul. 2004. See http://www.w3.org/TR/xpath-functions/ (http://www.w3.org/TR/xquery-operators/)
XQuery 1.0 and XPath 2.0 Formal Semantics
World Wide Web Consortium. XQuery 1.0 and XPath 2.0 Formal Semantics. W3C Working Draft, 20 Feb. 2004. See http://www.w3.org/TR/xquery-semantics/ (http://www.w3.org/TR/xquery-semantics/).
XML Schema
World Wide Web Consortium. XML Schema, Parts 0, 1, and 2. W3C Recommendation, 2 May 2001. See http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/ (http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/), http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/ (http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/), and http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/ (http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/).
XQuery 1.0 and XPath 2.0 Data Model
World Wide Web Consortium. XQuery 1.0 and XPath 2.0 Data Model. W3C Working Draft, 23 Jul. 2004. See http://www.w3.org/TR/xpath-datamodel/ (http://www.w3.org/TR/xpath-datamodel/).
XSLT 2.0 and XQuery 1.0 Serialization
World Wide Web Consortium. XSLT 2.0 and XQuery 1.0 Serialization. W3C Working Draft, 23 Jul. 2004. See http://www.w3.org/TR/xslt-xquery-serialization/ (http://www.w3.org/TR/xslt-xquery-serialization/).
XML 1.0
World Wide Web Consortium. Extensible Markup Language (XML) 1.0. W3C Recommendation. See http://www.w3.org/TR/2000/REC-xml-20001006 (http://www.w3.org/TR/2000/REC-xml-20001006)
XML 1.1
World Wide Web Consortium. Extensible Markup Language (XML) 1.1. W3C Recommendation. See http://www.w3.org/TR/xml11/ (http://www.w3.org/TR/xml11/)
XML Names
World Wide Web Consortium. Namespaces in XML. W3C Recommendation. See http://www.w3.org/TR/REC-xml-names/ (http://www.w3.org/TR/REC-xml-names/)
XML Names 1.1
World Wide Web Consortium. Namespaces in XML 1.1. W3C Recommendation. See http://www.w3.org/TR/xml-names11/ (http://www.w3.org/TR/xml-names11/)
ISO/IEC 10646
ISO (International Organization for Standardization). ISO/IEC 10646-1993 (E). Information technology—Universal Multiple-Octet Coded Character Set (UCS)—Part 1: Architecture and Basic Multilingual Plane. [Geneva]: International Organization for Standardization, 1993 (plus amendments AM 1 through AM 7).
ISO/IEC 10646-2000
ISO (International Organization for Standardization). ISO/IEC 10646-1:2000. Information technology—Universal Multiple-Octet Coded Character Set (UCS)—Part 1: Architecture and Basic Multilingual Plane. [Geneva]: International Organization for Standardization, 2000.
Unicode
The Unicode Consortium. The Unicode Standard, Version 2.0. Reading, Mass.: Addison-Wesley Developers Press, 1996.
Unicode3
The Unicode Consortium. The Unicode Standard, Version 3.0. Reading, Mass.: Addison-Wesley Developers Press, 2000. ISBN 0-201-61633-5.

D.2 Non-normative References

XML Query 1.0 Requirements
World Wide Web Consortium. XML Query 1.0 Requirements. W3C Working Draft, 27 Jun 2003. See http://www.w3.org/TR/xquery-requirements/ (http://www.w3.org/TR/xquery-requirements/).
XQueryX 1.0

World Wide Web Consortium. XQueryX, Version 1.0. W3C Working Draft, 7 June 2001. See http://www.w3.org/TR/xqueryx (http://www.w3.org/TR/xqueryx)



Editorial note

 

As of the date of this publication, XQueryX has not incorporated recent language changes; it will be made consistent with this document in its next edition.

XPath 2.0
World Wide Web Consortium. XML Path Language (XPath) Version 2.0. W3C Working Draft, 23 Jul. 2004. See http://www.w3.org/TR/xpath20/ (http://www.w3.org/TR/xpath20/)
XSLT 2.0
World Wide Web Consortium. XSL Transformations (XSLT) 2.0. W3C Working Draft. See http://www.w3.org/TR/xslt20/ (http://www.w3.org/TR/xslt20/)
XML Query Use Cases
World Wide Web Consortium. XML Query Use Cases. W3C Working Draft, 12 Nov. 2003. See http://www.w3.org/TR/xquery-use-cases/ (http://www.w3.org/TR/xquery-use-cases/).
ISO 8601
International Organization for Standardization (ISO). Representations of Dates and Times, 2000-08-03. Available from http://www.iso.ch/ (http://www.iso.ch/)
Use Case Sample Queries
Queries from the XQuery 1.0 Use Caes, presented in a single file (See http://www.w3.org/TR/2003/WD-xquery-use-cases-20031112/xquery-use-case-queries.txt (http://www.w3.org/TR/2003/WD-xquery-use-cases-20031112/xquery-use-case-queries.txt).)
XQuery Sample Queries
Queries from this document, presented in a single file. (See http://www.w3.org/TR/2003/WD-xquery-use-cases-20031112/xquery-wd-queries.txt (http://www.w3.org/TR/2003/WD-xquery-use-cases-20031112/xquery-wd-queries.txt).)

D.3 Non-normative Background References

XQL
J. Robie, J. Lapp, D. Schach. XML Query Language (XQL). See http://www.w3.org/TandS/QL/QL98/pp/xql.html (http://www.w3.org/TandS/QL/QL98/pp/xql.html).
XML-QL
Alin Deutsch, Mary Fernandez, Daniela Florescu, Alon Levy, and Dan Suciu. A Query Language for XML. See http://www.research.att.com/~mff/files/final.html (http://www.research.att.com/~mff/files/final.html)
SQL
International Organization for Standardization (ISO). Information Technology-Database Language SQL. Standard No. ISO/IEC 9075:1999. (Available from American National Standards Institute, New York, NY 10036, (212) 642-4900.)
ODMG
Rick Cattell et al. The Object Database Standard: ODMG-93, Release 1.2. Morgan Kaufmann Publishers, San Francisco, 1996.
Lorel
Serge Abiteboul, Dallan Quass, Jason McHugh, Jennifer Widom, and Janet L. Wiener. The Lorel Query Language for Semistructured Data. International Journal on Digital Libraries, 1(1):68-88, April 1997. See "http://www-db.stanford.edu/~widom/pubs.html (http://www-db.stanford.edu/~widom/pubs.html)
YATL
S. Cluet, S. Jacqmin, and J. Simeon. The New YATL: Design and Specifications. Technical Report, INRIA, 1999.
Quilt
Don Chamberlin, Jonathan Robie, and Daniela Florescu. Quilt: an XML Query Language for Heterogeneous Data Sources. In Lecture Notes in Computer Science, Springer-Verlag, Dec. 2000. Also available at http://www.almaden.ibm.com/cs/people/chamberlin/quilt_lncs.pdf (http://www.almaden.ibm.com/cs/people/chamberlin/quilt_lncs.pdf). See also http://www.almaden.ibm.com/cs/people/chamberlin/quilt.html (http://www.almaden.ibm.com/cs/people/chamberlin/quilt.html).

D.4 Non-normative Informative Material

RFC2396
T. Berners-Lee, R. Fielding, and L. Masinter. Uniform Resource Identifiers (URI): Generic Syntax. IETF RFC 2396. See http://www.ietf.org/rfc/rfc2396.txt (http://www.ietf.org/rfc/rfc2396.txt).
Character Model
World Wide Web Consortium. Character Model for the World Wide Web. W3C Working Draft. See http://www.w3.org/TR/charmod/ (http://www.w3.org/TR/charmod/)
XML Infoset
World Wide Web Consortium. XML Information Set. W3C Recommendation 24 October 2001. See http://www.w3.org/TR/xml-infoset/ (http://www.w3.org/TR/xml-infoset/)
XPath 1.0
World Wide Web Consortium. XML Path Language (XPath) Version 1.0. W3C Recommendation, Nov. 16, 1999. See http://www.w3.org/TR/xpath.html (http://www.w3.org/TR/xpath.html)
XPointer
World Wide Web Consortium. XML Pointer Language (XPointer). W3C Last Call Working Draft 8 January 2001. See http://www.w3.org/TR/WD-xptr (http://www.w3.org/TR/WD-xptr)
XSLT 1.0
World Wide Web Consortium. XSL Transformations (XSLT) 1.0. W3C Recommendation. See http://www.w3.org/TR/xslt (http://www.w3.org/TR/xslt)

个人工具
其它语言
 
 Page execution time: 1177.09 ms.
网上报警 苏ICP备05002329号