If you are still not sure which XML parser to use, here is a nice benchmark result. While benchmark results are not always trustworthy, these results matches my experiences with expat, libxml, and Xerces parsers. The parser I recommend is libxml for providing excellent performance with reasonable footprint and resource consumption. For XSLT, I recommend libxslt which provides much of the same for XSLT transformation.
Unfortunately, Berkeley DB XML uses Xerces which falls way behind libxml. Also, I thought Berkeley DB XML stored XML in preparsed format, but the doc say XML is stored as in UTF-8. It might be interesting to build a native XML database using libxml on top of SQLLite that stores canonicalized XML documents as well as binary versions of those documents… If I had the time that is.
FYI, Expat is small and fast for simple tasks but offers only a fraction of libxml features and Expat third-party libraries I have looked at are no where near what libxml delivers.