Personally, I'm not much of a believer in the whole XML DB thing. The concept just seems weird to me. I know there are uses when it makes sense, but all in all, it's really not a general purpose solution.
I think Coocoon both gains and suffers from the XML pipe. While very flexible, it's also a pretty slow way to go about assembling pages. If you simply need to import/export a custom DTD, that's probably more within the league of a custom XSLT template, I guess. If it's just one not overly complex DTD you might be able to simply write an import to ezcontentobjects anyhow. Else I'd probably store the XML as you got it and filter it through XSLT upon display.