I read that Berkeley XML DB is an XML database which uses the Berkeley DB as the actual storage engine.
Berkeley DB itself is available as a binary in either C/C++ or as a 100% Java lib which can nicely be used via maven.
Now I had thought, that there is also a 100% Java version of Berkeley XML DB which just sits on top of the Berkeley DB Java version as its backend. Instead it seems that the Java API to the XML DB is actually using the C/C++ Version of Berkeley DB via JNI calls.
Sorry this post was unanswered for so long. You're understanding is correct -- Berkeley DB XML's core is written in C++ and uses the Berkeley DB C engine for storage. The Java API for Berkeley DB XML is implemented on the C++ code using JNI.