Changes

Jump to navigation Jump to search
237 bytes added ,  17:54, 14 May 2020
no edit summary
This page is part of the [[Developer Section]]. It describes how to communicate with BaseX
with from other programming languages. {{Mark|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 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>
<tdwidth='50%' valign='top'>'''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/python3 python Python 3]: contributed by Hiroaki Itoh* [https://github.xcom/lucalianas/pyBaseX Python], 2using BaseX REST services: contributed by Luca Lianas* [https://github.7.3com/BenEngbers/RBaseX R]: contributed by Hiroaki ItohBen Engbers* [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/ruby Ruby], contributed by the BaseX Team
With <b>Version 8.0</b>, authentication has changed.Some of the languagebindings have not been updated yet.The update is rather trivial, though([[Server_Protocol#Authentication|see here]] for more details);we are looking forward to come (your contributions are welcomepatches!)
</td>
<tdwidth='50%' valign='top'>'''BaseX 7.x''' (outdated)
* [https://github.com/BaseXdb/basex/tree/7.9/basex-api/src/main/as ActionScript]: contributed by Manfred Knobloch
* [https://github.com/BaseXdb/basex/tree/7.9/basex-api/src/main/c C]
* [https://github.com/BaseXdb/basex/tree/7.9/basex-api/src/main/c%23 C#]
* [https://github.com/programaths/go-basex Golang]: contributed by Christian Baune
* [https://github.com/BaseXdb/basex/tree/7.9/basex-api/src/main/haskell Haskell]: contributed by Leo W&ouml;rteler
* [https://github.com/BaseXdb/basex/tree/7.9/basex-api/src/main/lisp Lisp]: contributed by Andy Chambers
* [https://github.com/hanshuebner/simple-basex node.js]: contributed by Hans Hübner (deviating from client API)
* [https://github.com/BaseXdb/basex/tree/7.9/basex-api/src/main/php PHP]: updated by James Ball
* [https://github.com/BaseXdb/basex/tree/7.9/basex-api/src/main/python Python &lt; 2.7]: improved by Arjen van Elteren
* [https://github.com/BaseXdb/basex/tree/7.9/basex-api/src/main/qt Qt]: contributed by Hendrik Strobelt
* [https://github.com/BaseXdb/basex/tree/7.9/basex-api/src/main/rebol Rebol]: contributed by Sabu Francis
* [https://github.com/delving/basex-scala-client Scala]: contributed by Manuel Bernhardt
* [https://github.com/BaseXdb/basex/tree/7.9/basex-api/src/main/scala Scala] (simple implementation)
* [https://github.com/BaseXdb/basex/tree/master/basex-api/src/main/vb VB], contributed by the BaseX Team
</td>
</tr>
* <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=
* Updated: cram-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