BerkeleyDBXML: 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.

Berkeley DB XML home page:

Haskell binding tutorial:

DARCS repository:

Changes: 0.7: Compatible (only) with dbxml 2.5.

[Skip to Readme]


  • Database
    • Berkeley
      • 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
Change log ChangeLog
Dependencies base (>=4 && <5), BerkeleyDB (>=0.8), bytestring (>=0.9) [details]
License BSD-3-Clause
Copyright (c) 2009 Stephen Blackheath, (c) 2010 typLAB
Author Stephen Blackheath
Maintainer, typLAB <>
Category Database
Home page
Uploaded by StephenBlackheath at 2010-02-03T21:21:50Z
Distributions NixOS:0.7.2
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 10435 total (26 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 2016-12-30 [all 8 reports]

Readme for BerkeleyDBXML-0.7

[back to package description]
Berkeley DB / Berkeley DB XML binding for Haskell
28 Jan 2010
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.

To install, use the standard Cabal install procedure:

cabal install


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:

cabal install \
    --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.