Clients
From BaseX Documentation
This page is part of the Developer Section. It describes how to use BaseX from other programming languages.
With the following light-weight bindings in different programming languages, you will be able to connect to a running BaseX server instance, execute database commands, perform queries or listen to events. Most clients offer the following two classes:
- Standard Mode: connecting to a server, sending commands
- Query Mode: defining queries, binding variables, iterative evaluation
Please have a look at our Server Protocol for more information on the clients and the underlying protocol.
Bindings for other languages are easy to write; your contributions are welcome.
Currently, we offer bindings for the following programming languages:
- Object oriented
- C#, VB, Scala, Java
- Scala: contributed by Manuel Bernhardt
- ActionScript: contributed by Manfred Knobloch
- Scripting
- Perl
- PHP (example)
- Python 3.x, 2.7.3: contributed by Hiroaki Itoh
- Python < 2.7: improved by Arjen van Elteren
- Rebol: contributed by Sabu Francis
- Ruby
- Functional
- Haskell: contributed by Leo Wörteler
- Lisp: contributed by Andy Chambers
- Others
- node.js: contributed by Andy Bunce
- node.js: contributed by Hans Hübner (deviating from client API)
- Qt: contributed by Hendrik Strobelt
- C
Many of the interfaces contain the following files:
-
BaseXClientcontains the code for creating a session, sending and executing commands and receiving results. An innerQueryclass 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.