Changes

Jump to navigation Jump to search
1,878 bytes added ,  16:29, 29 June 2023
no edit summary
This page is part of {{Announce|The conventions for the [[Developer Section]]. It describes how to use BaseX from otherprogramming languages.client functions were revised:}}
With * The {{Code|replace}} and {{Code|store}} functions have been renamed to {{Code|put}} and {{Code|putBinary}}.* The {{Code|RETRIEVE}} command has been replaced by {{Command|BINARY GET}}.* Existing client implementations are working without changes unless they haven’t been upgraded. This page is part of the [[Developer Section]]. It describes how to communicate with BaseXfrom other programming languages. You can use the following light-weight language bindings in different programming languages,you will be able to connect to a running BaseX server instance, execute databasecommands, perform queries or listen to eventsand evaluate XQuery expressions.  Most clients offer the followingprovide two classesmodes:
* [[Standard Mode]]: connecting to a server, sending commands
* [[Query Mode]]: defining queries, binding variables, iterative evaluation
Please have a look at our see the [[Server Protocol]] for more information on the clients and the underlying protocolavailable commands.Bindings Currently, we offer bindings for other the following programming languages are easy to write: your contributions are welcome.
Currently<table width='100%'> <tr> <td width='50%' valign='top'>'''BaseX 7.x, we offer bindings for BaseX 8.x and later'''* [https://github.com/BaseXdb/basex/tree/main/basex-examples/src/main/java/org/basex/examples/api Java]: The default implementation* [https://github.com/bsella/BaseX_CppClient C++]: contributed by Karim Salama (based on SDL2_net)* [https://github.com/JohnLeM/BasexCPPAPI/ C++]: contributed by Jean-Marc Mercier (based on libboost)* [https://github.com/BaseXdb/basex/tree/main/basex-api/src/main/c%23 C#], contributed by the BaseX Team and Martín Ferrari* [https://github.com/BaseXdb/basex/tree/main/basex-api/src/main/c C], contributed by the following programming languagesBaseX Team* [https://github.com/programaths/go-basex Golang]: contributed by Christian Baune* [https://github.com/zadean/basexerl/blob/main/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/main/basex-api/src/main/perl Perl], contributed by the BaseX Team* [https://github.com/BaseXdb/basex/tree/main/basex-api/src/main/php PHP]: updated by James Ball* [https://github.com/BaseXdb/basex/tree/main/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/BenEngbers/RBaseX R]: contributed by Ben Engbers* [https://github.com/BaseXdb/basex/tree/main/basex-api/src/main/raku Raku]: contributed by Wayland* [https://github.com/BaseXdb/basex/tree/main/basex-api/src/main/ruby Ruby], contributed by the BaseX Team* [https://github.com/eptx/v-basex V], contributed by Erik Peterson
; Object oriented:: [https://githubWith <b>Version 8.com/BaseXdb/basex-api/tree/master/src/main0</c%23 C#]b>, [https://githubauthentication has changed. Some language bindings have not been updated yet.com/BaseXdb/basex-api/tree/master/src/main/vb VB]The update is rather trivial, though ([https:[Server_Protocol#Authentication|see here]] for more details); patches are welcome. <//githubtd> <td width='50%' valign='top'>'''BaseX 7.com/BaseXdb/basex-api/tree/master/src/main/scala Scala], x''' (outdated)* [https://github.com/BaseXdb/basex-examples/tree/master/src/main/java/org/basex/examples/api Java]: [https://github7.com/BaseXdb9/basex-api/tree/master/src/main/as ActionScript] (: contributed by Manfred Knobloch); Scripting: * [https://github.com/BaseXdb/basex-api/tree/master/src/main/php PHP], [https://github7.com/BaseXdb9/basex-api/tree/master/src/main/perl Perlhaskell Haskell], : contributed by Leo W&ouml;rteler* [https://github.com/BaseXdb/basex-api/tree/master/src/main/ruby Ruby]: [https://github7.com/BaseXdb9/basex-api/tree/master/src/main/python Pythonlisp Lisp] (improved : contributed by Arjen van Elteren)Andy Chambers: * [https://github.com/BaseXdbhanshuebner/simple-basex-api/tree/master/src/main/rebol Rebolnode.js] (: contributed by Sabu FrancisHans Hübner (deviating from client API); Functional:: * [https://github.com/BaseXdb/basex-api/tree/master7.9/basex-api/src/main/lisp Lispqt Qt] (: contributed by Andy Chambers)Hendrik Strobelt: * [https://github.com/BaseXdb/basex-api/tree/master7.9/basex-api/src/main/haskell Haskellrebol Rebol] (: contributed by Leo W&ouml;rteler) Sabu Francis; Others:: * [https://github.com/apb2006delving/basex-node node.jsscala-client Scala] (: contributed by Andy Bunce)Manuel Bernhardt: * [https://github.com/BaseXdb/basex-api/tree/master7.9/basex-api/src/main/qt Qtscala Scala] (contributed by Hendrik Strobeltsimple implementation): * [https://github.com/BaseXdb/basex-api/tree/mastermain/basex-api/src/main/c Cvb VB], contributed by the BaseX Team </td> </tr></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]].
[[Category=Changelog= ;Version 10.0* Updated:Developer]]The {{Code|replace}} and {{Code|store}} functions have been renamed to {{Code|put}} and {{Code|putBinary}}.[[Category:Server]][[Category;Version 8.0* Updated:API]]cram-md5 replaced with digest authentication.
Bureaucrats, editor, reviewer, Administrators
13,554

edits

Navigation menu