The MarkLogic XQJ API

Quick Start Conformance Report Compliance Definition Statement Download MarkLogic XQJ API

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
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
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?
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.