In 2012, Adam Retter presented a use of annotations to define a web interface [RESTXQ]. It is based on the Java standard RESTful Web Services [JAX-RS]. RESTXQ has since been implemented by many XQuery products as it provides a straightforward way to wire-up XQuery code to a web interface.

A simple RESTXQ example:

function page:hello($who) {
    <title>Hello { $who }!</title>

Here the %rest:path annotation specifies a URL and the %rest:GET specifies an HTTP method. In a suitable Web server environment, a request for "/hello/fred" will be wired up to invoke the page:hello function with the argument "fred". The result of the function will be returned by web server.