Difference between revisions of "RESTXQ Module"

From BaseX Documentation
Jump to navigation Jump to search
(4 intermediate revisions by the same user not shown)
Line 4: Line 4:
  
 
* The module will be available if the {{Code|basex-api}} library is found in the classpath. This is the case if you use one of the complete distributions of BaseX (zip, exe, war).
 
* The module will be available if the {{Code|basex-api}} library is found in the classpath. This is the case if you use one of the complete distributions of BaseX (zip, exe, war).
* All functions are assigned to the <code><nowiki>http://exquery.org/ns/restxq</nowiki></code> namespace, which is statically bound to the {{Code|rest}} prefix. Prior to {{Version|9.2}}, the module needed to be imported in the query prolog:
+
* All functions are assigned to the <code><nowiki>http://exquery.org/ns/restxq</nowiki></code> namespace, which is statically bound to the {{Code|rest}} prefix.
<pre class="brush:xquery">
 
import module namespace rest = "http://exquery.org/ns/restxq";
 
...
 
</pre>
 
 
* The <code><nowiki>http://wadl.dev.java.net/2009/02</nowiki></code> namespace is bound to the {{Code|wadl}} prefix.
 
* The <code><nowiki>http://wadl.dev.java.net/2009/02</nowiki></code> namespace is bound to the {{Code|wadl}} prefix.
 
* If any of the functions is called outside the servlet context, <code>[[XQuery Errors#BaseX Errors|basex:http]]</code> is raised.
 
* If any of the functions is called outside the servlet context, <code>[[XQuery Errors#BaseX Errors|basex:http]]</code> is raised.
Line 44: Line 40:
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
|Returns a [http://www.w3.org/Submission/wadl WADL description] of all available REST services.
+
|Returns a [https://www.w3.org/Submission/wadl WADL description] of all available REST services.
 
|}
 
|}
  
Line 52: Line 48:
 
|-
 
|-
 
| width='120' | '''Signatures'''
 
| width='120' | '''Signatures'''
|{{Func|rest:init||empty-sequence()}}
+
|{{Func|rest:init||empty-sequence()}}<br/>{{Func|rest:init|$update as xs:boolean|empty-sequence()}}
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
|Initializes the RESTXQ module cache. This function should be called after RESTXQ modules have been replaced while the web server is running, and if {{Option|PARSERESTXQ}} is not set to {{Code|0}}.
+
|Initializes the RESTXQ module cache:
 +
* By default, the cache will be discarded, and all modules will be parsed and cached again.
 +
* If {{Code|$update}} is enabled, the background caching behavior is simulated (see {{Option|PARSERESTXQ}}): Only updated modules will be parsed.
 +
* This function should be called if new RESTXQ code is deployed at runtime.
 
|}
 
|}
  
 
=Changelog=
 
=Changelog=
 +
 +
; Version 9.4
 +
* Updated: [[#rest:init|rest:init]] argument added
  
 
;Version 8.6
 
;Version 8.6
 
 
* Added: [[#rest:init|rest:init]]
 
* Added: [[#rest:init|rest:init]]
  
 
This module was introduced with Version 7.7.
 
This module was introduced with Version 7.7.

Revision as of 17:50, 18 November 2020

This XQuery Module contains helper functions for the RESTXQ API, some of which are defined in the RESTXQ Draft.

Conventions

  • The module will be available if the basex-api library is found in the classpath. This is the case if you use one of the complete distributions of BaseX (zip, exe, war).
  • All functions are assigned to the http://exquery.org/ns/restxq namespace, which is statically bound to the rest prefix.
  • The http://wadl.dev.java.net/2009/02 namespace is bound to the wadl prefix.
  • If any of the functions is called outside the servlet context, basex:http is raised.

General Functions

rest:base-uri

Signatures rest:base-uri() as xs:anyURI
Summary Returns the implementation-defined base URI of the resource function.

rest:uri

Signatures rest:uri() as xs:anyURI
Summary Returns the complete URI that addresses the Resource Function. This is the result of rest:base-uri appended with the path from the path annotation of the resource function.

rest:wadl

Signatures rest:wadl() as element(wadl:application)
Summary Returns a WADL description of all available REST services.

rest:init

Signatures rest:init() as empty-sequence()
rest:init($update as xs:boolean) as empty-sequence()
Summary Initializes the RESTXQ module cache:
  • By default, the cache will be discarded, and all modules will be parsed and cached again.
  • If $update is enabled, the background caching behavior is simulated (see PARSERESTXQ): Only updated modules will be parsed.
  • This function should be called if new RESTXQ code is deployed at runtime.

Changelog

Version 9.4
Version 8.6

This module was introduced with Version 7.7.