'Recursively iterates over all the INFO_ elements in the
resource and nested resources.'

def iter_info(self):

    for info in self.infos:
        (yield info)
    for table in self.tables:
        for info in table.iter_info():
            (yield info)
    for resource in self.resources:
        for info in resource.iter_info():
            (yield info)
