1. Armin Rigo
  2. cpython-withatomic

Commits

Senthil Kumaran  committed b347b5c

Merged revisions 86348 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
r86348 | senthil.kumaran | 2010-11-09 10:36:59 +0800 (Tue, 09 Nov 2010) | 3 lines

Fix Issue10205 - XML QName error when different tags have same QName.
........

  • Participants
  • Parent commits 0ad6a0d
  • Branches 2.7

Comments (0)

Files changed (2)

File Lib/test/test_xml_etree.py

View file
     >>> elem = ET.Element(ET.QName("uri", "tag"))
     >>> serialize(elem) # 1.3
     '<ns0:tag xmlns:ns0="uri" />'
+    >>> elem = ET.Element(ET.QName("uri", "tag"))
+    >>> subelem = ET.SubElement(elem, ET.QName("uri", "tag1"))
+    >>> subelem = ET.SubElement(elem, ET.QName("uri", "tag2"))
+    >>> serialize(elem) # 1.4
+    '<ns0:tag xmlns:ns0="uri"><ns0:tag1 /><ns0:tag2 /></ns0:tag>'
 
     2) decorated attributes
 

File Lib/xml/etree/ElementTree.py

View file
         iterate = elem.getiterator # cET compatibility
     for elem in iterate():
         tag = elem.tag
-        if isinstance(tag, QName) and tag.text not in qnames:
-            add_qname(tag.text)
+        if isinstance(tag, QName):
+            if tag.text not in qnames:
+                add_qname(tag.text)
         elif isinstance(tag, basestring):
             if tag not in qnames:
                 add_qname(tag)