BaseX XQuery Processor

Fast and efficient XQuery processing lies at the heart of BaseX. Its dedicated focus on indexes allows for a wide range of optimization techniques to be applied to your XQuery requests. Compact XML storage together with commonly used extensions and functions complete the package.

XQuery 3.1

New language features including group by, try/catch, switch, function items, maps, arrays, support for JSON.

Full Text

W3C XQuery Full Text 1.0 implementation. XQuery’s full-text extension makes BaseX an ideal tool to build high-performance information retrieval systems. More than 20 languages available along with support for wildcards, stemming, case sensitivity, diacritics, TF/IDF scoring and stop words.


Highly efficient XQuery Update Facility 1.0 implementation for inserting, deleting, renaming and replacing nodes.

Java Bindings

Direct access to Java procedures and object manipulation provides near endless extendability and simple integration of external Java libraries.


Support for the standardized EXPath Packaging Module allows for a simple and convenient extension of the XQuery processor.


Detailed and comprehensive error feedback speeds up development and improvement of XQuery/XML applications. The query editor's realtime syntax evaluation further facilitates this process.


Extraordinarily compact Text, Attribute, Full-Text and Path-Summary indexes accelerate the evaluation process by magnitudes. A fuzzy-match full-text option allows for approximate searches and retrieval.

Execution Plans

To leverage optimization, each evaluation procedure can be visualized in an execution plan which lists individual evaluation steps and index accesses. The plans are serializable in plain text, XML and the .dot format.


Built-in support for HTTP makes sure that information sources all over the web are accessible from within XQuery.


Out-of-the-box support to convert XML to JSON and vice-versa.


The Cryptography extension module provides XQuery functions to digitally sign XML documents. In addition, it enables users to encrypt and decrypt messages based on numerous cryptographic algorithms.


The File module contains XQuery functions and variables related to common file system operations, such as reading or writing files and directories.


The Database module allows for complex database operations to be formulated and processed within XQuery.


The Maps module offers an efficient functional implementation of maps in XQuery, a data structure that is heavily used in most programming languages.

Higher Order Functions

BaseX completely implements XQuery 3.0 function items, which can be used to write custom data types and structure control flows in XQuery.


The SQL Module contains XQuery functions to access relational databases from XQuery using SQL. It allows developers to execute arbitrary SQL statements and retrieve the results for further processing.


BaseX gives developers full access to transform XML with XSLT 1.0 and XSLT 2.0 (via Saxon)