Difference between revisions of "Module Library"
Jump to navigation
Jump to search
(74 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 [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]] | | [[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]] | ||
+ | | 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]] | | [[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]] | ||
+ | | 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]] | | [[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]] | ||
+ | | 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 [ | + | | 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 [ | + | | 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]] | | [[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" |
+ | | [[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]] | ||
+ | | Various utility and helper functions. | ||
+ | | <code>util</code> | ||
+ | | <code><nowiki>http://basex.org/modules/util</nowiki></code> | ||
+ | |- valign="top" | ||
| [[Validation Module|Validation]] | | [[Validation Module|Validation]] | ||
− | | Validating documents | + | | 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]] | ||
+ | | Convenience functions for building web applications. | ||
+ | | <code>web</code> | ||
+ | | <code><nowiki>http://basex.org/modules/web</nowiki></code> | ||
+ | |- valign="top" | ||
| [[XQuery Module|XQuery]] | | [[XQuery Module|XQuery]] | ||
− | | | + | | 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" |
− | | [[ | + | |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). |
− | | | + | |- valign="top" |
− | | <code> | + | | [[Request Module|Request]] |
− | | <code><nowiki>http:// | + | | 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> | ||
|} | |} | ||
− | + | =Changelog= | |
+ | |||
+ | ;Version 10 | ||
+ | * Removed: ZIP Module; Geo Module; Output Module (incorporated in String Module) |
Latest revision as of 12: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)