diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2000-10-03 22:35:29 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2000-10-03 22:35:29 (GMT) |
commit | cf0a1cc41705e27a8dd81536bb6a1b468bc22c59 (patch) | |
tree | 16f5c986e0f02a2361c4c7f0d18b995f4f7336da /Lib/xml/sax | |
parent | 1654b43ef79f81ce1ae6049f93db4a68f8408e3d (diff) | |
download | cpython-cf0a1cc41705e27a8dd81536bb6a1b468bc22c59.zip cpython-cf0a1cc41705e27a8dd81536bb6a1b468bc22c59.tar.gz cpython-cf0a1cc41705e27a8dd81536bb6a1b468bc22c59.tar.bz2 |
Support non-namespace elements in *ElementNS of XMLGenerator.
Diffstat (limited to 'Lib/xml/sax')
-rw-r--r-- | Lib/xml/sax/saxutils.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Lib/xml/sax/saxutils.py b/Lib/xml/sax/saxutils.py index a25b41f..892f34d 100644 --- a/Lib/xml/sax/saxutils.py +++ b/Lib/xml/sax/saxutils.py @@ -62,7 +62,12 @@ class XMLGenerator(handler.ContentHandler): self._out.write('</%s>' % name) def startElementNS(self, name, qname, attrs): - name = self._current_context[name[0]] + ":" + name[1] + if name[0] is None: + # if the name was not namespace-scoped, use the unqualified part + name = name[1] + else: + # else try to restore the original prefix from the namespace + name = self._current_context[name[0]] + ":" + name[1] self._out.write('<' + name) for pair in self._undeclared_ns_maps: @@ -75,7 +80,10 @@ class XMLGenerator(handler.ContentHandler): self._out.write('>') def endElementNS(self, name, qname): - name = self._current_context[name[0]] + ":" + name[1] + if name[0] is None: + name = name[1] + else: + name = self._current_context[name[0]] + ":" + name[1] self._out.write('</%s>' % name) def characters(self, content): |