Probably best to just write the XML directly to the response object and then call responseComplete().
Exactly what I was looking for. Thanks!
I think a better choice here is to leave the XML header as-is in the outer document, the template.
The whole point seems to be that you want to assemble XML data, right? So the the assembly, the outer document, declares the namespaces etc. Change your blogEntry.content method so that it does not return an XML root element or header. Or add an additional method contentWithoutHeader() that does that.
That seems to be a better long-term strategy, if you consider Facelets to be your XHTML response
assemblerand if you will likely append XML data from different sources into a single document.
You don't need the outer XML element at all:
(since the document doesn't need to be XHTML, only XML)