Difference between revisions of "Clients"

From BaseX Documentation
Jump to navigation Jump to search
Line 1: Line 1:
BaseX provides clients in several programming languages. With these light-weight bindings,
+
We provides clients in several programming languages. With the following light-weight bindings,
 
you will be able to connect to a running BaseX server instance, execute all database
 
you will be able to connect to a running BaseX server instance, execute all database
 
commands and perform queries.
 
commands and perform queries.
Line 26: Line 26:
 
* <code>AddExample</code> shows how documents can be added to a database by using streams.
 
* <code>AddExample</code> shows how documents can be added to a database by using streams.
  
The interfaces Java and C# also support the event feature:
+
The interfaces Java and C# also support [[Events]]:
* <code>EventExample</code> demonstrates how to use the event feature.
+
* <code>EventExample</code> demonstrates how to watch and unwatch events.
 
   
 
   
 
Please check out [https://github.com/BaseXdb/basex-api/blob/master/src/main/readme.txt readme.txt]
 
Please check out [https://github.com/BaseXdb/basex-api/blob/master/src/main/readme.txt readme.txt]

Revision as of 17:52, 3 August 2011

We provides clients in several programming languages. With the following light-weight bindings, you will be able to connect to a running BaseX server instance, execute all database commands and perform queries.

  • Standard Mode: Description of the usage of the standard mode.
  • Query Mode: Description of the usage of the query mode.

Currently, we offer bindings for the following programming languages (bindings in other languages are welcome!):

Imperative
C
Object oriented
C#, VB, Java, Scala
Scripting
PHP, Python, Perl, Ruby
Rebol (thanks to Sabu Francis)
Functional
Lisp (thanks to Andy Chambers)
Haskell (thanks to Leo Wörteler)

Most of the interfaces contain at least the following six files:

  • BaseXClient contains the actual code for creating a session, sending and executing commands and receiving results. Furthermore there is an inner class called query which offers the evaluation of queries in an iterative manner.
  • 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.

The interfaces Java and C# also support Events:

  • EventExample demonstrates how to watch and unwatch events.

Please check out readme.txt for more background information on the client/server communication.