Very nice approach here.

This is me being pedantic:

The name FAKE_XML was a little misleading at first read.  At first, I thought it was something your fed into the xml parser instead of the actual xml.  In this case, you're framing a large xml fragment within a custom tag that is properly namespaced and preceded by the expected processing directives.  I get where you're coming from with the name but perhaps a name without the word *fake* in it.  Maybe something using the word *document*?