Documentation

Recommended Reading

If you are new to eXist-db, we recommend that you read these articles first:

  • Quick Start: How to download, install, and get up and running with eXist-db.

  • Dashboard: Using the package manager to install or remove packages.

  • Getting Started with Web Application Development in eXist-db: eXist-db provides a complete platform for the development of rich web applications based on XML and related technologies

  • Learning XQuery: (For beginners) Tips and resources for learning XQuery for use with eXist-db.

  • XQuery Support: (For advanced developers) In depth discussion of eXist-db's support for the XQuery language, including features and extensions.

  • Tuning the Database: Tips and best practices for optimizing the performance of your queries.

You can search the entire documentation library using the search box to the right.

Support & Help

If you have questions that you can't find the answer to here, see the articles Troubleshooting and Getting Help.

All Documentation

Besides these articles, you can search eXist-db's XQuery function module library.

Getting Started

How to download, install, and get up and running with eXist-db.
How to install on a headless system; how to run as a background service.
Using the Dashboard to install applications from the eXist-db.org public application repository.
eXist-db provides a complete platform for the development of rich web applications based on XML and related technologies
How to get your data into eXist-db.
Upgrading from an older version of eXist-db.
Troubleshooting installation problems and other advanced installation topics.

General

How to configure indexes (must read).
Alternatives for server deployment.
Using various interfaces: XML:DB API, XML-RPC, REST, SOAP.
How to set up oXygen XML Editor for use with eXist-db.
Information on running the latest "bleeding-edge" development version of eXist-db.
Security features including authentication realms (LDAP, OAuth, OpenID), managing users and groups, changing passwords, and permissions and access controls.
Configuring the server.
Tips and best practices for optimizing the performance of your queries.
Manage libraries & application packages (.xar) using eXist-db Package Repository.
Tips and resources for beginners learning XQuery for use with eXist-db.
In depth discussion of eXist-db's support for the XQuery language, including features and extensions.

Documentation for Specific Features

How to automate tasks with Ant.
How to backup/restore your database contents.
How to configure triggers.
How to extract content from binary files.
The request and session modules contain functions for performing HTTP-related operations.
Java Management Extensions (JMX) support.
Using the Java client from the command line.
An XQuery module to easily produce a Keywords in Context (KWIC) output of search results.
Configuring eXist-db to use LDAP for users and groups.
Apache Lucene integrated into eXist-db's XQuery engine.
Configure two or more eXist-db instances to work together to automatically synchronize documents.
An optional module to schedule jobs.
Simple-but-powerful URL rewriting and redirection. Provides some support for MVC (model-view-controller) and servlet-based pipelines.
A module with numerous useful utility functions.
Validate XML documents.
Versioning extensions.
How to setup your favourite WebDAV application.
XQuery access control.
XInclude support in eXist-db.
XForms support in eXist-db (using betterFORM or XSLTForms).
Functions for manipulating database contents.
XProc support in eXist-db (using xprocxq).
The format for documenting XQuery library and main modules.
Extensions to update document fragments from within an XQuery.
A debugging interface to XQuery code on the server. This is functional, but incomplete (the client side in particular). We used emacs and vi as our main clients during development.
The transform module provides functions for directly applying an XSL stylesheet to an XML fragment within an XQuery script.

eXist-db Development

Getting Started with Web Application Development in eXist-db: eXist-db provides a complete platform for the development of rich web applications based on XML and related technologies
Compiling and building eXist-db, using the Subversion repository.
How to set up Eclipse to run eXist-db in debugging mode.
Guidelines for contributing to the eXist-db codebase.
Notes on reviewing code during development.
Perform XQuery tests with the XQuery unit test suite.
How use Log4J within eXist-db code.
Describes how modularized indexes work through a use case.
Describes how to use XForms to perform CRUD operations within an XRX framework.

Production use

Best Practices for production environments.
How to proxy eXist-db behind various web servers.