Berkeley DB XML binding

Latest on Hackage:0.7.2

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD3 licensed by Stephen Blackheath, Erik Hesselink
Maintained by, typLAB
Berkeley DB / Berkeley DB XML binding for Haskell
6 May 2011
by Stephen Blackheath

email me:
darcs repository:

Berkeley DB XML is a powerful, fully transactional, XML-based database that uses
XQuery as its query language. It is NOT an SQL database. It is not free for
commercial use. You can download it here:

This package provides a Haskell binding for Berkeley DB XML. It is a tolerable
subset of the API, and I hope to improve it over time. I have stuck closely to
the C++ API, with some minor changes where a Haskell idiom seemed appropriate.
I hope that people will develop higher level wrappers for it. I have had great
success with the "pickler" interfaces in the HXT library. See the adventure
example in the examples/ directory.

The binding is only about 70% complete, but it should allow you to write a fairly
serious application. If you would like a particular part of the API added,
please contact me.

To install, use the standard Cabal install procedure:

If Berkeley DB or DB XML is not installed in the default location of /usr or
/usr/local, you will need to specify the paths in this way:

cabal install BerkeleyDBXML \
--extra-include-dirs=/usr/local/dbxml-2.5.16/include/ \
--extra-include-dirs=/usr/local/dbxml-2.5.16/include/dbxml/ \

See the examples/ directory for examples.


0.6 05 Jan 2009
- Split BerkeleyDB into a separate package.
- Change to the new Control.Exception from base version 4.
0.5 13 Dec 2008
- Change all 'unsafe' to 'safe' so it'll work better in a threaded
- Change xmlDocument_getContent, xmlDocument_setContent, db_get and db_put
so they all use Data.ByteString.ByteString instead of String.
Depends on 3 packages:
Used by 1 package:
comments powered byDisqus