From: Fred Drake Date: Tue, 7 Aug 2001 19:14:46 +0000 (+0000) Subject: Make sure XMLGenerator uses quoteattr() instead of escape() to quote X-Git-Tag: v2.2a3~767 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dad91dd1e90222cfae4543eb290e2b2fa99192c2;p=thirdparty%2FPython%2Fcpython.git Make sure XMLGenerator uses quoteattr() instead of escape() to quote attribute values. Just using escape() can (and always has) led to broken XML being generated. This makes sure it always produces the right thing. This actually closes SF bug #440351. --- diff --git a/Lib/xml/sax/saxutils.py b/Lib/xml/sax/saxutils.py index bf1f5f317e92..8a96be60e8f1 100644 --- a/Lib/xml/sax/saxutils.py +++ b/Lib/xml/sax/saxutils.py @@ -80,7 +80,7 @@ class XMLGenerator(handler.ContentHandler): def startElement(self, name, attrs): self._out.write('<' + name) for (name, value) in attrs.items(): - self._out.write(' %s="%s"' % (name, escape(value))) + self._out.write(' %s=%s' % (name, quoteattr(value))) self._out.write('>') def endElement(self, name): @@ -101,7 +101,7 @@ class XMLGenerator(handler.ContentHandler): for (name, value) in attrs.items(): name = self._current_context[name[0]] + ":" + name[1] - self._out.write(' %s="%s"' % (name, escape(value))) + self._out.write(' %s=%s' % (name, quoteattr(value))) self._out.write('>') def endElementNS(self, name, qname):