'*table* is the :class:`Table` object that this :class:`FieldRef`
is a member of.
*ref* is the ID to reference a :class:`Field` object defined
elsewhere.'

def __init__(self, table, ref, ucd=None, utype=None, config=None, pos=None, **extra):

    if (config is None):
        config = {}
    self._config = config
    self._pos = pos
    SimpleElement.__init__(self)
    self._table = table
    self.ref = ref
    self.ucd = ucd
    self.utype = utype
    if config.get(u'version_1_2_or_later'):
        self._attr_list = self._attr_list_12
    else:
        self._attr_list = self._attr_list_11
        if (ucd is not None):
            warn_unknown_attrs(self._element_name, [u'ucd'], config, pos)
        if (utype is not None):
            warn_unknown_attrs(self._element_name, [u'utype'], config, pos)
