Be aware that when you extract a piece of XML from a larger XML document using the readOuterXML() function, it tries to determine the namespaces (as defined in the original XML document) that apply to the new piece, and inserts them into the appropriate tags as xmlns attributes. This can be disconcerting, but it should be a benign alteration in most cases, and I understand that it causes the new chunk of XML to be correctly formatted so it is valid in it's own right.
As far as I'm aware it's not possible to change this behaviour.
(PHP 5 >= 5.2.0)
XMLReader::readOuterXML — Retrieve XML from current node, including it self
Reads the contents of the current node, including the node itself.
Esta função não possui parâmetros.
Returns the contents of current node, including itself, as a string. Empty string on failure.
Esta função está somente disponível quando o PHP é compilado com libxml 20620 ou superior.