Difference between revisions of "Module Library"

From BaseX Documentation
Jump to navigation Jump to search
(Created page with "Beside the standard [http://www.w3.org/TR/xpath-functions-30/ XQuery Functions], BaseX offers additional function modules, which are listed in the following table. All modules a...")
 
 
(120 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Beside the standard [http://www.w3.org/TR/xpath-functions-30/ XQuery Functions], BaseX offers additional function modules, which are listed in the following table.  
+
This article is part of the [[XQuery|XQuery Portal]].
All modules are statically bound, which means that they need not (but may) be explicitly declared in the query prolog.
+
 
 +
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 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]]
 +
| Functions restricted to admin users.
 +
| <code>admin</code>
 +
| <code><nowiki>http://basex.org/modules/admin</nowiki></code>
 +
|- valign="top"
 +
| [[Archive Module|Archive]]
 +
| Creating and processing ZIP archives.
 +
| <code>archive</code>
 +
| <code><nowiki>http://basex.org/modules/archive</nowiki></code>
 +
|- valign="top"
 +
| [[Array Module|Array]]
 +
| Functions for handling arrays.
 +
| <code>array</code>
 +
| <code><nowiki>http://www.w3.org/2005/xpath-functions/array</nowiki></code>
 +
|- valign="top"
 +
| [[Binary Module|Binary]]
 +
| Processing binary data.
 +
| <code>bin</code>
 +
| <code><nowiki>http://expath.org/ns/binary</nowiki></code>
 +
|- valign="top"
 +
| [[Client Module|Client]]
 +
| Executing commands and queries on remote BaseX servers.
 +
| <code>client</code>
 +
| <code><nowiki>http://basex.org/modules/client</nowiki></code>
 +
|- valign="top"
 +
| [[Conversion Module|Conversion]]
 +
| Converting data (binary, numeric) to other formats.
 +
| <code>convert</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]]
 +
| Functions for processing CSV input.
 +
| <code>csv</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]]
 +
| Functions for fetching resources identified by URIs.
 +
| <code>fetch</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"
| [[HTTP Module|HTTP]]
+
| [[Hashing Module|Hashing]]
| Sending HTTP requests, based on the [http://expath.org/spec/http-client EXPath HTTP] module.
+
| Cryptographic hash functions.
| <code>http</code>
+
| <code>hash</code>
| <code><nowiki>http://expath.org/ns/http-client</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]]
 +
| Functions for converting HTML input to XML documents.
 +
| <code>html</code>
 +
| <code><nowiki>http://basex.org/modules/html</nowiki></code>
 +
|- valign="top"
 +
| [[HTTP Client Module|HTTP Client]]
 +
| Sending HTTP requests, based on the [http://expath.org/spec/http-client EXPath HTTP] module.
 +
| <code>http</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. {{Version|7.1}}
+
| 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]]
 +
| Functions for extracting internal module information.
 +
| <code>inspect</code>
 +
| <code><nowiki>http://basex.org/modules/inspect</nowiki></code>
 +
|- valign="top"
 +
| [[Job Module|Job]]
 +
| Organization of running commands and queries.
 +
| <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"
 +
| [[Process Module|Process]]
 +
| Executing system commands from XQuery.
 +
| <code>proc</code>
 +
| <code><nowiki>http://basex.org/modules/proc</nowiki></code>
 +
|- valign="top"
 +
| [[Profiling Module|Profiling]]
 +
| Functions for profiling code snippets.
 +
| <code>prof</code>
 +
| <code><nowiki>http://basex.org/modules/prof</nowiki></code>
 +
|- valign="top"
 +
| [[Random Module|Random]]
 +
| Functions for creating random numbers.
 +
| <code>random</code>
 +
| <code><nowiki>http://basex.org/modules/random</nowiki></code>
 +
|- valign="top"
 
| [[Repository Module|Repository]]
 
| [[Repository Module|Repository]]
| Installing, deleting and listing packages. {{Version|7.1}}
+
| 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"
 +
| [[Store Module|Store]]
 +
| Organize values in a main-memory key-value store.
 +
| <code>store</code>
 +
| <code><nowiki>http://basex.org/modules/store</nowiki></code>
 +
|- valign="top"
 +
| [[String Module|String]]
 +
| Functions for performing string computations.
 +
| <code>string</code>
 +
| <code><nowiki>http://basex.org/modules/string</nowiki></code>
 +
|- valign="top"
 +
| [[Unit Module|Unit]]
 +
| Unit testing framework.
 +
| <code>unit</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]]
 +
| Creating and administering database users.
 +
| <code>user</code>
 +
| <code><nowiki>http://basex.org/modules/user</nowiki></code>
 +
|- valign="top"
 
| [[Utility Module|Utility]]
 
| [[Utility Module|Utility]]
| Utility functions, used for data conversions, profiling and dynamic evaluation.
+
| 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]]
 +
| Validating documents: DTDs, XML Schema, RelaxNG.
 +
| <code>validate</code>
 +
| <code><nowiki>http://basex.org/modules/validate</nowiki></code>
 +
|- valign="top"
 +
| [[Web Module|Web]]
 +
| Convenience functions for building web applications.
 +
| <code>web</code>
 +
| <code><nowiki>http://basex.org/modules/web</nowiki></code>
 +
|- valign="top"
 +
| [[XQuery Module|XQuery]]
 +
| Evaluating new XQuery expressions at runtime.
 +
| <code>xquery</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.
+
|- valign="top"
| <code>zip</code>
+
| [[Request Module|Request]]
| <code><nowiki>http://expath.org/ns/zip</nowiki></code>
+
| Server-side functions for handling HTTP Request data.
 +
| <code>request</code>
 +
| <code><nowiki>http://exquery.org/ns/request</nowiki></code>
 +
|- valign="top"
 +
| [[RESTXQ Module|RESTXQ]]
 +
| Helper functions for the RESTXQ API.
 +
| <code>rest</code>
 +
| <code><nowiki>http://exquery.org/ns/restxq</nowiki></code>
 +
|- valign="top"
 +
| [[Session Module|Session]]
 +
| Functions for handling server-side HTTP Sessions.
 +
| <code>session</code>
 +
| <code><nowiki>http://basex.org/modules/session</nowiki></code>
 +
|- valign="top"
 +
| [[Sessions Module|Sessions]]
 +
| Functions for managing all server-side HTTP Sessions.
 +
| <code>sessions</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>
 
|}
 
|}
  
[[Category:XQuery]]
+
=Changelog=
 +
 
 +
;Version 10
 +
* Removed: ZIP Module; Geo Module; Output Module (incorporated in String Module)

Latest revision as of 11:17, 26 October 2023

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[edit]

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. 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. store http://basex.org/modules/store
String Functions for performing string computations. 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[edit]

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