def registerElement(elementClass):
"""
Register the supplied XML elements with the parser.
"""
qname = elementClass.namespace, elementClass.name
if qname in _elements_by_qname:
raise AssertionError(
"Attempting to register qname %s multiple times: (%r, %r)"
% (qname, _elements_by_qname[qname], elementClass)
)
if not (qname in _elements_by_qname and issubclass(elementClass, _elements_by_qname[qname])):
_elements_by_qname[qname] = elementClass
globals()[elementClass.__name__] = elementClass
return elementClass