'Constructor for ExtensionElement
:param namespace: The XML namespace for this element.
:param tag: The tag (without the namespace qualifier) for
this element. To reconstruct the full qualified name of the
element, combine this tag with the namespace.
:param attributes: The attribute value string pairs for the XML
attributes of this element.
:param children: list (optional) A list of ExtensionElements which
represent the XML child nodes of this element.'

def __init__(self, tag, namespace=None, attributes=None, children=None, text=None):

    self.namespace = namespace
    self.tag = tag
    self.attributes = (attributes or {})
    self.children = (children or [])
    self.text = text
