mirror of https://github.com/python/cpython
Fix Issue10205 - XML QName error when different tags have same QName.
This commit is contained in:
parent
92665ab8c7
commit
ec30b3dd8c
|
@ -1119,6 +1119,11 @@ def qname():
|
|||
>>> 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
|
||||
|
||||
|
|
|
@ -913,8 +913,9 @@ def _namespaces(elem, default_namespace=None):
|
|||
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, str):
|
||||
if tag not in qnames:
|
||||
add_qname(tag)
|
||||
|
|
Loading…
Reference in New Issue