Legend:    
        
passed     
        
almost passed
(≥ 98%)
    
        
failed     
        
untested
Implementations
Tests BaseX 8.5 beta
XQ31
(QT3 vCVS)
Saxon-EE 9.7.0.11
XP31
(QT3 v0.6)
Saxon-EE 9.7.0.11
XQ31
(QT3 v0.6)
XmlPrime 4.0.0.16079
XP31
(QT3 vCVS)
XmlPrime 4.0.0.26293
XQ31
(QT3 vCVS)
XmlPrime 4.0.0.27704
XQX31
(QT3 vCVS)
app-spec-examples 0/639 548/548 637/639 523/548 614/639 614/0 0/6
    fo-test-fn-string-001[+] no result pass pass pass pass pass
    fo-test-fn-string-002[+] no result pass pass pass pass pass
    fo-test-fn-string-003[+] no result pass pass pass pass pass
    fo-test-fn-string-004[+] no result pass pass pass pass pass
    fo-test-fn-string-005[+] no result pass pass pass pass pass
    fo-test-fn-string-006[+] no result pass pass pass pass pass
    fo-test-fn-string-007[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-data-001[+] no result pass pass pass pass pass
    fo-test-fn-data-002[+] no result pass pass pass pass pass
    fo-test-fn-data-003[+] no result pass pass pass pass pass
    fo-test-fn-data-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-data-005[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-data-006[+] no result pass pass pass pass pass
    fo-test-fn-error-001[+] no result pass pass pass pass pass
    fo-test-fn-error-002[+] no result pass pass pass pass pass
    fo-test-fn-abs-001[+] no result pass pass pass pass pass
    fo-test-fn-abs-002[+] no result pass pass pass pass pass
    fo-test-fn-ceiling-001[+] no result pass pass pass pass pass
    fo-test-fn-ceiling-002[+] no result pass pass pass pass pass
    fo-test-fn-floor-001[+] no result pass pass pass pass pass
    fo-test-fn-floor-002[+] no result pass pass pass pass pass
    fo-test-fn-round-001[+] no result pass pass pass pass pass
    fo-test-fn-round-002[+] no result pass pass pass pass pass
    fo-test-fn-round-003[+] no result pass pass pass pass pass
    fo-test-fn-round-004[+] no result pass pass pass pass pass
    fo-test-fn-round-005[+] no result pass pass pass pass pass
    fo-test-fn-round-006[+] no result pass pass pass pass pass
    fo-test-fn-round-half-to-even-001[+] no result pass pass pass pass pass
    fo-test-fn-round-half-to-even-002[+] no result pass pass pass pass pass
    fo-test-fn-round-half-to-even-003[+] no result pass pass pass pass pass
    fo-test-fn-round-half-to-even-004[+] no result pass pass pass pass pass
    fo-test-fn-round-half-to-even-005[+] no result pass pass pass pass pass
    fo-test-fn-round-half-to-even-006[+] no result pass pass pass pass pass
    fo-test-fn-format-integer-001[+] no result pass pass pass pass pass
    fo-test-fn-format-integer-002[+] no result pass pass pass pass pass
    fo-test-fn-format-integer-003[+] no result pass pass pass pass pass
    fo-test-fn-format-integer-004[+] no result pass pass pass pass pass
    fo-test-fn-format-integer-005[+] no result pass pass pass pass pass
    fo-test-fn-format-number-001[+] no result pass pass pass pass pass
    fo-test-fn-format-number-002[+] no result pass pass pass pass pass
    fo-test-fn-format-number-003[+] no result pass pass pass pass pass
    fo-test-fn-format-number-004[+] no result pass pass pass pass pass
    fo-test-fn-format-number-005[+] no result pass pass pass pass pass
    fo-test-fn-format-number-006[+] no result pass pass pass pass pass
    fo-test-fn-format-number-007[+] no result pass pass pass pass pass
    fo-test-fn-format-number-008[+] no result pass pass pass pass pass
    fo-test-fn-format-number-009[+] no result pass pass pass pass pass
    fo-test-fn-format-number-010[+] no result pass pass pass pass pass
    fo-test-math-pi-001[+] no result pass pass pass pass pass
    fo-test-math-exp-001[+] no result pass pass pass pass pass
    fo-test-math-exp-002[+] no result pass pass pass pass pass
    fo-test-math-exp-003[+] no result pass pass pass pass pass
    fo-test-math-exp-004[+] no result pass pass pass pass pass
    fo-test-math-exp-005[+] no result pass pass pass pass pass
    fo-test-math-exp-006[+] no result pass pass pass pass pass
    fo-test-math-exp-007[+] no result pass pass pass pass pass
    fo-test-math-exp-008[+] no result pass pass pass pass pass
    fo-test-math-exp-009[+] no result pass pass pass pass pass
    fo-test-math-exp10-001[+] no result pass pass pass pass pass
    fo-test-math-exp10-002[+] no result pass pass pass pass pass
    fo-test-math-exp10-003[+] no result pass pass pass pass pass
    fo-test-math-exp10-004[+] no result pass pass pass pass pass
    fo-test-math-exp10-005[+] no result pass pass pass pass pass
    fo-test-math-exp10-006[+] no result pass pass pass pass pass
    fo-test-math-exp10-007[+] no result pass pass pass pass pass
    fo-test-math-exp10-008[+] no result pass pass pass pass pass
    fo-test-math-log-001[+] no result pass pass pass pass pass
    fo-test-math-log-002[+] no result pass pass pass pass pass
    fo-test-math-log-003[+] no result pass pass pass pass pass
    fo-test-math-log-004[+] no result pass pass pass pass pass
    fo-test-math-log-005[+] no result pass pass pass pass pass
    fo-test-math-log-006[+] no result pass pass pass pass pass
    fo-test-math-log-007[+] no result pass pass pass pass pass
    fo-test-math-log-008[+] no result pass pass pass pass pass
    fo-test-math-log-009[+] no result pass pass pass pass pass
    fo-test-math-log10-001[+] no result pass pass pass pass pass
    fo-test-math-log10-002[+] no result pass pass pass pass pass
    fo-test-math-log10-003[+] no result pass pass pass pass pass
    fo-test-math-log10-004[+] no result pass pass pass pass pass
    fo-test-math-log10-005[+] no result pass pass pass pass pass
    fo-test-math-log10-006[+] no result pass pass pass pass pass
    fo-test-math-log10-007[+] no result pass pass pass pass pass
    fo-test-math-log10-008[+] no result pass pass pass pass pass
    fo-test-math-log10-009[+] no result pass pass pass pass pass
    fo-test-math-sqrt-001[+] no result pass pass pass pass pass
    fo-test-math-sqrt-002[+] no result pass pass pass pass pass
    fo-test-math-sqrt-003[+] no result pass pass pass pass pass
    fo-test-math-sqrt-004[+] no result pass pass pass pass pass
    fo-test-math-sqrt-005[+] no result pass pass pass pass pass
    fo-test-math-sqrt-006[+] no result pass pass pass pass pass
    fo-test-math-sqrt-007[+] no result pass pass pass pass pass
    fo-test-math-sqrt-008[+] no result pass pass pass pass pass
    fo-test-math-sqrt-009[+] no result pass pass pass pass pass
    fo-test-math-pow-001[+] no result pass pass pass pass pass
    fo-test-math-pow-002[+] no result pass pass pass pass pass
    fo-test-math-pow-003[+] no result pass pass pass pass pass
    fo-test-math-pow-004[+] no result pass pass pass pass pass
    fo-test-math-pow-005[+] no result pass pass pass pass pass
    fo-test-math-pow-006[+] no result pass pass pass pass pass
    fo-test-math-pow-007[+] no result pass pass pass pass pass
    fo-test-math-pow-008[+] no result pass pass pass pass pass
    fo-test-math-pow-009[+] no result pass pass pass pass pass
    fo-test-math-pow-010[+] no result pass pass pass pass pass
    fo-test-math-pow-011[+] no result pass pass pass pass pass
    fo-test-math-pow-012[+] no result pass pass pass pass pass
    fo-test-math-pow-013[+] no result pass pass pass pass pass
    fo-test-math-pow-014[+] no result pass pass pass pass pass
    fo-test-math-pow-015[+] no result pass pass pass pass pass
    fo-test-math-pow-016[+] no result pass pass pass pass pass
    fo-test-math-pow-017[+] no result pass pass pass pass pass
    fo-test-math-pow-018[+] no result pass pass pass pass pass
    fo-test-math-pow-019[+] no result pass pass pass pass pass
    fo-test-math-pow-020[+] no result pass pass pass pass pass
    fo-test-math-pow-021[+] no result pass pass pass pass pass
    fo-test-math-pow-022[+] no result pass pass pass pass pass
    fo-test-math-pow-023[+] no result pass pass pass pass pass
    fo-test-math-pow-024[+] no result pass pass pass pass pass
    fo-test-math-pow-025[+] no result pass pass pass pass pass
    fo-test-math-pow-026[+] no result pass pass pass pass pass
    fo-test-math-pow-027[+] no result pass pass pass pass pass
    fo-test-math-pow-028[+] no result pass pass pass pass pass
    fo-test-math-pow-029[+] no result pass pass pass pass pass
    fo-test-math-pow-030[+] no result pass pass pass pass pass
    fo-test-math-pow-031[+] no result pass pass pass pass pass
    fo-test-math-pow-032[+] no result pass pass pass pass pass
    fo-test-math-pow-033[+] no result pass pass pass pass pass
    fo-test-math-pow-034[+] no result pass pass pass pass pass
    fo-test-math-pow-035[+] no result pass pass pass pass pass
    fo-test-math-sin-001[+] no result pass pass pass pass pass
    fo-test-math-sin-002[+] no result pass pass pass pass pass
    fo-test-math-sin-003[+] no result pass pass pass pass pass
    fo-test-math-sin-004[+] no result pass pass pass pass pass
    fo-test-math-sin-005[+] no result pass pass pass pass pass
    fo-test-math-sin-006[+] no result pass pass pass pass pass
    fo-test-math-sin-007[+] no result pass pass pass pass pass
    fo-test-math-sin-008[+] no result pass pass pass pass pass
    fo-test-math-sin-009[+] no result pass pass pass pass pass
    fo-test-math-cos-001[+] no result pass pass pass pass pass
    fo-test-math-cos-002[+] no result pass pass pass pass pass
    fo-test-math-cos-003[+] no result pass pass pass pass pass
    fo-test-math-cos-004[+] no result pass pass pass pass pass
    fo-test-math-cos-005[+] no result pass pass pass pass pass
    fo-test-math-cos-006[+] no result pass pass pass pass pass
    fo-test-math-cos-007[+] no result pass pass pass pass pass
    fo-test-math-cos-008[+] no result pass pass pass pass pass
    fo-test-math-cos-009[+] no result pass pass pass pass pass
    fo-test-math-tan-001[+] no result pass pass pass pass pass
    fo-test-math-tan-002[+] no result pass pass pass pass pass
    fo-test-math-tan-003[+] no result pass pass pass pass pass
    fo-test-math-tan-004[+] no result pass pass pass pass pass
    fo-test-math-tan-005[+] no result pass pass pass pass pass
    fo-test-math-tan-006[+] no result pass pass fail fail fail
    fo-test-math-tan-007[+] no result pass pass fail fail fail
    fo-test-math-tan-008[+] no result pass pass pass pass pass
    fo-test-math-tan-009[+] no result pass pass pass pass pass
    fo-test-math-tan-010[+] no result pass pass pass pass pass
    fo-test-math-tan-011[+] no result pass pass pass pass pass
    fo-test-math-asin-001[+] no result pass pass pass pass pass
    fo-test-math-asin-002[+] no result pass pass pass pass pass
    fo-test-math-asin-003[+] no result pass pass pass pass pass
    fo-test-math-asin-004[+] no result pass pass pass pass pass
    fo-test-math-asin-005[+] no result pass pass pass pass pass
    fo-test-math-asin-006[+] no result pass pass pass pass pass
    fo-test-math-asin-007[+] no result pass pass pass pass pass
    fo-test-math-asin-008[+] no result pass pass pass pass pass
    fo-test-math-asin-009[+] no result pass pass pass pass pass
    fo-test-math-acos-001[+] no result pass pass pass pass pass
    fo-test-math-acos-002[+] no result pass pass pass pass pass
    fo-test-math-acos-003[+] no result pass pass pass pass pass
    fo-test-math-acos-004[+] no result pass pass pass pass pass
    fo-test-math-acos-005[+] no result pass pass pass pass pass
    fo-test-math-acos-006[+] no result pass pass pass pass pass
    fo-test-math-acos-007[+] no result pass pass pass pass pass
    fo-test-math-acos-008[+] no result pass pass pass pass pass
    fo-test-math-acos-009[+] no result pass pass pass pass pass
    fo-test-math-atan-001[+] no result pass pass pass pass pass
    fo-test-math-atan-002[+] no result pass pass pass pass pass
    fo-test-math-atan-003[+] no result pass pass pass pass pass
    fo-test-math-atan-004[+] no result pass pass pass pass pass
    fo-test-math-atan-005[+] no result pass pass pass pass pass
    fo-test-math-atan-006[+] no result pass pass pass pass pass
    fo-test-math-atan-007[+] no result pass pass pass pass pass
    fo-test-math-atan-008[+] no result pass pass pass pass pass
    fo-test-math-atan2-001[+] no result pass pass pass pass pass
    fo-test-math-atan2-002[+] no result pass pass pass pass pass
    fo-test-math-atan2-003[+] no result pass pass pass pass pass
    fo-test-math-atan2-004[+] no result pass pass pass pass pass
    fo-test-math-atan2-005[+] no result pass pass pass pass pass
    fo-test-math-atan2-006[+] no result pass pass pass pass pass
    fo-test-math-atan2-007[+] no result pass pass pass pass pass
    fo-test-math-atan2-008[+] no result pass pass pass pass pass
    fo-test-math-atan2-009[+] no result pass pass pass pass pass
    fo-test-math-atan2-010[+] no result pass pass pass pass pass
    fo-test-fn-codepoints-to-string-001[+] no result pass pass pass pass pass
    fo-test-fn-codepoints-to-string-002[+] no result pass pass pass pass pass
    fo-test-fn-codepoints-to-string-003[+] no result pass pass pass pass pass
    fo-test-fn-codepoints-to-string-004[+] no result pass pass pass pass pass
    fo-test-fn-string-to-codepoints-001[+] no result pass pass pass pass pass
    fo-test-fn-compare-001[+] no result pass pass pass pass pass
    fo-test-fn-compare-002[+] no result pass pass pass pass pass
    fo-test-fn-compare-003[+] no result pass pass pass pass pass
    fo-test-fn-compare-004[+] no result pass pass pass pass pass
    fo-test-fn-codepoint-equal-001[+] no result pass pass pass pass pass
    fo-test-fn-codepoint-equal-002[+] no result pass pass pass pass pass
    fo-test-fn-codepoint-equal-003[+] no result pass pass pass pass pass
    fo-test-fn-codepoint-equal-004[+] no result pass pass pass pass pass
    fo-test-fn-codepoint-equal-005[+] no result pass pass pass pass pass
    fo-test-fn-concat-001[+] no result pass pass pass pass pass
    fo-test-fn-concat-002[+] no result pass pass pass pass pass
    fo-test-fn-concat-003[+] no result pass pass pass pass pass
    fo-test-fn-concat-004[+] no result pass pass pass pass pass
    fo-test-fn-concat-005[+] no result pass pass pass pass pass
    fo-test-fn-concat-006[+] no result pass pass pass pass pass
    fo-test-fn-string-join-001[+] no result pass pass pass pass pass
    fo-test-fn-string-join-002[+] no result pass pass pass pass pass
    fo-test-fn-string-join-003[+] no result pass pass pass pass pass
    fo-test-fn-string-join-004[+] no result pass pass pass pass pass
    fo-test-fn-string-join-005[+] no result pass pass pass pass pass
    fo-test-fn-string-join-006[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-string-join-007[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-substring-001[+] no result pass pass pass pass pass
    fo-test-fn-substring-002[+] no result pass pass pass pass pass
    fo-test-fn-substring-003[+] no result pass pass pass pass pass
    fo-test-fn-substring-004[+] no result pass pass pass pass pass
    fo-test-fn-substring-005[+] no result pass pass pass pass pass
    fo-test-fn-substring-006[+] no result pass pass pass pass pass
    fo-test-fn-substring-007[+] no result pass pass pass pass pass
    fo-test-fn-substring-008[+] no result pass pass pass pass pass
    fo-test-fn-substring-009[+] no result pass pass pass pass pass
    fo-test-fn-substring-010[+] no result pass pass pass pass pass
    fo-test-fn-substring-011[+] no result pass pass pass pass pass
    fo-test-fn-string-length-001[+] no result pass pass pass pass pass
    fo-test-fn-string-length-002[+] no result pass pass pass pass pass
    fo-test-fn-normalize-space-001[+] no result pass pass pass pass pass
    fo-test-fn-normalize-space-002[+] no result pass pass pass pass pass
    fo-test-fn-upper-case-001[+] no result pass pass pass pass pass
    fo-test-fn-lower-case-001[+] no result pass pass pass pass pass
    fo-test-fn-translate-001[+] no result pass pass pass pass pass
    fo-test-fn-translate-002[+] no result pass pass pass pass pass
    fo-test-fn-translate-003[+] no result pass pass pass pass pass
    fo-test-fn-encode-for-uri-001[+] no result pass pass pass pass pass
    fo-test-fn-encode-for-uri-002[+] no result pass pass pass pass pass
    fo-test-fn-encode-for-uri-003[+] no result pass pass pass pass pass
    fo-test-fn-iri-to-uri-001[+] no result pass pass pass pass pass
    fo-test-fn-iri-to-uri-002[+] no result pass pass pass pass pass
    fo-test-fn-escape-html-uri-001[+] no result pass pass pass pass pass
    fo-test-fn-escape-html-uri-002[+] no result pass pass pass pass pass
    fo-test-fn-contains-001[+] no result pass pass pass pass pass
    fo-test-fn-contains-002[+] no result pass pass pass pass pass
    fo-test-fn-contains-003[+] no result pass pass pass pass pass
    fo-test-fn-contains-004[+] no result pass pass fail fail fail
    fo-test-fn-contains-005[+] no result pass pass fail fail fail
    fo-test-fn-contains-006[+] no result pass pass fail fail fail
    fo-test-fn-contains-007[+] no result pass pass fail fail fail
    fo-test-fn-starts-with-001[+] no result pass pass pass pass pass
    fo-test-fn-starts-with-002[+] no result pass pass pass pass pass
    fo-test-fn-starts-with-003[+] no result pass pass pass pass pass
    fo-test-fn-starts-with-004[+] no result pass pass fail fail fail
    fo-test-fn-starts-with-005[+] no result pass pass fail fail fail
    fo-test-fn-starts-with-006[+] no result pass pass fail fail fail
    fo-test-fn-starts-with-007[+] no result pass pass fail fail fail
    fo-test-fn-starts-with-008[+] no result pass pass pass pass pass
    fo-test-fn-ends-with-001[+] no result pass pass pass pass pass
    fo-test-fn-ends-with-002[+] no result pass pass pass pass pass
    fo-test-fn-ends-with-003[+] no result pass pass pass pass pass
    fo-test-fn-ends-with-004[+] no result pass pass fail fail fail
    fo-test-fn-ends-with-005[+] no result pass pass fail fail fail
    fo-test-fn-ends-with-006[+] no result pass pass fail fail fail
    fo-test-fn-ends-with-007[+] no result pass pass fail fail fail
    fo-test-fn-ends-with-008[+] no result pass pass fail fail fail
    fo-test-fn-substring-before-001[+] no result pass pass pass pass pass
    fo-test-fn-substring-before-002[+] no result pass pass pass pass pass
    fo-test-fn-substring-before-003[+] no result pass pass pass pass pass
    fo-test-fn-substring-before-004[+] no result pass pass fail fail fail
    fo-test-fn-substring-before-005[+] no result pass pass fail fail fail
    fo-test-fn-substring-before-006[+] no result pass pass fail fail fail
    fo-test-fn-substring-before-007[+] no result pass pass pass pass pass
    fo-test-fn-substring-after-001[+] no result pass pass pass pass pass
    fo-test-fn-substring-after-002[+] no result pass pass pass pass pass
    fo-test-fn-substring-after-003[+] no result pass pass pass pass pass
    fo-test-fn-substring-after-004[+] no result pass pass fail fail fail
    fo-test-fn-substring-after-005[+] no result pass pass fail fail fail
    fo-test-fn-substring-after-006[+] no result pass pass fail fail fail
    fo-test-fn-substring-after-007[+] no result pass pass fail fail fail
    fo-test-fn-matches-001[+] no result pass pass pass pass pass
    fo-test-fn-matches-002[+] no result pass pass pass pass pass
    fo-test-fn-matches-003[+] no result pass pass pass pass pass
    fo-test-fn-matches-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-matches-005[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-matches-006[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-matches-007[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-matches-008[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-replace-001[+] no result pass pass pass pass pass
    fo-test-fn-replace-002[+] no result pass pass pass pass pass
    fo-test-fn-replace-003[+] no result pass pass pass pass pass
    fo-test-fn-replace-004[+] no result pass pass pass pass pass
    fo-test-fn-replace-005[+] no result pass pass pass pass pass
    fo-test-fn-replace-006[+] no result pass pass pass pass pass
    fo-test-fn-replace-007[+] no result pass pass pass pass pass
    fo-test-fn-replace-008[+] no result pass pass pass pass pass
    fo-test-fn-tokenize-001[+] no result pass pass pass pass pass
    fo-test-fn-tokenize-002[+] no result pass pass pass pass pass
    fo-test-fn-tokenize-003[+] no result pass pass pass pass pass
    fo-test-fn-tokenize-004[+] no result pass pass pass pass pass
    fo-test-fn-tokenize-005[+] no result pass pass pass pass pass
    fo-test-fn-tokenize-006[+] no result pass pass pass pass pass
    fo-test-fn-analyze-string-001[+] no result pass pass fail fail fail
    fo-test-fn-analyze-string-002[+] no result pass pass fail fail fail
    fo-test-fn-analyze-string-003[+] no result pass pass fail fail fail
    fo-test-fn-contains-token-001[+] no result pass pass pass pass pass
    fo-test-fn-contains-token-002[+] no result pass pass pass pass pass
    fo-test-fn-contains-token-003[+] no result pass pass pass pass pass
    fo-test-fn-contains-token-004[+] no result pass pass pass pass pass
    fo-test-fn-true-001[+] no result pass pass pass pass pass
    fo-test-fn-false-001[+] no result pass pass pass pass pass
    fo-test-fn-boolean-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-boolean-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-boolean-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-not-001[+] no result pass pass pass pass pass
    fo-test-fn-not-002[+] no result pass pass pass pass pass
    fo-test-fn-not-003[+] no result pass pass pass pass pass
    fo-test-fn-years-from-duration-001[+] no result pass pass pass pass pass
    fo-test-fn-years-from-duration-002[+] no result pass pass pass pass pass
    fo-test-fn-years-from-duration-003[+] no result pass pass pass pass pass
    fo-test-fn-months-from-duration-001[+] no result pass pass pass pass pass
    fo-test-fn-months-from-duration-002[+] no result pass pass pass pass pass
    fo-test-fn-months-from-duration-003[+] no result pass pass pass pass pass
    fo-test-fn-days-from-duration-001[+] no result pass pass pass pass pass
    fo-test-fn-days-from-duration-002[+] no result pass pass pass pass pass
    fo-test-fn-days-from-duration-003[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-duration-001[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-duration-002[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-duration-003[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-duration-004[+] no result pass pass pass pass pass
    fo-test-fn-minutes-from-duration-001[+] no result pass pass pass pass pass
    fo-test-fn-minutes-from-duration-002[+] no result pass pass pass pass pass
    fo-test-fn-seconds-from-duration-001[+] no result pass pass pass pass pass
    fo-test-fn-seconds-from-duration-002[+] no result pass pass pass pass pass
    fo-test-fn-dateTime-001[+] no result pass pass pass pass pass
    fo-test-fn-dateTime-002[+] no result pass pass pass pass pass
    fo-test-fn-year-from-dateTime-001[+] no result pass pass pass pass pass
    fo-test-fn-year-from-dateTime-002[+] no result pass pass pass pass pass
    fo-test-fn-year-from-dateTime-003[+] no result pass pass pass pass pass
    fo-test-fn-year-from-dateTime-004[+] no result pass pass pass pass pass
    fo-test-fn-month-from-dateTime-001[+] no result pass pass pass pass pass
    fo-test-fn-month-from-dateTime-002[+] no result pass pass pass pass pass
    fo-test-fn-month-from-dateTime-003[+] no result pass pass pass pass pass
    fo-test-fn-day-from-dateTime-001[+] no result pass pass pass pass pass
    fo-test-fn-day-from-dateTime-002[+] no result pass pass pass pass pass
    fo-test-fn-day-from-dateTime-003[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-dateTime-001[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-dateTime-002[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-dateTime-003[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-dateTime-004[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-dateTime-005[+] no result pass pass pass pass pass
    fo-test-fn-minutes-from-dateTime-001[+] no result pass pass pass pass pass
    fo-test-fn-minutes-from-dateTime-002[+] no result pass pass pass pass pass
    fo-test-fn-seconds-from-dateTime-001[+] no result pass pass pass pass pass
    fo-test-fn-timezone-from-dateTime-001[+] no result pass pass pass pass pass
    fo-test-fn-timezone-from-dateTime-002[+] no result pass pass pass pass pass
    fo-test-fn-timezone-from-dateTime-003[+] no result pass pass pass pass pass
    fo-test-fn-year-from-date-001[+] no result pass pass pass pass pass
    fo-test-fn-year-from-date-002[+] no result pass pass pass pass pass
    fo-test-fn-month-from-date-001[+] no result pass pass pass pass pass
    fo-test-fn-month-from-date-002[+] no result pass pass pass pass pass
    fo-test-fn-day-from-date-001[+] no result pass pass pass pass pass
    fo-test-fn-day-from-date-002[+] no result pass pass pass pass pass
    fo-test-fn-timezone-from-date-001[+] no result pass pass pass pass pass
    fo-test-fn-timezone-from-date-002[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-time-001[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-time-002[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-time-003[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-time-004[+] no result pass pass pass pass pass
    fo-test-fn-hours-from-time-005[+] no result pass pass pass pass pass
    fo-test-fn-minutes-from-time-001[+] no result pass pass pass pass pass
    fo-test-fn-seconds-from-time-001[+] no result pass pass pass pass pass
    fo-test-fn-timezone-from-time-001[+] no result pass pass pass pass pass
    fo-test-fn-timezone-from-time-002[+] no result pass pass pass pass pass
    fo-test-fn-adjust-dateTime-to-timezone-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-adjust-dateTime-to-timezone-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-adjust-dateTime-to-timezone-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-adjust-dateTime-to-timezone-005[+] no result pass pass pass pass pass
    fo-test-fn-adjust-dateTime-to-timezone-006[+] no result pass pass pass pass pass
    fo-test-fn-adjust-dateTime-to-timezone-007[+] no result pass pass pass pass pass
    fo-test-fn-adjust-dateTime-to-timezone-008[+] no result pass pass pass pass pass
    fo-test-fn-adjust-date-to-timezone-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-adjust-date-to-timezone-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-adjust-date-to-timezone-005[+] no result pass pass pass pass pass
    fo-test-fn-adjust-date-to-timezone-006[+] no result pass pass pass pass pass
    fo-test-fn-adjust-time-to-timezone-002[+] no result pass pass pass pass pass
    fo-test-fn-adjust-time-to-timezone-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-adjust-time-to-timezone-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-adjust-time-to-timezone-005[+] no result pass pass pass pass pass
    fo-test-fn-adjust-time-to-timezone-006[+] no result pass pass pass pass pass
    fo-test-fn-adjust-time-to-timezone-007[+] no result pass pass pass pass pass
    fo-test-fn-parse-ietf-date-001[+] no result pass pass pass pass pass
    fo-test-fn-parse-ietf-date-002[+] no result pass pass pass pass pass
    fo-test-fn-parse-ietf-date-003[+] no result pass pass pass pass pass
    fo-test-fn-parse-ietf-date-004[+] no result pass pass pass pass pass
    fo-test-fn-parse-ietf-date-005[+] no result pass pass pass pass pass
    fo-test-fn-local-name-from-QName-001[+] no result pass pass pass pass pass
    fo-test-fn-namespace-uri-from-QName-001[+] no result pass pass pass pass pass
    fo-test-fn-namespace-uri-for-prefix-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-namespace-uri-for-prefix-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-namespace-uri-for-prefix-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-namespace-uri-for-prefix-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-namespace-uri-for-prefix-005[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-number-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-number-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-path-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-path-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-path-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-path-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-path-005[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-path-006[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-path-007[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-path-008[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-path-009[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-index-of-001[+] no result pass pass pass pass pass
    fo-test-fn-index-of-002[+] no result pass pass pass pass pass
    fo-test-fn-index-of-003[+] no result pass pass pass pass pass
    fo-test-fn-index-of-004[+] no result pass pass pass pass pass
    fo-test-fn-index-of-005[+] no result pass pass pass pass pass
    fo-test-fn-empty-001[+] no result pass pass pass pass pass
    fo-test-fn-empty-002[+] no result pass pass pass pass pass
    fo-test-fn-empty-003[+] no result pass pass pass pass pass
    fo-test-fn-empty-004[+] no result pass pass pass pass pass
    fo-test-fn-empty-005[+] no result pass pass pass pass pass
    fo-test-fn-exists-001[+] no result pass pass pass pass pass
    fo-test-fn-exists-002[+] no result pass pass pass pass pass
    fo-test-fn-exists-003[+] no result pass pass pass pass pass
    fo-test-fn-exists-004[+] no result pass pass pass pass pass
    fo-test-fn-exists-005[+] no result pass pass pass pass pass
    fo-test-fn-distinct-values-001[+] no result pass pass pass pass pass
    fo-test-fn-distinct-values-002[+] no result pass pass pass pass pass
    fo-test-fn-insert-before-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-insert-before-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-insert-before-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-insert-before-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-insert-before-005[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-remove-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-remove-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-remove-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-remove-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-head-001[+] no result pass pass pass pass pass
    fo-test-fn-head-002[+] no result pass pass pass pass pass
    fo-test-fn-head-003[+] no result pass pass pass pass pass
    fo-test-fn-head-004[+] no result pass pass pass pass pass
    fo-test-fn-tail-001[+] no result pass pass pass pass pass
    fo-test-fn-tail-002[+] no result pass pass pass pass pass
    fo-test-fn-tail-003[+] no result pass pass pass pass pass
    fo-test-fn-tail-004[+] no result pass pass pass pass pass
    fo-test-fn-tail-005[+] no result pass pass pass pass pass
    fo-test-fn-reverse-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-reverse-002[+] no result pass pass pass pass pass
    fo-test-fn-reverse-003[+] no result pass pass pass pass pass
    fo-test-fn-reverse-004[+] no result pass pass pass pass pass
    fo-test-fn-reverse-005[+] no result pass pass pass pass pass
    fo-test-fn-subsequence-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-subsequence-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-unordered-001[+] no result pass pass pass pass pass
    fo-test-fn-deep-equal-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-deep-equal-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-deep-equal-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-deep-equal-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-deep-equal-005[+] no result pass pass pass pass pass
    fo-test-fn-deep-equal-006[+] no result pass pass pass pass pass
    fo-test-fn-deep-equal-007[+] no result pass pass pass pass pass
    fo-test-fn-count-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-count-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-count-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-count-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-count-005[+] no result pass pass pass pass pass
    fo-test-fn-count-006[+] no result pass pass pass pass pass
    fo-test-fn-avg-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-avg-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-avg-003[+] no result pass pass pass pass pass
    fo-test-fn-avg-004[+] no result pass pass pass pass pass
    fo-test-fn-avg-005[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-max-001[+] no result pass pass pass pass pass
    fo-test-fn-max-002[+] no result pass pass pass pass pass
    fo-test-fn-max-003[+] no result pass pass pass pass pass
    fo-test-fn-max-004[+] no result pass pass pass pass pass
    fo-test-fn-max-005[+] no result pass pass pass pass pass
    fo-test-fn-min-001[+] no result pass pass pass pass pass
    fo-test-fn-min-002[+] no result pass pass pass pass pass
    fo-test-fn-min-003[+] no result pass pass pass pass pass
    fo-test-fn-min-004[+] no result pass pass pass pass pass
    fo-test-fn-min-005[+] no result pass pass pass pass pass
    fo-test-fn-sum-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-sum-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-sum-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-sum-004[+] no result pass pass pass pass pass
    fo-test-fn-sum-005[+] no result pass pass pass pass pass
    fo-test-fn-sum-006[+] no result pass pass pass pass pass
    fo-test-fn-sum-007[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-sum-008[+] no result pass pass pass pass pass
    fo-test-fn-sum-009[+] no result pass pass pass pass pass
    fo-test-fn-id-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-id-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-element-with-id-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-element-with-id-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-idref-001[+] no result n/a

notXP31

fail

Expected success, got err:XQDY0027

n/a pass pass
    fo-test-fn-idref-002[+] no result n/a

notXP31

fail

Expected success, got err:XQDY0027

n/a pass pass
    fo-test-fn-serialize-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-serialize-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-last-001[+] no result pass pass pass pass pass
    fo-test-fn-function-lookup-001[+] no result pass pass pass pass pass
    fo-test-fn-function-name-001[+] no result pass pass pass pass pass
    fo-test-fn-function-name-002[+] no result pass pass pass pass pass
    fo-test-fn-function-arity-001[+] no result pass pass pass pass pass
    fo-test-fn-function-arity-002[+] no result pass pass pass pass pass
    fo-test-fn-function-arity-003[+] no result pass pass pass pass pass
    fo-test-fn-for-each-001[+] no result pass pass pass pass pass
    fo-test-fn-for-each-002[+] no result pass pass pass pass pass
    fo-test-fn-for-each-003[+] no result pass pass pass pass pass
    fo-test-fn-filter-001[+] no result pass pass pass pass pass
    fo-test-fn-filter-002[+] no result pass pass pass pass pass
    fo-test-fn-fold-left-001[+] no result pass pass pass pass pass
    fo-test-fn-fold-left-002[+] no result pass pass pass pass pass
    fo-test-fn-fold-left-003[+] no result pass pass pass pass pass
    fo-test-fn-fold-left-004[+] no result pass pass pass pass pass
    fo-test-fn-fold-left-005[+] no result pass pass pass pass pass
    fo-test-fn-fold-left-006[+] no result pass pass pass pass pass
    fo-test-fn-fold-left-007[+] no result pass pass pass pass pass
    fo-test-fn-fold-left-008[+] no result pass pass pass pass pass
    fo-test-fn-fold-right-001[+] no result pass pass pass pass pass
    fo-test-fn-fold-right-002[+] no result pass pass pass pass pass
    fo-test-fn-fold-right-003[+] no result pass pass pass pass pass
    fo-test-fn-for-each-pair-001[+] no result pass pass pass pass pass
    fo-test-fn-for-each-pair-002[+] no result pass pass pass pass pass
    fo-test-fn-for-each-pair-003[+] no result pass pass pass pass pass
    fo-test-fn-sort-001[+] no result pass pass pass pass pass
    fo-test-fn-sort-002[+] no result pass pass pass pass pass
    fo-test-fn-apply-001[+] no result pass pass pass pass pass
    fo-test-map-merge-001[+] no result pass pass pass pass pass
    fo-test-map-merge-002[+] no result pass pass pass pass pass
    fo-test-map-merge-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-merge-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-merge-005[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-merge-006[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-keys-001[+] no result pass pass pass pass pass
    fo-test-map-contains-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-contains-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-contains-003[+] no result pass pass pass pass pass
    fo-test-map-contains-004[+] no result pass pass pass pass pass
    fo-test-map-contains-005[+] no result pass pass pass pass pass
    fo-test-map-get-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-get-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-get-003[+] no result pass pass pass pass pass
    fo-test-map-find-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-find-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-find-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-find-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-put-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-put-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-entry-001[+] no result pass pass pass pass pass
    fo-test-map-remove-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-remove-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-remove-003[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-remove-004[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-map-for-each-001[+] no result pass pass pass pass pass
    fo-test-map-for-each-002[+] no result pass pass pass pass pass
    fo-test-map-for-each-003[+] no result pass pass pass pass pass
    fo-test-map-size-001[+] no result pass pass pass pass pass
    fo-test-map-size-002[+] no result pass pass pass pass pass
    fo-test-fn-collation-key-001[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-collation-key-002[+] no result n/a

notXP31

pass n/a pass pass
    fo-test-fn-json-to-xml-001[+] no result pass pass pass pass pass
    fo-test-fn-json-to-xml-002[+] no result pass pass pass pass pass
    fo-test-fn-json-to-xml-003[+] no result pass pass pass pass pass
    fo-test-fn-json-to-xml-004[+] no result pass pass pass pass pass
    fo-test-fn-parse-json-001[+] no result pass pass pass pass pass
    fo-test-fn-parse-json-002[+] no result pass pass pass pass pass
    fo-test-fn-parse-json-003[+] no result pass pass pass pass pass
    fo-test-fn-parse-json-004[+] no result pass pass pass pass pass
    fo-test-fn-parse-json-005[+] no result pass pass pass pass pass
    fo-test-fn-parse-json-006[+] no result pass pass pass pass pass
    fo-test-fn-parse-json-007[+] no result pass pass pass pass pass
    fo-test-array-size-001[+] no result pass pass pass pass pass
    fo-test-array-size-002[+] no result pass pass pass pass pass
    fo-test-array-size-003[+] no result pass pass pass pass pass
    fo-test-array-size-004[+] no result pass pass pass pass pass
    fo-test-array-get-001[+] no result pass pass pass pass pass
    fo-test-array-get-002[+] no result pass pass pass pass pass
    fo-test-array-put-001[+] no result pass pass pass pass pass
    fo-test-array-put-002[+] no result pass pass pass pass pass
    fo-test-array-put-003[+] no result pass pass pass pass pass
    fo-test-array-append-001[+] no result pass pass pass pass pass
    fo-test-array-append-002[+] no result pass pass pass pass pass
    fo-test-array-append-003[+] no result pass pass pass pass pass
    fo-test-array-join-001[+] no result pass pass pass pass pass
    fo-test-array-join-002[+] no result pass pass pass pass pass
    fo-test-array-join-003[+] no result pass pass pass pass pass
    fo-test-array-join-004[+] no result pass pass pass pass pass
    fo-test-array-join-005[+] no result pass pass pass pass pass
    fo-test-array-subarray-001[+] no result pass pass pass pass pass
    fo-test-array-subarray-002[+] no result pass pass pass pass pass
    fo-test-array-subarray-003[+] no result pass pass pass pass pass
    fo-test-array-subarray-004[+] no result pass pass pass pass pass
    fo-test-array-subarray-005[+] no result pass pass pass pass pass
    fo-test-array-subarray-006[+] no result pass pass pass pass pass
    fo-test-array-subarray-007[+] no result pass pass pass pass pass
    fo-test-array-remove-001[+] no result pass pass pass pass pass
    fo-test-array-remove-002[+] no result pass pass pass pass pass
    fo-test-array-remove-003[+] no result pass pass pass pass pass
    fo-test-array-remove-004[+] no result pass pass pass pass pass
    fo-test-array-remove-005[+] no result pass pass pass pass pass
    fo-test-array-insert-before-001[+] no result pass pass pass pass pass
    fo-test-array-insert-before-002[+] no result pass pass pass pass pass
    fo-test-array-insert-before-003[+] no result pass pass pass pass pass
    fo-test-array-head-001[+] no result pass pass pass pass pass
    fo-test-array-head-002[+] no result pass pass pass pass pass
    fo-test-array-head-003[+] no result pass pass pass pass pass
    fo-test-array-tail-001[+] no result pass pass pass pass pass
    fo-test-array-tail-002[+] no result pass pass pass pass pass
    fo-test-array-reverse-001[+] no result pass pass pass pass pass
    fo-test-array-reverse-002[+] no result pass pass pass pass pass
    fo-test-array-reverse-003[+] no result pass pass pass pass pass
    fo-test-array-reverse-004[+] no result pass pass pass pass pass
    fo-test-array-for-each-001[+] no result pass pass pass pass pass
    fo-test-array-for-each-002[+] no result pass pass pass pass pass
    fo-test-array-filter-001[+] no result pass pass pass pass pass
    fo-test-array-filter-002[+] no result pass pass pass pass pass
    fo-test-array-filter-003[+] no result pass pass pass pass pass
    fo-test-array-fold-left-001[+] no result pass pass pass pass pass
    fo-test-array-fold-left-002[+] no result pass pass pass pass pass
    fo-test-array-fold-left-003[+] no result pass pass pass pass pass
    fo-test-array-fold-right-001[+] no result pass pass pass pass pass
    fo-test-array-fold-right-002[+] no result pass pass pass pass pass
    fo-test-array-fold-right-003[+] no result pass pass pass pass pass
    fo-test-array-for-each-pair-001[+] no result pass pass pass pass pass
    fo-test-array-for-each-pair-002[+] no result pass pass pass pass pass
    fo-test-array-sort-001[+] no result pass pass pass pass pass
    fo-test-array-sort-002[+] no result pass pass pass pass pass
    fo-test-array-sort-003[+] no result pass pass pass pass pass
    fo-test-array-flatten-001[+] no result pass pass pass pass pass
    fo-test-array-flatten-002[+] no result pass pass pass pass pass
    fo-test-array-flatten-003[+] no result pass pass pass pass pass