XQuery Test Suite Result Summary

This document contains the results of running the XML Query Test Suite on one or more implementaions of XQuery and XQueryX.

The latest version of this test suite is XQTS 1.0.2. Implementations that have used older versions of the test suite are noted.

When results are listed as number/number/number, then indicate passed/failed/total. Passed and failed together may not equal total, due to tests not run or not reported.

The latest version of our files is available at http://dev.w3.org/cvsweb/2006/xquery-test-suite/. The "catalog" and "query" links found with each test case are links to this version.

Legend:    
        
passed    
        
almost passed
(≥ 98%)
    
        
failed    
        
untested
XQuery

XQueryX

FeatureBaseXBerkeley DB XML
(unspecified)
DataDirect XQueryeXist-dbGalax
(unspecified)
MarkLogic ServerQexoQizxSaxon-SA
(XQTS CVS)
Sedna XML Database SystemStylus Studio
(XQTS 1.0)
xbird/open
(XQTS 1.0.0 dev (rev 1.28))
X-Hive/DBxq2xsl
(XQTS 1.0.2 dev)
XQSharp
(XQTS CVS)
XQuantumAnonymous
(XQTS 1.0)
xq2xsl
(XQTS 1.0.2 dev)
XQSharp
(XQTS CVS)
Summary
Minimal Conformance 14628 / 9 / 14637 
99.9%
 14566 / 42 / 14637 
99.5%
 14593 / 0 / 14637 
99.7%
 14544 / 93 / 14637 
99.4%
 14555 / 69 / 14637 
99.4%
 14623 / 10 / 14637 
99.9%
 14535 / 62 / 14637 
99.3%
 14622 / 15 / 14637 
99.9%
 14637 / 0 / 14637 
100%
 14459 / 178 / 14637 
98.8%
 14593 / 22 / 14637 
99.7%
 12041 / 2111 / 14637 
82.3%
 14589 / 35 / 14637 
99.7%
 14588 / 49 / 14637 
99.7%
 14629 / 1 / 14637 
99.9%
 14378 / 144 / 14637 
98.2%
 13813 / 538 / 14388 
96%
 14275 / 85 / 14388 
99.2%
 14354 / 1 / 14388 
99.8%
1/19
Optional Features
    Schema Import Feature 0 / 0 / 174  117 / 3 / 174  0 / 0 / 174  0 / 0 / 174  0 / 0 / 174  173 / 1 / 174  14 / 160 / 174  0 / 0 / 174  174 / 0 / 174  0 / 0 / 174  173 / 1 / 174  0 / 1 / 174  174 / 0 / 174  0 / 0 / 174  172 / 2 / 174  0 / 0 / 174  102 / 72 / 174  0 / 0 / 174  172 / 2 / 174 2/19
    Schema Validation Feature 0 / 0 / 25  0 / 0 / 25  0 / 0 / 25  0 / 0 / 25  0 / 0 / 25  25 / 0 / 25  1 / 24 / 25  0 / 0 / 25  25 / 0 / 25  0 / 0 / 25  25 / 0 / 25  0 / 0 / 25  25 / 0 / 25  0 / 0 / 25  25 / 0 / 25  0 / 0 / 25  22 / 3 / 25  0 / 0 / 25  25 / 0 / 25 6/19
    Static Typing Feature 46 / 0 / 46  0 / 0 / 46  46 / 0 / 46  0 / 0 / 46  46 / 0 / 46  0 / 0 / 46  30 / 16 / 46  46 / 0 / 46  46 / 0 / 46  0 / 0 / 46  0 / 0 / 46  0 / 0 / 46  0 / 0 / 46  0 / 0 / 46  46 / 0 / 46  46 / 0 / 46  45 / 1 / 46  0 / 0 / 46  46 / 0 / 46 8/19
    Full Axis Feature 130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130  0 / 0 / 130  130 / 0 / 130  130 / 0 / 130  130 / 0 / 130 18/19
    Module Feature 32 / 0 / 32  32 / 0 / 32  32 / 0 / 32  0 / 0 / 32  32 / 0 / 32  32 / 0 / 32  32 / 0 / 32  32 / 0 / 32  32 / 0 / 32  32 / 0 / 32  32 / 0 / 32  17 / 15 / 32  28 / 4 / 32  30 / 2 / 32  32 / 0 / 32  0 / 0 / 32  0 / 31 / 31  29 / 2 / 31  31 / 0 / 31 12/19
    Trivial XML Embedding Feature 0 / 0 / 4  0 / 0 / 4  0 / 0 / 4  0 / 0 / 4  0 / 0 / 4  4 / 0 / 4  0 / 4 / 4  0 / 0 / 4  0 / 0 / 4  0 / 0 / 4  0 / 0 / 4  0 / 0 / 4  4 / 0 / 4  0 / 0 / 4  0 / 0 / 4  0 / 0 / 4  0 / 4 / 4  0 / 0 / 4  0 / 0 / 4 2/19


Contents


Implementations:

BaseX

Organization:Christian Gruen; DBIS Group, University of Konstanz
http://www.basex.org/
Implementation:BaseX
Version:5.0

Berkeley DB XML

Organization:Oracle
http://www.sleepycat.com
Implementation:Berkeley DB XML
Version:Oracle: Berkeley DB XML 2.3.8: (December 8, 2006)

DataDirect XQuery

Organization:DataDirect Technologies
http://www.datadirect.com/xquery
Implementation:DataDirect XQuery
Version:3.0

eXist-db

Organization:eXist Open Source Native XML database
http://www.exist-db.org
Implementation:eXist-db
Version:1.1.2dev (revision 7056 20071212)

Galax

Organization:Galax Team
http://www.galaxquery.org
Implementation:Galax
Version:1.0.0

MarkLogic Server

Organization:Mark Logic Corporation
http://marklogic.com
Implementation:MarkLogic Server
Version:4.0-1

Qexo

Organization:GNU / Per Bothner
Implementation:Qexo
Version:1.8.91 (revision 5728M)

Qizx

Organization:XMLmind
http://www.xmlmind.com/qizx/
Implementation:Qizx
Version:Qizx 2.0

Saxon-SA

Organization:Saxonica Limited
http://www.saxonica.com
Implementation:Saxon-SA
Version:8.7.3.1

Sedna XML Database System

Organization:Sedna Team, Institute for System Programming RAS
http://modis.ispras.ru/sedna
Implementation:Sedna XML Database System
Version:2.0

Stylus Studio

Organization:Stylus Studio
http://www.stylusstudio.com
Implementation:Stylus Studio
Version:2007 Release 1

xbird/open

Organization:Makoto YUI (NAIST)
http://db-www.naist.jp/~makoto-y/proj/xbird/
Implementation:xbird/open
Version:1.0 alpha 1

X-Hive/DB

Organization:X-Hive Corporation
http://www.x-hive.com
Implementation:X-Hive/DB
Version:8.0

xq2xsl

Organization:David Carlisle
http://monet.nag.co.uk/xq2xml
Implementation:xq2xsl
Version:20061026

XQSharp

Organization:Clinical & Biomedical Computing Limited
http://www.xqsharp.com
Implementation:XQSharp
Version:0.9.3225.34013

XQuantum

Organization:Cognetic Systems, Inc.
http://www.cogneticsystems.com
Implementation:XQuantum
Version:1.5

xq2xsl

Organization:David Carlisle
http://monet.nag.co.uk/xq2xml
Implementation:xq2xsl
Version:20061026

XQSharp

Organization:Clinical & Biomedical Computing Limited
http://www.xqsharp.com
Implementation:XQSharp
Version:0.9.3225.34013

Test Run:

BaseX

Date:2007-11-16
Test Suite Version:1.0.2
Syntax:XQuery
Transformation:

Queries were run as supplied (after initializing the external variables).

Comparison:

Based on the XQTS recommendations. Additionally, whitespaces were removed in results that are spanning several lines, and the order of some namespace attributes was changed.

Other Comments:

The test run takes appr. 28 seconds (Intel Dual Core, 2.0 GHz, 2 GB RAM), including serialization of the results to single files. Procedure: all XML documents are stored once in the database and re-opened if requested another time.

Berkeley DB XML

Date:2006-12-13
Test Suite Version:
Syntax:XQuery
Comparison:

XML and fragment comparisons are performed by serializing the results, re-parsing them, and using a custom deep-equal like function. This function currently ignores any text nodes that consist entirely of whitespace.

DataDirect XQuery

Date:2007-05-02
Test Suite Version:1.0.2
Syntax:XQuery
Transformation:

1. Standard Customizations

- 1.1. Default Context Item: The initial context item is set by a 'fn:doc()' call

- 1.2. Library Imports: Library hints are added for each 'import module' call

2. DataDirect XQuery Customizations

- 2.1. XPST0005 detection: DataDirect XQuery runs without XPST0005 detection for most queries. When error code XPST0005 is expected an extra option was declared: declare option ddtek:detect-XPST0005 'yes'.

- 2.2. When 'fn' is redeclared in the query, the 'fn:doc()' call to set the initial context will fail. To solve this 'xvsfn' is set to the default function namespace "http://www.w3.org/2005/xpath-functions" and the initial context declaration is changed to declare variable $input-context :=xvsfn:doc(...);

Comparison:

The expected results are not changed in any way. The comparison algorithm for positive tests is based on the XQTS Catalog

We use XMLUnit 1.0 for XML and Fragment comparisons and only accept 'identical' comparison results, both 'similar' and 'different' results are reported as failure

For negative tests, differences in error codes are reported as success and the difference is listed as a comment

Other Comments:

DataDirect XQuery 3.0 implements the January 2007 W3C Recommendation

eXist-db

Date:2007-12-12T09:57:18.151+01:00
Test Suite Version:1.0.2
Syntax:XQuery
Transformation:

The following tests have been evaluated against results provided by other XQuery processors.

1
Test nameReference softwareConsidered result
CastAs672Saxon8.9Jtrue

Comparison:

The following tests have required a comparison method different from the standard one.

1
Test nameComparison method
copynamespace-2XML
ForExprType057UnnormalizedText
ForExprType059TextAsXML
ForExprType060TextAsXML
Constr-inscope-1TextAsXML
Constr-inscope-3TextAsXML
Constr-inscope-4TextAsXML

UnnormalizedText : result text nodes are concatenated without introducing (normalized) spaces between them.

TextAsXML : result string is evaluated as if it were XML, then an XML comparison is done.

Other Comments:

The test run took 2026.836 seconds.

Galax

Date:2007-10-17-05:00
Test Suite Version:
Syntax:XQuery

MarkLogic Server

Date:2008-10-15-05:00
Test Suite Version:1.0.2
Syntax:XQuery
Transformation:

Tests in the ModuleImport group were modified to add a location hint to the import declaration.

DTDs are not supported. An XML Schema equivalent to the DTD definitions in iddtd.xml was created and placed in scope.

Comparison:

A variety of techniques are used for comparison, depending on the expected result type. These include string comparison, string comparison with boundary space normalization, iterative sequence comparison and deep-equal. Occurrences of cr and cr/lf in text nodes are considered to be equivalent for comparison. Hexadecimal numeric entities are considered to be equal to their decimal counterparts.

For negative tests that throw an exception, any exception is accepted as success.

Other Comments:

For the test run, timezone was set to -PT5H by the test driver to accommodate timezone-sensitive test cases.

Qexo

Date:2006-12-05
Test Suite Version:1.0.2
Syntax:XQuery

Qizx

Date:Tue Jan 15 16:22:49 GMT+01:00 2008
Test Suite Version:1.0.2
Syntax:XQuery
Transformation:

Queries were run as supplied, except a few which were obviously buggy and therefore fixed.

Some results have been changed when the comparison mode is 'Inspect' to make the test execution reproducible (for example current-date(), current-time() etc.)

The last digit of some numeric results has been modified to accomodate precision issues.

Comparison:

Comparisons as recommended by the guidelines. Whitespace is stripped before comparison in most cases, except when 'preserve' is present in the query.

Other Comments:

Saxon-SA

Date:2006-11-17
Test Suite Version:CVS
Syntax:XQuery
Transformation:

Queries were run as supplied, with no changes made to accommodate the test driver.

A number of bug reports were raised against the test suite; in the following cases corrected results were used rather than the published results: bugs 3790, 3356, 3975.

This run differs from previous submissions in that a new test driver written in Java is used, with a slightly different methodology for comparing results.

Comparison:

XML comparisons are performed by canonicalizing the results using a modified version of James Clark's canonical XML processor The main modification is an option to strip whitespace text nodes; this is used only when necessary, and its use is always noted in a comment in the test results.

Fragment and text comparisons are performed using three separate algorithms, reporting success if any one of them succeeds. First, a simple normalization that removes byte order marks and normalizes line endings, then compares the results byte by byte. Second, referencing the result as an external entity from a wrapped XML document, and performing canonicalization on the resulting document. Thirdly, assembling the fragment in a wrapper element by string concatenation and parsing the result. (This third technique is needed because the second fails on some results due to a bug in the JDK 1.5 XML parser, which has been reported to Sun.)

If the expected result is an error, and the test produces an error, then it is reported as having been run successfully even if the error codes differ. In all cases where the error codes differ from those expected, this is recorded as a comment in the test report.

Other Comments:

Tests of the trivial XQuery embedding have not been run because they would require extra work in the test driver and would prove nothing..

Sedna XML Database System

Date:04/11/2007 16:49
Test Suite Version:1.0.2
Syntax:XQuery
Transformation:

External variables are changed with fn:doc() calls.

Comparison:

Text results are compared without changes. XML and XML Fragment results are compared using SXML comparator implemented in Scheme.

Stylus Studio

Date:2006-09-20
Test Suite Version:1.0
Syntax:XQuery
Comparison:

XML and fragment comparisons are performed by serializing the results, re-parsing them, and using a custom deep-equal like function. This function currently ignores any attribute declaring namespace prefixes as well as text nodes that consist entirely of whitespace placed between element, comment or processing instructions nodes.

Other Comments:

- As internal DTDs are not supported, the test source iddtd.xml has been changed to point to the external iddtd.dtd entity, removing the internal subset

- The test suite has been executed with the 'reduced precision' flag that brings the precision of xs:decimal to 18 digits, xs:float to 8 digits, and xs:double to 17 digits

xbird/open

Date:2006-08-21
Test Suite Version:1.0.0 dev (rev 1.28)
Syntax:XQuery
Transformation:

Input queries have been run without any transformations.

Comparison:

XML: XML comparison is done by using XMLUnit's assertXMLEqual method.

Fragment: Fragment comparisons are performed by preparedly wrapping the reference results with a dummy element node, and the comparison method is same as XML comparison.

Text: Text comparison is done by comparing String equality.

Inspect: Inspect comparison is done by as same as Fragment comparison. But that, only non-failed tests are recorded as "pass", otherwise treated as "not tested". Most Inspect comparation requires human eye checking, so most tests are recorded as "not tested" actually.

Other Comments:

XBird/open is yet under the heavy development and XQTS success rate is improving gradually. The initial release of XBird/open is scheduled at September, 2006. The XBird project is sponsored by Information-technology Promotion Agency (IPA), Japan. Test-cases which require inspections are mostly skipped (denoted as "not tested"). JUnit test cases for each XQuery test cases were generated by own code generator respectively. The detailed results are put on our project site.

X-Hive/DB

Date:2006-10-30+01:00
Test Suite Version:1.0.2
Syntax:XQuery
Transformation:

Input queries have been run without any transformations.

Location hints have been added to schema and module import statements.

Comparison:

Comparison of XML and Fragment results has been done white space ignorant.

xq2xsl

Date:2006-10-26
Test Suite Version:1.0.2 dev
Syntax:XQuery
Transformation:

No transformations are made directly on the XQuery file, however after conversion to XSLT, the parameters corresponding to external $input-context variables are changed from having empty default definitions to having definition "doc(relative/path/to/input/fileas/specified/in/catalogue)".

Comparison:

XML: The result is not serialised. The expected result is parsed using doc() and compared using deep-equal(), if this fails, text nodes are normalized with normalize-space(), then deep-equal() is retried (Use of normalize-space is noted in the comment field in this case).

Fragment: The result is not serialised. The expected result is wrapped in an element node so it can be parsed by am XML parser, the child nodes of this element are then compared using deep-equal (and optionaly normalize-space, as for the XML comparision).

Text: is treated as a synonym for the Fragment comparison

Inspect: If these have been looked at, they are declared pass, otherwise declared not tested.

Errors are currently NOT compared. If (any) error is expected, (any) error raised is considered to be a test pass. (Due to limitations of the test harness: This should be fixed in time for a future version of the test suite.)

Other Comments:

The xq2xsl transformation process is designed to only require a basic XSLT2 engine however the generated XSLT code may require a schema-aware XSLT engine to process some constructs. This test uses the same XSLT engine to transform the Query to XSLT and to execute the generated XSLT. The system used was SAXON 8.8 from Saxonica, for which the value of xsl:is-schema-aware is no.

XQSharp

Date:2008-10-31Z
Test Suite Version:CVS
Syntax:XQuery
Transformation:

External variable declarations bound to documents are modified in queries. Where the query imports a schema matching the document, the declared type of the external variable is changed to document-node(schema-element(name)), where name is the name of the root document node. If no schema is imported matching the document, then the declared type is set to document-node(element(*, xs:untyped)). This is to aid static typing.

Any input URIs are prefixed with "xqts:///", and the related external variables are rewritten with declared type xs:anyURI.

Only tests in the test group "StaticTyping" are run with Static Typing Feature enabled.

Comparison:

Text and fragment comparisons are made by wrapping the results in an element named "doc"and comparing the results as par the "XML" comparison mode.

Other Comments:

The test suite run took 46.164 seconds.

XQuantum

Date:2007-08-08
Test Suite Version:1.0.2
Syntax:XQuery
Transformation:

External variables are initialized using statements of the form: declare variable $input-context := doc("name.xml");

Comparison:

Test results were compared as specified in the XQTS Guidelines.

Other Comments:

XQuantum supports XQuery over large XML datasets, implements static typing, and includes XQuery full-text extensions. Only test cases that passed static type checking were run. One hundred and eight test cases were found to be statically incorrect and are reported as "not tested" in the test results.

Anonymous

Date:2006-10-30
Test Suite Version:1.0
Syntax:XQueryX
Transformation:

External variables are initialized using statements of the form: declare variable $input-context := doc("name.xml");

Comparison:

XML and fragment comparisons are performed by re-parsing the results with a custom tool, then performing a binary comparison.

xq2xsl

Date:2006-10-26
Test Suite Version:1.0.2 dev
Syntax:XQueryX
Transformation:

This is a trivial xqueryx implementation, simply prepending a call to the normative xqueryx stylesheet onto the test harness used by the xq2xsl XQuery implementation.

Comparison:

XML: The result is not serialised. The expected result is parsed using doc() and compared using deep-equal(), if this fails, text nodes are normalized with normalize-space(), then deep-equal() is retried (Use of normalize-space is noted in the comment field in this case).

Fragment: The result is not serialised. The expected result is wrapped in an element node so it can be parsed by am XML parser, the child nodes of this element are then compared using deep-equal (and optionaly normalize-space, as for the XML comparision).

Text: is treated as a synonym for the Fragment comparison

Inspect: If these have been looked at, they are declared pass, otherwise declared not tested.

Errors are currently NOT compared. If (any) error is expected, (any) error raised is considered to be a test pass. (Due to limitations of the test harness: This should be fixed in time for a future version of the test suite.)

Other Comments:

The xq2xsl transformation process is designed to only require a basic XSLT2 engine however the generated XSLT code may require a schema-aware XSLT engine to process some constructs. This test uses the same XSLT engine to transform the Query to XSLT and to execute the generated XSLT. The system used was SAXON 8.8 from Saxonica, for which the value of xsl:is-schema-aware is no.

XQSharp

Date:2008-10-31Z
Test Suite Version:CVS
Syntax:XQueryX
Transformation:

External variable declarations bound to documents are modified in queries. Where the query imports a schema matching the document, the declared type of the external variable is changed to document-node(schema-element(name)), where name is the name of the root document node. If no schema is imported matching the document, then the declared type is set to document-node(element(*, xs:untyped)). This is to aid static typing.

Any input URIs are prefixed with "xqts:///", and the related external variables are rewritten with declared type xs:anyURI.

Only tests in the test group "StaticTyping" are run with Static Typing Feature enabled.

Comparison:

Text and fragment comparisons are made by wrapping the results in an element named "doc"and comparing the results as par the "XML" comparison mode.

Other Comments:

The test suite run took 115.3 seconds.

Features:

Minimal Conformance
BaseX:   not specified
Berkeley DB XML:   true
DataDirect XQuery:   true
eXist-db:   true
Galax:   not specified
MarkLogic Server:   true
Qexo:   not specified
Qizx:   true
Saxon-SA:   true
Sedna XML Database System:   true
Stylus Studio:   true
xbird/open:   true
X-Hive/DB:   true
xq2xsl:   not specified
XQSharp:   true
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   not specified
XQSharp:   true

Schema Import
BaseX:   not specified
Berkeley DB XML:   true
DataDirect XQuery:   false
eXist-db:   false
Galax:   not specified
MarkLogic Server:   true
Qexo:   not specified
Qizx:   false
Saxon-SA:   true
Sedna XML Database System:   false
Stylus Studio:   true
xbird/open:   false
X-Hive/DB:   true
xq2xsl:   false
XQSharp:   true
XQuantum:   not specified
Anonymous:   true
xq2xsl:   false
XQSharp:   true

Schema Validation
BaseX:   not specified
Berkeley DB XML:   false
DataDirect XQuery:   false
eXist-db:   false
Galax:   not specified
MarkLogic Server:   true
Qexo:   not specified
Qizx:   false
Saxon-SA:   true
Sedna XML Database System:   false
Stylus Studio:   true
xbird/open:   false
X-Hive/DB:   true
xq2xsl:   false
XQSharp:   true
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   false
XQSharp:   true

Static Typing
BaseX:   not specified
Berkeley DB XML:   false
DataDirect XQuery:   true
eXist-db:   false
Galax:   not specified
MarkLogic Server:   false
Qexo:   not specified
Qizx:   partially
Saxon-SA:   false
Sedna XML Database System:   false
Stylus Studio:   false
xbird/open:   false
X-Hive/DB:   false
xq2xsl:   no
XQSharp:   true
XQuantum:   not specified
Anonymous:   true
xq2xsl:   no
XQSharp:   true

Static Typing Extensions
BaseX:   not specified
Berkeley DB XML:   false
DataDirect XQuery:   true
eXist-db:   false
Galax:   not specified
MarkLogic Server:   true
Qexo:   not specified
Qizx:   false
Saxon-SA:   false
Sedna XML Database System:   false
Stylus Studio:   false
xbird/open:   false
X-Hive/DB:   false
xq2xsl:   false
XQSharp:   true
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   false
XQSharp:   true

Full Axis
BaseX:   not specified
Berkeley DB XML:   true
DataDirect XQuery:   true
eXist-db:   true
Galax:   not specified
MarkLogic Server:   true
Qexo:   not specified
Qizx:   true
Saxon-SA:   true
Sedna XML Database System:   true
Stylus Studio:   true
xbird/open:   true
X-Hive/DB:   true
xq2xsl:   true
XQSharp:   true
XQuantum:   not specified
Anonymous:   true
xq2xsl:   true
XQSharp:   true

Module
BaseX:   not specified
Berkeley DB XML:   true
DataDirect XQuery:   true
eXist-db:   true
Galax:   not specified
MarkLogic Server:   true
Qexo:   not specified
Qizx:   true
Saxon-SA:   true
Sedna XML Database System:   false
Stylus Studio:   true
xbird/open:   true
X-Hive/DB:   true
xq2xsl:   true
XQSharp:   true
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   true
XQSharp:   true

Serialization
BaseX:   not specified
Berkeley DB XML:   false
DataDirect XQuery:   true
eXist-db:   true
Galax:   not specified
MarkLogic Server:   true
Qexo:   not specified
Qizx:   true
Saxon-SA:   true
Sedna XML Database System:   true
Stylus Studio:   false
xbird/open:   true
X-Hive/DB:   false
xq2xsl:   true
XQSharp:   true
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   true
XQSharp:   true

Trivial XML Embedding
BaseX:   not specified
Berkeley DB XML:   false
DataDirect XQuery:   false
eXist-db:   false
Galax:   not specified
MarkLogic Server:   true
Qexo:   not specified
Qizx:   false
Saxon-SA:   true
Sedna XML Database System:   false
Stylus Studio:   false
xbird/open:   false
X-Hive/DB:   true
xq2xsl:   not specified
XQSharp:   false
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   not specified
XQSharp:   false

Implementation-defined Items:

[XQuery] The version of Unicode that is used to construct expressions.
BaseX:   not specified
Berkeley DB XML:   UTF-8
DataDirect XQuery:   Dependent on the Java Virtual Machine
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   5.0
Qexo:   not specified
Qizx:   Defined by JVM.
Saxon-SA:   Whatever is supported by the Java JDK in use
Sedna XML Database System:   Unicode 4.0
Stylus Studio:   3.0
xbird/open:   Defined by Java JDK to use.
X-Hive/DB:   defined by Java implementation
xq2xsl:   As used by Test Applet
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   As used by Test Applet
XQSharp:   not specified

[XQuery] The statically-known collations.
BaseX:   Limited to 'codepoint collation'
Berkeley DB XML:   not specified
DataDirect XQuery:   Dependent on the Java Virtual Machine
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Collations exposed by ICU, plus codepoint
Qexo:   not specified
Qizx:   Based on Java collators and locales.
Saxon-SA:   URIs corresponding to RuleBasedCollators that can be constructed by the Java VM, plus any user-defined collations whose implementation is on the Java classpath
Sedna XML Database System:   Only codepoint collation is supported now
Stylus Studio:   All the collations exposed by ICU
xbird/open:   Based on Java collators and locales.
X-Hive/DB:   defined by Java implementation
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   http://www.w3.org/2005/xpath-functions/collation/codepoint (can be augmented by API)
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   http://www.w3.org/2005/xpath-functions/collation/codepoint (can be augmented by API)

[XQuery] The implicit timezone.
BaseX:   Taken from system clock
Berkeley DB XML:   Defined by the system clock
DataDirect XQuery:   System clock based
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Defaults to platform timezone, may be set per-request for XCC connections
Qexo:   not specified
Qizx:   Can be set through the API. Default is local timezone.
Saxon-SA:   Taken from the system clock. For this test run, +01:00
Sedna XML Database System:   Extracted from local time
Stylus Studio:   Defined by the system clock
xbird/open:   Can be set through the API. Default is local timezone.
X-Hive/DB:   Z
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Z. Can be overridden through the API.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Z. Can be overridden through the API.

[XQuery] The circumstances in which warnings are raised, and the ways in which warnings are handled.
BaseX:   No warnings are currently raised
Berkeley DB XML:   not specified
DataDirect XQuery:   Warnings are never raised
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Written to log file
Qexo:   not specified
Qizx:   Unimplemented features raise warnings.
Saxon-SA:   Controlled using the JAXP-defined ErrorListener interface.
Sedna XML Database System:   Sedna does not raise any warnings at this time
Stylus Studio:   not specified
xbird/open:   Warn method of Apache Commons Logger is called. Users can specify the custom Logger.
X-Hive/DB:   X-Hive doesn't raise warnings at this time
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Warnings are raised for unused variables and arguments, typeswitch cases that are never reachable, function calls that will always raise an error (with the exception of fn:error), XPST0005 errors (when not running with the Static Typing Feature enabled), unrecognised options, and mismatched encoding declarations. These are passed to a user-defined handler.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Warnings are raised for unused variables and arguments, typeswitch cases that are never reachable, function calls that will always raise an error (with the exception of fn:error), XPST0005 errors (when not running with the Static Typing Feature enabled), unrecognised options, and mismatched encoding declarations. These are passed to a user-defined handler.

[XQuery] The method by which errors are reported to the external processing environment.
BaseX:   Java exceptions / standard error output
Berkeley DB XML:   not specified
DataDirect XQuery:   Java exceptions
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Request is terminated and an XML error report is produced
Qexo:   not specified
Qizx:   API: Exceptions and list of messages (as per XQJ).
Saxon-SA:   Errors are reported using the JAXP ErrorListener interface.
Sedna XML Database System:   It depends on client API (Java exceptions, return values in C, etc)
Stylus Studio:   Message box
xbird/open:   via Java exceptions.
X-Hive/DB:   via Java exceptions
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Errors are thrown as an XQSharp.XPathException. Alternatively errors can be logged, allowing for multiple errors to be reported.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Errors are thrown as an XQSharp.XPathException. Alternatively errors can be logged, allowing for multiple errors to be reported.

[XQuery] Whether the implementation is based on the rules of [XML 1.0] and [XML Names] or the rules of [XML 1.1] and [XML Names 1.1]. One of these sets of rules must be applied consistently by all aspects of the implementation.
BaseX:   XML 1.0
Berkeley DB XML:   1.0
DataDirect XQuery:   XML 1.0
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   1.0
Qexo:   not specified
Qizx:   
Saxon-SA:   XML 1.0 or 1.1 can be selected under user control.
Sedna XML Database System:   XML 1.0
Stylus Studio:   1.1
xbird/open:   XML 1.0.
X-Hive/DB:   XML 1.0
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XML 1.0
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XML 1.0

[XQuery] Any components of the static context or dynamic context that are overwritten or augmented by the implementation.
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   Statically known namespaces are augmented
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Added static namespaces for Mark Logic builtin functions and types, default function namespace for library modules is the module namespace
Qexo:   not specified
Qizx:   functions, default namespaces, syntax.
Saxon-SA:   None.
Sedna XML Database System:   Added static namespace for Sedna functions
Stylus Studio:   None
xbird/open:   None.
X-Hive/DB:   added static namespace for proprietary xhive functions
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified

[XQuery] Which of the optional axes are supported by the implementation, if the Full-Axis Feature is not supported.
BaseX:   All axes supported
Berkeley DB XML:   Full axis support
DataDirect XQuery:   none
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   All axes are supported
Qexo:   not specified
Qizx:   all
Saxon-SA:   All the axes are supported.
Sedna XML Database System:   All
Stylus Studio:   Full axis support
xbird/open:   all.
X-Hive/DB:   all
xq2xsl:   all
XQSharp:   All.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   all
XQSharp:   All.

[XQuery] The default handling of empty sequences returned by an ordering key (sortspec) in an order by clause (empty least or empty greatest).
BaseX:   empty least
Berkeley DB XML:   empty least
DataDirect XQuery:   empty least
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Empty last
Qexo:   not specified
Qizx:   empty least
Saxon-SA:   By default, empty collates least.
Sedna XML Database System:   Empty least
Stylus Studio:   empty least
xbird/open:   empty greatest.
X-Hive/DB:   empty greatest
xq2xsl:   empty first
XQSharp:   The default is "empty greatest", but this can be overridden.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   empty first
XQSharp:   The default is "empty greatest", but this can be overridden.

[XQuery] The names and semantics of any extension expressions (pragmas) recognized by the implementation.
BaseX:   None
Berkeley DB XML:   not specified
DataDirect XQuery:   Consult DataDirect XQuery User's Guide and Reference
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   no pragmas currently defined
Qexo:   not specified
Qizx:   (none)
Saxon-SA:   The saxon:validate-type pragma validates an expression against a named simple or complex type
Sedna XML Database System:   Pragmas are not used currently
Stylus Studio:   None
xbird/open:   Pragmas are not used currently.
X-Hive/DB:   various pragmata for debugging output, especially for index usage & query optimization
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   None.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   None.

[XQuery] The names and semantics of any option declarations recognized by the implementation.
BaseX:   None
Berkeley DB XML:   not specified
DataDirect XQuery:   Consult DataDirect XQuery User's Guide and Reference
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   xdmp:mapping enables/disables mapping functions over sequences
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   saxon:default declares default values for external variables. saxon:memo-function declares functions that are to be implemented as memo-functions. saxon:output declares serialization paraameters. For detailed semantics, see the user documentation.
Sedna XML Database System:   Option for indenting output
Stylus Studio:   None
xbird/open:   Various options with a prefix 'xbird' and a namespace 'http://metabrick.org/xbird' are provided. (e.g. xbird:view function for virtual view feature.)
X-Hive/DB:   various options for debugging output, especially for index usage & query optimization
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   An option declaration is used to declare serialization settings, see http://www.xqsharp.com/xqsharp/extensions.htm#serialization for more information.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   An option declaration is used to declare serialization settings, see http://www.xqsharp.com/xqsharp/extensions.htm#serialization for more information.

[XQuery] Protocols (if any) by which parameters can be passed to an external function, and the result of the function can returned to the invoking query.
BaseX:   None
Berkeley DB XML:   not specified
DataDirect XQuery:   DataDirect XQuery supports calling Java methods, SQL stored procedures and SQL table functions. Consult DataDirect XQuery User's Guide and Reference for detailed semantics.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   User-provided external functions are not currently supported
Qexo:   not specified
Qizx:   'Java binding', see documentation.
Saxon-SA:   Saxon supports calls on external Java methods. There is a plug-in architecture allowing additional external function libraries and binding mechanisms to be supported by third parties.
Sedna XML Database System:   Sedna supports calls on external C functions base on a proprietary protocol
Stylus Studio:   Java extensions are supported, using the namespace URI to locate the class
xbird/open:   Supports calls on external static Java methods. Returned value is mapped to XQuery values. Long is turned into xs:integer.
X-Hive/DB:   X-Hive supports calling Java functions, values returned are interpreted as XQuery types, e.g. BigInteger is turned into a xs:integer
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   None (currently).
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   None (currently).

[XQuery] The process by which the specific modules to be imported by a module import are identified, if the Module Feature is supported (includes processing of location hints, if any.)
BaseX:   Not supported yet
Berkeley DB XML:   not specified
DataDirect XQuery:   A location hint must be specified. The module must be accessible through http:, ftp:, or file: URI schemes
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Location hint is required and used to locate imported module. The location hint is taken to be relative to the URI of the current module, or relative to the appserver root if it is absolute.
Qexo:   not specified
Qizx:   Pluggable ModuleResolver. Default implementation uses a base URI. Location hints are taken into account.
Saxon-SA:   An actual URI for the location of the module source code must be provided in the import declaration, or via a ModuleURIResolver nominated using the Java API
Sedna XML Database System:   Modules should be preloaded into database using proprietary command. Locations hints are ignored.
Stylus Studio:   The hint is treated as a (relative) URI, and accessed
xbird/open:   If any location hints are provided, use the first one for the importing module location. Otherwise, the target namespace of importing module is used. A module location is expected to be full URIs (e.g. file:// or http://)
X-Hive/DB:   module location hints are expected to be either full URIs (e.g. file:// or http://) or paths within the database collection
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   All location hints are read from a module import statement, and all modules are imported in the query. It is possible for different library modules to import different subsets of the same library.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   All location hints are read from a module import statement, and all modules are imported in the query. It is possible for different library modules to import different subsets of the same library.

[XQuery] Any static typing extensions supported by the implementation, if the Static Typing Feature is supported.
BaseX:   Not supported yet
Berkeley DB XML:   not specified
DataDirect XQuery:   Consult DataDirect XQuery User's Guide and Reference.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   The Static Typing feature is not supported
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   Saxon does not support strict static typing, although it does report type errors at compile time if they can be detected at compile time.
Sedna XML Database System:   Static typing is not supported now
Stylus Studio:   None
xbird/open:   No extensions.
X-Hive/DB:   none
xq2xsl:   none
XQSharp:   Many extensions to standard rules in Formal Semantics.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   none
XQSharp:   Many extensions to standard rules in Formal Semantics.

[XQuery] The means by which serialization is invoked, if the Serialization Feature is supported.
BaseX:   SAX/Iterator/String/standard output
Berkeley DB XML:   not specified
DataDirect XQuery:   DataDirect XQuery implements an XQJ early draft, which gives full access to the serialization options. Consult DataDirect XQuery User's Guide and Reference.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Specific serialization style depends on the appserver running the request (connection method)
Qexo:   not specified
Qizx:   extension function, API
Saxon-SA:   Saxon supports a Java API that gives full access to serialization, reusing parts of the JAXP API where appropriate.
Sedna XML Database System:   Results are serialized to standard output or to string supported by the language of client application (Java string, C string, etc.)
Stylus Studio:   Not supported
xbird/open:   Provides Java APIs for giving accesses to serialization. Besides default Serialization is provided for Sequence result through toString() method.
X-Hive/DB:   results are serialized to Java Strings using the toString() method of the returned Java objects
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQSharp provides a .NET API giving full access to all serialization options. Serialization options can also be declared using an option declaration, see http://www.xqsharp.com/xqsharp/extensions.htm#serialization for more information.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQSharp provides a .NET API giving full access to all serialization options. Serialization options can also be declared using an option declaration, see http://www.xqsharp.com/xqsharp/extensions.htm#serialization for more information.

[XQuery] The default values for the byte-order-mark, encoding, media-type, normalization-form, omit-xml-declaration, standalone, and version parameters, if the Serialization Feature is supported.
BaseX:   Adjustable
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery defaults. Consult DataDirect XQuery User's Guide and Reference.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   An XML declaration is never included, encoding is user-selectable (default UTF-8, no BOM)
Qexo:   not specified
Qizx:   See x:serialize() function in documentation.
Saxon-SA:   As described in the XQuery specification (but if running from the command line, indent=yes is set by default)
Sedna XML Database System:   no, utf-8, none, normalization is not performed, no, yes, 1.0
Stylus Studio:   Not supported
xbird/open:   As specified in Appendix C.3 of the XQuery specification. byte-order-mark: no, encoding: utf-8, normalization-form: NFC, omit-xml-declaration: no, standalone: no, version: 1.0.
X-Hive/DB:   does not apply
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Default serialization values are specified at http://www.xqsharp.com/xqsharp/extensions.htm#serialization
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Default serialization values are specified at http://www.xqsharp.com/xqsharp/extensions.htm#serialization

[XQuery] The result of an unsuccessful call to an external function (for example, if the function implementation cannot be found or does not return a value of the declared type).
BaseX:   Dynamic error
Berkeley DB XML:   not specified
DataDirect XQuery:   not specified
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Not currently supported
Qexo:   not specified
Qizx:   dynamic error
Saxon-SA:   not specified
Sedna XML Database System:   not specified
Stylus Studio:   An error is raised
xbird/open:   not specified
X-Hive/DB:   not specified
xq2xsl:   not specified
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   not specified
XQSharp:   not specified

[XQuery] Limits on ranges of values for various data types, as enumerated in 5.3 Data Model Conformance.
BaseX:   64 bits for xs:integer
Berkeley DB XML:   not specified
DataDirect XQuery:   Consult DataDirect XQuery User's Guide and Reference.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Integers are 64 bits, limits are as determined by the platform C math library
Qexo:   not specified
Qizx:   xs:integer on 64 bits
Saxon-SA:   Documented in the detailed conformance documentation
Sedna XML Database System:   not specified
Stylus Studio:   All numbers are represented using a decimal (not binary) representation (xs:float and xs:double -> 25 digits; xs:decimal -> 50 digits); date and duration types -> the type is stored in a single xs:decimal value, with its 50 digits accuracy; xs:string and other type: limited by available memory
xbird/open:   For the xs:decimal type: java.math.BigDecimal is used (unlimited). For the types xs:date, xs:time, xs:dateTime, xs:gYear, and xs:gYearMonth: javax.xml.datatype.XMLGregorianCalendar is used. For the types xs:duration, xs:yearMonthDuration, and dayTimeDuration : javax.xml.datatype.Duration is used. For the types xs:string, xs:hexBinary, xs:base64Binary, xs:QName, xs:anyURI, xs:NOTATION: no limitation on lengths of values.
X-Hive/DB:   not specified
xq2xsl:   not specified
XQSharp:   xs:decimal, xs:integer: -79228162514264337593543950335 to 79228162514264337593543950335. xs:float: -3.402823E+38 to 3.402823E+38. xs:double -1.79769313486232E+308 to 1.79769313486232E+308.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   not specified
XQSharp:   xs:decimal, xs:integer: -79228162514264337593543950335 to 79228162514264337593543950335. xs:float: -3.402823E+38 to 3.402823E+38. xs:double -1.79769313486232E+308 to 1.79769313486232E+308.

[FuncOps] The destination of the trace output is implementation-defined. See 4 The Trace Function.
BaseX:   Internally processed
Berkeley DB XML:   not specified
DataDirect XQuery:   Sent as text to Java's System.err
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Standard log file
Qexo:   not specified
Qizx:   Depends on configuration.
Saxon-SA:   If a TraceListener is registered, the trace output is sent to the TraceListener. Otherwise it is sent as text to System.err.
Sedna XML Database System:   Destination can be defined as output stream in API.
Stylus Studio:   Output window
xbird/open:   Depends on Logger settings. Default output destination is stdout.
X-Hive/DB:   the destination can be either 'stdout' or 'stderr'
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   An event is raised when a trace call is evaluated.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   An event is raised when a trace call is evaluated.

[FuncOps] For xs:integer operations, implementations that support limited-precision integer operations must either raise an error [err:FOAR0002] or provide an implementation-defined mechanism that allows users to choose between raising an error and returning a result that is modulo the largest representable integer value. See 6.2 Operators on Numeric Values.
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   DataDirect XQuery supports unlimited-precision integer arithmetic
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Error err:FOAR0002 is raised
Qexo:   not specified
Qizx:   error raised
Saxon-SA:   Saxon supports unlimited-precision integer arithmetic
Sedna XML Database System:   not specified
Stylus Studio:   Results exceeding the given precision are rounded
xbird/open:   Raises an error [err:FOAR0002].
X-Hive/DB:   not specified
xq2xsl:   not specified
XQSharp:   err:FOAR0002 is raised.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   not specified
XQSharp:   err:FOAR0002 is raised.

[FuncOps] For xs:decimal values the number of digits of precision returned by the numeric operators is implementation-defined. See 6.2 Operators on Numeric Values. See also 17.1.3.3 Casting to xs:decimal and 17.1.3.4 Casting to xs:integer.
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   DataDirect XQuery supports unlimited-precision decimal arithmetic
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Mark Logic supports 18 digits of precision
Qexo:   not specified
Qizx:   not limited.
Saxon-SA:   Saxon implements arbitrary-precision decimal arithmetic. The default precision for division is 18 digits, but this is configurable.
Sedna XML Database System:   not specified
Stylus Studio:   Results exceeding the given precision are rounded
xbird/open:   Supports arbitrary-precision decimal representation.
X-Hive/DB:   X-Hive currently supports 20 decimal digits when converting decimals to a string representation
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   18 digits are supported.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   18 digits are supported.

[FuncOps] If the number of digits in the result exceeds the number of digits that the implementation supports, the result is truncated or rounded in an implementation-defined manner. See 6.2 Operators on Numeric Values. See also 17.1.3.3 Casting to xs:decimal and 17.1.3.4 Casting to xs:integer.
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   Not applicable as DataDirect XQuery implements unlimited precision
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Round
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   Not applicable, since Saxon supports indefinite precision.
Sedna XML Database System:   not specified
Stylus Studio:   Round
xbird/open:   The result is rounded by casting.
X-Hive/DB:   the result is rounded
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Results are rounded.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Results are rounded.

[FuncOps] It is implementation-defined which version of Unicode is supported by the features defined in this specification, but it is recommended that the most recent version of Unicode be used. See 7.1 String Types.
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XML 1.0 based
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   5.0
Qexo:   not specified
Qizx:   As supported by JVM used.
Saxon-SA:   Saxon validates that characters in strings and names are as permitted by XML 1.0 (or XML 1.1 at user option), unless the value has already been validated by an XML parser, in which case it depends on the user's choice of parser.
Sedna XML Database System:   not specified
Stylus Studio:   3.0
xbird/open:   Depends on the user's choice of XML parser.
X-Hive/DB:   The XQuery parser validates according to XML 1.0
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified

[FuncOps] For 7.4.6 fn:normalize-unicode, conforming implementations must support normalization form "NFC" and may support normalization forms "NFD", "NFKC", "NFKD", "FULLY-NORMALIZED". They may also support other normalization forms with implementation-defined semantics.
BaseX:   not specified
Berkeley DB XML:   NFC, NFD, NFKC, NFKD
DataDirect XQuery:   NFC, NFD, NFKC, and NFKD
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   NFC, NFD, NFKC and NFKD
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   Saxon supports NFC, NFD, NFKC, and NFKD.
Sedna XML Database System:   not specified
Stylus Studio:   NFC, NFD, NFKC, NFKD
xbird/open:   Supports NFC, NFD, NFKC, and NFKD/FULLY-NORMALIZED.
X-Hive/DB:   NFC, NFD, NFKC, NFKD
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   NFC, NFD, NFKC, NFKD
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   NFC, NFD, NFKC, NFKD

[FuncOps] The ability to decompose strings into collation units suitable for substring matching is an implementation-defined property of a collation. See 7.5 Functions Based on Substring Matching.
BaseX:   Depends on Java
Berkeley DB XML:   not specified
DataDirect XQuery:   Dependent on the Java Virtual Machine
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Supported
Qexo:   not specified
Qizx:   Supported by Java collators.
Saxon-SA:   All collations based on Java's RuleBasedCollator have this property. User-defined collations may or may not have this property.
Sedna XML Database System:   Collations are not supported now
Stylus Studio:   
xbird/open:   Depends on Java collators. Collation based on Java RuleBasedCollator have this property.
X-Hive/DB:   depends on Java collations
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified

[FuncOps] All minimally conforming processors must support year values with a minimum of 4 digits (i.e., YYYY) and a minimum fractional second precision of 1 millisecond or three digits (i.e., s.sss). However, conforming processors may set larger implementation-defined limits on the maximum number of digits they support in these two situations. See 10.1.1 Limits and Precision.
BaseX:   Years may have more than 4 digits; doubles are used for milliseconds
Berkeley DB XML:   not specified
DataDirect XQuery:   DataDirect XQuery supports 4 digits for the year and 6 digits for fractional seconds
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Four digits for the year and six for fractional seconds
Qexo:   not specified
Qizx:   seconds are represented as double, years may exceed 4 digits.
Saxon-SA:   Saxon supports 4 digits for the year and 6 digits for fractional seconds on dateTimes and durations.
Sedna XML Database System:   not specified
Stylus Studio:   At least 40 digits
xbird/open:   Supports Integer value for the year and fractional seconds on durations. They are defined by javax.xml.datatype.XMLGregorianCalendar and javax.xml.datatype.Duration respectively.
X-Hive/DB:   X-Hive supports nanosecond-precision
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   At least 17 digits are supported for the year, and at least 12 decimal digits are supported for the seconds.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   At least 17 digits are supported for the year, and at least 12 decimal digits are supported for the seconds.

[FuncOps] The result of casting a string to xs:decimal, when the resulting value is not too large or too small but nevertheless has too many decimal digits to be accurately represented, is implementation-defined. See 17.1.1 Casting from xs:string and xs:untypedAtomic.
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   not specified
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Rounded
Qexo:   not specified
Qizx:   decimal numbers have unlimited precision.
Saxon-SA:   not specified
Sedna XML Database System:   not specified
Stylus Studio:   Rounded at given precision
xbird/open:   not specified
X-Hive/DB:   not specified
xq2xsl:   not specified
XQSharp:   Results are rounded as by System.Decimal.Parse.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   not specified
XQSharp:   Results are rounded as by System.Decimal.Parse.

[FuncOps] Various aspects of the processing provided by 15.5.4 fn:doc are implementation-defined. Implementations may provide external configuration options that allow any aspect of the processing to be controlled by the user.
BaseX:   Documents can be processed on the fly or as database instances
Berkeley DB XML:   dtd validation
DataDirect XQuery:   The fn:doc function can access any XML document through http:, ftp:, and file: URI schemes
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   fn:doc selects from documents in the in-scope database
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   If the standard URIResolver is used, this is as defined by the implementation of class java.net.URL in the Java VM.
Sedna XML Database System:   fn:doc() is used to access documents within the database
Stylus Studio:   URI protocols supported are the one available inside Stylus Studio (file, http, https, ftp, adapters, db and custom protocols provided by the user); non-XML media types are supported if accessed using an adapter protocol; DTD and XMLSchema validation are applied, but internal DTDs are not supported; errors occurring during parsing are fatal; results are always stable
xbird/open:   Defined by the implementation of java.net.URL class of Java JDK.
X-Hive/DB:   fn:doc() is usually used to access documents within the database. On importing those documents, all features can be configured using the DOM Level3 API
xq2xsl:   not specified
XQSharp:   An interface is provided that allows for arbitrary mapping between URIs and documents. By default the standard System.Xml.XmlUriResolver is used. Use of DTD and schema can be specified in the static context.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   not specified
XQSharp:   An interface is provided that allows for arbitrary mapping between URIs and documents. By default the standard System.Xml.XmlUriResolver is used. Use of DTD and schema can be specified in the static context.

[FuncOps] The manner in which implementations provide options to weaken the stable characteristic of 15.5.6 fn:collection and 15.5.4 fn:doc are implementation-defined.
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   not specified
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   N/A
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   not specified
Sedna XML Database System:   not specified
Stylus Studio:   Not available
xbird/open:   not specified
X-Hive/DB:   not specified
xq2xsl:   not specified
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   not specified
XQSharp:   not specified

[DataModel] Support for additional user-defined or implementation-defined types is implementation-defined. (See 2.6.1 Representation of Types)
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   ddtek:JavaObject, used to represent Java Objects in the XDM.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   There are additional built-in types defined in the http://marklogic.com/cts namespace. See documentation
Qexo:   not specified
Qizx:   wrapped Java objects
Saxon-SA:   Saxon allows any Java object to be wrapped as an XPath item, and defines a mapping of Java class names to XPath type names so that such objects carry full dynamic type information with them.
Sedna XML Database System:   There are no additional user-defined or implementation-defined types in Sedna
Stylus Studio:   None
xbird/open:   Allows any Java object to be wrapped as an Item.
X-Hive/DB:   X-Hive supports the use of Java objects within XQuery. Java objects are transformed to the XQuery data model.
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Currently not supported.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Currently not supported.

[DataModel] Some typed values in the data model are undefined. Attempting to access an undefined property is always an error. Behavior in these cases is implementation-defined and the host language is responsible for determining the result. (See 5 Accessors)
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   Access to undefined values is an error.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Access to undefined values is an error
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   Access to undefined values is an error.
Sedna XML Database System:   not specified
Stylus Studio:   None
xbird/open:    Access to undefined values is an error.
X-Hive/DB:   Access to undefined values is an error.
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified

[Serialization] For any implementation-defined output method, it is implementation-defined whether sequence normalization process takes place. (See 2 Sequence Normalization)
BaseX:   Normalized / accessable as Java object
Berkeley DB XML:   not specified
DataDirect XQuery:   Not applicable, DataDirect XQuery doesn't support any implementation-defined output method.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   N/A, no implementation-defined output method
Qexo:   not specified
Qizx:   none
Saxon-SA:   Sequences are always normalized to documents before the serializer is invoked. However, the Java application may change the way in which a result sequence is converted to a document before invoking the serializer.
Sedna XML Database System:   Only steps 1 and 2 Sequence Normalization are performed
Stylus Studio:   not specified
xbird/open:   Sequences are returned as Java Iterators, and Serialization is left to the user though a default toString() method is provided.
X-Hive/DB:   Sequences are returned as Java Iterators over an X-Hive specific mapping of the XQuery type system to a Java object hierarchy. Serialization is left to the user, though a default toString() method is provided and returned XML nodes implement org.w3c.dom.Node, so they can be used with DOM serializers.
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified

[Serialization] If the namespace URI is non-null for the method serialization parameter, then the parameter specifies an implementation-defined output method. (See 3 Serialization Parameters)
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   Not applicable, DataDirect XQuery doesn't support any implementation-defined output method.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   N/A
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   Saxon allows a user-specified serialization class to be nominated using this mechanism. The class may be a SAX ContentHandler or a Saxon Receiver.
Sedna XML Database System:   not specified
Stylus Studio:   not specified
xbird/open:   Allows a user-specified serialization class.
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified

[Serialization] If the value of the normalization-form form parameter is not NFC, NFD, NFKC, NFKD, fully-normalized, or none then the meaning of the value and it's effect is implementation-defined. (See 4 Phases of Serialization)
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   An error is reported
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Assumed to be NFC
Qexo:   not specified
Qizx:   Error raised
Saxon-SA:   not specified
Sedna XML Database System:   not specified
Stylus Studio:   not specified
xbird/open:   Assumed to be NFC.
X-Hive/DB:   not specified
xq2xsl:   not specified
XQSharp:   An SESU0011 error is raised.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   not specified
XQSharp:   An SESU0011 error is raised.

[Serialization] The effect of additional serialization parameters on the output of the serializer, where the name of such a parameter must be namespace-qualified, is implementation-defined or implementation-dependent. The extent of this effect on the output must not override the provisions of this specification. (See 3 Serialization Parameters)
BaseX:   Some internal serialization options exist
Berkeley DB XML:   not specified
DataDirect XQuery:   Additional serialization parameters are ignored.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   N/A
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   Saxon supports a number of additional serialization parameters in the namespace http://saxon.sf.net. These include saxon:indent-spaces, saxon:character-representation, saxon:require-well-formed, and saxon:next-in-chain
Sedna XML Database System:   not specified
Stylus Studio:   not specified
xbird/open:   Additional serialization parameters, such as indent size, pretty printing, and XML version, etc, is supported.
X-Hive/DB:   not specified
xq2xsl:   not specified
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   not specified
XQSharp:   not specified

[Serialization] The effect of providing an option that allows the encoding phase to be skipped, so that the result of serialization is a stream of Unicode characters, is implementation-defined. The serializer is not required to support such an option. (See 4 Phases of Serialization)
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   DataDirect XQuery implements an XQJ early draft, and it allows to serialize to a java.lang.String and java.io.Writer rather than a byte stream
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   N/A
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   Saxon allows the serialization destination to be a Java Writer (a character stream) rather than a byte stream.
Sedna XML Database System:   not specified
Stylus Studio:   not specified
xbird/open:   Allows the serialization method defined by java.io.Writer.
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified

[Serialization] An serializer may provide an implementation-defined mechanism to place CDATA sections in the result tree. (See 5.1.4 XML Output Method: the cdata-section-elements Parameter)
BaseX:   Not supported.
Berkeley DB XML:   not specified
DataDirect XQuery:   DataDirect XQuery doesn't provide such mechanism.
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   N/A, CDATA sections are not maintained in the stored model
Qexo:   not specified
Qizx:   not specified
Saxon-SA:   Saxon provides the standard cdata-section-elements mechanism only.
Sedna XML Database System:   not specified
Stylus Studio:   not specified
xbird/open:   The standard cdata-section-elements mechanism is only provides.
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   not specified

Static Context Properties:

Statically known namespaces
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default augmented with xmlns:ddtek='http://www.datadirect.com/xquery', xmlns:ddtek-sql='http://www.datadirect.com/xquery/sql-function', xmlns:ddtek-sql-jdbc='http://www.datadirect.com/xquery/sql-jdbc-escapefunction'
eXist-db:   XQuery default augmented with xmlns:exist='http://exist.sourceforge.net/NS/exist' (unbound when the XQTS is run)
Galax:   not specified
MarkLogic Server:   XQuery 1.0 default
Qexo:   not specified
Qizx:   prefix x for extension functions, can be augmented through the API and by the Java binding mechanism.
Saxon-SA:   augmentable via API
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   Prefix java for extension functions.
X-Hive/DB:   default plus xhive='http://www.x-hive.com/2001/08/xquery-functions'
xq2xsl:   predefined XQuery ones plus 'xsl' bound to the xslt namespace.
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   predefined XQuery ones plus 'xsl' bound to the xslt namespace.
XQSharp:   XQuery default.

Default element/type namespace
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   XQuery default
Galax:   not specified
MarkLogic Server:   Empty namespace
Qexo:   not specified
Qizx:   none
Saxon-SA:   settable via API
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   default
X-Hive/DB:   default
xq2xsl:   null
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   null
XQSharp:   XQuery default.

Default function namespace
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   'http://www.w3.org/2005/xpath-functions' by default
Galax:   not specified
MarkLogic Server:   http://www.w3.org/2005/xpath-functions for main modules, module namespace in library modules
Qexo:   not specified
Qizx:   standard
Saxon-SA:   defined in prolog
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   default
X-Hive/DB:   default
xq2xsl:   
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   
XQSharp:   XQuery default.

In-scope schema types
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   N/A
Galax:   not specified
MarkLogic Server:   XQuery default
Qexo:   not specified
Qizx:   none
Saxon-SA:   augmentable via API
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   default
X-Hive/DB:   default
xq2xsl:   none
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   none
XQSharp:   XQuery default.

In-scope element declarations
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   N/A
Galax:   not specified
MarkLogic Server:   XQuery default
Qexo:   not specified
Qizx:   none
Saxon-SA:   augmentable via API
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   none
X-Hive/DB:   none
xq2xsl:   none
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   none
XQSharp:   XQuery default.

In-scope attribute declarations
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   N/A
Galax:   not specified
MarkLogic Server:   XQuery default
Qexo:   not specified
Qizx:   none
Saxon-SA:   augmentable via API
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   none
X-Hive/DB:   none
xq2xsl:   none
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   none
XQSharp:   XQuery default.

In-scope variables
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   None
Galax:   not specified
MarkLogic Server:   External variables bound at invocation, if any
Qexo:   not specified
Qizx:   augmentable via API, application-dependent
Saxon-SA:   defined in prolog
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   augmentable via API.
X-Hive/DB:   none
xq2xsl:   none
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   none
XQSharp:   XQuery default.

Context item static type
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   item()?
Galax:   not specified
MarkLogic Server:   No default context item
Qexo:   not specified
Qizx:   from actual value. Can be set through API.
Saxon-SA:   fixed as item()*
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   fixed as item()*
X-Hive/DB:   not specified
xq2xsl:   xs:integer
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   xs:integer
XQSharp:   XQuery default.

Function signatures
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   XQuery default
Galax:   not specified
MarkLogic Server:   XQuery default
Qexo:   not specified
Qizx:   Can be augmented by Java binding mechanism. Native functions are pluggable.
Saxon-SA:   augmentable via API
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   augmentable via API.
X-Hive/DB:   not specified
xq2xsl:   XSLT
XQSharp:   XQuery default. Additional functions are also defined as at http://staging.cbcl.co.uk/xqsharp/functions.htm
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   XSLT
XQSharp:   XQuery default. Additional functions are also defined as at http://staging.cbcl.co.uk/xqsharp/functions.htm

Statically known collations
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   The collations supported by the Java Virtual Machine.
eXist-db:   See http://exist.sourceforge.net/xquery.html#N10676
Galax:   not specified
MarkLogic Server:   Collations exposed by ICU, plus codepoint
Qexo:   not specified
Qizx:   Based on Java collators and locales.
Saxon-SA:   settable via API
Sedna XML Database System:   not specified
Stylus Studio:   All collations exposed by ICU
xbird/open:   Based on Java collations
X-Hive/DB:   Java collations
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   http://www.w3.org/2005/xpath-functions/collation/codepoint
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   http://www.w3.org/2005/xpath-functions/collation/codepoint

Default collation
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   http://www.w3.org/2005/xpath-functions/collation/codepoint
Galax:   not specified
MarkLogic Server:   http://marklogic.com/collation/ (UCA root collation), settable per appserver
Qexo:   not specified
Qizx:   codepoint.
Saxon-SA:   settable via API
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   Unicode codepoint
X-Hive/DB:   Unicode collation
xq2xsl:   Unicode codepoint
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Unicode codepoint
XQSharp:   XQuery default.

Construction mode
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Strip
Qexo:   not specified
Qizx:   N/A
Saxon-SA:   defined in prolog
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   preserve
X-Hive/DB:   not specified
xq2xsl:   
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   
XQSharp:   XQuery default.

Ordering mode
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Ordered
Qexo:   not specified
Qizx:   ordered.
Saxon-SA:   defined in prolog
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   ordered
X-Hive/DB:   ordered
xq2xsl:   ordered
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   ordered
XQSharp:   XQuery default.

Default order for empty sequences
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   least
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Empty last
Qexo:   not specified
Qizx:   empty least.
Saxon-SA:   defined in prolog
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   empty greatest
X-Hive/DB:   empty greatest
xq2xsl:   empty first
XQSharp:   empty greatest
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   empty first
XQSharp:   empty greatest

Boundary-space policy
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Strip
Qexo:   not specified
Qizx:   strip
Saxon-SA:   defined in prolog
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   strip
X-Hive/DB:   collapse
xq2xsl:   strip
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   strip
XQSharp:   XQuery default.

Copy-namespaces mode
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   Preserve, Inherit
Qexo:   not specified
Qizx:   
Saxon-SA:   defined in prolog
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   No preserve
X-Hive/DB:   copy
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQuery default.

Base URI
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   Depends on your DataDirect XQuery configuration
eXist-db:   '/db' by default
Galax:   not specified
MarkLogic Server:   Empty
Qexo:   not specified
Qizx:   Defined by API.
Saxon-SA:   settable via API
Sedna XML Database System:   not specified
Stylus Studio:   URI of the XQuery source
xbird/open:   Defined by API. Default is set to Java system property of user.dir.
X-Hive/DB:   URI of the document the query is run on
xq2xsl:   
XQSharp:   URI of the query file. If the query is not read from a file, then a Base URI must be provided when the query is compiled.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   
XQSharp:   URI of the query file. If the query is not read from a file, then a Base URI must be provided when the query is compiled.

Statically known documents
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   By default, all the documents stored in the database for which the user has required permissions
Galax:   not specified
MarkLogic Server:   All user-visible documents in the in-scope database
Qexo:   not specified
Qizx:   none (only dynamic)
Saxon-SA:   empty set
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   none
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQuery default.

Statically known collections
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   Data types of the data stored in database tables that can be referenced with fn:collection() are statically known
eXist-db:   By default, all the collections stored in the database for which the user has required permissions
Galax:   not specified
MarkLogic Server:   All user-visible collections in the in-scope database
Qexo:   not specified
Qizx:   none (only dynamic)
Saxon-SA:   empty set
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   none
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQuery default.

Statically known default collection type
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   document-node()*
Qexo:   not specified
Qizx:   none
Saxon-SA:   none
Sedna XML Database System:   not specified
Stylus Studio:   A set of database connections as defined by the user
xbird/open:   none
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQuery default.

Dynamic Context Properties:

Context item
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery conformant
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   No default context item
Qexo:   not specified
Qizx:   undefined
Saxon-SA:   settable via API
Sedna XML Database System:   not specified
Stylus Studio:   An XML file as (optionally) specified by the user
xbird/open:   Undefined
X-Hive/DB:   initialized to the node the query is executed on
xq2xsl:   1
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   1
XQSharp:   XQuery default.

Context position
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery conformant
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   N/A
Qexo:   not specified
Qizx:   N/A
Saxon-SA:   always 1
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   0 if not initialized.
X-Hive/DB:   not specified
xq2xsl:   1
XQSharp:   By default is not set. If context item is set then context position is set to 1
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   1
XQSharp:   By default is not set. If context item is set then context position is set to 1

Context size
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery conformant
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   N/A
Qexo:   not specified
Qizx:   N/A
Saxon-SA:   always 1
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   N/A
X-Hive/DB:   not specified
xq2xsl:   1
XQSharp:   By default is not set. If context item is set then context size is set to 1
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   1
XQSharp:   By default is not set. If context item is set then context size is set to 1

Variable values
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery conformant
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   External variable values are bound at invocation
Qexo:   not specified
Qizx:   Settable by API
Saxon-SA:   settable via API
Sedna XML Database System:   not specified
Stylus Studio:   External variables are defined with a value specified by the user
xbird/open:   Settable via API
X-Hive/DB:   not specified
xq2xsl:   
XQSharp:   XQuery default.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   
XQSharp:   XQuery default.

Function implementations
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery conformant
eXist-db:   not specified
Galax:   not specified
MarkLogic Server:   N/A
Qexo:   not specified
Qizx:   dynamically loaded
Saxon-SA:   augmentable via API
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   Functions are dynamically loaded for call-by need fasion.
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQuery default. Additional functions are also defined as at http://staging.cbcl.co.uk/xqsharp/functions.htm
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   XQuery default. Additional functions are also defined as at http://staging.cbcl.co.uk/xqsharp/functions.htm

Current dateTime
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   System clock based
eXist-db:   Settable using an option, a pragma, or API
Galax:   not specified
MarkLogic Server:   As reported by the platform Operating System
Qexo:   not specified
Qizx:   Defined by JVM.
Saxon-SA:   settable via API, default from system clock
Sedna XML Database System:   not specified
Stylus Studio:   As reported by the system
xbird/open:   Default from system clock.
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   By default set to the current system date time when the dynamic context is created. This can be overridden through the API.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   By default set to the current system date time when the dynamic context is created. This can be overridden through the API.

Implicit timezone
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   System clock based
eXist-db:   Settable using an option, a pragma, or API
Galax:   not specified
MarkLogic Server:   OS default, or settable per request for XCC connections
Qexo:   not specified
Qizx:   Can be set through the API. Default is local timezone.
Saxon-SA:   settable via API, default from system clock
Sedna XML Database System:   not specified
Stylus Studio:   As reported by the system
xbird/open:   Settable via API. Default is local timezone.
X-Hive/DB:   Z
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Z. This can be overridden through the API.
XQuantum:   not specified
Anonymous:   Z
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   Z. This can be overridden through the API.

Available documents
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   Any XML document accessible through http:, ftp:, and file: URI schemes
eXist-db:   By default, all the documents stored in the database for which the user has required permissions + external URLs
Galax:   not specified
MarkLogic Server:   All user-visible documents in the in-scope database
Qexo:   not specified
Qizx:   Defined by environment. Documents of opened databases in XQuest. Redefineable DocumentManager for parsed documents.
Saxon-SA:   settable via API (URIResolver)
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   Defined by environment. Settable via API(DocumentManager).
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   By default any document retrievable with a System.Xml.XmlUriResolver.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   By default any document retrievable with a System.Xml.XmlUriResolver.

Available collections
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   Any table accessible through the configured JDBC connections
eXist-db:   By default, all the collections stored in the database for which the user has required permissions
Galax:   not specified
MarkLogic Server:   All user-visible collections in the in-scope database
Qexo:   not specified
Qizx:   Defined by environment. Collections of opened databases in XQuest.
Saxon-SA:   settable via API (CollectionURIResolver)
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   Defined by environment. Collections of opened databases for XBird embedded mode.
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   By default none. Can be set through the API.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   By default none. Can be set through the API.

Default collection
BaseX:   not specified
Berkeley DB XML:   not specified
DataDirect XQuery:   XQuery default
eXist-db:   By default, all the collections stored in the database for which the user has required permissions
Galax:   not specified
MarkLogic Server:   All user-visible documents in the in-scope database
Qexo:   not specified
Qizx:   Can be set by API.
Saxon-SA:   none
Sedna XML Database System:   not specified
Stylus Studio:   XQuery default
xbird/open:   Can be set by configuration file setting.
X-Hive/DB:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   By default none. Can be set through the API.
XQuantum:   not specified
Anonymous:   not specified
xq2xsl:   Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica
XQSharp:   By default none. Can be set through the API.

Summarized Results:

Legend:    
        
passed    
        
almost passed
(≥ 98%)
    
        
failed    
        
untested
XQuery

XQueryX

FeatureBaseXBerkeley DB XML
(unspecified)
DataDirect XQueryeXist-dbGalax
(unspecified)
MarkLogic ServerQexoQizxSaxon-SA
(XQTS CVS)
Sedna XML Database SystemStylus Studio
(XQTS 1.0)
xbird/open
(XQTS 1.0.0 dev (rev 1.28))
X-Hive/DBxq2xsl
(XQTS 1.0.2 dev)
XQSharp
(XQTS CVS)
XQuantumAnonymous
(XQTS 1.0)
xq2xsl
(XQTS 1.0.2 dev)
XQSharp
(XQTS CVS)
Summary
Minimal Conformance
    Optional Feature Errors
        Single error code for extra features18/1818/1818/1812/1818/1818/1817/1818/1818/1818/1818/180/1818/1818/1817/1818/189/1414/1413/1413/19
    XQuery Basics
        Static Context Evaluation1/11/11/10/11/11/10/11/11/10/11/11/11/11/11/11/10/11/11/115/19
        Query Types
            XQuery Sequence Type Syntax21/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2119/19
    XQuery Expressions
        Primary Expressions
            Literals119/119119/119119/119119/119119/119119/119119/119119/119119/119119/119119/119116/119119/119119/119119/119119/11967/7070/7070/7017/19
            Parenthesized Expressions20/2020/2020/2018/2020/2020/2020/2020/2020/2019/2020/2018/2020/2020/2020/2020/2019/2020/2020/2015/19
            Context Item Expressions
                External Context Item Expressions24/2424/2424/2424/2424/2422/2424/2424/2424/2422/2424/2421/2422/2424/2424/2422/2421/2424/2424/2413/19
                Internal Context Item Expressions21/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2120/2121/2121/2121/2121/2121/2121/2118/19
            Function Calls28/2828/2828/2827/2828/2828/2828/2828/2828/2827/2828/2828/2828/2828/2828/2828/2823/2323/2323/2317/19
        Path Expressions
            General Path Expression Tests1/11/11/11/11/11/11/11/11/10/11/10/11/11/11/11/11/11/11/117/19
            Steps
                Axes186/186186/186186/186186/186186/186186/186186/186186/186186/186186/186186/186181/186186/186186/186186/186185/186183/184184/184184/18416/19
                Node Tests
                    NodeTest24/2424/2424/2424/2424/2424/2424/2424/2424/2423/2424/2423/2424/2424/2424/2424/2423/2424/2424/2416/19
                    NameTest37/3737/3737/3737/3737/3737/3737/3737/3737/3734/3737/3733/3737/3737/3737/3736/3718/2222/2222/2215/19
            Predicates44/4444/4444/4444/4444/4444/4444/4444/4444/4444/4444/4440/4444/4444/4444/4444/4444/4444/4444/4418/19
            Unabbreviated Syntax26/2626/2626/2625/2626/2626/2626/2626/2626/2626/2626/2623/2626/2626/2626/2626/2625/2626/2626/2616/19
            Abbreviated Syntax21/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2120/2121/2121/2121/2121/2120/2121/2121/2117/19
        Sequence Expressions
            Constructing Sequences
                Comma Operator54/5454/5454/5454/5454/5454/5454/5454/5454/5454/5454/5453/5454/5454/5454/5454/5454/5454/5454/5418/19
                Range Expression65/6565/6565/6565/6565/6565/6565/6565/6565/6565/6565/6560/6565/6565/6565/6563/6565/6565/6565/6517/19
            Filter Expressions116/116116/116116/116116/116116/116116/116116/116116/116116/116116/116116/11697/116116/116116/116116/116111/116109/111111/111111/11116/19
            Combining Node Sequences20/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2015/2020/2020/2020/2020/2020/2020/2020/2018/19
        Operators
            Arithmetic Operators
                Arithmetic Operators on Numeric Values
                    op:numeric-add137/137135/137137/137137/137137/137136/137137/137137/137137/137137/137135/137100/137137/137137/137137/137135/137137/137137/137137/13714/19
                    op:numeric-subtract107/107107/107107/107107/107107/107107/107107/107107/107107/107107/107107/10792/107107/107107/107107/107107/107107/107107/107107/10718/19
                    op:numeric-multiply79/7979/7979/7979/7979/7979/7979/7979/7979/7979/7979/7967/7979/7979/7979/7979/7976/7676/7676/7618/19
                    op:numeric-divide105/105105/105105/105104/105105/105105/105105/105105/105105/105101/105105/10571/105105/105105/105105/105104/10594/102102/102102/10214/19
                    op:numeric-integer-divide109/109109/109109/109108/109109/109109/109109/109109/109109/109108/109109/10997/109109/109109/109109/109108/109106/106106/106106/10615/19
                    op:numeric-mod58/5858/5858/5857/5858/5858/5858/5858/5858/5857/5858/5848/5858/5858/5858/5857/5855/5555/5555/5515/19
                    op:numeric-unary-plus51/5151/5151/5151/5151/5151/5151/5151/5151/5151/5151/5150/5151/5151/5151/5151/5151/5151/5151/5118/19
                    op:numeric-unary-minus52/5252/5252/5252/5252/5252/5252/5252/5252/5252/5252/5251/5252/5252/5252/5252/5252/5252/5252/5218/19
                Arithmetic Operators on Duration Values
                    op:add-yearMonthDurations24/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2416/2424/2424/2424/2424/2424/2424/2424/2418/19
                    op:subtract-yearMonthDurations30/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3021/3030/3030/3030/3030/3030/3030/3030/3018/19
                    op:multiply-yearMonthDuration37/3737/3737/3737/3737/3737/3737/3737/3737/3737/3737/3727/3737/3737/3737/3737/3736/3737/3737/3717/19
                    op:divide-yearMonthDuration27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/277/2727/2727/2727/2727/2727/2727/2727/2718/19
                    op:divide-yearMonthDuration-by-yearMonthDuration22/2222/2222/2222/2222/2222/2222/2222/2222/2222/2222/2216/2222/2222/2222/2222/2222/2222/2222/2218/19
                    op:add-dayTimeDurations24/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2423/2424/2424/2418/19
                    op:subtract-dayTimeDurations30/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3019/19
                    op:multiply-dayTimeDuration32/3232/3232/3232/3232/3232/3232/3232/3232/3232/3232/3231/3232/3232/3232/3232/3230/3232/3232/3217/19
                    op:divide-dayTimeDuration36/3636/3636/3636/3636/3636/3636/3636/3636/3636/3636/3631/3636/3636/3636/3636/3636/3636/3636/3618/19
                    op:divide-dayTimeDuration-by-dayTimeDuration22/2222/2222/2222/2222/2222/2222/2222/2222/2222/2222/2220/2222/2222/2222/2222/2222/2222/2222/2218/19
                Arithmetic Operators on Duration and Date Time Values
                    op:subtract-dateTimes-yielding-dayTimeDuration26/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2618/2626/2626/2626/2626/2625/2626/2626/2617/19
                    op:subtract-dates-yielding-dayTimeDuration26/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2619/2626/2626/2626/2625/2625/2626/2626/2616/19
                    op:subtract-times29/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2928/2929/2929/2929/2929/2929/2929/2929/2918/19
                    op:add-yearMonthDuration-to-dateTime26/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2625/2626/2626/2618/19
                    op:add-dayTimeDuration-to-dateTime24/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2423/2424/2424/2424/2424/2424/2424/2424/2418/19
                    op:subtract-yearMonthDuration-from-dateTime21/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2119/19
                    op:subtract-dayTimeDuration-from-dateTime20/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2019/19
                    op:add-yearMonthDuration-to-date24/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2419/19
                    op:add-dayTimeDuration-to-date22/2222/2222/2222/2222/2222/2222/2222/2222/2222/2222/2221/2222/2222/2222/2222/2221/2222/2222/2217/19
                    op:subtract-yearMonthDuration-from-date23/2323/2323/2323/2323/2323/2323/2323/2323/2323/2323/2323/2323/2323/2323/2323/2323/2323/2323/2319/19
                    op:subtract-dayTimeDuration-from-date21/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2120/2121/2121/2121/2121/2120/2121/2121/2117/19
                    op:add-dayTimeDuration-to-time24/2424/2424/2424/2424/2424/2422/2424/2424/2424/2424/2424/2424/2424/2424/2424/2422/2424/2424/2417/19
                    op:subtract-dayTimeDuration-from-time26/2626/2626/2626/2626/2626/2625/2626/2626/2626/2626/2626/2626/2626/2626/2626/2625/2626/2626/2617/19
            Comparison Operators
                Value Comparison
                    Comparison of Numeric Values
                        op:numeric-equal178/178178/178178/178178/178178/178178/178178/178178/178178/178178/178178/178175/178178/178178/178178/178178/178177/177177/177177/17718/19
                        op:numeric-less-than152/152152/152152/152152/152152/152152/152152/152152/152152/152152/152152/152148/152152/152152/152152/152152/152152/152152/152152/15218/19
                        op:numeric-greater-than88/8888/8888/8888/8888/8888/8888/8888/8888/8888/8888/8884/8888/8888/8888/8888/8888/8888/8888/8818/19
                    Comparison Operators on Boolean Values
                        op:boolean-equal49/4949/4949/4949/4949/4949/4949/4949/4949/4949/4949/4949/4949/4949/4949/4949/4949/4949/4949/4919/19
                        op:boolean-less-than39/3939/3939/3939/3939/3939/3939/3939/3939/3939/3939/3929/3939/3939/3939/3939/3939/3939/3939/3918/19
                        op:boolean-greater-than39/3939/3939/3939/3939/3939/3939/3939/3939/3939/3939/3927/3939/3939/3939/3939/3939/3939/3939/3918/19
                    Comparisons of Duration, Date Time Values
                        op:yearMonthDuration-less-than28/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2819/19
                        op:yearMonthDuration-greater-than28/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2819/19
                        op:dayTimeDuration-less-than28/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2826/2828/2828/2828/2828/2828/2828/2828/2818/19
                        op:dayTimeDuration-greater-than28/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2826/2828/2828/2828/2828/2828/2828/2828/2818/19
                        op:duration equal129/129129/129129/129129/129129/129129/129129/129129/129129/129129/129129/12991/129129/129129/129129/129129/129128/129129/129129/12917/19
                        op:dateTime-equal52/5252/5252/5252/5252/5252/5252/5252/5252/5252/5252/5228/5252/5252/5252/5252/5252/5252/5252/5218/19
                        op:dateTime-less-than28/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2819/19
                        op:dateTime-greater-than28/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2819/19
                        op:date-equal28/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2819/19
                        op:date-less-than30/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3029/3030/3030/3030/3030/3030/3030/3030/3018/19
                        op:date-greater-than30/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3019/19
                        op:time-equal40/4040/4040/4040/4040/4040/4040/4040/4040/4040/4040/4028/4040/4040/4040/4040/4040/4040/4040/4018/19
                        op:time-less-than30/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3019/19
                        op:time-greater-than30/3030/3030/3030/3030/3030/3029/3030/3030/3030/3030/3029/3030/3030/3030/3030/3030/3030/3030/3017/19
                        op:gYearMonth-equal32/3232/3232/3232/3232/3232/3232/3232/3232/3232/3232/3230/3232/3232/3232/3232/3232/3232/3232/3218/19
                        op:gYear-equal32/3232/3232/3232/3232/3232/3232/3232/3232/3232/3232/3231/3232/3232/3232/3232/3231/3231/3232/3216/19
                        op:gMonthDay-equal31/3131/3131/3131/3131/3131/3131/3131/3131/3131/3131/3130/3131/3131/3131/3131/3131/3131/3131/3118/19
                        op:gMonth-equal31/3131/3131/3131/3131/3131/3131/3131/3131/3131/3131/310/3131/3131/3131/3131/3131/3131/3131/3118/19
                        op:gDay-equal31/3131/3131/3131/3131/3131/3131/3131/3131/3131/3131/3129/3131/3131/3131/3131/3131/3131/3131/3118/19
                        op:yearMonthDuration-equal7/77/77/77/77/77/77/77/77/77/77/77/77/77/77/77/77/77/77/719/19
                        op:dayTimeDuration-equal8/88/88/88/88/88/88/88/88/88/88/87/88/88/88/88/88/88/88/818/19
                    Comparison Operators on QName Values
                        op:QName-equal36/3636/3636/3636/3636/3636/3636/3636/3636/3636/3636/3632/3636/3636/3636/3636/3636/3636/3636/3618/19
                        fn:prefix-from-QName24/2424/2424/2424/2424/2424/2424/2424/2424/2422/2424/247/2424/2424/2424/2424/2424/2424/2424/2417/19
                    Comparison Operators on base64Binary and hexBinary Types
                        op:hexBinary-equal29/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2919/19
                        op:base64Binary-equal27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2726/2727/2727/2727/2727/2727/2727/2727/2718/19
                    Comparison Operators on NOTATION Types
                        op:NOTATION-equal
                    Type Checking and Error Handling42/4242/4242/4242/4242/4242/4242/4242/4242/4242/4242/4227/4242/4242/4242/4242/4242/4242/4242/4218/19
                    Comparison of String Values
                        xs:string eq/ne xs:string5/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/519/19
                        xs:string gt/ge xs:string5/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/519/19
                        xs:string lt/le xs:string5/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/55/519/19
                    Comparison of AnyURI Values
                        xs:anyURI eq/ne xs:anyURI14/1414/1414/1414/1414/1414/1414/1414/1414/1414/1414/146/1414/1414/1414/1414/1414/1414/1414/1418/19
                General Comparisons
                    The "=" operator for general comparisons158/158158/158158/158158/158158/158158/158158/158158/158158/158158/158158/158138/158158/158158/158158/158158/158157/157157/157157/15718/19
                    The "!=" operator for general comparisons140/140140/140140/140140/140140/140140/140140/140140/140140/140140/140140/140126/140140/140140/140140/140140/140139/139139/139139/13918/19
                    The "< (less than)" operator for general comparisons119/119119/119119/119119/119119/119119/119119/119119/119119/119119/119118/119103/119119/119119/119119/119119/119118/118118/118118/11817/19
                    The "<= (less than or equal)" operator for general comparisons108/108108/108108/108108/108108/108108/108108/108108/108108/108108/108107/10894/108108/108108/108108/108108/108108/108108/108108/10817/19
                    The "> (greater than)" operator for general comparisons118/118118/118118/118118/118118/118118/118118/118118/118118/118118/118117/118102/118118/118118/118118/118118/118118/118118/118118/11817/19
                    The ">= (greater than or equal)" operator for general comparisons110/110110/110110/110110/110110/110110/110110/110110/110110/110110/110109/11095/110110/110110/110110/110110/110109/109109/109109/10917/19
                Node Comparisons
                    op:is-same-node28/2828/2828/2828/2828/2828/2828/2828/2828/2828/2828/2820/2828/2828/2828/2828/2827/2727/2727/2718/19
                    op:node-before33/3333/3333/3333/3333/3333/3333/3333/3333/3333/3333/3320/3333/3333/3333/3333/3325/2626/2626/2617/19
                    op:node-after33/3333/3333/3333/3333/3333/3333/3333/3333/3333/3333/3320/3333/3333/3333/3333/3325/2626/2626/2617/19
            Operators on Sequences
                op:union23/2323/2323/2323/2323/2323/2323/2323/2323/2321/2323/2322/2323/2323/2323/2323/2318/2323/2323/2316/19
                op:intersect23/2323/2323/2323/2323/2323/2323/2323/2323/2322/2323/2321/2323/2323/2323/2322/2320/2323/2323/2315/19
                op:except23/2323/2323/2315/2323/2323/2323/2323/2323/2321/2323/2320/2323/2323/2323/2322/2322/2323/2323/2314/19
        Logical Expressions364/364364/364364/364364/364364/364364/364364/364364/364364/364364/364364/364363/364364/364364/364364/364364/364364/364364/364364/36418/19
        Constructors
            Direct Element Constructors229/232229/232223/232207/232226/232232/232231/232232/232232/232220/232230/232167/232226/232226/232232/232200/232181/210204/210204/2104/19
                Attributes51/5148/5151/5142/5148/5151/5151/5151/5151/5151/5151/5142/5150/5150/5151/5140/5127/3836/3838/3810/19
                Namespace Declaration Attributes29/2929/2929/2929/2929/2929/2928/2929/2929/2929/2929/2917/2928/2928/2929/2922/2923/2927/2927/2911/19
                Content79/8282/8273/8276/8279/8282/8282/8282/8282/8275/8280/8255/8278/8280/8282/8277/8268/7775/7773/776/19
                White Space Element Content57/5757/5757/5747/5757/5757/5757/5757/5757/5752/5757/5753/5757/5757/5757/5752/5754/5757/5757/5714/19
            Other Direct Constructors20/2020/2020/2020/2020/2020/2020/2020/2020/2018/2020/2019/2020/2020/2020/2019/2010/1212/1212/1215/19
            Computed Constructors
                Computed Element Constructors51/5151/5149/5149/5151/5151/5151/5151/5151/5149/5151/5146/5151/5151/5151/5150/5150/5151/5151/5113/19
                Computed Attribute Constructors33/3333/3333/3332/3333/3333/3333/3333/3333/3332/3333/3333/3332/3333/3333/3331/3332/3333/3333/3314/19
                Document Node Constructors24/2424/2422/2424/2424/2422/2424/2424/2424/2423/2424/2420/2424/2424/2424/2421/2421/2424/2424/2413/19
                Text Node Constructors20/2020/2020/2016/2020/2020/2020/2020/2020/2020/2020/2017/2020/2020/2020/2019/2020/2020/2020/2016/19
                Computed Processing-instruction Constructors41/4141/4141/4141/4141/4141/4141/4141/4141/4141/4141/4134/4141/4141/4141/4141/4138/4040/4040/4017/19
                Computed Comment Constructors21/2121/2121/2119/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2119/2121/2121/2117/19
            In-scope Namespaces of a Constructed Element20/2020/2020/2019/2020/2020/2016/2020/2020/2020/2020/2010/2020/2020/2020/2020/2016/2020/2020/2015/19
        Tests of For-Let-Where-OrderBy-Return Expressions
            FOR Clause
                FOR Clause without TypeDeclaration87/8787/8787/8787/8787/8787/8787/8787/8787/8787/8787/8771/8787/8787/8787/8786/8776/7676/7676/7617/19
                FOR Clause with TypeDeclaration55/5555/5555/5555/5555/5554/5553/5555/5555/5554/5555/5526/5555/5555/5555/5544/5549/5151/5151/5113/19
                FOR Clause with a Positional Variable30/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3024/3030/3030/3030/3030/3029/2929/2929/2918/19
            LET Clause
                LET Clause without TypeDeclaration27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2722/2727/2727/2727/2727/2725/2525/2525/2518/19
                LET Clause with TypeDeclaration24/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2423/2424/2424/2424/2418/19
            WHERE Clause40/4040/4040/4039/4040/4040/4040/4040/4040/4039/4040/4039/4040/4040/4040/4037/4037/3737/3737/3715/19
            ORDER BY Clause
                ORDER BY Clause with OrderModifier106/106106/106106/106106/106106/106106/106106/106106/106106/106106/106106/10645/106106/106106/106106/106105/10689/106106/106106/10616/19
                ORDER BY Clause without OrderModifier40/4040/4040/4040/4040/4040/4040/4040/4040/4040/4040/4025/4040/4040/4040/4040/4029/4040/4040/4017/19
            RETURN Clause20/2019/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2020/2017/1717/1717/1718/19
        Ordered and Unordered Expressions26/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2616/2626/2626/2626/2624/2624/2424/2424/2417/19
        Conditional Expressions32/3232/3232/3232/3232/3232/3232/3232/3232/3232/3232/3232/3232/3232/3232/3232/3231/3131/3131/3119/19
        Quantified Expressions
            Quantified Expressions Without TypeDeclaration158/158158/158158/158158/158158/158158/158158/158158/158158/158158/158158/158134/158158/158158/158158/158158/158154/154154/154154/15418/19
            Quantified Expressions With TypeDeclaration30/3030/3030/3030/3030/3030/3030/3030/3030/3022/3030/3021/3030/3030/3030/3030/3026/2626/2626/2617/19
        Expressions on Sequence Types
            Instance Of176/176176/176176/176176/176176/176176/176175/176176/176176/176176/176176/176150/176176/176174/176176/176172/176174/174172/174174/17414/19
            Typeswitch36/3636/3636/3636/3636/3636/3636/3636/3636/3636/3636/3622/3636/3635/3636/3636/3623/3425/3434/3415/19
            Cast from Derived types21/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2119/2121/2121/2118/19
            Cast from Derived types To Parents21/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2119/19
            Casting within a branch of the type hierarchy21/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2119/19
            Cast2207/22072207/22072207/22072207/22072207/22072207/22072205/22072207/22072207/22072206/22072207/22071999/22072207/22072207/22072201/22072192/22072193/22002199/22002194/220011/19
            Castable688/688687/688688/688688/688688/688688/688688/688688/688688/688686/688687/688652/688688/688688/688688/688679/688675/679677/679679/67912/19
            Treat43/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4339/4343/4343/4343/4339/4333/4242/4242/4216/19
        Modules and Prologs
            Version Declaration27/2726/2726/2727/2727/2727/2727/2727/2727/2726/2727/2717/2726/2726/2727/2722/2720/2521/2521/259/19
            Boundary-space Declaration27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2722/2727/2727/2727/2727/2722/2624/2624/2615/19
            Default Collation Declaration7/77/77/77/77/77/77/77/77/77/77/74/76/77/77/75/73/74/74/713/19
            Copy Namespaces Declaration26/2726/2712/2721/2715/2727/2727/2727/2727/2714/2727/276/274/2725/2727/2723/278/2523/2523/256/19
            Base URI Declaration30/3025/3030/3030/3027/3030/3030/3030/3030/3029/3026/3018/3029/3023/3030/3028/3022/3019/3027/308/19
            Construction Declaration25/2525/2510/2525/2525/2525/2525/2525/2525/2525/2525/253/2525/2524/2525/2525/2521/2422/2422/2413/19
            Default Namespace Declaration35/3535/3535/3535/3535/3535/3535/3535/3535/3534/3535/3511/3535/3535/3535/3526/3529/2929/2929/2916/19
            Ordering Mode Declaration25/2525/2525/2525/2525/2525/2525/2525/2525/2525/2525/2517/2525/2525/2525/2525/2522/2523/2523/2515/19
            Empty Order Declaration32/3232/3232/3232/3232/3232/3232/3232/3232/3232/3232/3210/3232/3232/3232/3232/3217/3218/3230/3215/19
            Namespace Declaration34/3434/3434/3433/3434/3434/3434/3434/3434/3434/3434/3427/3434/3434/3434/3431/3431/3232/3232/3215/19
            Variable Declaration
                External Variable References without TypeDeclaration23/2323/2323/2323/2323/2323/2323/2323/2323/230/2322/2312/2323/2322/2323/2323/238/2322/2323/2313/19
                External Variable References with TypeDeclatation24/2424/2424/2424/2424/2424/2424/2424/2424/242/2424/242/2424/2423/2424/2424/243/2423/2424/2414/19
                Internal Variable References without TypeDeclaration76/7676/7676/7676/7676/7676/7675/7676/7676/7676/7676/7665/7676/7669/7676/7675/7672/7669/7676/7613/19
                Internal Variable References with TypeDeclatation44/4444/4444/4444/4444/4443/4442/4444/4444/4444/4444/4432/4442/4436/4444/4442/4440/4133/4141/4111/19
            Function Declaration99/10099/100100/10087/100100/100100/10097/100100/100100/10099/10099/10064/10097/10099/100100/10066/10085/9089/9090/907/19
            Option Declaration Declaration8/88/88/88/88/88/88/88/88/88/88/84/88/88/88/86/87/77/77/717/19
        XQuery Comments40/4040/4040/4040/4040/4040/4040/4040/4040/4040/4040/4033/4040/4038/4040/4039/4029/2929/2929/2916/19
        Extension Expression50/5050/5050/5049/5050/5050/5050/5050/5050/5038/5050/5041/5050/5049/5050/5050/5038/3938/3939/3913/19
        Implicit Context
    Functions
        Accessor Functions
            fn:node-name27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2723/2727/2727/2727/2727/2727/2727/2727/2718/19
            fn:nilled26/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2624/2626/2626/2626/2624/2626/2626/2626/2617/19
            fn:string48/4848/4848/4848/4848/4848/4848/4848/4848/4848/4848/4847/4847/4848/4848/4848/4847/4848/4848/4816/19
            fn:data43/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4319/19
            fn:base-uri25/2524/2525/2524/2524/2525/2525/2525/2525/2524/2521/2522/2524/2524/2525/2525/2524/2524/2525/259/19
            fn:static-base-uri17/1717/1717/1717/1717/1717/1717/1717/1717/1717/1717/1715/1717/1716/1717/1717/1717/1716/1717/1716/19
            fn:document-uri24/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2415/2424/2424/2424/2424/2418/2424/2424/2417/19
        The Error Function59/5959/5959/5959/5959/5959/5959/5959/5959/5959/5959/596/5959/5959/5959/5959/5957/5959/5959/5917/19
        The Trace Function27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2724/2727/2727/2727/2727/2727/2727/2727/2718/19
        Constructor Functions
            fn:dateTime49/4949/4949/4949/4949/4949/4949/4949/4949/4949/4946/496/4949/4944/4949/4949/4944/4944/4949/4914/19
        Functions on Numeric Values
            fn:abs131/131131/131131/131131/131131/131131/131131/131131/131131/131131/131131/131129/131131/131131/131131/131131/131131/131131/131131/13118/19
            fn:ceiling45/4545/4545/4545/4545/4545/4545/4545/4545/4545/4545/4543/4545/4545/4545/4545/4545/4545/4545/4518/19
            fn:floor45/4545/4545/4545/4545/4545/4545/4545/4545/4545/4545/4543/4545/4545/4545/4545/4545/4545/4545/4518/19
            fn:round48/4848/4848/4848/4848/4848/4848/4848/4848/4848/4848/4841/4848/4848/4848/4848/4848/4848/4848/4818/19
            fn:round-half-to-even52/5252/5252/5252/5252/5252/5252/5252/5252/5252/5252/5248/5252/5252/5252/5252/5252/5252/5252/5218/19
        Functions on Strings
            Functions to Assemble and Disassemble Strings
                fn:codepoints-to-string46/4646/4646/4646/4646/4646/4641/4646/4646/4646/4646/4642/4646/4646/4646/4645/4640/4646/4646/4615/19
                fn:string-to-codepoints43/4343/4343/4343/4343/4343/4343/4343/4343/4343/4343/4329/4343/4343/4343/4342/4338/4338/4343/4315/19
            Equality and Comparison of Strings
                fn:compare42/4242/4242/4242/4242/4242/4242/4242/4242/4242/4242/4240/4242/4242/4242/4242/4242/4242/4242/4218/19
                fn:codepoint-equal21/2121/2121/2121/2121/2121/2121/2121/2121/2121/2121/2119/2121/2121/2121/2121/2121/2121/2121/2118/19
            Functions on String Values
                fn:concat91/9191/9191/9191/9191/9191/9191/9191/9191/9191/9191/9189/9191/9191/9191/9189/9191/9191/9191/9117/19
                fn:string-join33/3333/3333/3333/3333/3333/3333/3333/3333/3333/3333/3330/3333/3333/3333/3333/3333/3333/3333/3318/19
                fn:substring36/3636/3636/3636/3636/3636/3636/3636/3636/3636/3636/367/3636/3636/3636/3636/3636/3636/3636/3618/19
                fn:string-length29/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2926/2929/2929/2929/2929/2928/2929/2929/2917/19
                fn:normalize-space35/3535/3535/3535/3535/3535/3535/3535/3535/3535/3535/3519/3535/3535/3535/3535/3533/3535/3535/3517/19
                fn:normalize-unicode30/3434/3434/3430/3434/3434/3434/3428/3434/343/3434/3427/3434/3434/3434/3434/3429/3434/3434/3413/19
                fn:upper-case24/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2419/19
                fn:lower-case24/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2419/19
                fn:translate34/3434/3434/3434/3434/3434/3434/3434/3434/3434/3434/3431/3434/3434/3434/3434/3434/3434/3434/3418/19
                surrogate values for various string functions.15/1515/1515/1513/158/1511/1515/159/1515/1515/1515/157/1515/1515/1515/150/152/150/1515/1511/19
                fn:encode-for-uri29/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/296/2929/2929/2929/2924/2927/2927/2929/2915/19
                fn:iri-to-uri36/3636/3636/3636/3636/3636/3636/3636/3636/3636/3636/366/3636/3636/3636/3635/3635/3635/3636/3615/19
                fn:escape-html-uri33/3333/3333/3333/3333/3333/3333/3333/3333/3333/3333/3327/3333/3333/3333/3333/3329/3331/3333/3316/19
            Functions Based on Substring Matching
                fn:contains32/3232/3232/3232/3232/3232/3231/3232/3232/3232/3232/3228/3232/3232/3232/3231/3232/3232/3232/3216/19
                fn:starts-with32/3232/3232/3232/3232/3232/3231/3232/3232/3232/3232/3227/3232/3232/3232/3232/3232/3232/3232/3217/19
                fn:ends-with31/3131/3131/3131/3131/3131/3130/3131/3131/3131/3131/3123/3131/3131/3131/3131/3131/3131/3131/3117/19
                fn:substring-before31/3131/3131/3131/3131/3131/3130/3131/3131/3131/3131/3127/3131/3131/3131/3131/3131/3131/3131/3117/19
                fn:substring-after32/3232/3232/3232/3232/3232/3231/3232/3232/3232/3232/3220/3232/3232/3232/3232/3232/3232/3232/3217/19
            String Functions that Use Pattern Matching
                fn:matches55/5546/5555/5554/5547/5555/5552/5552/5555/5548/5552/5527/5555/5555/5555/5552/552/5555/5555/559/19
                fn:replace52/5252/5252/5252/5252/5252/5251/5252/5252/5251/5252/5246/5252/5252/5252/5251/521/5252/5252/5214/19
                fn:tokenize39/3939/3939/3939/3939/3939/3939/3939/3939/3939/3939/399/3939/3939/3939/3938/392/3939/3939/3916/19
        Functions for anyURI
            fn:resolve-uri29/2927/2929/2929/2928/2929/2929/2929/2929/2929/2927/2922/2929/2929/2929/2928/2927/2929/2929/2913/19
        Functions on Boolean Values
            fn:true24/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2419/19
            fn:false24/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2424/2419/19
            fn:not70/7070/7070/7070/7070/7070/7070/7070/7070/7070/7070/7069/7070/7070/7070/7070/7070/7070/7070/7018/19
        Functions on Durations, Dates and Times
            Component Extraction Functions on Durations, Dates and Times
                fn:years-from-duration30/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3019/19
                fn:months-from-duration30/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3027/3030/3030/3030/3030/3030/3030/3030/3018/19
                fn:days-from-duration30/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3019/19
                fn:hours-from-duration30/3030/3030/3030/3030/3030/3030/3030/3030/3030/3030/3029/3030/3030/3030/3030/3030/3030/3030/3018/19
                fn:minutes-from-duration31/3131/3131/3131/3131/3131/3131/3131/3131/3131/3131/3130/3131/3131/3131/3131/3131/3131/3131/3118/19
                fn:seconds-from-duration31/3131/3131/3131/3131/3131/3131/3131/3131/3131/3131/3124/3131/3131/3131/3131/3128/3131/3131/3117/19
                fn:year-from-dateTime27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2726/2727/2727/2718/19
                fn:month-from-dateTime27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:day-from-dateTime27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:hours-from-dateTime27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:minutes-from-dateTime27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:seconds-from-dateTime27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2726/2727/2727/2727/2726/2727/2717/19
                fn:timezone-from-dateTime27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:year-from-date27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2726/2727/2727/2718/19
                fn:month-from-date27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:day-from-date27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:timezone-from-date27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:hours-from-time27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:minutes-from-time27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:seconds-from-time27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
                fn:timezone-from-time27/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2727/2719/19
            Timezone Adjustment on Dates and Time Values
                fn:adjust-dateTime-to-timezone42/4242/4242/4242/4242/4242/4242/4242/4242/4242/4242/4231/4242/4242/4242/4242/4240/4242/4242/4217/19
                fn:adjust-date-to-timezone36/3636/3636/3636/3636/3636/3636/3636/3636/3636/3636/3627/3636/3636/3636/3636/3634/3636/3636/3617/19
                fn:adjust-time-to-timezone39/3939/3939/3939/3939/3939/3939/3939/3939/3939/3939/3933/3939/3939/3939/3939/3936/3939/3939/3917/19
        Functions Related to QNames
            Additional Constructor Functions for QNames
                fn:resolve-QName26/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/268/2626/2626/2626/2626/2626/2626/2626/2618/19
                fn:QName32/3232/3232/3232/3232/3232/3232/3232/3232/3229/3232/3220/3232/3232/3232/3232/3231/3232/3232/3216/19
            fn:local-name-from-QName24/2424/2424/2424/2424/2424/2423/2424/2424/2424/2424/2413/2424/2424/2424/2416/2422/2424/2424/2415/19
            fn:namespace-uri-from-QName26/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2616/2626/2626/2626/2618/2624/2626/2626/2616/19
            fn:namespace-uri-for-prefix23/2323/2323/2323/2323/2323/2323/2323/2323/2323/2323/239/2323/2323/2323/2323/2321/2323/2323/2317/19
            fn:in-scope-prefixes22/2222/2222/2222/2222/2222/2222/2222/2222/2222/2222/223/2222/2222/2222/2212/2222/2222/2222/2217/19
        Functions on Nodes
            fn:name26/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2613/2626/2626/2626/2625/2624/2626/2626/2616/19
            fn:local-name26/2626/2626/2626/2626/2626/2626/2626/2626/2626/2626/2623/2625/2626/2626/2626/2624/2626/2626/2616/19
            fn:namespace-uri29/2929/2929/2929/2929/2929/2929/2929/2929/2929/2929/2921/2929/2929/2929/2927/2927/2929/2929/2916/19
            fn:number60/6057/6060/6060/6060/6060/6060/6060/6060/6060/6057/6055/6058/6060/6060/6060/6056/6060/6060/6014/19
            fn:lang29/2929/2929/29