Difference between revisions of "Module Library"

From BaseX Documentation
Jump to navigation Jump to search
Tags: Mobile web edit Mobile edit
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
This article is part of the [[XQuery|XQuery Portal]].
 
This article is part of the [[XQuery|XQuery Portal]].
  
In addition to the standard [http://www.w3.org/TR/xpath-functions-30/ XQuery Functions], BaseX offers further function modules, which are listed in the following table.  
+
In addition to the standard [https://www.w3.org/TR/xpath-functions-31/ XQuery Functions], BaseX comes with hundreds of additional functions, which are packaged in various modules.
The module namespaces are statically bound, which means that they need not (but may) be explicitly declared in the query prolog.
+
 
 +
The namespaces of the built-in modules are statically bound to their prefix. This means that they need not (but may) be declared in the query prolog.
 +
 
 +
=Modules=
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
|-
+
|- valign="top"
 
! Module
 
! Module
 
! Description
 
! Description
 
! Prefix
 
! Prefix
 
! Namespace URI
 
! Namespace URI
|-
+
|- valign="top"
 
| [[Admin Module|Admin]]
 
| [[Admin Module|Admin]]
 
| Functions restricted to admin users.
 
| Functions restricted to admin users.
 
| <code>admin</code>
 
| <code>admin</code>
 
| <code><nowiki>http://basex.org/modules/admin</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/admin</nowiki></code>
|-
+
|- valign="top"
 
| [[Archive Module|Archive]]
 
| [[Archive Module|Archive]]
 
| Creating and processing ZIP archives.
 
| Creating and processing ZIP archives.
 
| <code>archive</code>
 
| <code>archive</code>
 
| <code><nowiki>http://basex.org/modules/archive</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/archive</nowiki></code>
|-
+
|- valign="top"
 
| [[Array Module|Array]]
 
| [[Array Module|Array]]
 
| Functions for handling arrays.
 
| Functions for handling arrays.
 
| <code>array</code>
 
| <code>array</code>
 
| <code><nowiki>http://www.w3.org/2005/xpath-functions/array</nowiki></code>
 
| <code><nowiki>http://www.w3.org/2005/xpath-functions/array</nowiki></code>
|-
+
|- valign="top"
| [[Async Module|Async]]
 
| Parallel and asynchronous execution of queries. {{Mark|Introduced with Version 8.5.}}
 
| <code>async</code>
 
| <code><nowiki>http://basex.org/modules/async</nowiki></code>
 
|-
 
 
| [[Binary Module|Binary]]
 
| [[Binary Module|Binary]]
 
| Processing binary data.
 
| Processing binary data.
 
| <code>bin</code>
 
| <code>bin</code>
 
| <code><nowiki>http://expath.org/ns/binary</nowiki></code>
 
| <code><nowiki>http://expath.org/ns/binary</nowiki></code>
|-
+
|- valign="top"
 
| [[Client Module|Client]]
 
| [[Client Module|Client]]
 
| Executing commands and queries on remote BaseX servers.
 
| Executing commands and queries on remote BaseX servers.
 
| <code>client</code>
 
| <code>client</code>
 
| <code><nowiki>http://basex.org/modules/client</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/client</nowiki></code>
|-
+
|- valign="top"
 
| [[Conversion Module|Conversion]]
 
| [[Conversion Module|Conversion]]
 
| Converting data (binary, numeric) to other formats.
 
| Converting data (binary, numeric) to other formats.
 
| <code>convert</code>
 
| <code>convert</code>
 
| <code><nowiki>http://basex.org/modules/convert</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/convert</nowiki></code>
|-
+
|- valign="top"
 
| [[Cryptographic Module|Cryptography]]
 
| [[Cryptographic Module|Cryptography]]
 
| Cryptographic functions, based on the [http://expath.org/spec/crypto EXPath Cryptograhic] module.
 
| Cryptographic functions, based on the [http://expath.org/spec/crypto EXPath Cryptograhic] module.
 
| <code>crypto</code>
 
| <code>crypto</code>
 
| <code><nowiki>http://expath.org/ns/crypto</nowiki></code>
 
| <code><nowiki>http://expath.org/ns/crypto</nowiki></code>
|-
+
|- valign="top"
 
| [[CSV Module|CSV]]
 
| [[CSV Module|CSV]]
 
| Functions for processing CSV input.
 
| Functions for processing CSV input.
 
| <code>csv</code>
 
| <code>csv</code>
 
| <code><nowiki>http://basex.org/modules/csv</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/csv</nowiki></code>
|-
+
|- valign="top"
 
| [[Database Module|Database]]
 
| [[Database Module|Database]]
 
| Functions for accessing and updating databases.
 
| Functions for accessing and updating databases.
 
| <code>db</code>
 
| <code>db</code>
 
| <code><nowiki>http://basex.org/modules/db</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/db</nowiki></code>
|-
+
|- valign="top"
 
| [[Fetch Module|Fetch]]
 
| [[Fetch Module|Fetch]]
 
| Functions for fetching resources identified by URIs.
 
| Functions for fetching resources identified by URIs.
 
| <code>fetch</code>
 
| <code>fetch</code>
 
| <code><nowiki>http://basex.org/modules/fetch</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/fetch</nowiki></code>
|-
+
|- valign="top"
 
| [[File Module|File]]
 
| [[File Module|File]]
 
| File handling, based on the latest draft of the [http://expath.org/spec/file EXPath File] module.
 
| File handling, based on the latest draft of the [http://expath.org/spec/file EXPath File] module.
 
| <code>file</code>
 
| <code>file</code>
 
| <code><nowiki>http://expath.org/ns/file</nowiki></code>
 
| <code><nowiki>http://expath.org/ns/file</nowiki></code>
|-
+
|- valign="top"
 
| [[Full-Text Module|Full-Text]]
 
| [[Full-Text Module|Full-Text]]
 
| Functions for performing full-text operations.
 
| Functions for performing full-text operations.
 
| <code>ft</code>
 
| <code>ft</code>
 
| <code><nowiki>http://basex.org/modules/ft</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/ft</nowiki></code>
|-
+
|- valign="top"
 
| [[Hashing Module|Hashing]]
 
| [[Hashing Module|Hashing]]
 
| Cryptographic hash functions.
 
| Cryptographic hash functions.
 
| <code>hash</code>
 
| <code>hash</code>
 
| <code><nowiki>http://basex.org/modules/hash</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/hash</nowiki></code>
|-
+
|- valign="top"
 
| [[Higher-Order Functions Module|Higher-Order]]
 
| [[Higher-Order Functions Module|Higher-Order]]
 
| Additional higher-order functions that are not in the standard libraries.  
 
| Additional higher-order functions that are not in the standard libraries.  
 
| <code>hof</code>
 
| <code>hof</code>
 
| <code><nowiki>http://basex.org/modules/hof</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/hof</nowiki></code>
|-
+
|- valign="top"
 
| [[HTML Module|HTML]]
 
| [[HTML Module|HTML]]
 
| Functions for converting HTML input to XML documents.
 
| Functions for converting HTML input to XML documents.
 
| <code>html</code>
 
| <code>html</code>
 
| <code><nowiki>http://basex.org/modules/html</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/html</nowiki></code>
|-
+
|- valign="top"
| [[HTTP Module|HTTP]]
+
| [[HTTP Client Module|HTTP Client]]
 
| Sending HTTP requests, based on the [http://expath.org/spec/http-client EXPath HTTP] module.
 
| Sending HTTP requests, based on the [http://expath.org/spec/http-client EXPath HTTP] module.
 
| <code>http</code>
 
| <code>http</code>
 
| <code><nowiki>http://expath.org/ns/http-client</nowiki></code>
 
| <code><nowiki>http://expath.org/ns/http-client</nowiki></code>
|-
+
|- valign="top"
 
| [[Index Module|Index]]
 
| [[Index Module|Index]]
 
| Functions for requesting details on database indexes.
 
| Functions for requesting details on database indexes.
 
| <code>index</code>
 
| <code>index</code>
 
| <code><nowiki>http://basex.org/modules/index</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/index</nowiki></code>
|-
+
|- valign="top"
 
| [[Inspection Module|Inspection]]
 
| [[Inspection Module|Inspection]]
 
| Functions for extracting internal module information.
 
| Functions for extracting internal module information.
 
| <code>inspect</code>
 
| <code>inspect</code>
 
| <code><nowiki>http://basex.org/modules/inspect</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/inspect</nowiki></code>
|-
+
|- valign="top"
 +
| [[Job Module|Job]]
 +
| Organization of running commands and queries. {{Announce|Updated with Version 10}}
 +
| <code>job</code>
 +
| <code><nowiki>http://basex.org/modules/job</nowiki></code>
 +
|- valign="top"
 
| [[JSON Module|JSON]]
 
| [[JSON Module|JSON]]
| Parsing and serializing [http://www.json.org JSON documents].
+
| Parsing and serializing [https://www.json.org JSON documents].
 
| <code>json</code>
 
| <code>json</code>
 
| <code><nowiki>http://basex.org/modules/json</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/json</nowiki></code>
|-
+
|- valign="top"
 +
| [[Lazy Module|Lazy]]
 +
| Functions for handling lazy items.
 +
| <code>lazy</code>
 +
| <code><nowiki>http://basex.org/modules/lazy</nowiki></code>
 +
|- valign="top"
 
| [[Map Module|Map]]
 
| [[Map Module|Map]]
 
| Functions for handling maps (key/value pairs).
 
| Functions for handling maps (key/value pairs).
 
| <code>map</code>
 
| <code>map</code>
 
| <code><nowiki>http://www.w3.org/2005/xpath-functions/map</nowiki></code>
 
| <code><nowiki>http://www.w3.org/2005/xpath-functions/map</nowiki></code>
|-
+
|- valign="top"
 
| [[Math Module|Math]]
 
| [[Math Module|Math]]
| Mathematical operations, extending the [http://www.w3.org/TR/xpath-functions-30/ W3C Working Draft].
+
| Mathematical operations, extending the [https://www.w3.org/TR/xpath-functions-31/ W3C Working Draft].
 
| <code>math</code>
 
| <code>math</code>
 
| <code><nowiki>http://www.w3.org/2005/xpath-functions/math</nowiki></code>
 
| <code><nowiki>http://www.w3.org/2005/xpath-functions/math</nowiki></code>
|-
+
|- valign="top"
| [[Output Module|Output]]
 
| Functions for simplifying formatted output.
 
| <code>out</code>
 
| <code><nowiki>http://basex.org/modules/out</nowiki></code>
 
|-
 
 
| [[Process Module|Process]]
 
| [[Process Module|Process]]
 
| Executing system commands from XQuery.
 
| Executing system commands from XQuery.
 
| <code>proc</code>
 
| <code>proc</code>
 
| <code><nowiki>http://basex.org/modules/proc</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/proc</nowiki></code>
|-
+
|- valign="top"
 
| [[Profiling Module|Profiling]]
 
| [[Profiling Module|Profiling]]
 
| Functions for profiling code snippets.
 
| Functions for profiling code snippets.
 
| <code>prof</code>
 
| <code>prof</code>
 
| <code><nowiki>http://basex.org/modules/prof</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/prof</nowiki></code>
|-
+
|- valign="top"
 
| [[Random Module|Random]]
 
| [[Random Module|Random]]
 
| Functions for creating random numbers.
 
| Functions for creating random numbers.
 
| <code>random</code>
 
| <code>random</code>
 
| <code><nowiki>http://basex.org/modules/random</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/random</nowiki></code>
|-
+
|- valign="top"
 
| [[Repository Module|Repository]]
 
| [[Repository Module|Repository]]
 
| Installing, deleting and listing packages.
 
| Installing, deleting and listing packages.
 
| <code>repo</code>
 
| <code>repo</code>
 
| <code><nowiki>http://basex.org/modules/repo</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/repo</nowiki></code>
|-
+
|- valign="top"
 
| [[SQL Module|SQL]]
 
| [[SQL Module|SQL]]
 
| JDBC bridge to access relational databases.
 
| JDBC bridge to access relational databases.
 
| <code>sql</code>
 
| <code>sql</code>
 
| <code><nowiki>http://basex.org/modules/sql</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/sql</nowiki></code>
|-
+
|- valign="top"
| [[Streaming Module|Streaming]]
+
| [[Store Module|Store]]
| Functions for handling streamable items.
+
| Organize values in a main-memory key-value store. {{Announce|Introduced with Version 10}}
| <code>stream</code>
+
| <code>store</code>
| <code><nowiki>http://basex.org/modules/stream</nowiki></code>
+
| <code><nowiki>http://basex.org/modules/store</nowiki></code>
|-
+
|- valign="top"
| [[Strings Module|Strings]]
+
| [[String Module|String]]
| Functions for performing string computations.
+
| Functions for performing string computations. {{Announce|Updated with Version 10}}
| <code>stream</code>
+
| <code>string</code>
| <code><nowiki>http://basex.org/modules/strings</nowiki></code>
+
| <code><nowiki>http://basex.org/modules/string</nowiki></code>
|-
+
|- valign="top"
 
| [[Unit Module|Unit]]
 
| [[Unit Module|Unit]]
 
| Unit testing framework.
 
| Unit testing framework.
 
| <code>unit</code>
 
| <code>unit</code>
 
| <code><nowiki>http://basex.org/modules/unit</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/unit</nowiki></code>
|-
+
|- valign="top"
 +
| [[Update Module|Update]]
 +
| Functions for performing updates.
 +
| <code>update</code>
 +
| <code><nowiki>http://basex.org/modules/update</nowiki></code>
 +
|- valign="top"
 
| [[User Module|User]]
 
| [[User Module|User]]
 
| Creating and administering database users.
 
| Creating and administering database users.
 
| <code>user</code>
 
| <code>user</code>
 
| <code><nowiki>http://basex.org/modules/user</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/user</nowiki></code>
|-
+
|- valign="top"
 
| [[Utility Module|Utility]]
 
| [[Utility Module|Utility]]
| Various utility and helper functions. {{Mark|Introduced with Version 8.5.}}
+
| Various utility and helper functions.
 
| <code>util</code>
 
| <code>util</code>
 
| <code><nowiki>http://basex.org/modules/util</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/util</nowiki></code>
|-
+
|- valign="top"
 
| [[Validation Module|Validation]]
 
| [[Validation Module|Validation]]
 
| Validating documents: DTDs, XML Schema, RelaxNG.
 
| Validating documents: DTDs, XML Schema, RelaxNG.
 
| <code>validate</code>
 
| <code>validate</code>
 
| <code><nowiki>http://basex.org/modules/validate</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/validate</nowiki></code>
|-
+
|- valign="top"
 
| [[Web Module|Web]]
 
| [[Web Module|Web]]
 
| Convenience functions for building web applications.
 
| Convenience functions for building web applications.
 
| <code>web</code>
 
| <code>web</code>
 
| <code><nowiki>http://basex.org/modules/web</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/web</nowiki></code>
|-
+
|- valign="top"
 
| [[XQuery Module|XQuery]]
 
| [[XQuery Module|XQuery]]
 
| Evaluating new XQuery expressions at runtime.
 
| Evaluating new XQuery expressions at runtime.
 
| <code>xquery</code>
 
| <code>xquery</code>
 
| <code><nowiki>http://basex.org/modules/xquery</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/xquery</nowiki></code>
|-
+
|- valign="top"
 
| [[XSLT Module|XSLT]]
 
| [[XSLT Module|XSLT]]
 
| Stylesheet transformations, based on Java’s and Saxon’s XSLT processor.
 
| Stylesheet transformations, based on Java’s and Saxon’s XSLT processor.
 
| <code>xslt</code>
 
| <code>xslt</code>
 
| <code><nowiki>http://basex.org/modules/xslt</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/xslt</nowiki></code>
|-
+
|- valign="top"
| [[ZIP Module|ZIP]]
+
|colspan="4"|The following modules are available if the {{Code|basex-api}} library is included in the classpath. This is the case if you start BaseX with one of the startup scripts or links provided by our complete distributions (zip, exe, war).
| ZIP functionality, based on the [http://expath.org/spec/zip EXPath ZIP] module (soon obsolete).
+
|- valign="top"
| <code>zip</code>
 
| <code><nowiki>http://expath.org/ns/zip</nowiki></code>
 
|}
 
 
 
For the following web application modules, the {{Code|basex-api}} package must be included in the classpath and the modules must be imported in the query prolog. This is automatically the case if you use one of the complete distributions (zip, exe, war) of BaseX:
 
 
 
{| class="wikitable sortable"
 
|-
 
! Module
 
! Description
 
! Prefix
 
! Namespace URI
 
|-
 
| [[Geo Module|Geo]]
 
| Functions for processing geospatial data.
 
| <code>geo</code>
 
| <code><nowiki>http://expath.org/ns/geo</nowiki></code>
 
|-
 
 
| [[Request Module|Request]]
 
| [[Request Module|Request]]
 
| Server-side functions for handling HTTP Request data.
 
| Server-side functions for handling HTTP Request data.
 
| <code>request</code>
 
| <code>request</code>
 
| <code><nowiki>http://exquery.org/ns/request</nowiki></code>
 
| <code><nowiki>http://exquery.org/ns/request</nowiki></code>
|-
+
|- valign="top"
 
| [[RESTXQ Module|RESTXQ]]
 
| [[RESTXQ Module|RESTXQ]]
 
| Helper functions for the RESTXQ API.
 
| Helper functions for the RESTXQ API.
 
| <code>rest</code>
 
| <code>rest</code>
 
| <code><nowiki>http://exquery.org/ns/restxq</nowiki></code>
 
| <code><nowiki>http://exquery.org/ns/restxq</nowiki></code>
|-
+
|- valign="top"
 
| [[Session Module|Session]]
 
| [[Session Module|Session]]
 
| Functions for handling server-side HTTP Sessions.
 
| Functions for handling server-side HTTP Sessions.
 
| <code>session</code>
 
| <code>session</code>
 
| <code><nowiki>http://basex.org/modules/session</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/session</nowiki></code>
|-
+
|- valign="top"
 
| [[Sessions Module|Sessions]]
 
| [[Sessions Module|Sessions]]
 
| Functions for managing all server-side HTTP Sessions.
 
| Functions for managing all server-side HTTP Sessions.
 
| <code>sessions</code>
 
| <code>sessions</code>
 
| <code><nowiki>http://basex.org/modules/sessions</nowiki></code>
 
| <code><nowiki>http://basex.org/modules/sessions</nowiki></code>
 +
|- valign="top"
 +
| [[WebSocket Module|WebSocket]]
 +
| Functions for handling WebSocket connections.
 +
| <code>ws</code>
 +
| <code><nowiki>http://basex.org/modules/ws</nowiki></code>
 
|}
 
|}
 +
 +
=Changelog=
 +
 +
;Version 10
 +
* Removed: ZIP Module; Geo Module; Output Module (incorporated in String Module)

Revision as of 17:26, 6 August 2022

This article is part of the XQuery Portal.

In addition to the standard XQuery Functions, BaseX comes with hundreds of additional functions, which are packaged in various modules.

The namespaces of the built-in modules are statically bound to their prefix. This means that they need not (but may) be declared in the query prolog.

Modules

Module Description Prefix Namespace URI
Admin Functions restricted to admin users. admin http://basex.org/modules/admin
Archive Creating and processing ZIP archives. archive http://basex.org/modules/archive
Array Functions for handling arrays. array http://www.w3.org/2005/xpath-functions/array
Binary Processing binary data. bin http://expath.org/ns/binary
Client Executing commands and queries on remote BaseX servers. client http://basex.org/modules/client
Conversion Converting data (binary, numeric) to other formats. convert http://basex.org/modules/convert
Cryptography Cryptographic functions, based on the EXPath Cryptograhic module. crypto http://expath.org/ns/crypto
CSV Functions for processing CSV input. csv http://basex.org/modules/csv
Database Functions for accessing and updating databases. db http://basex.org/modules/db
Fetch Functions for fetching resources identified by URIs. fetch http://basex.org/modules/fetch
File File handling, based on the latest draft of the EXPath File module. file http://expath.org/ns/file
Full-Text Functions for performing full-text operations. ft http://basex.org/modules/ft
Hashing Cryptographic hash functions. hash http://basex.org/modules/hash
Higher-Order Additional higher-order functions that are not in the standard libraries. hof http://basex.org/modules/hof
HTML Functions for converting HTML input to XML documents. html http://basex.org/modules/html
HTTP Client Sending HTTP requests, based on the EXPath HTTP module. http http://expath.org/ns/http-client
Index Functions for requesting details on database indexes. index http://basex.org/modules/index
Inspection Functions for extracting internal module information. inspect http://basex.org/modules/inspect
Job Organization of running commands and queries. Updated with Version 10 job http://basex.org/modules/job
JSON Parsing and serializing JSON documents. json http://basex.org/modules/json
Lazy Functions for handling lazy items. lazy http://basex.org/modules/lazy
Map Functions for handling maps (key/value pairs). map http://www.w3.org/2005/xpath-functions/map
Math Mathematical operations, extending the W3C Working Draft. math http://www.w3.org/2005/xpath-functions/math
Process Executing system commands from XQuery. proc http://basex.org/modules/proc
Profiling Functions for profiling code snippets. prof http://basex.org/modules/prof
Random Functions for creating random numbers. random http://basex.org/modules/random
Repository Installing, deleting and listing packages. repo http://basex.org/modules/repo
SQL JDBC bridge to access relational databases. sql http://basex.org/modules/sql
Store Organize values in a main-memory key-value store. Introduced with Version 10 store http://basex.org/modules/store
String Functions for performing string computations. Updated with Version 10 string http://basex.org/modules/string
Unit Unit testing framework. unit http://basex.org/modules/unit
Update Functions for performing updates. update http://basex.org/modules/update
User Creating and administering database users. user http://basex.org/modules/user
Utility Various utility and helper functions. util http://basex.org/modules/util
Validation Validating documents: DTDs, XML Schema, RelaxNG. validate http://basex.org/modules/validate
Web Convenience functions for building web applications. web http://basex.org/modules/web
XQuery Evaluating new XQuery expressions at runtime. xquery http://basex.org/modules/xquery
XSLT Stylesheet transformations, based on Java’s and Saxon’s XSLT processor. xslt http://basex.org/modules/xslt
The following modules are available if the basex-api library is included in the classpath. This is the case if you start BaseX with one of the startup scripts or links provided by our complete distributions (zip, exe, war).
Request Server-side functions for handling HTTP Request data. request http://exquery.org/ns/request
RESTXQ Helper functions for the RESTXQ API. rest http://exquery.org/ns/restxq
Session Functions for handling server-side HTTP Sessions. session http://basex.org/modules/session
Sessions Functions for managing all server-side HTTP Sessions. sessions http://basex.org/modules/sessions
WebSocket Functions for handling WebSocket connections. ws http://basex.org/modules/ws

Changelog

Version 10
  • Removed: ZIP Module; Geo Module; Output Module (incorporated in String Module)