E that the user imports is not a
class. It is a factory object, that is, an instance of
ElementMaker factory class.
# - - - - - c l a s s E l e m e n t M a k e r class ElementMaker(object): '''ElementTree element factory class Exports: ElementMaker(typeMap=None): [ (typeMap is an optional dictionary whose keys are type objects T, and each corresponding value is a function with calling sequence f(elt, item) and generic intended function [ (elt is an et.Element) and (item has type T) -> elt := elt with item added ]) -> return a new ElementMaker instance that has calling sequence E(*p, **kw) and intended function [ p exists and is a str -> return a new et.Element instance whose name is p, and remaining elements of p become string content of that element (for types str, unicode, and int) or attributes (for type dict, and members of kw) or children (for type et.Element), plus additional handling from typeMap if it is provided ] and allows arbitrary method calls of the form E.tag(*p, **kw) with intended function [ return a new et.Element instance whose name is (tag), and elements of p and kw have the same effects as E(*(p[1:]), **kw) ] '''
For a discussion of intended functions and the Cleanroom software development methodology, see the author's Cleanroom page.
You can use the optional
argument to provide logic to handle types other than
the ones defined in Section 13.1, “Using the
Refer to the
constructor for a discussion of the internal
.__typeMap and how it works
in element construction.