Difference between revisions of "RESTXQ Module"

From BaseX Documentation
Jump to navigation Jump to search
(16 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
=Conventions=
 
=Conventions=
  
* This module is included in the complete distributions (zip, exe, war) of BaseX.
+
* 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|http://exquery.org/ns/restxq}} namespace, which must be dynamically imported:
+
* 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:
 
<pre class="brush:xquery">
 
<pre class="brush:xquery">
 
import module namespace rest = "http://exquery.org/ns/restxq";
 
import module namespace rest = "http://exquery.org/ns/restxq";
 
...
 
...
 
</pre>
 
</pre>
* In this documentation, the namespace is bound to the {{Code|rest}} prefix, and the {{Code|http://wadl.dev.java.net/2009/02}} 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, the error {{Error|BXSE0003|#Errors}} is raised.
+
* If any of the functions is called outside the servlet context, <code>[[XQuery Errors#BaseX Errors|basex:http]]</code> is raised.
  
 
=General Functions=
 
=General Functions=
  
 
==rest:base-uri==
 
==rest:base-uri==
 +
 
{| width='100%'
 
{| width='100%'
 
|-
 
|-
| width='90' | '''Signatures'''
+
| width='120' | '''Signatures'''
 
|{{Func|rest:base-uri||xs:anyURI}}
 
|{{Func|rest:base-uri||xs:anyURI}}
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
|This function returns the implementation defined base URI of the resource function.
+
|Returns the implementation-defined base URI of the resource function.
 
|}
 
|}
  
 
==rest:uri==
 
==rest:uri==
 +
 
{| width='100%'
 
{| width='100%'
 
|-
 
|-
| width='90' | '''Signatures'''
+
| width='120' | '''Signatures'''
|{{Func|rest:base-uri||xs:anyURI}}
+
|{{Func|rest:uri||xs:anyURI}}
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
|This function returns the complete URI that addresses the Resource Function. This is the result of [[#rest:base-uri|rest:base-uri]] appended with the path from the path annotation of the resource function.
+
|Returns the complete URI that addresses the Resource Function. This is the result of [[#rest:base-uri|rest:base-uri]] appended with the path from the path annotation of the resource function.
 
|}
 
|}
  
 
==rest:wadl==
 
==rest:wadl==
 +
 
{| width='100%'
 
{| width='100%'
 
|-
 
|-
| width='90' | '''Signatures'''
+
| width='120' | '''Signatures'''
 
|{{Func|rest:wadl||element(wadl:application)}}
 
|{{Func|rest:wadl||element(wadl:application)}}
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
|This (unofficial) function returns a [http://www.w3.org/Submission/wadl WADL description] of all available REST services.
+
|Returns a [http://www.w3.org/Submission/wadl WADL description] of all available REST services.
 +
|}
 +
 
 +
==rest:init==
 +
 
 +
{| width='100%'
 +
|-
 +
| width='120' | '''Signatures'''
 +
|{{Func|rest:init||empty-sequence()}}
 +
|-
 +
| '''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}}.
 
|}
 
|}
  
 
=Changelog=
 
=Changelog=
 +
 +
;Version 8.6
 +
 +
* Added: [[#rest:init|rest:init]]
  
 
This module was introduced with Version 7.7.
 
This module was introduced with Version 7.7.
 
[[Category:XQuery]]
 

Revision as of 12:49, 30 January 2019

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. Prior to Version 9.2, the module needed to be imported in the query prolog:
import module namespace rest = "http://exquery.org/ns/restxq";
...
  • 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()
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 PARSERESTXQ is not set to 0.

Changelog

Version 8.6

This module was introduced with Version 7.7.