From BaseX Documentation

Jump to: navigation, search

This page is part of the Developer Section. It describes how to communicate with BaseX from other programming languages.

You can use the following light-weight language bindings to connect to a running BaseX server instance, execute database commands and evaluate XQuery expressions.

Most clients provide two modes:

Please see the Server Protocol for more information on the available commands. Currently, we offer bindings for the following programming languages:

BaseX 7.x, BaseX 8.x and later
  • Java: The default implementation
  • C++: contributed by Jean-Marc Mercier
  • C#, contributed by the BaseX Team and Martín Ferrari
  • C, contributed by the BaseX Team
  • Golang: contributed by Christian Baune
  • Erlang: contributed by Zachary Dean
  • node.js: contributed by Andy Bunce
  • Perl, contributed by the BaseX Team
  • PHP: updated by James Ball
  • Python: contributed by Hiroaki Itoh
  • Python, using BaseX REST services: contributed by Luca Lianas
  • R: contributed by Ben Engbers
  • Ruby, contributed by the BaseX Team

With Version 8.0, authentication has changed. Some of the language bindings have not been updated yet. The update is rather trivial, though (see here for more details); we are looking forward to your patches!

BaseX 7.x (outdated)
  • ActionScript: contributed by Manfred Knobloch
  • Haskell: contributed by Leo Wörteler
  • Lisp: contributed by Andy Chambers
  • node.js: contributed by Hans Hübner (deviating from client API)
  • Qt: contributed by Hendrik Strobelt
  • Rebol: contributed by Sabu Francis
  • Scala: contributed by Manuel Bernhardt
  • Scala (simple implementation)
  • VB, contributed by the BaseX Team

Many of the interfaces contain the following files:


Version 8.0
Personal tools