MarkLogic 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 MarkLogic XQJ API implementation.
Official XQJ TestCase | MarkLogic 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.
Results are based on running the XQJ TCK with the implementation's "mode" connection property being set to "conformance" as opposed to "xdbc". For further information, please read the MarkLogic XQJ API Documentation which is included in the downloadable zip.