Parses <ForEach>

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

def parse_for_each(self, node):
        """
        Parses <ForEach>

        @param node: Node containing the <ForEach> element
        @type node: xml.etree.Element
        """
        
        if self.current_structure == None:
            self.raise_error('<ForEach> can only be made within ' +
                             'a structure definition')

        if 'instances' in node.lattrib:
            instances = node.lattrib['instances']
        else:
            self.raise_error('<ForEach> must specify a reference to target'
                             'instances')

        if 'as' in node.lattrib:
            as_ = node.lattrib['as']
        else:
            self.raise_error('<ForEach> must specify a name for the '
                             'enumerated target instances')

        old_structure = self.current_structure
        fe = ForEach(instances, as_)
        self.current_structure.add_for_each(fe)
        self.current_structure = fe
        
        self.process_nested_tags(node)

        self.current_structure = old_structure