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