Difference between revisions of "Clients"

From BaseX Documentation
Jump to navigation Jump to search
Line 19: Line 19:
 
: [https://github.com/BaseXdb/basex-api/tree/master/src/main/as ActionScript] (contributed by Manfred Knobloch)
 
: [https://github.com/BaseXdb/basex-api/tree/master/src/main/as ActionScript] (contributed by Manfred Knobloch)
 
; Scripting
 
; Scripting
; [https://github.com/BaseXdb/basex-api/tree/master/src/main/perl Perl], [https://github.com/BaseXdb/basex-api/tree/master/src/main/ruby Ruby]
+
: [https://github.com/BaseXdb/basex-api/tree/master/src/main/perl Perl], [https://github.com/BaseXdb/basex-api/tree/master/src/main/ruby Ruby]
 
: [https://github.com/BaseXdb/basex-api/tree/master/src/main/php PHP] ([[PHP Example|example]])
 
: [https://github.com/BaseXdb/basex-api/tree/master/src/main/php PHP] ([[PHP Example|example]])
 
: [https://github.com/BaseXdb/basex-api/tree/master/src/main/python Python] (improved by Arjen van Elteren)
 
: [https://github.com/BaseXdb/basex-api/tree/master/src/main/python Python] (improved by Arjen van Elteren)

Revision as of 12:34, 26 April 2012

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
ActionScript (contributed by Manfred Knobloch)
Scripting
Perl, Ruby
PHP (example)
Python (improved by Arjen van Elteren)
Rebol (contributed by Sabu Francis)
Functional
Lisp (contributed by Andy Chambers)
Haskell (contributed by Leo Wörteler)
Others
node.js (contributed by Andy Bunce)
Qt (contributed by Hendrik Strobelt)
C

Many of the interfaces contain the following files:

  • BaseXClient contains the code for creating a session, sending and executing commands and receiving results. An inner Query class facilitates the binding of external variables and iterative query evaluation.
  • Example demonstrates how to send database commands.
  • QueryExample shows you how to evaluate queries in an iterative manner.
  • QueryBindExample shows you how to bind a variable to your query and evaluates the query in an iterative manner.
  • CreateExample shows how new databases can be created by using streams.
  • AddExample shows how documents can be added to a database by using streams.
  • EventExample demonstrates how to watch and unwatch Events.