XQTS Evaluation

Overview

NameCorrectWrongErrorTotalSkipped
 
Total10213598102803134
 
 
Abbreviated Syntax2100210
fn:abs1040010465
fn:adjust-dateTime-to-timezone3400347
fn:adjust-date-to-timezone2700275
fn:adjust-time-to-timezone3000305
Tests of XQuery 1.1 analyze-string() function00000
ancestor Axis2000201
ancestor-or-self Axis2000201
Various User defined functions from annex "E" of the F and O specs.00000
xs:anyURI eq/ne xs:anyURI2200220
xs:anyURI le/ge xs:anyURI1000100
xs:anyURI lt/gt xs:anyURI80080
Tests for Appendix A-4 of the Query Specs.90090
Axes1800018040
op:base64Binary-equal2700270
fn:base-uri20022
Base URI Declaration00000
op:boolean-equal4500451
op:boolean-greater-than3900390
op:boolean-less-than3900390
Boundary-space Declaration00000
Consistency in XQTS Catalog00000
fn:ceiling4200423
fn:codepoint-equal1800183
fn:codepoints-to-string18001819
Default Collation Declaration00000
Single error code for extra features00007
Combining Node Sequences00001
Comma Operator5400540
fn:compare3400348
fn:compare30030
Computed Attribute Constructors00001
Computed Comment Constructors00003
Computed Element Constructors00001
Computed Processing-instruction Constructors00002
fn:concat8900895
Conditional Expressions1800184
Document Node Constructors00002
In-scope Namespaces of a Constructed Element00000
Construction Declaration00000
Computed Element Constructors00000
fn:contains2800284
fn:current-date12001211
fn:current-dateTime12001214
fn:current-time12001210
fn:default-collation20023
fn:implicit-timezone600620
fn:last41004110
fn:position6200622
Text Node Constructors00006
Copy Namespaces Declaration00000
fn:data4100414
op:add-dayTimeDuration-to-date2200220
op:add-yearMonthDuration-to-date2200222
op:date-equal2900290
op:date-greater-than3000300
op:date-less-than3000300
op:subtract-dates-yielding-dayTimeDuration2200224
op:subtract-dayTimeDuration-from-date2100210
op:subtract-yearMonthDuration-from-date2300230
op:add-dayTimeDuration-to-dateTime2000204
op:dateTime-equal29002924
fn:dateTime4400446
op:dateTime-greater-than2800280
op:dateTime-less-than2800280
op:subtract-dateTimes-yielding-dayTimeDuration2100215
op:subtract-dayTimeDuration-from-dateTime2000200
op:subtract-yearMonthDuration-from-dateTime2100210
fn:day-from-date2500252
fn:day-from-dateTime2500252
fn:days-from-duration2800282
op:add-dayTimeDurations2400240
op:divide-dayTimeDuration-by-dayTimeDuration2200220
op:divide-dayTimeDuration23002313
op:dayTimeDuration-equal80080
op:dayTimeDuration-greater-than2800280
op:dayTimeDuration-less-than2800280
op:multiply-dayTimeDuration2900293
op:subtract-dayTimeDurations2600266
Default Namespace Declaration00000
Ordering Mode Declaration00000
Attributes000050
Content000018
Namespace Declaration Attributes000012
White Space Element Content00000
Direct Element Constructors000032
Other Direct Constructors000042
fn:document-uri1200122
op:duration equal97009732
Tests for element-with-id() function, introduced by erratum. Depends entirely on schema validation.00000
Empty Order Declaration00000
fn:encode-for-uri2500254
fn:ends-with2700274
Extended QNames ("uri":local)00000
The Error Function300359
Errors and Optimization10013
fn:escape-html-uri2700274
fn:QName30039
Extension Expression000010
External Context Item Expressions2200221
External Variable References without TypeDeclaration00000
External Variable References with TypeDeclatation00000
fn:false2300231
Filter Expressions86008631
fn:floor4200423
FLWOR Expressions that requires a schema import00000
following Axis1900191
following-sibling Axis2000201
FOR Clause with a Positional Variable00001
FOR Clause with TypeDeclaration00000
FOR Clause without TypeDeclaration33013425
FOR Clause with TypeDeclaration00004
Function Calls000027
Function Declaration00000
functx-fn-abs00000
functx-fn-adjust-dateTime-to-timezone00000
functx-fn-adjust-date-to-timezone00000
functx-fn-adjust-time-to-timezone00000
functx-fn-avg00000
functx-fn-base-uri00000
functx-fn-boolean00000
functx-fn-ceiling00000
functx-fn-codepoint-equal00000
functx-fn-codepoints-to-string00000
functx-fn-compare00000
functx-fn-concat00000
functx-fn-contains00000
functx-fn-count00000
functx-fn-data00000
functx-fn-dateTime00000
functx-fn-day-from-dateTime00000
functx-fn-day-from-date00000
functx-fn-days-from-duration00000
functx-fn-deep-equal00000
functx-fn-default-collation00000
functx-fn-distinct-values00000
functx-fn-doc-available00000
functx-fn-empty00000
functx-fn-encode-for-uri00000
functx-fn-ends-with00000
functx-fn-escape-html-uri00000
functx-fn-exactly-one00000
functx-fn-exists00000
functx-fn-false00000
functx-fn-floor00000
functx-fn-hours-from-dateTime00000
functx-fn-hours-from-duration00000
functx-fn-hours-from-time00000
functx-fn-index-of00000
functx-fn-insert-before00000
functx-fn-iri-to-uri00000
functx-fn-lang00000
functx-fn-last00000
functx-fn-local-name-from-QName00000
functx-fn-local-name00000
functx-fn-lower-case00000
functx-fn-matches00000
functx-fn-max00000
functx-fn-minutes-from-dateTime00000
functx-fn-minutes-from-duration00000
functx-fn-minutes-from-time00000
functx-fn-min00000
functx-fn-month-from-dateTime00000
functx-fn-month-from-date00000
functx-fn-months-from-duration00000
functx-fn-namespace-uri-for-prefix00000
functx-fn-namespace-uri-from-QName00000
functx-fn-namespace-uri00000
functx-fn-name00000
functx-fn-nilled00000
functx-fn-node-name00000
functx-fn-normalize-space00000
functx-fn-normalize-unicode00000
functx-fn-not00000
functx-fn-number00000
functx-fn-one-or-more00000
functx-fn-position00000
functx-fn-prefix-from-QName00000
functx-fn-QName00000
functx-fn-remove00000
functx-fn-replace00000
functx-fn-resolve-QName00000
functx-fn-resolve-uri00000
functx-fn-reverse00000
functx-fn-root00000
functx-fn-round-half-to-even00000
functx-fn-round00000
functx-fn-seconds-from-dateTime00000
functx-fn-seconds-from-duration00000
functx-fn-seconds-from-time00000
functx-fn-starts-with00000
functx-fn-string-join00000
functx-fn-string-length00000
functx-fn-string-to-codepoints00000
functx-fn-string00000
functx-fn-subsequence00000
functx-fn-substring-after00000
functx-fn-substring-before00000
functx-fn-substring00000
functx-fn-sum00000
functx-fn-timezone-from-dateTime00000
functx-fn-timezone-from-date00000
functx-fn-timezone-from-time00000
functx-fn-tokenize00000
functx-fn-translate00000
functx-fn-true00000
functx-fn-upper-case00000
functx-fn-year-from-dateTime00000
functx-fn-year-from-date00000
functx-fn-years-from-duration00000
functx-fn-zero-or-one00000
functx-functx-add-attributes00000
functx-functx-add-months00000
functx-functx-add-or-update-attributes00000
functx-functx-all-whitespace00000
functx-functx-are-distinct-values00000
functx-functx-atomic-type00000
functx-functx-avg-empty-is-zero00000
functx-functx-between-exclusive00000
functx-functx-between-inclusive00000
functx-functx-camel-case-to-words00000
functx-functx-capitalize-first00000
functx-functx-change-element-names-deep00000
functx-functx-change-element-ns-deep00000
functx-functx-change-element-ns00000
functx-functx-chars00000
functx-functx-contains-any-of00000
functx-functx-contains-case-insensitive00000
functx-functx-contains-word00000
functx-functx-copy-attributes00000
functx-functx-dateTime00000
functx-functx-date00000
functx-functx-day-in-year00000
functx-functx-day-of-week-abbrev-en00000
functx-functx-day-of-week-name-en00000
functx-functx-day-of-week00000
functx-functx-days-in-month00000
functx-functx-dayTimeDuration00000
functx-functx-ddmmyyyy-to-date00000
functx-functx-depth-of-node00000
functx-functx-distinct-attribute-names00000
functx-functx-distinct-deep00000
functx-functx-distinct-element-names00000
functx-functx-distinct-element-paths00000
functx-functx-distinct-nodes00000
functx-functx-duration-from-timezone00000
functx-functx-dynamic-path00000
functx-functx-escape-for-regex00000
functx-functx-exclusive-or00000
functx-functx-first-day-of-month00000
functx-functx-first-day-of-year00000
functx-functx-first-node00000
functx-functx-follows-not-descendant00000
functx-functx-format-as-title-en00000
functx-functx-fragment-from-uri00000
functx-functx-get-matches-and-non-matches00000
functx-functx-get-matches00000
functx-functx-has-element-only-content00000
functx-functx-has-empty-content00000
functx-functx-has-mixed-content00000
functx-functx-has-simple-content00000
functx-functx-id-from-element00000
functx-functx-id-untyped00000
functx-functx-if-absent00000
functx-functx-if-empty00000
functx-functx-index-of-deep-equal-node00000
functx-functx-index-of-match-first00000
functx-functx-index-of-node00000
functx-functx-index-of-string-first00000
functx-functx-index-of-string-last00000
functx-functx-index-of-string00000
functx-functx-insert-string00000
functx-functx-is-absolute-uri00000
functx-functx-is-ancestor00000
functx-functx-is-a-number00000
functx-functx-is-descendant00000
functx-functx-is-leap-year00000
functx-functx-is-node-among-descendants-deep-equal00000
functx-functx-is-node-among-descendants00000
functx-functx-is-node-in-sequence-deep-equal00000
functx-functx-is-node-in-sequence00000
functx-functx-is-value-in-sequence00000
functx-functx-last-day-of-month00000
functx-functx-last-day-of-year00000
functx-functx-last-node00000
functx-functx-leaf-elements00000
functx-functx-left-trim00000
functx-functx-line-count00000
functx-functx-lines00000
functx-functx-max-depth00000
functx-functx-max-determine-type00000
functx-functx-max-line-length00000
functx-functx-max-node00000
functx-functx-max-string00000
functx-functx-min-determine-type00000
functx-functx-min-node00000
functx-functx-min-non-empty-string00000
functx-functx-min-string00000
functx-functx-mmddyyyy-to-date00000
functx-functx-month-abbrev-en00000
functx-functx-month-name-en00000
functx-functx-namespaces-in-use00000
functx-functx-name-test00000
functx-functx-next-day00000
functx-functx-node-kind00000
functx-functx-non-distinct-values00000
functx-functx-number-of-matches00000
functx-functx-ordinal-number-en00000
functx-functx-pad-integer-to-length00000
functx-functx-pad-string-to-length00000
functx-functx-path-to-node-with-pos00000
functx-functx-path-to-node00000
functx-functx-precedes-not-ancestor00000
functx-functx-previous-day00000
functx-functx-remove-attributes-deep00000
functx-functx-remove-attributes00000
functx-functx-remove-elements-deep00000
functx-functx-remove-elements-not-contents00000
functx-functx-remove-elements00000
functx-functx-repeat-string00000
functx-functx-replace-beginning00000
functx-functx-replace-element-values00000
functx-functx-replace-first00000
functx-functx-replace-multi00000
functx-functx-reverse-string00000
functx-functx-right-trim00000
functx-functx-scheme-from-uri00000
functx-functx-sequence-deep-equal00000
functx-functx-sequence-node-equal-any-order00000
functx-functx-sequence-node-equal00000
functx-functx-sequence-type00000
functx-functx-siblings-same-name00000
functx-functx-siblings00000
functx-functx-sort-as-numeric00000
functx-functx-sort-case-insensitive00000
functx-functx-sort-document-order00000
functx-functx-sort00000
functx-functx-substring-after-if-contains00000
functx-functx-substring-after-last-match00000
functx-functx-substring-after-last00000
functx-functx-substring-after-match00000
functx-functx-substring-before-if-contains00000
functx-functx-substring-before-last-match00000
functx-functx-substring-before-last00000
functx-functx-substring-before-match00000
functx-functx-time00000
functx-functx-timezone-from-duration00000
functx-functx-total-days-from-duration00000
functx-functx-total-hours-from-duration00000
functx-functx-total-minutes-from-duration00000
functx-functx-total-months-from-duration00000
functx-functx-total-seconds-from-duration00000
functx-functx-total-years-from-duration00000
functx-functx-trim00000
functx-functx-update-attributes00000
functx-functx-value-except00000
functx-functx-value-intersect00000
functx-functx-value-union00000
functx-functx-word-count00000
functx-functx-words-to-camel-case00000
functx-functx-wrap-values-in-elements00000
functx-functx-yearMonthDuration00000
functx-functx-yyyyddmm-to-date00000
functx-functx-yyyymmdd-to-date00000
op:gDay-equal3100310
The "=" operator for general comparisons84008429
The ">= (greater than or equal)" operator for general comparisons5800581
The "> (greater than)" operator for general comparisons6500652
The "<= (less than or equal)" operator for general comparisons5700570
The "< (less than)" operator for general comparisons6500653
The "!=" operator for general comparisons77007712
op:gMonthDay-equal3100310
op:gMonth-equal3100310
op:gYear-equal3200320
op:gYearMonth-equal3200320
Head and Tail Functions00000
op:hexBinary-equal2900290
Higher Order Functions00001
fn:hours-from-dateTime2500252
fn:hours-from-duration2800282
fn:hours-from-time2500252
fn:in-scope-prefixes00003
Internal Context Item Expressions1900191
Internal Variable References without TypeDeclaration00000
Internal Variable References with TypeDeclatation00000
fn:iri-to-uri3301349
LET Clause without TypeDeclaration00003
LET Clause with TypeDeclaration00000
Literals66006650
fn:local-name-from-QName20027
Logical Expressions38003810
fn:lower-case2200222
fn:matches46805426
fn:minutes-from-dateTime2500252
fn:minutes-from-duration2900292
fn:minutes-from-time2500252
Misc Functions that depends entirely on schema validation.00000
Module Import00000
Module Declaration00000
fn:month-from-date2500252
fn:month-from-dateTime2500252
fn:months-from-duration2800282
fn:name1900193
Namespace Declaration00000
fn:namespace-uri-for-prefix00002
fn:namespace-uri-from-QName30037
NameTest300347
fn:nilled40043
op:node-after810917
op:node-before810917
fn:lang2200226
fn:local-name20023
fn:node-name40043
fn:namespace-uri40043
fn:number5610571
fn:root20027
op:is-same-node900912
NodeTest400425
fn:normalize-space3100313
fn:normalize-unicode2000209
op:NOTATION-equal10120220
fn:not6800682
op:numeric-add99009932
op:numeric-divide982010016
op:numeric-equal00000
op:numeric-equal174001744
op:numeric-greater-than9000900
op:numeric-integer-divide83008337
op:numeric-less-than154001540
op:numeric-mod98009815
op:numeric-multiply6400649
op:numeric-subtract93009310
op:numeric-unary-minus5900591
op:numeric-unary-plus5100511
Option Declaration Declaration00000
ORDER BY Clause without OrderModifier00001
ORDER BY Clause with OrderModifier00000
Ordered and Unordered Expressions00002
Parenthesized Expressions1400140
General Path Expression Tests50055
Schema import path expression tests.00000
preceding Axis1900191
preceding-sibling Axis2000201
Predicates3700376
fn:prefix-from-QName50055
op:QName-equal3000306
Quantified Expressions Without TypeDeclaration1090010921
Quantified Expressions With TypeDeclaration10014
Range Expression56005610
fn:replace39003920
fn:resolve-QName00004
fn:resolve-uri2500254
RETURN Clause1000104
fn:round-half-to-even5300537
fn:round224002242
Schema Import00000
fn:seconds-from-dateTime2500252
fn:seconds-from-duration2900292
fn:seconds-from-time2500252
fn:avg1701017153
fn:boolean6600667
fn:collection05056
fn:count5500552
fn:deep-equal148001487
fn:distinct-values7260788
fn:doc-available41053
fn:doc15131915
fn:empty4600462
fn:exactly-one4100419
op:except1300133
fn:exists5100512
Castable6770067718
Cast10010
Cast from Derived types To Parents00000
Cast from Derived types00000
Casting within a branch of the type hierarchy00000
Cast13551313591350
Instance Of2420024215
Treat600614
fn:id8130213
fn:idref33063
fn:index-of4010416
fn:insert-before3600365
op:intersect1400144
fn:max1590015918
fn:min1590015918
fn:one-or-more4400445
fn:remove3500359
fn:reverse5400548
fn:subsequence6400649
fn:sum1942019614
Typeswitch00003
XQuery Sequence Type Syntax2100210
op:union1500154
fn:unordered2700274
fn:zero-or-one4300435
Serialization00000
fn:starts-with2800284
fn:static-base-uri10013
Static Context Evaluation00000
Static Typing of Axes Steps000021
Steps000012
Static Typing of FLWOR expressions00000
Static Typing of Functions00000
xs:string eq/ne xs:string50050
fn:string4300433
xs:string gt/ge xs:string50050
fn:string-join3000303
fn:string-length2600263
xs:string lt/le xs:string60060
fn:string-to-codepoints3900394
fn:substring-after2800284
fn:substring-before2700274
fn:substring3400342
surrogate values for various string functions.50050
switch expression (XQuery 1.1)00000
op:add-dayTimeDuration-to-time2300231
op:time-equal29002912
op:time-greater-than3000300
op:time-less-than3000300
op:subtract-dayTimeDuration-from-time2200224
op:subtract-times2300236
fn:timezone-from-date2500252
fn:timezone-from-dateTime2500252
fn:timezone-from-time2500252
fn:tokenize3500357
The Trace Function1800187
fn:translate2600269
fn:true2300231
Unabbreviated Syntax2600260
fn:upper-case2200222
Use Case "NS" - Queries Using Namespaces00000
Use Case "PARTS" - Recursive Parts Explosion00000
Use Case "R" - Access to Relational Data00000
Use Case "SEQ" - Queries based on Sequence20020
Use Case "SGML": Standard Generalized Markup Language00000
Use Case "STRING": String Search10010
Use Case "TREE": Queries that preserve hierarchy00000
Use Case "XMP": Experiences and Exemplars00000
Constructor Functions for User Defined Functions00000
Type Checking and Error Handling600636
Validate Expression00001
Version Declaration00000
Version Declaration00000
WHERE Clause00005
XMark -- An XML Benchmark00000
Conformance to the XML 1.0 3-5th edition and XML 1.100000
XQuery Comments17001713
fn:year-from-date2500252
fn:year-from-dateTime2500252
op:add-yearMonthDuration-to-dateTime2200224
op:add-yearMonthDurations2400240
op:divide-yearMonthDuration2500253
op:divide-yearMonthDuration-by-yearMonthDuration2200220
op:yearMonthDuration-equal70070
op:yearMonthDuration-greater-than2800280
op:yearMonthDuration-less-than2800280
op:multiply-yearMonthDuration28002810
op:subtract-yearMonthDurations2400246
fn:years-from-duration2800282

Abbreviated Syntax

cat/AbbrAxes.xml:

Result: Correct: 21 Wrong: 0 Errors: 0 Total: 21 Skipped: 0

Failed tests:
TestnameDescriptionGotExpected
abbreviatedSyntax-2Evaluates abbreviated syntax, "text()". Selects all text node children of the context node.
Query, XML-Input
Text data from Employee[2] Text data from Employee[2]
abbreviatedSyntax-3Evaluates abbreviated syntax, "@name". Selects the name attribute of the context node.
Query, XML-Input
<employee name="John Doe 10" gender="male"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="John Doe 10" gender="male"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee>
abbreviatedSyntax-5Evaluates abbreviated syntax, "employee[1]". Selects the first employee child of the context node.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
abbreviatedSyntax-6Evaluates abbreviated syntax, "para[fn:last()]". Selects the last employee child of the context node.
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
abbreviatedSyntax-14Evaluates abbreviated syntax, "..". Selects the parent of the context node.
Query, XML-Input
<employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee><employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee>
abbreviatedSyntax-16Evaluates abbreviated syntax, "employee[@name="Jane Doe 11"]". Selects all employee children of the context node that have a name attribute with a value "Jane Doe 11".
Query, XML-Input
<employee name="Jane Doe 11" gender="female"> <empnum>E4</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="Jane Doe 11" gender="female"> <empnum>E4</empnum> <pnum>P2</pnum> <hours>20</hours> </employee>
abbreviatedSyntax-17Evaluates abbreviated syntax, "employee[@gender="female"][5]". Selects the fifth element child of the context node that has a gender attribute with value "female".
Query, XML-Input
<employee name="Jane Doe 9" gender="female"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="Jane Doe 9" gender="female"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee>
abbreviatedSyntax-18Evaluates abbreviated syntax, "employee[5][@gender="female"]". Selects the fifth employee child of the context node if that child has a gender attribute with value "female".
Query, XML-Input
<employee name="Jane Doe 5" gender="female"> <empnum>E1</empnum> <pnum>P5</pnum> <hours>20</hours> <hours>30</hours> </employee><employee name="Jane Doe 5" gender="female"> <empnum>E1</empnum> <pnum>P5</pnum> <hours>20</hours> <hours>30</hours> </employee>
abbreviatedSyntax-19Evaluates abbreviated syntax, "employee[status="active"]". Selects the employee children of the context node that have one or more status children whose typed value is equal to the string "active".
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
abbreviatedSyntax-20Evaluates abbreviated syntax, "employee[overtime]". Selects the employee children of the context node that have one or more overtime children.
Query, XML-Input
<employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee><employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee>
abbreviatedSyntax-21Evaluates abbreviated syntax, "employee[@name and @type]". Selects all the employee children of the context node that have both a name attribute and a type attribute.
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
abbreviatedSyntax-25Evaluates abbreviated syntax, "employee[@name=condition or @type=condition]". Selects all the employee children of the context node that have both a name attribute and a type attribute. Uses the "or" operator.
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>

fn:abs

cat/ABSFunc.xml:

Result: Correct: 104 Wrong: 0 Errors: 0 Total: 104 Skipped: 65

Failed tests:
TestnameDescriptionGotExpected
fn-absdbl1args-1Evaluates the "abs" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
fn-absdbl1args-3Evaluates the "abs" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308

ancestor Axis

cat/ancestorAxis.xml:

Result: Correct: 20 Wrong: 0 Errors: 0 Total: 20 Skipped: 1

Failed tests:
TestnameDescriptionGotExpected
ancestor-11Evaluation of an ancestor axis that is part of an "union" operation and both operands are the same.
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
ancestor-12Evaluation of an ancestor axis that is part of an "union" operation and both operands are different.
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
ancestor-13Evaluation of an ancestor axis that is part of an "intersect" operation and both operands are the same.
Query, XML-Input
<employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee><employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee>
unabbreviatedSyntax-10Evaluates unabbreviated syntax - ancestor::employee - Selects all the "employee" ancestors of the context node.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>

ancestor-or-self Axis

cat/ancestor-or-selfAxis.xml:

Result: Correct: 20 Wrong: 0 Errors: 0 Total: 20 Skipped: 1

Failed tests:
TestnameDescriptionGotExpected
ancestorself-11Evaluation of an ancestor-or-self axis that is part of an "union" operation and both operands are the same.
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
ancestorself-12Evaluation of an ancestor-or-self axis that is part of an "union" operation and both operands are different.
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
ancestorself-13Evaluation of an ancestor-or-self axis that is part of an "intersect" operation and both operands are the same.
Query, XML-Input
<employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee><employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee>
unabbreviatedSyntax-11Evaluates unabbreviated syntax - ancestor-or-self::employee - Selects all the "employee" ancestors of the context node (selects employee, if the context node is "employee").
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>

fn:ceiling

cat/CeilingFunc.xml:

Result: Correct: 42 Wrong: 0 Errors: 0 Total: 42 Skipped: 3

Failed tests:
TestnameDescriptionGotExpected
fn-ceilingdbl1args-1Evaluates the "ceiling" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-ceilingdbl1args-3Evaluates the "ceiling" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308

fn:concat

cat/ConcatFunc.xml:

Result: Correct: 89 Wrong: 0 Errors: 0 Total: 89 Skipped: 5

Failed tests:
TestnameDescriptionGotExpected
fn-concatdbl2args-1Evaluates the "concat" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.79769313486232E308-1.7976931348623157E308-1.7976931348623157E308
fn-concatdbl2args-2Evaluates the "concat" function with the arguments set as follows: $arg1 = xs:double(mid range) $arg2 = xs:double(lower bound).
Query, XML-Input
0-1.79769313486232E3080-1.7976931348623157E308
fn-concatdbl2args-3Evaluates the "concat" function with the arguments set as follows: $arg1 = xs:double(upper bound) $arg2 = xs:double(lower bound).
Query, XML-Input
1.79769313486232E308-1.79769313486232E3081.7976931348623157E308-1.7976931348623157E308
fn-concatdbl2args-4Evaluates the "concat" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(mid range).
Query, XML-Input
-1.79769313486232E3080-1.7976931348623157E3080
fn-concatdbl2args-5Evaluates the "concat" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(upper bound).
Query, XML-Input
-1.79769313486232E3081.79769313486232E308-1.7976931348623157E3081.7976931348623157E308

fn:last

cat/ContextLastFunc.xml:

Result: Correct: 41 Wrong: 0 Errors: 0 Total: 41 Skipped: 10

Failed tests:
TestnameDescriptionGotExpected
last-1Simple last test, where the context node is an element node and the position is last.
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
last-3Evaluation of "fn:last", where the last node is selected.
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
last-4Evaluation of "fn:last" together with the fn:position function (format position() = last()).
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
last-5Evaluation of "fn:last" together with the fn:position function (format last() = position()).
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
last-8Evaluation of "fn:last", where two last functions are used inside the predicate.
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
last-9Evaluation of "fn:last", where the last function is part of a second predicate.
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
last-10Evaluation of "fn:last", where the last function is part of the first of two predicates.
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
last-13Evaluation of "fn:last" used together with an addition operation.
Query, XML-Input
<employee name="John Doe 4" gender="male"> <empnum>E1</empnum> <pnum>P4</pnum> <hours>20</hours> <hours>40</hours> </employee><employee name="John Doe 4" gender="male"> <empnum>E1</empnum> <pnum>P4</pnum> <hours>20</hours> <hours>40</hours> </employee>
last-14Evaluation of "fn:last" used together with a subtraction operation.
Query, XML-Input
<employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee>
last-15Evaluation of "fn:last" used together with a multiplication operation.
Query, XML-Input
<employee name="John Doe 6" gender="male"> <empnum>E1</empnum> <pnum>P6</pnum> <hours>12</hours> </employee><employee name="John Doe 6" gender="male"> <empnum>E1</empnum> <pnum>P6</pnum> <hours>12</hours> </employee>
last-16Evaluation of "fn:last" used together with a division operation (div).
Query, XML-Input
<employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee>
last-17Evaluation of "fn:last" used together with a division operation (idiv).
Query, XML-Input
<employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee>
last-18Evaluation of "fn:last" used together with logical operation ("and" operand and "fn:true").
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
last-20Evaluation of "fn:last" used together with logical operation ("or" operand and "fn:true").
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
last-21Evaluation of "fn:last" used together with logical operation ("or" operand and "fn:false").
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
last-22Evaluation of "fn:last" used in the middle of a path expression.
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>

fn:position

cat/ContextPositionFunc.xml:

Result: Correct: 62 Wrong: 0 Errors: 0 Total: 62 Skipped: 2

Failed tests:
TestnameDescriptionGotExpected
position-1Simple position test, where the context node is an element node and position is first.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
position-3Evaluation of "fn:position", where the last node is selected.
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
position-4Evaluation of "fn:position" together with the fn:last function (format position() = last()).
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
position-5Evaluation of "fn:position" together with the fn:last function (format last() = position()).
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
position-6Evaluation of "fn:position" together with a variable of type integer.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
position-7Evaluation of "fn:position" together with a variable of type string casted to integer inside the predicate.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
position-8Evaluation of "fn:position", where two position functions are used inside the predicate.
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
position-9Evaluation of "fn:position", where the position function is part of a second predicate.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
position-10Evaluation of "fn:position", where the position function is part of the first of two predicates.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
position-13Evaluation of "fn:position" used together with an addition operation.
Query, XML-Input
<employee name="John Doe 4" gender="male"> <empnum>E1</empnum> <pnum>P4</pnum> <hours>20</hours> <hours>40</hours> </employee><employee name="John Doe 4" gender="male"> <empnum>E1</empnum> <pnum>P4</pnum> <hours>20</hours> <hours>40</hours> </employee>
position-14Evaluation of "fn:position" used together with a subtraction operation.
Query, XML-Input
<employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee>
position-15Evaluation of "fn:position" used together with a multiplication operation.
Query, XML-Input
<employee name="John Doe 6" gender="male"> <empnum>E1</empnum> <pnum>P6</pnum> <hours>12</hours> </employee><employee name="John Doe 6" gender="male"> <empnum>E1</empnum> <pnum>P6</pnum> <hours>12</hours> </employee>
position-16Evaluation of "fn:position" used together with a division operation (div).
Query, XML-Input
<employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee>
position-17Evaluation of "fn:position" used together with a division operation (idiv).
Query, XML-Input
<employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee>
position-18Evaluation of "fn:position" used together with logical operation ("and" operand and "fn:true").
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
position-20Evaluation of "fn:position" used together with logical operation ("or" operand and "fn:true").
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
position-21Evaluation of "fn:position" used together with logical operation ("or" operand and "fn:false").
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>
position-22Evaluation of "fn:position" used in the middle of a path expression.
Query, XML-Input
<overtime> <day>Monday</day> <day>Tuesday</day> </overtime><overtime> <day>Monday</day> <day>Tuesday</day> </overtime>

fn:data

cat/DataFunc.xml:

Result: Correct: 41 Wrong: 0 Errors: 0 Total: 41 Skipped: 4

Failed tests:
TestnameDescriptionGotExpected
fn-datadbl1args-1Evaluates the "data" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-datadbl1args-3Evaluates the "data" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308

External Context Item Expressions

cat/ExternalContextExpr.xml:

Result: Correct: 22 Wrong: 0 Errors: 0 Total: 22 Skipped: 1

Failed tests:
TestnameDescriptionGotExpected
externalcontextitem-22Evaluation of external context item expression where context item used as argument to "max" function.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
externalcontextitem-24Evaluation of external context item expression where context item used as argument to "max" function.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>

Filter Expressions

cat/FilterExpr.xml: Simple tests to evaluate filter sequence expressions.

Result: Correct: 86 Wrong: 0 Errors: 0 Total: 86 Skipped: 31

Failed tests:
TestnameDescriptionGotExpected
filterexpressionhc1Simple filter using data query from xml source and the "gt" operator.
Query, XML-Input
<employee> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee> <empnum>E2</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee> <empnum>E2</empnum> <pnum>P2</pnum> <hours>80</hours> </employee><employee> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> </employee><employee> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> </employee><employee> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee> <empnum>E2</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee> <empnum>E2</empnum> <pnum>P2</pnum> <hours>80</hours> </employee><employee> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> </employee><employee> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> </employee>
filterexpressionhc4Simple filter expression that queris xml source and uses a "|" operator.
Query, XML-Input
<employee> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee> <empnum>E2</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee> <empnum>E2</empnum> <pnum>P2</pnum> <hours>80</hours> </employee><employee> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> </employee><employee> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> </employee><employee> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee> <empnum>E2</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee> <empnum>E2</empnum> <pnum>P2</pnum> <hours>80</hours> </employee><employee> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> </employee><employee> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> </employee>

fn:floor

cat/FloorFunc.xml:

Result: Correct: 42 Wrong: 0 Errors: 0 Total: 42 Skipped: 3

Failed tests:
TestnameDescriptionGotExpected
fn-floordbl1args-1Evaluates the "floor" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-floordbl1args-3Evaluates the "floor" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308

following-sibling Axis

cat/following-siblingAxis.xml:

Result: Correct: 20 Wrong: 0 Errors: 0 Total: 20 Skipped: 1

Failed tests:
TestnameDescriptionGotExpected
unabbreviatedSyntax-24Evaluates unabbreviated syntax. Evaluate "following-sibling::employee[fn:position() = 1]". Selects the next employee sibling of the context node.
Query, XML-Input
<employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee><employee name="Jane Doe 3" gender="female"> <empnum>E1</empnum> <pnum>P3</pnum> <hours>80</hours> </employee>

FOR Clause without TypeDeclaration

cat/ForExprWithout.xml: Tests for the FOR part of the FLWOR expression syntax

Result: Correct: 33 Wrong: 0 Errors: 1 Total: 34 Skipped: 25

Failed tests:
TestnameDescriptionGotExpected
ForExpr005For+Return - use sequence(security/right) as the predicate.
Query, XML-Input
<Deny> <security> <right>Read</right> </security> <user>system\Toshiko</user> </Deny> <Deny> <security> <right>Read</right> </security> <user>system\Toshiko</user> </Deny>
ForExpr029Embedded FLOWR expression that binds same variable on both expressions (two for clauses).
Query, XML-Input
Error:This language feature is not available in the selected language. XQuery is required in: ((: Name: ForExpr029 :) (: Description: Embedded FLOWR expression that binds same variable on boths expressions (two for clauses) :) for $var in (1,2) for [<- error occurs before here] $var in (2,2) return $var * $var)4 4 4 4

fn:iri-to-uri

cat/IRIToURIfunc.xml:

Result: Correct: 33 Wrong: 0 Errors: 1 Total: 34 Skipped: 9

Failed tests:
TestnameDescriptionGotExpected
K2-IRIToURIfunc-5Passing xs:anyURI causes type promotion.
Query, XML-Input
Error:Invalid value: a string for type anyURIa%20string

Literals

cat/Literals.xml: Test string and numeric literals in XQuery.

Result: Correct: 66 Wrong: 0 Errors: 0 Total: 66 Skipped: 50

Failed tests:
TestnameDescriptionGotExpected
Literals003Test case where string literal contains a new line.
Query, XML-Input
line1 line2line1 line2
Literals004Test case where string literal contains a new line.
Query, XML-Input
line1 line2line1 line2
Literals016Test for valid double literal.
Query, XML-Input
65535032006.5535032E9
Literals017Test for valid double literal.
Query, XML-Input
6553503.26.5535032E6
Literals025Test for valid double literal.
Query, XML-Input
-6553503.2-6.5535032E6
Literals027Test for valid double literal.
Query, XML-Input
65535032006.5535032E9
Literals028Test for valid double literal.
Query, XML-Input
6553503.26.5535032E6
Literals062Test the escaping of the " (quotation) character in XQuery.
Query, XML-Input
""
Literals063Test the escaping of the ' (apostrophe) character in XQuery.
Query, XML-Input
''
Literals064Test the escaping of the ' (apostrophe) and " (quotation) characters in XQuery.
Query, XML-Input
He said, "I don't like it."He said, "I don't like it."
Literals065Test the escaping of the ' (apostrophe) and " (quotation) characters in XQuery.
Query, XML-Input
He said, "I don't like it."He said, "I don't like it."
K2-Literals-11Negative zero, as a double.
Query, XML-Input
0-0
K2-Literals-28Ensure that EOLs are normalized in string literals.
Query, XML-Input
a string literal a string literal
K2-Literals-39Ensure that EOLs are normalized in string literals, using single quotes.
Query, XML-Input
a string literal a string literal

fn:matches

cat/MatchesFunc.xml:

Result: Correct: 46 Wrong: 8 Errors: 0 Total: 54 Skipped: 26

Failed tests:
TestnameDescriptionGotExpected
fn-matches-30Two digits treated as back-reference
Query, XML-Input
truefalse
fn-matches-36Test for bug fix of 5348 in Errata for FO
Query, XML-Input
falsetrue
caselessmatch08Call of matches() with "i" flag and range subtraction.
Query, XML-Input
falsetrue
caselessmatch09Call of matches() with "i" flag and range subtraction.
Query, XML-Input
falsetrue
caselessmatch15Call of matches() with "i" flag and upper-case category.
Query, XML-Input
falsetrue
K2-MatchesFunc-1Whitespace in the regexp is collapsed.
Query, XML-Input
falsetrue
K2-MatchesFunc-5whitespace in the regexp is collapsed, and should therefore compile.
Query, XML-Input
falsetrue
K2-MatchesFunc-6whitespace in the regexp is collapsed completely, and should therefore compile and match.
Query, XML-Input
falsetrue

NameTest

cat/NameTest.xml: Tests in this group take the axes as a given and focus on the NodeTest syntax in XQuery 3.2.1.2. Includes explicit names, *, and the various kind tests that look like functions.

Result: Correct: 3 Wrong: 0 Errors: 0 Total: 3 Skipped: 47

Failed tests:
TestnameDescriptionGotExpected
NodeTest003Simple test for * node test.
Query, XML-Input
<Root> <Customers CustomerID="ALFKI"> <CompanyName>Alfreds Futterkiste</CompanyName> <ContactName>Maria Anders</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>030-0074321</Phone> <Fax>030-0076545</Fax> <FullAddress> <Address>Obere Str. 57</Address> <City>Berlin</City> <PostalCode>12209</PostalCode> <Country>Germany</Country> </FullAddress> </Customers> <Customers CustomerID="ANATR"> <CompanyName>Ana Trujillo Emparedados y helados</CompanyName> <ContactName>Ana Trujillo</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-4729</Phone> <Fax>(5) 555-3745</Fax> <FullAddress> <Address>Avda. de la Constitución 2222</Address> <City>México D.F.</City> <PostalCode>05021</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="ANTON"> <CompanyName>Antonio Moreno Taquería</CompanyName> <ContactName>Antonio Moreno</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-3932</Phone> <FullAddress> <Address>Mataderos 2312</Address> <City>México D.F.</City> <PostalCode>05023</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="AROUT"> <CompanyName>Around the Horn</CompanyName> <ContactName>Thomas Hardy</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>(171) 555-7788</Phone> <Fax>(171) 555-6750</Fax> <FullAddress> <Address>120 Hanover Sq.</Address> <City>London</City> <PostalCode>WA1 1DP</PostalCode> <Country>UK</Country> </FullAddress> </Customers> <Customers CustomerID="BERGS"> <CompanyName>Berglunds snabbköp</CompanyName> <ContactName>Christina Berglund</ContactName> <ContactTitle>Order Administrator</ContactTitle> <Phone>0921-12 34 65</Phone> <Fax>0921-12 34 67</Fax> <FullAddress> <Address>Berguvsvägen 8</Address> <City>Luleå</City> <PostalCode>S-958 22</PostalCode> <Country>Sweden</Country> </FullAddress> </Customers> <Customers CustomerID="BLAUS"> ...skipped 37174 characters...<Root> <Customers CustomerID="ALFKI"> <CompanyName>Alfreds Futterkiste</CompanyName> <ContactName>Maria Anders</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>030-0074321</Phone> <Fax>030-0076545</Fax> <FullAddress> <Address>Obere Str. 57</Address> <City>Berlin</City> <PostalCode>12209</PostalCode> <Country>Germany</Country> </FullAddress> </Customers> <Customers CustomerID="ANATR"> <CompanyName>Ana Trujillo Emparedados y helados</CompanyName> <ContactName>Ana Trujillo</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-4729</Phone> <Fax>(5) 555-3745</Fax> <FullAddress> <Address>Avda. de la Constitución 2222</Address> <City>México D.F.</City> <PostalCode>05021</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="ANTON"> <CompanyName>Antonio Moreno Taquería</CompanyName> <ContactName>Antonio Moreno</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-3932</Phone> <FullAddress> <Address>Mataderos 2312</Address> <City>México D.F.</City> <PostalCode>05023</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="AROUT"> <CompanyName>Around the Horn</CompanyName> <ContactName>Thomas Hardy</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>(171) 555-7788</Phone> <Fax>(171) 555-6750</Fax> <FullAddress> <Address>120 Hanover Sq.</Address> <City>London</City> <PostalCode>WA1 1DP</PostalCode> <Country>UK</Country> </FullAddress> </Customers> <Customers CustomerID="BERGS"> <CompanyName>Berglunds snabbköp</CompanyName> <ContactName>Christina Berglund</ContactName> <ContactTitle>Order Administrator</ContactTitle> <Phone>0921-12 34 65</Phone> <Fax>0921-12 34 67</Fax> <FullAddress> <Address>Berguvsvägen 8</Address> <City>Luleå</City> <PostalCode>S-958 22</PostalCode> <Country>Sweden</Country> ...skipped 38326 characters...
NodeTest004Simple test for . node test.
Query, XML-Input
<Root> <Customers CustomerID="ALFKI"> <CompanyName>Alfreds Futterkiste</CompanyName> <ContactName>Maria Anders</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>030-0074321</Phone> <Fax>030-0076545</Fax> <FullAddress> <Address>Obere Str. 57</Address> <City>Berlin</City> <PostalCode>12209</PostalCode> <Country>Germany</Country> </FullAddress> </Customers> <Customers CustomerID="ANATR"> <CompanyName>Ana Trujillo Emparedados y helados</CompanyName> <ContactName>Ana Trujillo</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-4729</Phone> <Fax>(5) 555-3745</Fax> <FullAddress> <Address>Avda. de la Constitución 2222</Address> <City>México D.F.</City> <PostalCode>05021</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="ANTON"> <CompanyName>Antonio Moreno Taquería</CompanyName> <ContactName>Antonio Moreno</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-3932</Phone> <FullAddress> <Address>Mataderos 2312</Address> <City>México D.F.</City> <PostalCode>05023</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="AROUT"> <CompanyName>Around the Horn</CompanyName> <ContactName>Thomas Hardy</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>(171) 555-7788</Phone> <Fax>(171) 555-6750</Fax> <FullAddress> <Address>120 Hanover Sq.</Address> <City>London</City> <PostalCode>WA1 1DP</PostalCode> <Country>UK</Country> </FullAddress> </Customers> <Customers CustomerID="BERGS"> <CompanyName>Berglunds snabbköp</CompanyName> <ContactName>Christina Berglund</ContactName> <ContactTitle>Order Administrator</ContactTitle> <Phone>0921-12 34 65</Phone> <Fax>0921-12 34 67</Fax> <FullAddress> <Address>Berguvsvägen 8</Address> <City>Luleå</City> <PostalCode>S-958 22</PostalCode> <Country>Sweden</Country> </FullAddress> </Customers> <Customers CustomerID="BLAUS"> ...skipped 37174 characters...<Root> <Customers CustomerID="ALFKI"> <CompanyName>Alfreds Futterkiste</CompanyName> <ContactName>Maria Anders</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>030-0074321</Phone> <Fax>030-0076545</Fax> <FullAddress> <Address>Obere Str. 57</Address> <City>Berlin</City> <PostalCode>12209</PostalCode> <Country>Germany</Country> </FullAddress> </Customers> <Customers CustomerID="ANATR"> <CompanyName>Ana Trujillo Emparedados y helados</CompanyName> <ContactName>Ana Trujillo</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-4729</Phone> <Fax>(5) 555-3745</Fax> <FullAddress> <Address>Avda. de la Constitución 2222</Address> <City>México D.F.</City> <PostalCode>05021</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="ANTON"> <CompanyName>Antonio Moreno Taquería</CompanyName> <ContactName>Antonio Moreno</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-3932</Phone> <FullAddress> <Address>Mataderos 2312</Address> <City>México D.F.</City> <PostalCode>05023</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="AROUT"> <CompanyName>Around the Horn</CompanyName> <ContactName>Thomas Hardy</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>(171) 555-7788</Phone> <Fax>(171) 555-6750</Fax> <FullAddress> <Address>120 Hanover Sq.</Address> <City>London</City> <PostalCode>WA1 1DP</PostalCode> <Country>UK</Country> </FullAddress> </Customers> <Customers CustomerID="BERGS"> <CompanyName>Berglunds snabbköp</CompanyName> <ContactName>Christina Berglund</ContactName> <ContactTitle>Order Administrator</ContactTitle> <Phone>0921-12 34 65</Phone> <Fax>0921-12 34 67</Fax> <FullAddress> <Address>Berguvsvägen 8</Address> <City>Luleå</City> <PostalCode>S-958 22</PostalCode> <Country>Sweden</Country> ...skipped 38326 characters...
NodeTest005Simple test for . and * node test.
Query, XML-Input
<Root> <Customers CustomerID="ALFKI"> <CompanyName>Alfreds Futterkiste</CompanyName> <ContactName>Maria Anders</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>030-0074321</Phone> <Fax>030-0076545</Fax> <FullAddress> <Address>Obere Str. 57</Address> <City>Berlin</City> <PostalCode>12209</PostalCode> <Country>Germany</Country> </FullAddress> </Customers> <Customers CustomerID="ANATR"> <CompanyName>Ana Trujillo Emparedados y helados</CompanyName> <ContactName>Ana Trujillo</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-4729</Phone> <Fax>(5) 555-3745</Fax> <FullAddress> <Address>Avda. de la Constitución 2222</Address> <City>México D.F.</City> <PostalCode>05021</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="ANTON"> <CompanyName>Antonio Moreno Taquería</CompanyName> <ContactName>Antonio Moreno</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-3932</Phone> <FullAddress> <Address>Mataderos 2312</Address> <City>México D.F.</City> <PostalCode>05023</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="AROUT"> <CompanyName>Around the Horn</CompanyName> <ContactName>Thomas Hardy</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>(171) 555-7788</Phone> <Fax>(171) 555-6750</Fax> <FullAddress> <Address>120 Hanover Sq.</Address> <City>London</City> <PostalCode>WA1 1DP</PostalCode> <Country>UK</Country> </FullAddress> </Customers> <Customers CustomerID="BERGS"> <CompanyName>Berglunds snabbköp</CompanyName> <ContactName>Christina Berglund</ContactName> <ContactTitle>Order Administrator</ContactTitle> <Phone>0921-12 34 65</Phone> <Fax>0921-12 34 67</Fax> <FullAddress> <Address>Berguvsvägen 8</Address> <City>Luleå</City> <PostalCode>S-958 22</PostalCode> <Country>Sweden</Country> </FullAddress> </Customers> <Customers CustomerID="BLAUS"> ...skipped 37174 characters...<Root> <Customers CustomerID="ALFKI"> <CompanyName>Alfreds Futterkiste</CompanyName> <ContactName>Maria Anders</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>030-0074321</Phone> <Fax>030-0076545</Fax> <FullAddress> <Address>Obere Str. 57</Address> <City>Berlin</City> <PostalCode>12209</PostalCode> <Country>Germany</Country> </FullAddress> </Customers> <Customers CustomerID="ANATR"> <CompanyName>Ana Trujillo Emparedados y helados</CompanyName> <ContactName>Ana Trujillo</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-4729</Phone> <Fax>(5) 555-3745</Fax> <FullAddress> <Address>Avda. de la Constitución 2222</Address> <City>México D.F.</City> <PostalCode>05021</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="ANTON"> <CompanyName>Antonio Moreno Taquería</CompanyName> <ContactName>Antonio Moreno</ContactName> <ContactTitle>Owner</ContactTitle> <Phone>(5) 555-3932</Phone> <FullAddress> <Address>Mataderos 2312</Address> <City>México D.F.</City> <PostalCode>05023</PostalCode> <Country>Mexico</Country> </FullAddress> </Customers> <Customers CustomerID="AROUT"> <CompanyName>Around the Horn</CompanyName> <ContactName>Thomas Hardy</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Phone>(171) 555-7788</Phone> <Fax>(171) 555-6750</Fax> <FullAddress> <Address>120 Hanover Sq.</Address> <City>London</City> <PostalCode>WA1 1DP</PostalCode> <Country>UK</Country> </FullAddress> </Customers> <Customers CustomerID="BERGS"> <CompanyName>Berglunds snabbköp</CompanyName> <ContactName>Christina Berglund</ContactName> <ContactTitle>Order Administrator</ContactTitle> <Phone>0921-12 34 65</Phone> <Fax>0921-12 34 67</Fax> <FullAddress> <Address>Berguvsvägen 8</Address> <City>Luleå</City> <PostalCode>S-958 22</PostalCode> <Country>Sweden</Country> ...skipped 38326 characters...

op:node-after

cat/NodeAfter.xml:

Result: Correct: 8 Wrong: 1 Errors: 0 Total: 9 Skipped: 17

Failed tests:
TestnameDescriptionGotExpected
nodeexpression44Evaluation of a Node expression With the operands/operator set with the following format: Single Node Element ">>" Sequence of single Element Node.
Query, XML-Input
truefalse

op:node-before

cat/NodeBefore.xml:

Result: Correct: 8 Wrong: 1 Errors: 0 Total: 9 Skipped: 17

Failed tests:
TestnameDescriptionGotExpected
nodeexpression28Evaluation of a Node expression With the operands/operator set with the following format: Single Node Element "<<" Sequence of single Element Node.
Query, XML-Input
falsetrue

fn:number

cat/NodeNumberFunc.xml:

Result: Correct: 56 Wrong: 1 Errors: 0 Total: 57 Skipped: 1

Failed tests:
TestnameDescriptionGotExpected
fn-numberint1args-1Evaluates the "number" function with the arguments set as follows: $arg = xs:int(lower bound).
Query, XML-Input
-2147483648-2.147483648E9
fn-numberint1args-2Evaluates the "number" function with the arguments set as follows: $arg = xs:int(mid range).
Query, XML-Input
-1873914410-1.87391441E9
fn-numberint1args-3Evaluates the "number" function with the arguments set as follows: $arg = xs:int(upper bound).
Query, XML-Input
21474836472.147483647E9
fn-numberintg1args-1Evaluates the "number" function with the arguments set as follows: $arg = xs:integer(lower bound).
Query, XML-Input
-1000000000000000000-1.0E18
fn-numberintg1args-3Evaluates the "number" function with the arguments set as follows: $arg = xs:integer(upper bound).
Query, XML-Input
10000000000000000001.0E18
fn-numberdec1args-1Evaluates the "number" function with the arguments set as follows: $arg = xs:decimal(lower bound).
Query, XML-Input
-1000000000000000000-1.0E18
fn-numberdec1args-3Evaluates the "number" function with the arguments set as follows: $arg = xs:decimal(upper bound).
Query, XML-Input
10000000000000000001.0E18
fn-numberdbl1args-1Evaluates the "number" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-numberdbl1args-3Evaluates the "number" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
fn-numberflt1args-3Evaluates the "number" function with the arguments set as follows: $arg = xs:float(upper bound).
Query, XML-Input
3.40282346638529E383.4028234663852885E38
fn-numberlng1args-1Evaluates the "number" function with the arguments set as follows: $arg = xs:long(lower bound).
Query, XML-Input
-92233720368547760-9.223372036854776E16
fn-numberlng1args-3Evaluates the "number" function with the arguments set as follows: $arg = xs:long(upper bound).
Query, XML-Input
922337203685477609.223372036854776E16
fn-numbernint1args-1Evaluates the "number" function with the arguments set as follows: $arg = xs:negativeInteger(lower bound).
Query, XML-Input
-1000000000000000000-1.0E18
fn-numberpint1args-3Evaluates the "number" function with the arguments set as follows: $arg = xs:positiveInteger(upper bound).
Query, XML-Input
10000000000000000001.0E18
fn-numberulng1args-2Evaluates the "number" function with the arguments set as follows: $arg = xs:unsignedLong(mid range).
Query, XML-Input
1307471086076746561.3074710860767466E17
fn-numbernpi1args-1Evaluates the "number" function with the arguments set as follows: $arg = xs:nonPositiveInteger(lower bound).
Query, XML-Input
-1000000000000000000-1.0E18
fn-numbernpi1args-2Evaluates the "number" function with the arguments set as follows: $arg = xs:nonPositiveInteger(mid range).
Query, XML-Input
-475688437271870464-4.7568843727187049E17
fn-numbernni1args-3Evaluates the "number" function with the arguments set as follows: $arg = xs:nonNegativeInteger(upper bound).
Query, XML-Input
10000000000000000001.0E18
K-NodeNumberFunc-13A test whose essence is: `string(number(xs:anyURI("1"))) eq "NaN"`.
Query, XML-Input
falsetrue

fn:root

cat/NodeRootFunc.xml:

Result: Correct: 2 Wrong: 0 Errors: 0 Total: 2 Skipped: 7

Failed tests:
TestnameDescriptionGotExpected
fn-root-14Evaluates the "fn:root" function with argument set to an element node, which is query from an xml file.
Query, XML-Input
<langs> <para xml:lang="en"/> <div xml:lang="en"><para>And now, and forever!</para></div> <para xml:lang="EN"/> <para xml:lang="en-us"/> </langs><langs> <para xml:lang="en"/> <div xml:lang="en"><para>And now, and forever!</para></div> <para xml:lang="EN"/> <para xml:lang="en-us"/> </langs>
fn-root-15Evaluates the "fn:root" function with argument set to an attribute node, which is query from an xml file.
Query, XML-Input
<langs> <para xml:lang="en"/> <div xml:lang="en"><para>And now, and forever!</para></div> <para xml:lang="EN"/> <para xml:lang="en-us"/> </langs><langs> <para xml:lang="en"/> <div xml:lang="en"><para>And now, and forever!</para></div> <para xml:lang="EN"/> <para xml:lang="en-us"/> </langs>

op:NOTATION-equal

cat/NotationEQSI.xml:

Result: Correct: 10 Wrong: 12 Errors: 0 Total: 22 Skipped: 0

Failed tests:
TestnameDescriptionGotExpected
Comp-notation-2Notation comparison.
Query, XML-Input
falsetrue
Comp-notation-5Notation comparison using "ne".
Query, XML-Input
truefalse
Comp-notation-8Evaluation of notation comparison using "eq" and used with fn:not - returns true.
Query, XML-Input
truefalse
Comp-notation-10Evaluation of notation comparison using "ne" and used with fn:not - returns false.
Query, XML-Input
falsetrue
Comp-notation-11Evaluation of notation comparison using "eq" and used with fn:boolean function.
Query, XML-Input
falsetrue
Comp-notation-12Evaluation of notation comparison using "ne" and used with fn:boolean function.
Query, XML-Input
truefalse
Comp-notation-13Evaluation of notation comparison using "eq" used in boolean expression with "fn:true" and "and".
Query, XML-Input
falsetrue
Comp-notation-14Evaluation of notation comparison using "ne" used in boolean expression with "fn:true" and "and".
Query, XML-Input
truefalse
Comp-notation-19Evaluation of notation comparison using "eq" used in boolean expression with "fn:false" and "or".
Query, XML-Input
falsetrue
Comp-notation-20Evaluation of notation comparison using "ne" used in boolean expression with "fn:false" and "or".
Query, XML-Input
truefalse
Comp-notation-21Evaluation of expression for notation comparison using "eq" ar argument to "fn:false" function.
Query, XML-Input
falsetrue
Comp-notation-22Evaluation of expression for notation comparison using "ne" ar argument to "fn:false" function.
Query, XML-Input
truefalse

op:numeric-add

cat/NumericAdd.xml:

Result: Correct: 99 Wrong: 0 Errors: 0 Total: 99 Skipped: 32

Failed tests:
TestnameDescriptionGotExpected
op-numeric-adddbl2args-1Evaluates the "op:numeric-add" operator with the arguments set as follows: $arg1 = xs:double(mid range) $arg2 = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
op-numeric-adddbl2args-3Evaluates the "op:numeric-add" operator with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(mid range).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308

op:numeric-divide

cat/NumericDivide.xml:

Result: Correct: 98 Wrong: 2 Errors: 0 Total: 100 Skipped: 16

Failed tests:
TestnameDescriptionGotExpected
op-numeric-divideintg2args-2Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:integer(mid range) $arg2 = xs:integer(lower bound).
Query, XML-Input
-0.830993497117024-0.830993497117024305
op-numeric-divideintg2args-4Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:integer(lower bound) $arg2 = xs:integer(mid range).
Query, XML-Input
-1.20337885130186-1.203378851301859738
op-numeric-dividedec2args-2Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:decimal(mid range) $arg2 = xs:decimal(lower bound).
Query, XML-Input
-0.617375191608515-0.61737519160851484
op-numeric-dividedec2args-4Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:decimal(lower bound) $arg2 = xs:decimal(mid range).
Query, XML-Input
-1.619760582531007-1.619760582531006901
op-numeric-dividedbl2args-2Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:double(mid range) $arg2 = xs:double(lower bound).
Query, XML-Input
0-0
op-numeric-divideflt2args-2Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:float(mid range) $arg2 = xs:float(lower bound).
Query, XML-Input
0-0
op-numeric-dividelng2args-2Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:long(mid range) $arg2 = xs:long(lower bound).
Query, XML-Input
0.5114784702877020.51147847028770199
op-numeric-dividelng2args-4Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:long(lower bound) $arg2 = xs:long(mid range).
Query, XML-Input
1.9551165065413391.95511650654133906
op-numeric-dividenint2args-2Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:negativeInteger(mid range) $arg2 = xs:negativeInteger(lower bound).
Query, XML-Input
0.2970140759990970.297014075999096793
op-numeric-dividenint2args-3Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:negativeInteger(upper bound) $arg2 = xs:negativeInteger(lower bound).
Query, XML-Input
1E-180.000000000000000001
op-numeric-dividenint2args-4Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:negativeInteger(lower bound) $arg2 = xs:negativeInteger(mid range).
Query, XML-Input
3.3668437990226463.366843799022646172
op-numeric-dividepint2args-4Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:positiveInteger(lower bound) $arg2 = xs:positiveInteger(mid range).
Query, XML-Input
2E-170.00000000000000002
op-numeric-dividepint2args-5Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:positiveInteger(lower bound) $arg2 = xs:positiveInteger(upper bound).
Query, XML-Input
1E-180.000000000000000001
op-numeric-dividenpi2args-2Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:nonPositiveInteger(mid range) $arg2 = xs:nonPositiveInteger(lower bound).
Query, XML-Input
0.475688437271870.47568843727187049
op-numeric-dividenpi2args-4Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:nonPositiveInteger(lower bound) $arg2 = xs:nonPositiveInteger(mid range).
Query, XML-Input
2.1022163282654472.102216328265447024
op-numeric-dividesht2args-5Evaluates the "op:numeric-divide" operator with the arguments set as follows: $arg1 = xs:short(lower bound) $arg2 = xs:short(upper bound).
Query, XML-Input
-1.000030518509476-1.000030518509475997
K2-NumericDivide-15Divide +3 with -0e0.
Query, XML-Input
INF-INF
K2-NumericDivide-16Divide -3 with -0e0.
Query, XML-Input
-INFINF

op:numeric-mod

cat/NumericMod.xml:

Result: Correct: 98 Wrong: 0 Errors: 0 Total: 98 Skipped: 15

Failed tests:
TestnameDescriptionGotExpected
op-numeric-moddbl2args-1Evaluates the "op:numeric-mod" operator with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(upper bound).
Query, XML-Input
0-0
op-numeric-modflt2args-1Evaluates the "op:numeric-mod" operator with the arguments set as follows: $arg1 = xs:float(lower bound) $arg2 = xs:float(upper bound).
Query, XML-Input
0-0
K2-NumericMod-3Divisor is small negative xs:double.
Query, XML-Input
0-0
K2-NumericMod-4Divisor is small negative xs:float.
Query, XML-Input
0-0
K2-NumericMod-24Left op is xs:double/-0.
Query, XML-Input
0-0
K2-NumericMod-36Left op is xs:float/-0.
Query, XML-Input
0-0
K2-NumericMod-39Left op is xs:float/-0.
Query, XML-Input
0-0
K2-NumericMod-41Left op is xs:double/-0.
Query, XML-Input
0-0
K2-NumericMod-43Left op is xs:float/-0 with INF as divisor.
Query, XML-Input
0-0
K2-NumericMod-45Left op is xs:double/-0 with INF as divisor.
Query, XML-Input
0-0
K2-NumericMod-47Left op is xs:float/-0 with -INF as divisor.
Query, XML-Input
0-0
K2-NumericMod-49Left op is xs:double/-0 with -INF as divisor.
Query, XML-Input
0-0
K2-NumericMod-52Trival mod with xs:double(#2).
Query, XML-Input
0-0
K2-NumericMod-54Trival mod with xs:double(#4).
Query, XML-Input
0-0
K2-NumericMod-56Trival mod with xs:float(#2).
Query, XML-Input
0-0
K2-NumericMod-58Trival mod with xs:float(#4).
Query, XML-Input
0-0

op:numeric-multiply

cat/NumericMultiply.xml:

Result: Correct: 64 Wrong: 0 Errors: 0 Total: 64 Skipped: 9

Failed tests:
TestnameDescriptionGotExpected
op-numeric-multiplydbl2args-1Evaluates the "op:numeric-multiply" operator with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(lower bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
op-numeric-multiplydbl2args-2Evaluates the "op:numeric-multiply" operator with the arguments set as follows: $arg1 = xs:double(mid range) $arg2 = xs:double(lower bound).
Query, XML-Input
0-0
op-numeric-multiplydbl2args-3Evaluates the "op:numeric-multiply" operator with the arguments set as follows: $arg1 = xs:double(upper bound) $arg2 = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
op-numeric-multiplydbl2args-4Evaluates the "op:numeric-multiply" operator with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(mid range).
Query, XML-Input
0-0
op-numeric-multiplydbl2args-5Evaluates the "op:numeric-multiply" operator with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(upper bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
op-numeric-multiplyflt2args-2Evaluates the "op:numeric-multiply" operator with the arguments set as follows: $arg1 = xs:float(mid range) $arg2 = xs:float(lower bound).
Query, XML-Input
0-0
op-numeric-multiplyflt2args-4Evaluates the "op:numeric-multiply" operator with the arguments set as follows: $arg1 = xs:float(lower bound) $arg2 = xs:float(mid range).
Query, XML-Input
0-0

op:numeric-subtract

cat/NumericSubtract.xml:

Result: Correct: 93 Wrong: 0 Errors: 0 Total: 93 Skipped: 10

Failed tests:
TestnameDescriptionGotExpected
op-numeric-subtractdbl2args-2Evaluates the "op:numeric-subtract" operator with the arguments set as follows: $arg1 = xs:double(mid range) $arg2 = xs:double(lower bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
op-numeric-subtractdbl2args-3Evaluates the "op:numeric-subtract" operator with the arguments set as follows: $arg1 = xs:double(upper bound) $arg2 = xs:double(lower bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
op-numeric-subtractdbl2args-4Evaluates the "op:numeric-subtract" operator with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(mid range).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
op-numeric-subtractdbl2args-5Evaluates the "op:numeric-subtract" operator with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(upper bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308

op:numeric-unary-minus

cat/NumericUnaryMinus.xml:

Result: Correct: 59 Wrong: 0 Errors: 0 Total: 59 Skipped: 1

Failed tests:
TestnameDescriptionGotExpected
op-numeric-unary-minusdbl1args-1Evaluates the "op:numeric-unary-minus" operator with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
op-numeric-unary-minusdbl1args-2Evaluates the "op:numeric-unary-minus" operator with the arguments set as follows: $arg = xs:double(mid range).
Query, XML-Input
0-0
op-numeric-unary-minusdbl1args-3Evaluates the "op:numeric-unary-minus" operator with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
op-numeric-unary-minusflt1args-2Evaluates the "op:numeric-unary-minus" operator with the arguments set as follows: $arg = xs:float(mid range).
Query, XML-Input
0-0
K2-NumericUnaryMinus-1Operand is constructor function for xs:double.
Query, XML-Input
0-0
K2-NumericUnaryMinus-2Operand is constructor function for xs:float.
Query, XML-Input
0-0

op:numeric-unary-plus

cat/NumericUnaryPlus.xml:

Result: Correct: 51 Wrong: 0 Errors: 0 Total: 51 Skipped: 1

Failed tests:
TestnameDescriptionGotExpected
op-numeric-unary-plusdbl1args-1Evaluates the "op:numeric-unary-plus" operator with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
op-numeric-unary-plusdbl1args-3Evaluates the "op:numeric-unary-plus" operator with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308

preceding-sibling Axis

cat/preceding-siblingAxis.xml:

Result: Correct: 20 Wrong: 0 Errors: 0 Total: 20 Skipped: 1

Failed tests:
TestnameDescriptionGotExpected
unabbreviatedSyntax-25Evaluates unabbreviated syntax. Evaluate "preceding-sibling::employee[fn:position() = 1]". Selects the previous employee sibling of the context node.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>

Predicates

cat/Predicates.xml:

Result: Correct: 37 Wrong: 0 Errors: 0 Total: 37 Skipped: 6

Failed tests:
TestnameDescriptionGotExpected
predicates-17Evaluation of a simple predicate that uses the "eq" operator.
Query, XML-Input
<employee name="Jane Doe 11" gender="female"> <empnum>E4</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="Jane Doe 11" gender="female"> <empnum>E4</empnum> <pnum>P2</pnum> <hours>20</hours> </employee>
predicates-24Evaluation of a simple predicate that uses the "!=" operator.
Query, XML-Input
<employee name="Jane Doe 7" gender="female"> <empnum>E2</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="John Doe 8" gender="male"> <empnum>E2</empnum> <pnum>P2</pnum> <hours>80</hours> </employee><employee name="Jane Doe 9" gender="female"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="John Doe 10" gender="male"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="Jane Doe 7" gender="female"> <empnum>E2</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="John Doe 8" gender="male"> <empnum>E2</empnum> <pnum>P2</pnum> <hours>80</hours> </employee><employee name="Jane Doe 9" gender="female"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="John Doe 10" gender="male"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee>

fn:round-half-to-even

cat/RoundEvenFunc.xml:

Result: Correct: 53 Wrong: 0 Errors: 0 Total: 53 Skipped: 7

Failed tests:
TestnameDescriptionGotExpected
K2-RoundEvenFunc-9Invoked fn:round-half-to-even() on xs:double -0.
Query, XML-Input
0-0
K2-RoundEvenFunc-10Invoked fn:round-half-to-even() on xs:float -0.
Query, XML-Input
0-0

fn:round

cat/RoundFunc.xml:

Result: Correct: 224 Wrong: 0 Errors: 0 Total: 224 Skipped: 2

Failed tests:
TestnameDescriptionGotExpected
fn-rounddbl1args-1Evaluates the "round" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-rounddbl1args-3Evaluates the "round" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
K2-RoundFunc-16Invoke on xs:double -0.
Query, XML-Input
0-0
K2-RoundFunc-20Invoke on xs:float -0.
Query, XML-Input
0-0
K2-RoundFunc-25Invoke on -0.01, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-26Invoke on -0.01, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-29Invoke on -0.04, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-30Invoke on -0.04, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-33Invoke on -0.05, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-34Invoke on -0.05, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-37Invoke on -0.06, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-38Invoke on -0.06, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-41Invoke on -0.09, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-42Invoke on -0.09, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-45Invoke on -0.00, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-46Invoke on -0.00, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-49Invoke on -0.11, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-50Invoke on -0.11, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-53Invoke on -0.14, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-54Invoke on -0.14, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-57Invoke on -0.15, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-58Invoke on -0.15, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-61Invoke on -0.16, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-62Invoke on -0.16, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-65Invoke on -0.19, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-66Invoke on -0.19, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-69Invoke on -0.10, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-70Invoke on -0.10, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-73Invoke on -0.41, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-74Invoke on -0.41, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-77Invoke on -0.44, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-78Invoke on -0.44, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-81Invoke on -0.45, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-82Invoke on -0.45, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-85Invoke on -0.46, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-86Invoke on -0.46, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-89Invoke on -0.49, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-90Invoke on -0.49, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-93Invoke on -0.40, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-94Invoke on -0.40, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-117Invoke on -0.50, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-118Invoke on -0.50, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-169Invoke on -0.101, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-170Invoke on -0.101, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-173Invoke on -0.104, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-174Invoke on -0.104, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-177Invoke on -0.105, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-178Invoke on -0.105, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-181Invoke on -0.106, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-182Invoke on -0.106, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-185Invoke on -0.109, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-186Invoke on -0.109, type xs:double.
Query, XML-Input
0-0
K2-RoundFunc-189Invoke on -0.100, type xs:float.
Query, XML-Input
0-0
K2-RoundFunc-190Invoke on -0.100, type xs:double.
Query, XML-Input
0-0

fn:avg

cat/SeqAVGFunc.xml:

Result: Correct: 170 Wrong: 1 Errors: 0 Total: 171 Skipped: 53

Failed tests:
TestnameDescriptionGotExpected
fn-avgdbl1args-1Evaluates the "avg" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-avgdbl1args-3Evaluates the "avg" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
fn-avgintg2args-2Evaluates the "avg" function with the arguments set as follows: $arg1 = xs:integer(mid range) $arg2 = xs:integer(lower bound).
Query, XML-Input
-8.450325144148785E16-84503251441487847.5
fn-avgintg2args-4Evaluates the "avg" function with the arguments set as follows: $arg1 = xs:integer(lower bound) $arg2 = xs:integer(mid range).
Query, XML-Input
-8.450325144148785E16-84503251441487847.5
fn-avgnpi2args-2Evaluates the "avg" function with the arguments set as follows: $arg1 = xs:nonPositiveInteger(mid range) $arg2 = xs:nonPositiveInteger(lower bound).
Query, XML-Input
-7.378442186359352E17-737844218635935244.5
fn-avgnpi2args-3Evaluates the "avg" function with the arguments set as follows: $arg1 = xs:nonPositiveInteger(upper bound) $arg2 = xs:nonPositiveInteger(lower bound).
Query, XML-Input
-5E17-499999999999999999.5
fn-avgnpi2args-4Evaluates the "avg" function with the arguments set as follows: $arg1 = xs:nonPositiveInteger(lower bound) $arg2 = xs:nonPositiveInteger(mid range).
Query, XML-Input
-7.378442186359352E17-737844218635935244.5
fn-avgnpi2args-5Evaluates the "avg" function with the arguments set as follows: $arg1 = xs:nonPositiveInteger(lower bound) $arg2 = xs:nonPositiveInteger(upper bound).
Query, XML-Input
-5E17-499999999999999999.5
fn-avgnni2args-2Evaluates the "avg" function with the arguments set as follows: $arg1 = xs:nonNegativeInteger(mid range) $arg2 = xs:nonNegativeInteger(lower bound).
Query, XML-Input
1.519422729957323E17151942272995732263.5
fn-avgnni2args-3Evaluates the "avg" function with the arguments set as follows: $arg1 = xs:nonNegativeInteger(upper bound) $arg2 = xs:nonNegativeInteger(lower bound).
Query, XML-Input
5E17499999999999999999.5
fn-avgnni2args-4Evaluates the "avg" function with the arguments set as follows: $arg1 = xs:nonNegativeInteger(lower bound) $arg2 = xs:nonNegativeInteger(mid range).
Query, XML-Input
1.519422729957323E17151942272995732263.5
fn-avgnni2args-5Evaluates the "avg" function with the arguments set as follows: $arg1 = xs:nonNegativeInteger(lower bound) $arg2 = xs:nonNegativeInteger(upper bound).
Query, XML-Input
5E17499999999999999999.5
fn-avg-mix-args-021Arg: seq of double,integer.
Query, XML-Input
-500000000000000000-5.0E17
fn-avg-mix-args-023Arg: seq of double,integer.
Query, XML-Input
-500000000000000000-5.0E17
fn-avg-4Test fn:avg on a sequence of xs:dayTimeDuration arguments.
Query, XML-Input
PT5H30M0.000295SPT5H30M

fn:collection

cat/SeqCollectionFunc.xml:

Result: Correct: 0 Wrong: 5 Errors: 0 Total: 5 Skipped: 6

Failed tests:
TestnameDescriptionGotExpected
fn-collection-4Count the number of nodes in the collection.
Query, XML-Input
02
fn-collection-4dCount the number of nodes in the collection.
Query, XML-Input
02
fn-collection-5Count the number of nodes in the collection.
Query, XML-Input
03
fn-collection-5dCount the number of nodes in the collection.
Query, XML-Input
03
fn-collection-8Return the first title element in each document.
Query, XML-Input
<title>TCP/IP Illustrated</title><title>Data on the Web</title>

fn:distinct-values

cat/SeqDistinctValuesFunc.xml:

Result: Correct: 72 Wrong: 6 Errors: 0 Total: 78 Skipped: 8

Failed tests:
TestnameDescriptionGotExpected
fn-distinct-valuesdbl1args-1Evaluates the "distinct-values" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-distinct-valuesdbl1args-3Evaluates the "distinct-values" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
fn-distinct-values-mixed-args-001Arg: sequence of integer and decimal.
Query, XML-Input
1 22 1
fn-distinct-values-mixed-args-005Arg: sequence of integer and double.
Query, XML-Input
0 11 0
fn-distinct-values-mixed-args-010Arg: sequence of decimal.
Query, XML-Input
1.2 1.21.2000000000000001 1.2
fn-distinct-values-mixed-args-018Arg: sequence of float and float.
Query, XML-Input
-INF INFINF -INF
fn-distinct-values-mixed-args-024Arg: sequence of double and double.
Query, XML-Input
-INF INFINF -INF
fn-distinct-values-mixed-args-028Arg: sequence of string.
Query, XML-Input
-INF INFINF -INF

fn:doc-available

cat/SeqDocAvailableFunc.xml:

Result: Correct: 4 Wrong: 1 Errors: 0 Total: 5 Skipped: 3

Failed tests:
TestnameDescriptionGotExpected
fn-doc-available-3Open an XML document that has an xml:id attribute duplicated.
Query, XML-Input
truefalse

fn:doc

cat/SeqDocFunc.xml:

Result: Correct: 15 Wrong: 1 Errors: 3 Total: 19 Skipped: 15

Failed tests:
TestnameDescriptionGotExpected
fn-doc-25Open a file with corner case Unicode codepoints.
Query, XML-Input
Error:Data not allowed at root level: ]> <เจมส์></เจมส์>
fn-doc-26Open a file with corner case Unicode codepoints.
Query, XML-Input
Error:The tag <> was closed, but the latest opened was <@!*L> (url: /home/benito/xxtest/TestSources/HighUnicode2.xml)<เจมส์/>
fn-doc-29A namespace declared with a namespace declaration, as well as in the internal subset.
Query, XML-Input
<!--ATTLIST svg xmlns CDATA #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> ]> <svg xmlns="http://www.w3.org/2000/svg"/> --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"/>
fn-doc-34A moderately complex query.
Query, XML-Input
Error:Failed to find document: /home/benito/xxtest/TestSources/Char010D.xml<project čreated-by="{{build_number}}"/>

fn:exactly-one

cat/SeqExactlyOneFunc.xml:

Result: Correct: 41 Wrong: 0 Errors: 0 Total: 41 Skipped: 9

Failed tests:
TestnameDescriptionGotExpected
fn-exactly-onedbl1args-1Evaluates the "exactly-one" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-exactly-onedbl1args-3Evaluates the "exactly-one" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308

Cast

cat/SeqExprCast.xml:

Result: Correct: 1355 Wrong: 1 Errors: 3 Total: 1359 Skipped: 1350

Failed tests:
TestnameDescriptionGotExpected
casthc12Evaluation of an xs:double value casted as an xs:double.
Query, XML-Input
12674323300000001.26743233E15
casthc13Evaluation of an xs:double value casted as an xs:string.
Query, XML-Input
12674323300000001.26743233E15
casthc17Evaluation of an xs:decimal value casted as an xs:float.
Query, XML-Input
126789681.2678968E7
casthc18Evaluation of an xs:decimal value casted as an xs:double.
Query, XML-Input
12678967.5432331.2678967543233E7
casthc24Evaluation of an xs:integer value casted as an xs:double.
Query, XML-Input
126789675432331.2678967543233E13
CastAs007Try casting xs:untypedAtomic(-0.0E0) to xs:float.
Query, XML-Input
0-0
CastAs009Try casting xs:untypedAtomic(1e-5) to xs:float.
Query, XML-Input
1E-50.00001
CastAs010Try casting xs:untypedAtomic(-10000000) to xs:float.
Query, XML-Input
-10000000-1.0E7
CastAs012Try casting xs:untypedAtomic(-0.0E0) to xs:double.
Query, XML-Input
0-0
CastAs015Try casting xs:untypedAtomic(-10000000) to xs:double.
Query, XML-Input
-10000000-1.0E7
CastAs089Try casting xs:string(-0.0E0) to xs:float.
Query, XML-Input
0-0
CastAs091Try casting xs:string(1e-5) to xs:float.
Query, XML-Input
1E-50.00001
CastAs092Try casting xs:string(-10000000) to xs:float.
Query, XML-Input
-10000000-1.0E7
CastAs094Try casting xs:string(-0.0E0) to xs:double.
Query, XML-Input
0-0
CastAs097Try casting xs:string(-10000000) to xs:double.
Query, XML-Input
-10000000-1.0E7
CastAs167Try casting xs:float(-0.0E0) to xs:string.
Query, XML-Input
0-0
CastAs172Try casting xs:float(-0.0E0) to xs:double.
Query, XML-Input
0-0
CastAs201Try casting xs:double(1e8) to xs:string.
Query, XML-Input
1000000001.0E8
CastAs203Try casting xs:double(-0.0E0) to xs:float.
Query, XML-Input
0-0
K-SeqExprCast-127A test whose essence is: `xs:string(xs:base64Binary("aaa a")) eq "aaaa"`.
Query, XML-Input
falsetrue
K-SeqExprCast-1265An empty string is a valid lexical representation of xs:base64Binary.
Query, XML-Input
Error:Invalid stream operationtrue
K2-SeqExprCast-214Cast an xs:int value to xs:double.
Query, XML-Input
-1873914410-1.87391441E9
K2-SeqExprCast-420The whitespace facet for xs:anyURI is collapse.
Query, XML-Input
Error:Invalid value: http://example.com/ foo.xml for type anyURIhttp://example.com/ foo.xml
K2-SeqExprCast-504Use a series of corner case Unicode codepoints.
Query, XML-Input
Error:Invalid value: เจมส์ for type NCNameเจมส์

fn:id

cat/SeqIDFunc.xml:

Result: Correct: 8 Wrong: 13 Errors: 0 Total: 21 Skipped: 3

Failed tests:
TestnameDescriptionGotExpected
fn-id-dtd-5Evaluation of fn:id with given IDREF matching a single element. This test uses a DTD.
Query, XML-Input
<elementwithid-1 anId="id1"/>
fn-id-dtd-7Evaluation of fn:id with given IDREF matches same element (Eliminates duplicates). This test uses a DTD.
Query, XML-Input
<elementwithid-2 anId="id2"/>
fn-id-dtd-8Evaluation of fn:id with multiple IDREF matching more than one element (Eliminates duplicates). This test uses a DTD.
Query, XML-Input
<elementwithid-1 anId="id1"/><elementwithid-2 anId="id2"/>
fn-id-dtd-9Evaluation of fn:id with multiple IDREF, but only one matching element. This test uses a DTD.
Query, XML-Input
<elementwithid-1 anId="id1"/>
fn-id-dtd-12Evaluation of fn:id function, where first argument is given as part of fn:substring function. This test uses a DTD.
Query, XML-Input
<elementwithid-3 anId="id3"/>
fn-id-dtd-13Evaluation of fn:id, where the same IDREF makes reference to the same element. This test uses a DTD.
Query, XML-Input
<elementwithid-4 anId="id4"/>
fn-id-dtd-15Evaluation of fn:id for which all members of the IDREF list having the same value. This test uses a DTD.
Query, XML-Input
<elementwithid-1 anId="id1"/>
fn-id-dtd-16Evaluation of fn:id for which all members of the IDREF list having the same value (but different cases). This test uses a DTD.
Query, XML-Input
<elementwithid-1 anId="id1"/>
fn-id-dtd-17Evaluation of fn:id for which the give IDREF uses the lower-case function. This test uses a DTD.
Query, XML-Input
<elementwithid-1 anId="id1"/>
fn-id-dtd-18Evaluation of fn:id for which the give IDREF uses the upper-case function. This test uses a DTD.
Query, XML-Input
<elementwithid-6 anId="ID5"/>
fn-id-dtd-19Evaluation of fn:id for which the give IDREF uses the fn:concat function. This test uses a DTD.
Query, XML-Input
<elementwithid-1 anId="id1"/>
fn-id-dtd-20Evaluation of fn:id for which the give IDREF uses the xs:string function. This test uses a DTD.
Query, XML-Input
<elementwithid-1 anId="id1"/>
fn-id-dtd-21Evaluation of fn:id for which the give IDREF uses the fn:string-join function. This test uses a DTD.
Query, XML-Input
<elementwithid-1 anId="id1"/>

fn:idref

cat/SeqIDREFFunc.xml:

Result: Correct: 3 Wrong: 3 Errors: 0 Total: 6 Skipped: 3

Failed tests:
TestnameDescriptionGotExpected
fn-idref-dtd-12Evaluation of fn:idref used as ar argument to function fn:node-name(). This test uses a DTD.
Query, XML-Input
anIdRef
fn-idref-dtd-13Evaluation of fn:idref used as part of a node expression ("is" operand). Compare same elements. This test uses a DTD.
Query, XML-Input
true
fn-idref-dtd-14Evaluation of fn:idref used as part of a node expression ("is" operand). Compare different elements. This test uses a DTD.
Query, XML-Input
false

fn:index-of

cat/SeqIndexOfFunc.xml:

Result: Correct: 40 Wrong: 1 Errors: 0 Total: 41 Skipped: 6

Failed tests:
TestnameDescriptionGotExpected
fn-indexof-mix-args-013Arg1: Sequence of decimal, arg2: decimal.
Query, XML-Input
1

op:intersect

cat/SeqIntersect.xml:

Result: Correct: 14 Wrong: 0 Errors: 0 Total: 14 Skipped: 4

Failed tests:
TestnameDescriptionGotExpected
fn-intersect-node-args-011Arg: comment node and node.
Query, XML-Input
<book year="1994"> <title>TCP/IP Illustrated</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price> 65.95</price> </book><book year="1992"> <title>Advanced Programming in the Unix environment</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price>65.95</price> </book><book year="2000"> <title>Data on the Web</title> <author><last>Abiteboul</last><first>Serge</first></author> <author><last>Buneman</last><first>Peter</first></author> <author><last>Suciu</last><first>Dan</first></author> <publisher>Morgan Kaufmann Publishers</publisher> <price> 39.95</price> </book><book year="1999"> <title>The Economics of Technology and Content for Digital TV</title> <editor> <last>Gerbarg</last><first>Darcy</first> <affiliation>CITI</affiliation> </editor> <publisher>Kluwer Academic Publishers</publisher> <price>129.95</price> </book><book year="1994"> <title>TCP/IP Illustrated</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price> 65.95</price> </book><book year="1992"> <title>Advanced Programming in the Unix environment</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price>65.95</price> </book><book year="2000"> <title>Data on the Web</title> <author><last>Abiteboul</last><first>Serge</first></author> <author><last>Buneman</last><first>Peter</first></author> <author><last>Suciu</last><first>Dan</first></author> <publisher>Morgan Kaufmann Publishers</publisher> <price> 39.95</price> </book><book year="1999"> <title>The Economics of Technology and Content for Digital TV</title> <editor> <last>Gerbarg</last><first>Darcy</first> <affiliation>CITI</affiliation> </editor> <publisher>Kluwer Academic Publishers</publisher> <price>129.95</price> </book>

fn:max

cat/SeqMAXFunc.xml:

Result: Correct: 159 Wrong: 0 Errors: 0 Total: 159 Skipped: 18

Failed tests:
TestnameDescriptionGotExpected
fn-maxdbl1args-1Evaluates the "max" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-maxdbl1args-3Evaluates the "max" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
fn-maxdbl2args-1Evaluates the "max" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-maxdbl2args-3Evaluates the "max" function with the arguments set as follows: $arg1 = xs:double(upper bound) $arg2 = xs:double(lower bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
fn-maxdbl2args-5Evaluates the "max" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
fn-max-2Evaluates type promotion with the fn:max function.
Query, XML-Input
50000000005.0E9

fn:min

cat/SeqMINFunc.xml:

Result: Correct: 159 Wrong: 0 Errors: 0 Total: 159 Skipped: 18

Failed tests:
TestnameDescriptionGotExpected
fn-mindbl1args-1Evaluates the "min" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-mindbl1args-3Evaluates the "min" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
fn-mindbl2args-1Evaluates the "min" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-mindbl2args-2Evaluates the "min" function with the arguments set as follows: $arg1 = xs:double(mid range) $arg2 = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-mindbl2args-3Evaluates the "min" function with the arguments set as follows: $arg1 = xs:double(upper bound) $arg2 = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-mindbl2args-4Evaluates the "min" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(mid range).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-mindbl2args-5Evaluates the "min" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(upper bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-min-2Evaluates type promotion and the fn:min function.
Query, XML-Input
50000005.0E6

fn:one-or-more

cat/SeqOneOrMoreFunc.xml:

Result: Correct: 44 Wrong: 0 Errors: 0 Total: 44 Skipped: 5

Failed tests:
TestnameDescriptionGotExpected
fn-one-or-moredbl1args-1Evaluates the "one-or-more" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-one-or-moredbl1args-3Evaluates the "one-or-more" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308

fn:reverse

cat/SeqReverseFunc.xml:

Result: Correct: 54 Wrong: 0 Errors: 0 Total: 54 Skipped: 8

Failed tests:
TestnameDescriptionGotExpected
fn-reversedbl1args-1Evaluates the "reverse" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-reversedbl1args-3Evaluates the "reverse" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308

fn:sum

cat/SeqSUMFunc.xml:

Result: Correct: 194 Wrong: 2 Errors: 0 Total: 196 Skipped: 14

Failed tests:
TestnameDescriptionGotExpected
fn-sumdbl1args-1Evaluates the "sum" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-sumdbl1args-3Evaluates the "sum" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308
fn-sumdbl2args-1Evaluates the "sum" function with the arguments set as follows: $arg1 = xs:double(mid range) $arg2 = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-sumdbl2args-3Evaluates the "sum" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(mid range).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-sumint3args-1Evaluates the "sum" function with the arguments set as follows: $arg1 = xs:int(mid range) $arg2 = xs:int(lower bound) $zero = xs:int(lower bound).
Query, XML-Input
1873914410-2421052886
fn-sumdbl3args-2Evaluates the "sum" function with the arguments set as follows: $arg1 = xs:double(upper bound) $arg2 = xs:double(lower bound) $zero = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-sumdbl3args-3Evaluates the "sum" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(mid range) $zero = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-sumdbl3args-4Evaluates the "sum" function with the arguments set as follows: $arg1 = xs:double(lower bound) $arg2 = xs:double(upper bound) $zero = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-sumsht3args-1Evaluates the "sum" function with the arguments set as follows: $arg1 = xs:short(mid range) $arg2 = xs:short(lower bound) $zero = xs:short(lower bound).
Query, XML-Input
5324-60212

op:union

cat/SeqUnion.xml:

Result: Correct: 15 Wrong: 0 Errors: 0 Total: 15 Skipped: 4

Failed tests:
TestnameDescriptionGotExpected
fn-union-node-args-002Arg: incorrect nodes.
Query, XML-Input
<book year="1994"> <title>TCP/IP Illustrated</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price> 65.95</price> </book><title>TCP/IP Illustrated</title><book year="1992"> <title>Advanced Programming in the Unix environment</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price>65.95</price> </book><title>Advanced Programming in the Unix environment</title><book year="2000"> <title>Data on the Web</title> <author><last>Abiteboul</last><first>Serge</first></author> <author><last>Buneman</last><first>Peter</first></author> <author><last>Suciu</last><first>Dan</first></author> <publisher>Morgan Kaufmann Publishers</publisher> <price> 39.95</price> </book><title>Data on the Web</title><book year="1999"> <title>The Economics of Technology and Content for Digital TV</title> <editor> <last>Gerbarg</last><first>Darcy</first> <affiliation>CITI</affiliation> </editor> <publisher>Kluwer Academic Publishers</publisher> <price>129.95</price> </book><title>The Economics of Technology and Content for Digital TV</title><book year="1994"> <title>TCP/IP Illustrated</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price> 65.95</price> </book><title>TCP/IP Illustrated</title><book year="1992"> <title>Advanced Programming in the Unix environment</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price>65.95</price> </book><title>Advanced Programming in the Unix environment</title><book year="2000"> <title>Data on the Web</title> <author><last>Abiteboul</last><first>Serge</first></author> <author><last>Buneman</last><first>Peter</first></author> <author><last>Suciu</last><first>Dan</first></author> <publisher>Morgan Kaufmann Publishers</publisher> <price> 39.95</price> </book><title>Data on the Web</title><book year="1999"> <title>The Economics of Technology and Content for Digital TV</title> <editor> <last>Gerbarg</last><first>Darcy</first> <affiliation>CITI</affiliation> </editor> <publisher>Kluwer Academic Publishers</publisher> <price>129.95</price> </book><title>The Economics of Technology and Content for Digital TV</title>
fn-union-node-args-003Arg: node.
Query, XML-Input
<!-- this file is a copy of bib.xml; just adds a few comments and PI nodes for testing --><!-- Comment 1 --><?PI1 Processing Instruction 1?><bib> <book year="1994"> <title>TCP/IP Illustrated</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price> 65.95</price> </book> <book year="1992"> <title>Advanced Programming in the Unix environment</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price>65.95</price> </book> <book year="2000"> <title>Data on the Web</title> <author><last>Abiteboul</last><first>Serge</first></author> <author><last>Buneman</last><first>Peter</first></author> <author><last>Suciu</last><first>Dan</first></author> <publisher>Morgan Kaufmann Publishers</publisher> <price> 39.95</price> </book> <book year="1999"> <title>The Economics of Technology and Content for Digital TV</title> <editor> <last>Gerbarg</last><first>Darcy</first> <affiliation>CITI</affiliation> </editor> <publisher>Kluwer Academic Publishers</publisher> <price>129.95</price> </book> </bib><!-- Comment 2 --><?PI2 Processing Instruction 2?><title>Data on the Web</title><!-- this file is a copy of bib.xml; just adds a few comments and PI nodes for testing --><!-- Comment 1 --><?PI1 Processing Instruction 1?><bib> <book year="1994"> <title>TCP/IP Illustrated</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price> 65.95</price> </book> <book year="1992"> <title>Advanced Programming in the Unix environment</title> <author><last>Stevens</last><first>W.</first></author> <publisher>Addison-Wesley</publisher> <price>65.95</price> </book> <book year="2000"> <title>Data on the Web</title> <author><last>Abiteboul</last><first>Serge</first></author> <author><last>Buneman</last><first>Peter</first></author> <author><last>Suciu</last><first>Dan</first></author> <publisher>Morgan Kaufmann Publishers</publisher> <price> 39.95</price> </book> <book year="1999"> <title>The Economics of Technology and Content for Digital TV</title> <editor> <last>Gerbarg</last><first>Darcy</first> <affiliation>CITI</affiliation> </editor> <publisher>Kluwer Academic Publishers</publisher> <price>129.95</price> </book> </bib><!-- Comment 2 --><?PI2 Processing Instruction 2?><title>Data on the Web</title>

fn:zero-or-one

cat/SeqZeroOrOneFunc.xml:

Result: Correct: 43 Wrong: 0 Errors: 0 Total: 43 Skipped: 5

Failed tests:
TestnameDescriptionGotExpected
fn-zero-or-onedbl1args-1Evaluates the "zero-or-one" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-zero-or-onedbl1args-3Evaluates the "zero-or-one" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308

fn:string

cat/StringFunc.xml:

Result: Correct: 43 Wrong: 0 Errors: 0 Total: 43 Skipped: 3

Failed tests:
TestnameDescriptionGotExpected
fn-stringdbl1args-1Evaluates the "string" function with the arguments set as follows: $arg = xs:double(lower bound).
Query, XML-Input
-1.79769313486232E308-1.7976931348623157E308
fn-stringdbl1args-3Evaluates the "string" function with the arguments set as follows: $arg = xs:double(upper bound).
Query, XML-Input
1.79769313486232E3081.7976931348623157E308

surrogate values for various string functions.

cat/Surrogates.xml:

Result: Correct: 5 Wrong: 0 Errors: 0 Total: 5 Skipped: 0

Failed tests:
TestnameDescriptionGotExpected
surrogates08Codepoints-to-string() when non-BMP characters are present.
Query, XML-Input
abc𝅖defabc𝅖def

fn:tokenize

cat/TokenizeFunc.xml:

Result: Correct: 35 Wrong: 0 Errors: 0 Total: 35 Skipped: 7

Failed tests:
TestnameDescriptionGotExpected
fn-tokenize-6Test of "tokenize" with pattern with the falgs argument set to the zero length string.
Query, XML-Input
Some unparsed HTML <BR> textSome unparsed HTML <BR> text

Unabbreviated Syntax

cat/UnabbrAxes.xml:

Result: Correct: 26 Wrong: 0 Errors: 0 Total: 26 Skipped: 0

Failed tests:
TestnameDescriptionGotExpected
unabbreviatedSyntax-3Evaluates unabbreviated syntax - child::text() - select all text node children of the context node.
Query, XML-Input
Text data from Employee[2] Text data from Employee[2]
unabbreviatedSyntax-4Evaluates unabbreviated syntax - child::node() - select all children of the context node.
Query, XML-Input
<empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours>
unabbreviatedSyntax-5Evaluates unabbreviated syntax - child::node() - select all children of the context node.
Query, XML-Input
<empnum>E1</empnum> <pnum>P2</pnum> <hours>70</hours> <hours>20</hours>Text data from Employee[2] <empnum>E1</empnum> <pnum>P2</pnum> <hours>70</hours> <hours>20</hours>Text data from Employee[2]
unabbreviatedSyntax-8Evaluates unabbreviated syntax - parent::node() - Selects the parent of the context node.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
unabbreviatedSyntax-12Evaluates unabbreviated syntax - descendant-or-self::employee - Selects all the "employee" descendant of the context node (selects employee, if the context node is "employee").
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
unabbreviatedSyntax-13Evaluates unabbreviated syntax - self::employee - Selects the context node, if it is an "employee" element, otherwise returns empty sequence. This test retuns an "employee" element.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
unabbreviatedSyntax-20Evaluates unabbreviated syntax. Evaluate "child::employee[fn:position() = 1]". Selects the first employee child of the context node.
Query, XML-Input
<employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee><employee name="Jane Doe 1" gender="female"> <empnum>E1</empnum> <pnum>P1</pnum> <hours>40</hours> </employee>
unabbreviatedSyntax-21Evaluates unabbreviated syntax. Evaluate "child::employee[fn:position() = fn:last()]". Selects the last "employee" child of the context node.
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>
unabbreviatedSyntax-22Evaluates unabbreviated syntax. Evaluate "child::employee[fn:position() = fn:last()-1]. Selects the previous to the last one "employee" child of the context node.
Query, XML-Input
<employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee><employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee>
unabbreviatedSyntax-26Evaluates unabbreviated syntax. Evaluate "/descendant::employee[fn:position() = 12]". Selects the twelfth employee element in the document containing the context node.
Query, XML-Input
<employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee><employee name="John Doe 12" gender="male"> <empnum>E4</empnum> <pnum>P4</pnum> <hours>40</hours> <overtime> <day>Monday</day> <day>Tuesday</day> </overtime> </employee>
unabbreviatedSyntax-28Evaluates unabbreviated syntax. Evaluate "child::employee[attribute::name eq "Jane Doe 11"]". Selects all "employee" children of the context node that have a "name" attribute with value "Jane Doe 11".
Query, XML-Input
<employee name="Jane Doe 11" gender="female"> <empnum>E4</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="Jane Doe 11" gender="female"> <empnum>E4</empnum> <pnum>P2</pnum> <hours>20</hours> </employee>
unabbreviatedSyntax-29Evaluates unabbreviated syntax. Evaluate "child::employee[attribute::gender eq 'female'][fn:position() = 5]". Selects the fifth employee child of the context node that has a gender attribute with value "female".
Query, XML-Input
<employee name="Jane Doe 9" gender="female"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="Jane Doe 9" gender="female"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee>
unabbreviatedSyntax-30Evaluates unabbreviated syntax. Evaluate "child::employee[child::empnum = 'E3']". Selects the employee children of the context node that have one or more empnum children whose typed value is equal to the string "E3".
Query, XML-Input
<employee name="Jane Doe 9" gender="female"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="John Doe 10" gender="male"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="Jane Doe 9" gender="female"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee><employee name="John Doe 10" gender="male"> <empnum>E3</empnum> <pnum>P2</pnum> <hours>20</hours> </employee>
unabbreviatedSyntax-31Evaluates unabbreviated syntax. Evaluate "child::employee[child::status]". Selects the employee children of the context node that have one or more status children.
Query, XML-Input
<employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee><employee name="Jane Doe 13" gender="female" type="FT"> <empnum>E4</empnum> <pnum>P5</pnum> <hours>80</hours> <status>active</status> </employee>

Use Case "STRING": String Search

cat/UseCaseSTRING.xml: This use case is based on company profiles and a set of news documents which contain data for PR, mergers and acquisitions, etc. Given a company, the use case illustrates several different queries for searching text in news documents and different ways of providing query results by matching the information from the company profile and the content of the news items.

Result: Correct: 1 Wrong: 0 Errors: 0 Total: 1 Skipped: 0

Failed tests:
TestnameDescriptionGotExpected
string-queries-results-q1Find the titles of all news items where the string "Foobar Corporation" appears in the title.
Query, XML-Input
<title>Foobar Corporation releases its new line of Foo products today</title><title>Foobar Corporation is suing Gorilla Corporation for patent infringement </title><title>Foobar Corporation releases its new line of Foo products today</title><title>Foobar Corporation is suing Gorilla Corporation for patent infringement </title>

XQuery Comments

cat/XQueryComment.xml: Tests for the XQuery comment syntax

Result: Correct: 17 Wrong: 0 Errors: 0 Total: 17 Skipped: 13

Failed tests:
TestnameDescriptionGotExpected
XQueryComment012Comments that looks like a function call.
Query, XML-Input
<south mark="s0"/><south mark="s0" />