]> granicus.if.org Git - python/commitdiff
Make sure XMLGenerator uses quoteattr() instead of escape() to quote
authorFred Drake <fdrake@acm.org>
Tue, 7 Aug 2001 19:14:46 +0000 (19:14 +0000)
committerFred Drake <fdrake@acm.org>
Tue, 7 Aug 2001 19:14:46 +0000 (19:14 +0000)
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.

Lib/xml/sax/saxutils.py

index bf1f5f317e928cd7f9368d57d5c6c55e39f66196..8a96be60e8f106396ed1b717cc48bf51bcae4f43 100644 (file)
@@ -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):