@hackage BerkeleyDBXML0.5

Berkeley DB and Berkeley DB XML binding

Berkeley DB / Berkeley DB XML binding for Haskell Version 0.5 13 Dec 2008 by Stephen Blackheath

email me: http://blacksapphire.com/antispam/ darcs repository: http://blacksapphire.com/BerkeleyDBXML/ introduction/tutorial: http://haskell.org/haskellwiki/BerkeleyDBXML

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:

http://www.oracle.com/database/berkeley-db/xml/index.html

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.) I would like to make this a build option.

To install, use the standard Cabal install procedure:

sudo cabal install

or

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:

sudo cabal install
--extra-include-dirs=/usr/local/dbxml-2.4.16/include/
--extra-include-dirs=/usr/local/dbxml-2.4.16/include/dbxml/
--extra-lib-dirs=/usr/local/dbxml-2.4.16/lib/

See the examples/ directory for examples.