XQuery Update Test Suite Result Summary

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

The latest version of this test suite is XQuery Update Test Suite 0.7. 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/2007/xquery-update-10-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

FeatureMXQueryOracle Berkeley DB XMLXQillaSummary
Minimal Conformance 319 / 0 / 319 
100%
 318 / 0 / 319 
99.7%
 318 / 0 / 319 
99.7%
1/3
Optional Features
    Update Facility Static Typing Feature 0 / 0 / 0  0 / 0 / 0  0 / 0 / 0 0/3


Contents


Implementations:

MXQuery

Organization:ETH Zurich
http://www.mxquery.org
Implementation:MXQuery
Version:0.5

Oracle Berkeley DB XML

Organization:Oracle
http://www.oracle.com
Implementation:Oracle Berkeley DB XML
Version:2.4.3 (beta)

XQilla

Organization:XQilla
http://xqilla.sourceforge.net
Implementation:XQilla
Version:2.0

Test Run:

MXQuery

Date:2008-02-06
Test Suite Version:0.7
Syntax:XQuery

Oracle Berkeley DB XML

Date:2008-01-24
Test Suite Version:0.7
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.

XQilla

Date:2008-01-24
Test Suite Version:0.7
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.

Features:

Minimal Conformance
MXQuery:   not specified
Oracle Berkeley DB XML:   true
XQilla:   true

Implementation-defined Items:

[XQUPDATE] The statically-known collations.
MXQuery:   not specified
Oracle Berkeley DB XML:   not specified
XQilla:   not specified

Static Context Properties:

SpaceHolderfornow
MXQuery:   not specified
Oracle Berkeley DB XML:   not specified
XQilla:   not specified

Dynamic Context Properties:

Summarized Results:

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

FeatureMXQueryOracle Berkeley DB XMLXQillaSummary
Minimal Conformance
    Insert Expressions50/5050/5050/503/3
    Delete Expressions12/1212/1212/123/3
    Replace Expressions27/2727/2727/273/3
    Rename Expressions20/2020/2020/203/3
    Transform Expressions31/3131/3131/313/3
    Extension to Existing Expressions
        Extension to FLWOR Expressions22/2222/2222/223/3
        Extension to Typeswitch Expressions35/3535/3535/353/3
        Extension to conditional Expressions35/3535/3535/353/3
        Extension to comma Expressions35/3535/3535/353/3
        Function Declaration and Updating Expressions14/1414/1414/143/3
        Function Calls and Updating Expressions6/66/66/63/3
    Tests for other Expressions not listed on the Update specs as able to use updating expressions.32/3231/3231/321/3
    Tests for Parenthesized Expressions.
    XML Query Update Primitives
        upd:insertBefore Primitive
        upd:insertAfter Primitive
        upd:insertInto Primitive
        upd:insertIntoAsFirst Primitive
        upd:insertIntoAsLast Primitive
        upd:insertAttributes Primitive
        upd:delete Primitive
        upd:replaceNode Primitive
        upd:replaceValue Primitive
        upd:replaceElementContent Primitive
        upd:rename Primitive
Optional Features
    Update Facility Static Typing Feature
Use Cases
    Use Cases "R" - Updating Relational Data11/1111/1111/113/3
    Use Cases "address Book" - Synchronizing address book entries1/11/11/13/3
    Use Cases "Soap" - processing messages1/11/11/13/3
    Use Cases "Namespaces" - moving elements from one namespace to another1/11/11/13/3
    Use Cases "Parts" - modifying recursive documents7/77/77/73/3
    Use Cases "Nil"1/11/11/13/3

Detailed Results:

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

FeatureMXQueryOracle Berkeley DB XMLXQillaSummary
Minimal Conformance
    Insert Expressions50/5050/5050/503/3
        id-insert-expr-01
            (catalog, query)
passpasspass
        id-insert-expr-02
            (catalog, query)
passpasspass
        id-insert-expr-03
            (catalog, query)
passpasspass
        id-insert-expr-04
            (catalog, query)
passpasspass
        id-insert-expr-05
            (catalog, query)
passpasspass
        id-insert-expr-06
            (catalog, query)
passpasspass
        id-insert-expr-07
            (catalog, query)
passpasspass
        id-insert-expr-08
            (catalog, query)
passpasspass
        id-insert-expr-09
            (catalog, query)
passpasspass
        id-insert-expr-010
            (catalog, query)
passpasspass
        id-insert-expr-011
            (catalog, query)
passpasspass
        id-insert-expr-012
            (catalog, query)
passpasspass
        id-insert-expr-013
            (catalog, query)
passpasspass
        id-insert-expr-014
            (catalog, query)
passpasspass
        id-insert-expr-015
            (catalog, query)
passpasspass
        id-insert-expr-016
            (catalog, query)
passpasspass
        id-insert-expr-017
            (catalog, query)
passpasspass
        id-insert-expr-018
            (catalog, query)
passpasspass
        id-insert-expr-019
            (catalog, query)
passpasspass
        id-insert-expr-020
            (catalog, query)
passpasspass
        id-insert-expr-021
            (catalog, query)
passpasspass
        id-insert-expr-022
            (catalog, query)
passpasspass
        id-insert-expr-023
            (catalog, query)
passpasspass
        id-insert-expr-024
            (catalog, query)
passpasspass
        id-insert-expr-025
            (catalog, query)
passpasspass
        id-insert-expr-026
            (catalog, query)
passpasspass
        id-insert-expr-027
            (catalog, query)
passpasspass
        id-insert-expr-028
            (catalog, query)
passpasspass
        id-insert-expr-029
            (catalog, query)
passpasspass
        id-insert-expr-030
            (catalog, query)
passpasspass
        id-insert-expr-031
            (catalog, query)
passpasspass
        id-insert-expr-032
            (catalog, query)
passpasspass
        id-insert-expr-033
            (catalog, query)
passpasspass
        id-insert-expr-034
            (catalog, query)
passpasspass
        id-insert-expr-035
            (catalog, query)
passpasspass
        id-insert-expr-036
            (catalog, query)
passpasspass
        id-insert-expr-037
            (catalog, query)
passpasspass
        id-insert-expr-038
            (catalog, query)
passpasspass
        id-insert-expr-039
            (catalog, query)
passpasspass
        id-insert-expr-040
            (catalog, query)
passpasspass
        id-insert-expr-041
            (catalog, query)
passpasspass
        id-insert-expr-042
            (catalog, query)
passpasspass
        id-insert-expr-043
            (catalog, query)
passpasspass
        id-insert-expr-044
            (catalog, query)
passpasspass
        id-insert-expr-045
            (catalog, query)
passpasspass
        id-insert-expr-046
            (catalog, query)
passpasspass
        id-insert-expr-047
            (catalog, query)
passpasspass
        id-insert-expr-048
            (catalog, query)
passpasspass
        id-insert-expr-049
            (catalog, query)
passpasspass
        id-insert-expr-050
            (catalog, query)
passpasspass
    Delete Expressions12/1212/1212/123/3
        id-delete-expr-01
            (catalog, query)
passpasspass
        id-delete-expr-02
            (catalog, query)
passpasspass
        id-delete-expr-03
            (catalog, query)
passpasspass
        id-delete-expr-04
            (catalog, query)
passpasspass
        id-delete-expr-05
            (catalog, query)
passpasspass
        id-delete-expr-06
            (catalog, query)
passpasspass
        id-delete-expr-07
            (catalog, query)
passpasspass
        id-delete-expr-08
            (catalog, query)
passpasspass
        id-delete-expr-09
            (catalog, query)
passpasspass
        id-delete-expr-010
            (catalog, query)
passpasspass
        id-delete-expr-011
            (catalog, query)
passpasspass
        id-delete-expr-012
            (catalog, query)
passpasspass
    Replace Expressions27/2727/2727/273/3
        id-replace-expr-01
            (catalog, query)
passpasspass
        id-replace-expr-02
            (catalog, query)
passpasspass
        id-replace-expr-03
            (catalog, query)
passpasspass
        id-replace-expr-04
            (catalog, query)
passpasspass
        id-replace-expr-05
            (catalog, query)
passpasspass
        id-replace-expr-06
            (catalog, query)
passpasspass
        id-replace-expr-07
            (catalog, query)
passpasspass
        id-replace-expr-08
            (catalog, query)
passpasspass
        id-replace-expr-09
            (catalog, query)
passpasspass
        id-replace-expr-010
            (catalog, query)
passpasspass
        id-replace-expr-011
            (catalog, query)
passpasspass
        id-replace-expr-012
            (catalog, query)
passpasspass
        id-replace-expr-013
            (catalog, query)
passpasspass
        id-replace-expr-014
            (catalog, query)
passpasspass
        id-replace-expr-015
            (catalog, query)
passpasspass
        id-replace-expr-016
            (catalog, query)
passpasspass
        id-replace-expr-017
            (catalog, query)
passpasspass
        id-replace-expr-018
            (catalog, query)
passpasspass
        id-replace-expr-019
            (catalog, query)
passpasspass
        id-replace-expr-020
            (catalog, query)
passpasspass
        id-replace-expr-021
            (catalog, query)
passpasspass
        id-replace-expr-022
            (catalog, query)
passpasspass
        id-replace-expr-023
            (catalog, query)
passpasspass
        id-replace-expr-024
            (catalog, query)
passpasspass
        id-replace-expr-025
            (catalog, query)
passpasspass
        id-replace-expr-026
            (catalog, query)
passpasspass
        id-replace-expr-027
            (catalog, query)
passpasspass
    Rename Expressions20/2020/2020/203/3
        id-rename-expr-01
            (catalog, query)
passpasspass
        id-rename-expr-02
            (catalog, query)
passpasspass
        id-rename-expr-03
            (catalog, query)
passpasspass
        id-rename-expr-04
            (catalog, query)
passpasspass
        id-rename-expr-05
            (catalog, query)
passpasspass
        id-rename-expr-06
            (catalog, query)
passpasspass
        id-rename-expr-07
            (catalog, query)
passpasspass
        id-rename-expr-08
            (catalog, query)
passpasspass
        id-rename-expr-09
            (catalog, query)
passpasspass
        id-rename-expr-010
            (catalog, query)
passpasspass
        id-rename-expr-011
            (catalog, query)
passpasspass
        id-rename-expr-012
            (catalog, query)
passpasspass
        id-rename-expr-013
            (catalog, query)
passpasspass
        id-rename-expr-014
            (catalog, query)
passpasspass
        id-rename-expr-015
            (catalog, query)
passpasspass
        id-rename-expr-016
            (catalog, query)
passpasspass
        id-rename-expr-017
            (catalog, query)
passpasspass
        id-rename-expr-018
            (catalog, query)
passpasspass
        id-rename-expr-019
            (catalog, query)
passpasspass
        id-rename-expr-020
            (catalog, query)
passpasspass
    Transform Expressions31/3131/3131/313/3
        id-transform-expr-01
            (catalog, query)
passpasspass
        id-transform-expr-02
            (catalog, query)
passpasspass
        id-transform-expr-03
            (catalog, query)
passpasspass
        id-transform-expr-04
            (catalog, query)
passpasspass
        id-transform-expr-05
            (catalog, query)
passpasspass
        id-transform-expr-06
            (catalog, query)
passpasspass
        id-transform-expr-07
            (catalog, query)
passpasspass
        id-transform-expr-08
            (catalog, query)
passpasspass
        id-transform-expr-09
            (catalog, query)
passpasspass
        id-transform-expr-010
            (catalog, query)
passpasspass
        id-transform-expr-011
            (catalog, query)
passpasspass
        id-transform-expr-012
            (catalog, query)
passpasspass
        id-transform-expr-013
            (catalog, query)
passpasspass
        id-transform-expr-014
            (catalog, query)
passpasspass
        id-transform-expr-015
            (catalog, query)
passpasspass
        id-transform-expr-016
            (catalog, query)
passpasspass
        id-transform-expr-017
            (catalog, query)
passpasspass
        id-transform-expr-018
            (catalog, query)
passpasspass
        id-transform-expr-019
            (catalog, query)
passpasspass
        id-transform-expr-020
            (catalog, query)
passpasspass
        id-transform-expr-021
            (catalog, query)
passpasspass
        id-transform-expr-022
            (catalog, query)
passpasspass
        id-transform-expr-023
            (catalog, query)
passpasspass
        id-transform-expr-024
            (catalog, query)
passpasspass
        id-transform-expr-025
            (catalog, query)
passpasspass
        id-transform-expr-026
            (catalog, query)
passpasspass
        id-transform-expr-027
            (catalog, query)
passpasspass
        id-transform-expr-028
            (catalog, query)
passpasspass
        id-transform-expr-029
            (catalog, query)
passpasspass
        id-transform-expr-030
            (catalog, query)
passpasspass
        id-transform-expr-031
            (catalog, query)
passpasspass
    Extension to Existing Expressions
        Extension to FLWOR Expressions22/2222/2222/223/3
            id-flwor-expr-01
                (catalog, query)
passpasspass
            id-flwor-expr-02
                (catalog, query)
passpasspass
            id-flwor-expr-03
                (catalog, query)
passpasspass
            id-flwor-expr-04
                (catalog, query)
passpasspass
            id-flwor-expr-05
                (catalog, query)
passpasspass
            id-flwor-expr-06
                (catalog, query)
passpasspass
            id-flwor-expr-07
                (catalog, query)
passpasspass
            id-flwor-expr-08
                (catalog, query)
passpasspass
            id-flwor-expr-09
                (catalog, query)
passpasspass
            id-flwor-expr-010
                (catalog, query)
passpasspass
            id-flwor-expr-011
                (catalog, query)
passpasspass
            id-flwor-expr-012
                (catalog, query)
passpasspass
            id-flwor-expr-013
                (catalog, query)
passpasspass
            id-flwor-expr-014
                (catalog, query)
passpasspass
            id-flwor-expr-015
                (catalog, query)
passpasspass
            id-flwor-expr-016
                (catalog, query)
passpasspass
            id-flwor-expr-017
                (catalog, query)
passpasspass
            id-flwor-expr-018
                (catalog, query)
passpasspass
            id-flwor-expr-019
                (catalog, query)
passpasspass
            id-flwor-expr-020
                (catalog, query)
passpasspass
            id-flwor-expr-021
                (catalog, query)
passpasspass
            id-flwor-expr-022
                (catalog, query)
passpasspass
        Extension to Typeswitch Expressions35/3535/3535/353/3
            id-typeswitch-expr-01
                (catalog, query)
passpasspass
            id-typeswitch-expr-02
                (catalog, query)
passpasspass
            id-typeswitch-expr-03
                (catalog, query)
passpasspass
            id-typeswitch-expr-04
                (catalog, query)
passpasspass
            id-typeswitch-expr-05
                (catalog, query)
passpasspass
            id-typeswitch-expr-06
                (catalog, query)
passpasspass
            id-typeswitch-expr-07
                (catalog, query)
passpasspass
            id-typeswitch-expr-08
                (catalog, query)
passpasspass
            id-typeswitch-expr-09
                (catalog, query)
passpasspass
            id-typeswitch-expr-010
                (catalog, query)
passpasspass
            id-typeswitch-expr-011
                (catalog, query)
passpasspass
            id-typeswitch-expr-012
                (catalog, query)
passpasspass
            id-typeswitch-expr-013
                (catalog, query)
passpasspass
            id-typeswitch-expr-014
                (catalog, query)
passpasspass
            id-typeswitch-expr-015
                (catalog, query)
passpasspass
            id-typeswitch-expr-016
                (catalog, query)
passpasspass
            id-typeswitch-expr-017
                (catalog, query)
passpasspass
            id-typeswitch-expr-018
                (catalog, query)
passpasspass
            id-typeswitch-expr-019
&n