Parses <Parameter>

        @param node: Node containing the <Parameter> element
        @type node: xml.etree.Element

        @raise ParseError: Raised when the parameter does not have a name.
        @raise ParseError: Raised when the parameter does not have a
        dimension.

def parse_parameter(self, node):
        """
        Parses <Parameter>

        @param node: Node containing the <Parameter> element
        @type node: xml.etree.Element

        @raise ParseError: Raised when the parameter does not have a name.
        @raise ParseError: Raised when the parameter does not have a
        dimension.
        """

        if self.current_component_type == None:
            self.raise_error('Parameters can only be defined in ' +
                             'a component type')

        try:
            name = node.lattrib['name']
        except:
            self.raise_error('<Parameter> must specify a name')

        try:
            dimension = node.lattrib['dimension']
        except:
            self.raise_error("Parameter '{0}' has no dimension",
                             name)

        parameter = Parameter(name, dimension)

        self.current_component_type.add_parameter(parameter)