Commit ec30b3dd authored by Senthil Kumaran's avatar Senthil Kumaran

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

parent 92665ab8
...@@ -1119,6 +1119,11 @@ def qname(): ...@@ -1119,6 +1119,11 @@ def qname():
>>> elem = ET.Element(ET.QName("uri", "tag")) >>> elem = ET.Element(ET.QName("uri", "tag"))
>>> serialize(elem) # 1.3 >>> serialize(elem) # 1.3
'<ns0:tag xmlns:ns0="uri" />' '<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 2) decorated attributes
......
...@@ -913,8 +913,9 @@ def _namespaces(elem, default_namespace=None): ...@@ -913,8 +913,9 @@ def _namespaces(elem, default_namespace=None):
iterate = elem.getiterator # cET compatibility iterate = elem.getiterator # cET compatibility
for elem in iterate(): for elem in iterate():
tag = elem.tag tag = elem.tag
if isinstance(tag, QName) and tag.text not in qnames: if isinstance(tag, QName):
add_qname(tag.text) if tag.text not in qnames:
add_qname(tag.text)
elif isinstance(tag, str): elif isinstance(tag, str):
if tag not in qnames: if tag not in qnames:
add_qname(tag) add_qname(tag)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment