'Recursively iterates over all FIELD_ and PARAM_ elements in
the resource, its tables and nested resources.'

def iter_fields_and_params(self):

    for param in self.params:
        (yield param)
    for table in self.tables:
        for param in table.iter_fields_and_params():
            (yield param)
    for resource in self.resources:
        for param in resource.iter_fields_and_params():
            (yield param)
