docs: def parse_component(self, node):
          """
          Parses <Component>
  
          @param node: Node containing the <Component> element
          @type node: xml.etree.Element
          """
  
          if 'id' in node.lattrib:
              id_ = node.lattrib['id']
          else:
              #self.raise_error('Component must have an id')
              id_ = make_id()
  
          if 'type' in node.lattrib:
              type_ = node.lattrib['type']
          else:
                  self.raise_error("Component {0} must have a type.",
                                   id_)
  
          component = Component(id_, type_)
  
          if self.current_component:
              component.set_parent_id(self.current_component.id)
              self.current_component.add_child(component)
          else:
              self.model.add_component(component)
                  
          for key in node.attrib:
              if key.lower() not in ['id', 'type']:
                  component.set_parameter(key, node.attrib[key])
  
          old_component = self.current_component
          self.current_component = component
          self.process_nested_tags(node)
          self.current_component = old_component