mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Fix Issue10205 - XML QName error when different tags have same QName.
This commit is contained in:
parent
92665ab8c7
commit
ec30b3dd8c
2 changed files with 8 additions and 2 deletions
|
@ -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):
|
||||||
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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue