xmldiff #23489 xupdate output does not encode <, & [open]

The xupdate output does not encode XML special characters '<', '>', '&', ''', '"' to XML-Entities '&lt;', '&gt;', '&amp;', '&apos;', '&quot;' within text nodes. Within objects.py, the "_xml_print_internal_format" method is called for generating this output. In the case of a new element with new content it generates the xupdate command and calls "xml_print" for all children except attributes. The call to xml_print does not include the xupdate parameter, therefor xml_print goes to "_xml_print_internal_format" to output the textual content. Within _xml_print_internal_format, the content is written directly to the stream

elif node[N_TYPE] == NT_TEXT:
stream.write(node[N_VALUE] + '\n')

Any changes on XML documents containing a less than sign for example leads to a not well formed xupdate document!

done in<not specified>
closed by<not specified>