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.0 dev. 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.
Feature xbird/open
(XQTS 1.0.0 dev (rev 1.28))Minimal Conformance 12044 / 2097 / 14587 Optional Features Schema Import Feature 0 / 15 / 188 Schema Validation Feature 0 / 0 / 25 Static Typing Feature 0 / 0 / 46 Full Axis Feature 130 / 0 / 130 Module Feature 17 / 15 / 32 Trivial XML Embedding Feature 0 / 0 / 4
xbird/open
Organization: Makoto YUI (NAIST)
http://db-www.naist.jp/~makoto-y/proj/xbird/Implementation: xbird/open Version: 1.0 alpha 1
Feature xbird/open
(XQTS 1.0.0 dev (rev 1.28))Minimal Conformance Optional Feature Errors Single error code for extra features 0/18 XQuery Basics Static Context Evaluation 1/1 Query Types XQuery Sequence Type Syntax 21/21 XQuery Expressions Primary Expressions Literals 116/119 Parenthesized Expressions 18/20 Context Item Expressions External Context Item Expressions 21/24 Internal Context Item Expressions 21/21 Function Calls 28/28 Path Expressions General Path Expression Tests 0/1 Steps Axes 181/186 Node Tests NodeTest 23/24 NameTest 33/37 Predicates 40/44 Unabbreviated Syntax 23/26 Abbreviated Syntax 20/21 Sequence Expressions Constructing Sequences Comma Operator 53/54 Range Expression 60/65 Filter Expressions 97/116 Combining Node Sequences 15/20 Operators Arithmetic Operators Arithmetic Operators on Numeric Values op:numeric-add 100/137 op:numeric-subtract 92/107 op:numeric-multiply 67/79 op:numeric-divide 71/105 op:numeric-integer-divide 97/109 op:numeric-mod 48/58 op:numeric-unary-plus 50/51 op:numeric-unary-minus 51/52 Arithmetic Operators on Duration Values op:add-yearMonthDurations 16/24 op:subtract-yearMonthDurations 21/30 op:multiply-yearMonthDuration 27/37 op:divide-yearMonthDuration 7/27 op:divide-yearMonthDuration-by-yearMonthDuration 16/22 op:add-dayTimeDurations 24/24 op:subtract-dayTimeDurations 30/30 op:multiply-dayTimeDuration 31/32 op:divide-dayTimeDuration 31/36 op:divide-dayTimeDuration-by-dayTimeDuration 20/22 Arithmetic Operators on Duration and Date Time Values op:subtract-dateTimes-yielding-dayTimeDuration 18/26 op:subtract-dates-yielding-dayTimeDuration 19/26 op:subtract-times 28/29 op:add-yearMonthDuration-to-dateTime 26/26 op:add-dayTimeDuration-to-dateTime 23/24 op:subtract-yearMonthDuration-from-dateTime 21/21 op:subtract-dayTimeDuration-from-dateTime 20/20 op:add-yearMonthDuration-to-date 24/24 op:add-dayTimeDuration-to-date 21/22 op:subtract-yearMonthDuration-from-date 23/23 op:subtract-dayTimeDuration-from-date 20/21 op:add-dayTimeDuration-to-time 24/24 op:subtract-dayTimeDuration-from-time 26/26 Comparison Operators Value Comparison Comparison of Numeric Values op:numeric-equal 175/178 op:numeric-less-than 148/152 op:numeric-greater-than 84/88 Comparison Operators on Boolean Values op:boolean-equal 49/49 op:boolean-less-than 29/39 op:boolean-greater-than 27/39 Comparisons of Duration, Date Time Values op:yearMonthDuration-less-than 28/28 op:yearMonthDuration-greater-than 28/28 op:dayTimeDuration-less-than 26/28 op:dayTimeDuration-greater-than 26/28 op:duration equal 91/129 op:dateTime-equal 28/52 op:dateTime-less-than 28/28 op:dateTime-greater-than 28/28 op:date-equal 28/28 op:date-less-than 29/30 op:date-greater-than 30/30 op:time-equal 28/40 op:time-less-than 30/30 op:time-greater-than 29/30 op:gYearMonth-equal 30/32 op:gYear-equal 31/32 op:gMonthDay-equal 30/31 op:gMonth-equal 0/31 op:gDay-equal 29/31 op:yearMonthDuration-equal 7/7 op:dayTimeDuration-equal 7/8 Comparison Operators on QName Values op:QName-equal 32/36 fn:prefix-from-QName 7/24 Comparison Operators on base64Binary and hexBinary Types op:hexBinary-equal 29/29 op:base64Binary-equal 26/27 Comparison Operators on NOTATION Types op:NOTATION-equal Type Checking and Error Handling 27/42 Comparison of String Values xs:string eq/ne xs:string 5/5 xs:string gt/ge xs:string 5/5 xs:string lt/le xs:string 5/5 Comparison of AnyURI Values xs:anyURI eq/ne xs:anyURI 6/10 General Comparisons The "=" operator for general comparisons 138/158 The "!=" operator for general comparisons 126/140 The "< (less than)" operator for general comparisons 103/118 The "<= (less than or equal)" operator for general comparisons 94/107 The "> (greater than)" operator for general comparisons 103/118 The ">= (greater than or equal)" operator for general comparisons 95/109 Node Comparisons op:is-same-node 20/28 op:node-before 20/33 op:node-after 20/33 Operators on Sequences op:union 22/23 op:intersect 21/23 op:except 20/23 Logical Expressions 363/364 Constructors Direct Element Constructors 167/230 Attributes 42/51 Namespace Declaration Attributes 17/29 Content 55/80 White Space Element Content 53/57 Other Direct Constructors 19/20 Computed Constructors Computed Element Constructors 46/51 Computed Attribute Constructors 33/33 Document Node Constructors 20/24 Text Node Constructors 17/20 Computed Processing-instruction Constructors 34/41 Computed Comment Constructors 21/21 In-scope Namespaces of a Constructed Element 10/20 Tests of For-Let-Where-OrderBy-Return Expressions FOR Clause FOR Clause without TypeDeclaration 71/87 FOR Clause with TypeDeclaration 26/55 FOR Clause with a Positional Variable 24/30 LET Clause LET Clause without TypeDeclaration 22/27 LET Clause with TypeDeclaration 24/24 WHERE Clause 39/40 ORDER BY Clause ORDER BY Clause with OrderModifier 45/106 ORDER BY Clause without OrderModifier 25/40 RETURN Clause 20/20 Ordered and Unordered Expressions 16/26 Conditional Expressions 32/32 Quantified Expressions Quantified Expressions Without TypeDeclaration 134/158 Quantified Expressions With TypeDeclaration 21/30 Expressions on Sequence Types Instance Of 150/176 Typeswitch 22/36 Cast from Derived types 21/21 Cast from Derived types To Parents 21/21 Casting within a branch of the type hierarchy 21/21 Cast 1999/2207 Castable 652/688 Treat 39/43 Modules and Prologs Version Declaration 17/27 Boundary-space Declaration 22/27 Default Collation Declaration 4/7 Copy Namespaces Declaration 6/27 Base URI Declaration 20/28 Construction Declaration 3/25 Default Namespace Declaration 11/35 Ordering Mode Declaration 17/25 Empty Order Declaration 10/32 Namespace Declaration 27/34 Variable Declaration External Variable References without TypeDeclaration 12/22 External Variable References with TypeDeclatation 2/24 Internal Variable References without TypeDeclaration 65/76 Internal Variable References with TypeDeclatation 32/44 Function Declaration 64/99 Option Declaration Declaration 4/8 XQuery Comments 33/40 Extension Expression 41/50 Implicit Context Functions Accessor Functions fn:node-name 23/27 fn:nilled 24/26 fn:string 47/48 fn:data 43/43 fn:base-uri 22/25 fn:static-base-uri 15/17 fn:document-uri 15/24 The Error Function 6/59 The Trace Function 24/27 Constructor Functions fn:dateTime 6/46 Functions on Numeric Values fn:abs 129/131 fn:ceiling 43/45 fn:floor 43/45 fn:round 41/48 fn:round-half-to-even 48/52 Functions on Strings Functions to Assemble and Disassemble Strings fn:codepoints-to-string 42/46 fn:string-to-codepoints 29/43 Equality and Comparison of Strings fn:compare 40/42 fn:codepoint-equal 19/21 Functions on String Values fn:concat 89/91 fn:string-join 30/33 fn:substring 7/36 fn:string-length 26/29 fn:normalize-space 19/35 fn:normalize-unicode 27/34 fn:upper-case 24/24 fn:lower-case 24/24 fn:translate 31/34 surrogate values for various string functions. 7/15 fn:encode-for-uri 6/29 fn:iri-to-uri 6/36 fn:escape-html-uri 27/33 Functions Based on Substring Matching fn:contains 28/32 fn:starts-with 27/32 fn:ends-with 23/31 fn:substring-before 27/31 fn:substring-after 20/32 String Functions that Use Pattern Matching fn:matches 27/52 fn:replace 46/52 fn:tokenize 9/39 Functions for anyURI fn:resolve-uri 22/29 Functions on Boolean Values fn:true 24/24 fn:false 24/24 fn:not 69/70 Functions on Durations, Dates and Times Component Extraction Functions on Durations, Dates and Times fn:years-from-duration 30/30 fn:months-from-duration 27/30 fn:days-from-duration 30/30 fn:hours-from-duration 29/30 fn:minutes-from-duration 30/31 fn:seconds-from-duration 24/31 fn:year-from-dateTime 27/27 fn:month-from-dateTime 27/27 fn:day-from-dateTime 27/27 fn:hours-from-dateTime 27/27 fn:minutes-from-dateTime 27/27 fn:seconds-from-dateTime 27/27 fn:timezone-from-dateTime 27/27 fn:year-from-date 27/27 fn:month-from-date 27/27 fn:day-from-date 27/27 fn:timezone-from-date 27/27 fn:hours-from-time 27/27 fn:minutes-from-time 27/27 fn:seconds-from-time 27/27 fn:timezone-from-time 27/27 Timezone Adjustment on Dates and Time Values fn:adjust-dateTime-to-timezone 31/42 fn:adjust-date-to-timezone 27/36 fn:adjust-time-to-timezone 33/39 Functions Related to QNames Additional Constructor Functions for QNames fn:resolve-QName 8/26 fn:QName 20/32 fn:local-name-from-QName 13/17 fn:namespace-uri-from-QName 16/19 fn:namespace-uri-for-prefix 9/23 fn:in-scope-prefixes 3/22 Functions on Nodes fn:name 13/26 fn:local-name 23/26 fn:namespace-uri 21/29 fn:number 55/60 fn:lang 16/29 fn:root 23/28 Functions on Sequences General Functions and Operators on Sequences fn:boolean 117/122 fn:index-of 17/47 fn:empty 48/48 fn:exists 53/53 fn:distinct-values 65/86 fn:insert-before 33/41 fn:remove 40/44 fn:reverse 58/60 fn:subsequence 19/67 fn:unordered 30/31 Functions That Test the Cardinality of Sequences fn:zero-or-one 43/48 fn:one-or-more 43/48 fn:exactly-one 44/50 fn:deep-equal 31/151 Aggregate Functions fn:count 57/57 fn:avg 149/215 fn:max 157/166 fn:min 158/166 fn:sum 36/198 Functions that Generate Sequences fn:id 8/26 fn:idref 9/26 fn:doc-available 1/2 fn:doc 2/15 fn:collection 3/13 Context Functions fn:position 58/65 fn:last 51/51 fn:current-dateTime 14/26 fn:current-date 14/23 fn:current-time 14/22 fn:default-collation 3/5 fn:implicit-timezone 21/26 Optional Features Schema Import Feature FLWOR Expressions that requires a schema import 0/17 Computed Element Constructors 0/4 Version Declaration 0/2 Misc Functions that depends entirely on schema validation. 0/37 Cast 0/48 op:numeric-equal 0/2 op:NOTATION-equal 0/22 Constructor Functions for User Defined Functions 0/10 Schema Import 0/31 FOR Clause with TypeDeclaration 0/1 fn:local-name-from-QName 0/7 fn:namespace-uri-from-QName 0/7 Schema Validation Feature Validate Expression 0/25 Static Typing Feature Static Typing of Path Expressions Static Typing of Steps Expressions Static Typing of Axes Steps 0/21 Static Typing of FLWOR expressions 0/25 Static Typing of 'where' clause Full Axis Feature ancestor Axis 22/22 ancestor-or-self Axis 22/22 following Axis 21/21 following-sibling Axis 22/22 preceding Axis 21/21 preceding-sibling Axis 22/22 Module Feature Module Import 17/32 Module Declaration Trivial XML Embedding Feature 0/4 Tests for the appendices. Tests for Appendix A-4 of the Query Specs. 9/9 Various User defined functions from annex "E" of the F and O specs. 8/8 Use Cases Use Case "XMP": Experiences and Exemplars 8/12 Use Case "TREE": Queries that preserve hierarchy 4/6 Use Case "SEQ" - Queries based on Sequence 2/5 Use Case "R" - Access to Relational Data 4/18 Use Case "SGML": Standard Generalized Markup Language 9/11 Use Case "STRING": String Search 1/4 Use Case "NS" - Queries Using Namespaces 7/8 Use Case "PARTS" - Recursive Parts Explosion 0/1 Consistency in XQTS Catalog 3/3