The Open Source Library RXQ was the first RESTXQ implementation for MarkLogic Server. It was / is a hobby project by Jim Fuller who worked for MarkLogic at the time of creating the library. RXQ was used successfully on many commercial projects by MarkLogic Customers.
This page shows a comparison of features supported by XQRS and RXQ. Including a breakdown of RESTXQ Specification Support as well as additional features useful for creating RESTful Applications on MarkLogic Server. This document is dated 16th October 2018 and does not take into consideration any updates / enhancements added to RXQ that have taken place after this date.
RESTXQ Specification 1.0 (21st March 2016) Support | XQRS 1.0 | RXQ 1.0.3 |
---|---|---|
Path Annotation | Yes | Partial1 |
Method Annotation | Yes | Partial2 |
Consumes Annotation | Yes | No |
Produces Annotation | Yes | Partial3 |
Query Parameter Annotation | Yes | No |
Form Parameter Annotation | Yes | No |
Header Parameter Annotation | Yes | No |
Cookie Parameter Annotation | Yes | No |
Output Serialization for XML / HTML | Yes | Yes |
Response XML Processing | Yes | No |
RESTXQ Function Module | Yes | Yes |
Other Features | XQRS 1.0 | RXQ 1.0.3 |
Path Annotations using Regular Expressions | Yes | Yes1 |
Multi-Statement Transactions | Yes | No4 |
Read-Only Functions | Yes | No5 |
Multipart Mixed Message Upload (multipart/mixed) | Yes | No |
HTML Form File Uploads (multipart/form-data) | Yes | No |
Custom Error Handler Functions | Yes | No |
JSON Upload and Serialization Support | Yes | No |
RDF Upload and Serialization Support | Yes | No |
SPARQL Results Serialization Support | Yes | No |
xdmp:update
set to true, this means that write locks are obtained on any document that is read from. This can cause performance issues and XDMP-DEADLOCK
exceptions. See GitHub issue 25 for more details