MarkLogic XQJ API Compliance Definition Statement
The compliance definition for XQJ (section 3 of the specification) requires a statement of how all aspects of the specification that are implementation-defined have been implemented. The following information provides this statement for the MarkLogic XQJ API implementation.
- The class name of the XQDataSource implementation
- net.xqj.marklogic.MarkLogicXQDataSource
- All properties defined on the XQDataSource implementation
- The following properties are defined: serverName, databaseName, port, user, password, description, mode.
- The syntax and semantics for commands, assuming executing commands through XQExpression is supported.
- No commands are supported (only XQuery expressions).
- Is cancelling of query execution supported?
- No, Query execution cannot be cancelled.
- The default and supported values for each parameter described in XQuery Serialization
- Although this is implementation-defined, the test suite makes some assumptions and these have been followed. The defaults are: byte-order-mark="no" cdata-section-elements="" doctype-public=null doctype-system=null encoding="utf-8" indent="no" media-type="application/xml" method="xml" normalization-form="none" omit-xml-declaration="yes" standalone="omit" undeclare-prefixes="no" use-character-maps="" version="1.0".
- Additional StAX or SAX event types being reported, beside the event types documented in [the] specification
- None.
- Support for XDM instances and types based on user-defined schema types
- MarkLogic XML Server can execute Schema-Aware XQuery and supports user-defined schema types, when the MarkLogic XQJ API receives these result items whose type is user-defined, the type is cast to the originally standard XDM form from which it was extended from.
- The semantics with respect to node identity, document order, and full node context, when a node is bound to an external variable.
- Node identity, document order and full node context is lost when binding a node to an external variable.
- Is login timeout supported?
- No, not at present.
- Are transactions supported?
- Yes.
- Behaviour of the getNodeUri() method, defined on XQItemAccessor, for other than document nodes.
-
- In Conformance Mode, it will return a blank string unless the item is of type attribute() or xs:QName, in which case the value will be the namespace URI part of the item's expanded-QName.
- Behaviour of the getTypeName() method, defined on XQItemType, for anonymous types.
- Anonymous types are returned as xs:untypedAtomic
- Behaviour of the getSchemaURI() method, defined on XQItemType
- It will always return null.
- Behaviour of the createItemFromDocument() methods, defined on XQDataFactory, if the specified value is not a well-formed XML document.
- An exception is thrown.
- Behaviour of the bindDocument methods, defined on XQDynamicContext, if the specified value is not a well-formed XML document.
- An exception is thrown.
- The error codes, reported through XQQueryException, in addition to the standard error codes listed in [XQuery] and its associated specifications.
- Far too many to list here and the list is continually growing. Refer to the XML files contained within the Messages directory within a MarkLogic XML Server installation directory.