Index: Lib/xml/etree/ElementTree.py =================================================================== --- Lib/xml/etree/ElementTree.py (revision 64415) +++ Lib/xml/etree/ElementTree.py (working copy) @@ -834,7 +834,7 @@ # tag and namespace declaration, if any if isinstance(tag, QName): tag = tag.text - namespace_uri, tag = string.split(tag[1:], "}", 1) + namespace_uri, tag = string.rsplit(tag[1:], "}", 1) prefix = namespaces.get(namespace_uri) if prefix is None: prefix = _namespace_map.get(namespace_uri) Index: Lib/test/test_xml_etree.py =================================================================== --- Lib/test/test_xml_etree.py (revision 64415) +++ Lib/test/test_xml_etree.py (working copy) @@ -200,7 +200,18 @@ 'body' """ +def parse_namespace(): + """ + >>> from xml.etree import ElementTree as ET + >>> e = ET.XML('') + >>> e.tag + '{${stuff}}localname' + >>> t = ET.ElementTree(e) + >>> ET.tostring(e) + '' + """ + def check_encoding(ET, encoding): """ >>> from xml.etree import ElementTree as ET