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