Changes

Jump to navigation Jump to search
380 bytes added ,  18:20, 18 April 2018
no edit summary
This page is part of the [[Developer Section]]. It describes how to communicate with BaseX
with from other programming languages. Please note that we have switched from cram-md5 to digest authentication in {{Mark|Version 8.0}}.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 eventsand evaluate XQuery expressions.
Most clients provide two modes:
* [[Query Mode]]: defining queries, binding variables, iterative evaluation
Please see the [[Server Protocol]] for more information on the available commands. Currently, we offer bindings for the following programming languages: <table width='100%'> <tr> <td width='50%'>'''BaseX 7.x, BaseX 8.x and later'''* [https://github.com/BaseXdb/basex/tree/master/basex-examples/src/main/java/org/basex/examples/api Java]: The default implementation* [https://github.com/JohnLeM/BasexCPPAPI/ C++]: contributed by Jean-Marc Mercier* [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/c%23 C#], contributed by the BaseX Team and Martín Ferrari* [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/c C], contributed by the BaseX Team* [https://github.com/programaths/go-basex Golang]: contributed by Christian Baune* [https://github.com/zadean/basexerl/blob/master/src/bxe_client.erl Erlang]: contributed by Zachary Dean* [https://github.com/apb2006/basex-node node.js]: contributed by Andy Bunce* [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/perl Perl], contributed by the BaseX Team* [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/php PHP]: updated by James Ball* [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/python Python]: contributed by Hiroaki Itoh* [https://github.com/lucalianas/pyBaseX Python], using BaseX REST services: contributed by Luca Lianas* [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/r R]: contributed by Ben Engbers* [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/ruby Ruby], contributed by the BaseX Team
; Object oriented:With <b>Version 8.0</b>, authentication has changed. Some of the language: [https://githubbindings have not been updated yet.com/BaseXdb/basex/tree/master/basex-examples/src/main/java/org/basex/examples/api Java]: The default implementationupdate is rather trivial, though: ([[https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/c%23 CServer_Protocol#Authentication|see here], [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/vb VB], [https://github.com/BaseXdb/basex/treefor more details);we are looking forward to your patches! </master/basex-api/src/main/scala Scala]td>: [https://github <td width='50%'>'''BaseX 7.com/delving/basex-scala-client Scala]: contributed by Manuel Bernhardtx''' (outdated): * [https://github.com/BaseXdb/basex/tree/master7.9/basex-api/src/main/as ActionScript]: contributed by Manfred Knobloch; Scripting: * [https://github.com/BaseXdb/basex/tree/master7.9/basex-api/src/main/perl Perlhaskell Haskell]: contributed by Leo W&ouml;rteler: * [https://github.com/BaseXdb/basex/tree/master7.9/basex-api/src/main/php PHPlisp Lisp]: updated contributed by James BallAndy Chambers: * [https://github.com/BaseXdbhanshuebner/simple-basex/tree/master/basex-api/src/main/python3 Python 3node.x, 2.7.3js]: contributed by Hiroaki ItohHans Hübner (deviating from client API): * [https://github.com/BaseXdb/basex/tree/master7.9/basex-api/src/main/python Python &lt; 2.7qt Qt]: improved contributed by Arjen van ElterenHendrik Strobelt: * [https://github.com/BaseXdb/basex/tree/master7.9/basex-api/src/main/rebol Rebol]: contributed by Sabu Francis: * [https://github.com/BaseXdb/basex/tree/masterdelving/basex-api/src/main/ruby Ruby]; Functional:: [https://github.com/BaseXdb/basex/tree/master/basexscala-api/src/main/haskell Haskellclient Scala]: contributed by Leo W&ouml;rtelerManuel Bernhardt: * [https://github.com/BaseXdb/basex/tree/master7.9/basex-api/src/main/lisp Lispscala Scala]: contributed by Andy Chambers; Others:: [https://github.com/apb2006/basex-node node.js]: contributed by Andy Bunce: [https://github.com/hanshuebner/(simple-basex node.js]: contributed by Hans Hübner (deviating from client APIimplementation): [https://github.com/programaths/go-basex Golang]: contributed by Christian Baune: * [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/qt Qtvb VB]: , contributed by Hendrik Strobeltthe BaseX Team: [https: </td> </github.com/BaseXdb/basex/tree/mastertr></basex-api/src/main/c C]table>
Many of the interfaces contain the following files:
* <code>CreateExample</code> shows how new databases can be created by using streams.
* <code>AddExample</code> shows how documents can be added to a database by using streams.
* <code>EventExample</code> demonstrates how to watch and unwatch [[Events]].
=Changelog=
;Version 8.0
* Updated: CRAMcram-MD5 md5 replaced with digest authentication [[Category:Developer]][[Category:Server]][[Category:API]] [[Category:Developer]][[Category:Server]][[Category:API]]
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu