Parses <KineticScheme>

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

def parse_kinetic_scheme(self, node):
        """
        Parses <KineticScheme>

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

        if 'name' in node.lattrib:
            name = node.lattrib['name']
        else:
            self.raise_error('<KineticScheme> must specify a name.')

        if 'nodes' in node.lattrib:
            nodes = node.lattrib['nodes']
        else:
            self.raise_error("Kinetic scheme '{0}' must specify nodes.", name)

        if 'statevariable' in node.lattrib:
            state_variable = node.lattrib['statevariable']
        else:
            self.raise_error("Kinetic scheme '{0}' must specify a state variable.", name)

        if 'edges' in node.lattrib:
            edges = node.lattrib['edges']
        else:
            self.raise_error("Kinetic scheme '{0}' must specify edges.", name)

        if 'edgesource' in node.lattrib:
            edge_source = node.lattrib['edgesource']
        else:
            self.raise_error("Kinetic scheme '{0}' must specify the edge source attribute.", name)

        if 'edgetarget' in node.lattrib:
            edge_target = node.lattrib['edgetarget']
        else:
            self.raise_error("Kinetic scheme '{0}' must specify the edge target attribute.", name)

        if 'forwardrate' in node.lattrib:
            forward_rate = node.lattrib['forwardrate']
        else:
            self.raise_error("Kinetic scheme '{0}' must specify the forward rate attribute.", name)

        if 'reverserate' in node.lattrib:
            reverse_rate = node.lattrib['reverserate']
        else:
            self.raise_error("Kinetic scheme '{0}' must specify the reverse rate attribute", name)

        self.current_regime.add_kinetic_scheme(KineticScheme(name, nodes, state_variable,
                                                             edges, edge_source, edge_target,
                                                             forward_rate, reverse_rate))