Fold is a web application library for XQuery. It currently works with the BaseX database server (8.0) but can probably be made to work on any other XML database that supports XQuery 3.0.
Fold is largely a port of the Ring and Compojure Clojure libraries. These libraries in turn are inspired by Python's WSGI and Ruby's Rack libraries.
Currently, Fold is implemented in pure XQuery code (on top of RESTXQ).
For more information go the the Wiki.
IMPORTANT: This library is not yet ready for production use, far from it, it is probably full of bugs. It does not perform well, not everything is fully implemented, it's not documented (but does have tests). I hope that by publishing it I can gather feedback for improving it. Or, it may be a bad idea altogether. Don't know yet.
- Fold provides a unified API for programming web applications or REST services.
- BaseX 8.0 or higher
I haven't payed much attention to installation/deployment yet and it's probably not the best way to distribute this.
The easiest way to get up and running currently is.
-
Clone the repo
-
Modify
.basex
of your BaseX installation and update the settingWEBPATH
to point to thewebapp
directory from this repo -
Start
basexhttp
and go tohttp://localhost:8984
Next thing to do would be to look at app.xqm and to study the tests in test/.
Hope to get some documentation up soon.