In life, nothing is ever easy...
While the XML output is working well, I've come across an issue with
stdout/stderr. Unfortunately it's not just enough to wrap it in tags,
because it's possible that the output will contain XML formatting
information. There are two ways to get around this. The easiest is to
wrap the output in "<![CDATA[" and "]]>". This has the benefit of
being relatively easy, but will fail if the output contains the string
"]]>". The other way is to replace all instances of "&", "<", and ">"
with "&", "<", and ">" respectively. This is safer, but
requires more processing.