From BaseX Documentation
This page is part of the Developer Section. It describes how to communicate with BaseX with other programming languages.
Please note that with Version 8.0, we have switched from cram-md5 to digest authentication. If a language binding does not work anymore, it will need to be slightly updated. Please have a look at our Server Protocol for more information on the exchanged bytes. Your contributions are welcome!
You can use the following light-weight language bindings to connect to a running BaseX server instance, execute database commands, perform queries, or listen to events.
Most clients provide two modes:
- Standard Mode: connecting to a server, sending commands
- Query Mode: defining queries, binding variables, iterative evaluation
Currently, we offer bindings for the following programming languages:
- Object oriented
- Java: The default implementation
- C#, VB, Scala
- Scala: contributed by Manuel Bernhardt
- ActionScript: contributed by Manfred Knobloch
- PHP: updated by James Ball
- Python 3.x, 2.7.3: contributed by Hiroaki Itoh
- Python < 2.7: improved by Arjen van Elteren
- Rebol: contributed by Sabu Francis
- Haskell: contributed by Leo Wörteler
- Lisp: contributed by Andy Chambers
- node.js: contributed by Andy Bunce
- node.js: contributed by Hans Hübner (deviating from client API)
- Golang: contributed by Christian Baune
- Qt: contributed by Hendrik Strobelt
Many of the interfaces contain the following files:
BaseXClientcontains the code for creating a session, sending and executing commands and receiving results. An inner
Queryclass facilitates the binding of external variables and iterative query evaluation.
Exampledemonstrates how to send database commands.
QueryExampleshows you how to evaluate queries in an iterative manner.
QueryBindExampleshows you how to bind a variable to your query and evaluates the query in an iterative manner.
CreateExampleshows how new databases can be created by using streams.
AddExampleshows how documents can be added to a database by using streams.
EventExampledemonstrates how to watch and unwatch Events.
- Version 8.0
- Updated: cram-md5 replaced with digest authentication