Client Module

From BaseX Documentation
Revision as of 16:56, 25 May 2012 by Dimitar (talk | contribs) (Fixed parameter name)
Jump to navigation Jump to search

This XQuery Module contains functions to access remote BaseX server instances from XQuery. With this module, you can on the one hand execute database commands and on the other hand evaluated queries, the results of which are returned as valid XQuery sequences. All functions use the client: prefix, which is linked to the statically declared namespace.



Signatures client:connect($host as xs:string, $port as xs:integer, $user as xs:string, $password as xs:string) as xs:anyURI
Summary This function establishes a connection to a remote BaseX server, creates a new client session, and returns a session id. The parameter $host is the name of the database server, $port specifies the server port, and $user and $password represent the login data.


Signatures client:execute($id as xs:anyURI, $command as xs:string) as xs:string
Summary This function executes a database command and returns the result as string. The parameter $id contains the session id returned by client:connect(). The $command represents the database command string, which will be executed by the server.
Examples The following query creates a new database TEST on a remote BaseX server:
let $c := client:connect('', 8080, 'admin', 'admin')
return client:execute($c, 'create database TEST')


Signatures client:query($id as xs:anyURI, $query as xs:string) as item()*
Summary This function evaluates a query and returns the result as sequence. The parameter $id contains the session id returned by client:connect(), and $query represents the query string, which will be evaluated by the server.
Examples The following query performs a query on a first server, the results of which are passed on to a second server:
let $c1 := client:connect('', 8080, 'jack', 'C0S19tt2X')
let $c2 := client:connect('', 8080, 'john', '465wFHe26')
  for $c in client:query($c1, '1 to 10')
  return client:query($c1, $c || '* 2')


Signatures client:close($id as xs:anyURI) as empty-sequence()
Summary This function closes a client session. $id specifies the session id.


  • BXCL0001 is raised if a connection error occurs (e.g., if the addressed server is not available).
  • BXCL0002 is raised if the specified session id is unknown.
  • BXCL0003 is raised if an error occurs while executing the command.


The module was introduced with Version 7.2.2.