Skip to content


Switch branches/tags
This branch is 201 commits behind eXist-db:develop.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

eXide logo

Build Status

eXide - a web-based XQuery IDE

eXide is a web-based XQuery IDE built around the ace editor. It is tightly integrated with the eXist-db native XML database.


  • XQuery function and variable completion (press Ctrl-Space or Opt-Space)
  • Outline view showing all functions and variables reachable from the current file
  • Powerful navigation (press F3 on a function call to see its declaration)
  • Templates and snippets
  • Background syntax checks for XQuery and XML
  • Database manager
  • Support for EXPath application packages: scaffolding, deployment...
  • And more ...

eXide consists of two parts:

  1. a javascript library for the client-side application
  2. a set of XQuery scripts which are called via AJAX

Note concerning eXide 3.0.0

eXide 3.0.0 removes the app generation feature as it was generating outdated code with potential security risks. We recommend the much better yeoman-based generator-exist for eXist-db.



Building eXide requires git and Apache Ant.

Running tests requires npm and node.js.

Getting eXide

eXide is included in eXist-db distributions and can be opened directly at http://localhost:8080/exist/apps/eXide. It can also be opened via the Dashboard or the "Open eXide" entry in eXist-db's task or menu bar.

You can upgrade to new releases of eXide via the Dashboard app's Package Manager.

You can also build eXide from source and install it.


To build eXide from scratch:

git clone git://
cd eXide
git submodule update --init --recursive

Next, call npm install once:

npm install

And each time you want to build the application:

npm run build

You should now find a .xar file in the build/ directory: build/eXide-*.*.*.xar. The .xar file is an EXPath Application package containing eXide. Install this into any compatible eXist-db instance using the Dashboard's Package Manager.


We welcome contributions to help us improve both unit and integration tests. Current tests can be found in the cypress/integration folder.

eXide's GitHub repository is configured to run tests automatically on each PR via TravisCI (see .travis.yml).

To run tests locally, build and install eXide on localhost, and start the tests:

npm run cypress

If successful, the test runner should report, "All specs passed!"

Publishing Community administrators publish eXide releases by uploading the eXide .xar file to the public repo.

Releases are also published to the eXide GitHub repository's Releases page. To do so, either use the Releases page or add a tag in the form: 'vX.X.X' to the repo (where X corresponds to the semantic version number of the new release).

If you need help with a release of eXide, post a note in the eXist-db Community Slack.


A web-based XQuery IDE for eXist-db







No packages published


  • JavaScript 68.6%
  • XQuery 19.2%
  • Vim Snippet 6.3%
  • CSS 5.1%
  • HTML 0.8%