Possible to create XML with Arduino?

Suggestion,
instead of defining both the beginning and end tags:
PROGMEM const prog_char messageStartTag[] = "";
PROGMEM const prog_char messageEndTag[] = "";

define the tag "Message" and make writeStartTag(Stream, const prog_char *), writeEndTag(Stream, const prog_char *) functions to add the "<>" or the "</>" around the string. Probably save quite a bit of flash that way.