One of the features of libxml I’ve enjoyed is the API for swapping allocation/deallocation functions[1] at runtime. I could certainly make use of it, but mainly as a convenience I have to admit.
[1] http://www.xmlsoft.org/xmlmem.html