BerkeleyDBXML: Berkeley DB and Berkeley DB XML binding

[ bsd3, database, library ] [ Propose Tags ]

Berkeley DB XML is a powerful, fully transactional, XML-based database that uses XQuery as its query language. Berkeley DB XML is built on top of Berkeley DB. It is NOT an SQL database.

This package provides a 70% complete Haskell binding for Berkeley DB and Berkeley DB XML. It is also possible to compile for Berkeley DB only.

Berkeley DB XML home page:

Haskell binding tutorial:

DARCS repository:

[Skip to Readme]


  • Database
    • Berkeley
      • Database.Berkeley.Db
      • Database.Berkeley.DbXml


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6.1, 0.6.2, 0.7, 0.7.1, 0.7.2
Dependencies base [details]
License BSD-3-Clause
Copyright (c) Stephen Blackheath
Author Stephen Blackheath
Category Database
Home page
Uploaded by StephenBlackheath at 2008-10-01T10:16:33Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 10712 total (25 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2017-01-03 [all 8 reports]

Readme for BerkeleyDBXML-0.3

[back to package description]
Berkeley DB / Berkeley DB XML binding for Haskell
Version 0.3  01 Oct 2008
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.  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.

If you just want Berkeley DB without Berkeley DB XML, you can do this by deleting
the lines in BerkeleyDBXML.cabal that pertain to Berkeley DB XML.  (The Berkeley DB
parts do not depend on the Berkeley DB XML parts.)

To install, use the standard Cabal install procedure:

runhaskell Setup.hs configure
runhaskell Setup.hs build
runhaskell Setup.hs haddock            (optional documentation in dist/doc)
sudo runhaskell Setup.hs install

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:

runhaskell Setup.hs configure \
    --extra-include-dirs=/usr/local/dbxml-2.4.13/include/dbxml/ \

Cabal does not seem to check these very well. If you get the lib directory
wrong, you won't find out until you try to build the examples.

See the examples/ directory.