BaseX XQJ API - TCK Conformance
The XQJ API Specification states that XQJ implementations should pass the Test Compatibility Kit (TCK) and provide a Compliance Definition statement outlining how all aspects of the XQJ implementation which are described by the XQJ Specification as "implementation-defined" have been implemented.
Technology Compatibility Kit (TCK) Conformance
The XQJ Specification provides a Technology Compatibility Kit (TCK).
The TCK is a piece of software which can be used to test whether or not an XQJ implementation complies with the XQJ specification.
The following table shows the results of running the XQJ TCK against the BaseX XQJ API implementation.
Official XQJ TestCase | BaseX XQJ API |
---|---|
SignatureTest | PASS (1/1) |
XQCancelledExceptionTest | PASS (1/1) |
XQConnectionTest | PASS (17/17) |
XQDataFactoryTest | PASS (33/33) |
XQDataSourceTest | PASS (11/11) |
XQDynamicContextTest | PASS (20/21)* |
XQExceptionTest | PASS (5/5) |
XQExpressionTest | PASS (9/9) |
XQItemAccessorTest | PASS (20/20) |
XQItemTest | PASS (2/2) |
XQItemTypeTest | PASS (13/13) |
XQMetaDataTest | PASS (25/25) |
XQPreparedExpressionTest | PASS (9/9) |
XQQueryExceptionTest | PASS (12/12) |
XQResultItemTest | PASS (1/1) |
XQResultSequenceTest | PASS (1/1) |
XQSequenceTest | PASS (25/25) |
XQSequenceTypeTest | PASS (3/3) |
XQStackTraceElementTest | PASS (7/7) |
XQStackTraceVariableTest | PASS (3/3) |
XQStaticContextTest | PASS (35/35) |
Pass Percentage | 99.6% |
Notes
* The XQJ API states that the executing new queries on an XQConnection implicitly closes previous XQResultSequences spawned from the connection. An XQJ TCK test (testBindObject_AllTypes) actually goes against the XQJ 1.0 specification by trying to access an obsolete forward only XQResultSequence. The driver adheres to the Specification instead of the TCK in this instance.