code: def loadd(self, ava):
          
  
          if "attributes" in ava:
              for key, val in ava["attributes"].items():
                  self.attributes[key] = val
  
          try:
              self.tag = ava["tag"]
          except KeyError:
              if not self.tag:
                  raise KeyError("ExtensionElement must have a tag")
  
          try:
              self.namespace = ava["namespace"]
          except KeyError:
              if not self.namespace:
                  raise KeyError("ExtensionElement must belong to a namespace")
  
          try:
              self.text = ava["text"]
          except KeyError:
              pass
  
          if "children" in ava:
              for item in ava["children"]:
                  self.children.append(ExtensionElement(item["tag"]).loadd(item))
  
          return self
docs: expects a special set of keys