'Refer to another TABLE, previously defined, by the *ref* ID_
for all metadata (FIELD_, PARAM_ etc.) information.'

@ref.setter
def ref(self, ref):

    xmlutil.check_id(ref, u'ref', self._config, self._pos)
    if (ref is not None):
        try:
            table = self._votable.get_table_by_id(ref, before=self)
        except KeyError:
            warn_or_raise(W43, W43, (u'TABLE', self.ref), self._config, self._pos)
            ref = None
        else:
            self._fields = table.fields
            self._params = table.params
            self._groups = table.groups
            self._links = table.links
    else:
        del self._fields[:]
        del self._params[:]
        del self._groups[:]
        del self._links[:]
    self._ref = ref
