'Helper method to filter list:type axis values
@param rfield: the axis field
@return: pair of value lists [include], [exclude]'

def values(self, rfield):

    op = self.op
    tablename = self.tablename
    fieldname = self.fieldname
    if ((tablename == rfield.tname) and (fieldname == rfield.fname)):
        value = self.r
        if isinstance(value, (list, tuple)):
            value = [s3_unicode(v) for v in value]
            if (not value):
                value = [None]
        else:
            value = [s3_unicode(value)]
        if (op == 'CONTAINS'):
            return (value, [])
        elif (op == 'EQ'):
            return (value, [])
        elif (op == 'NE'):
            return ([], value)
    elif (op == 'AND'):
        (li, le) = self.l.values(rfield)
        (ri, re) = self.r.values(rfield)
        return ([v for v in (li + ri) if (v not in (le + re))], [])
    elif (op == 'OR'):
        (li, le) = self.l.values(rfield)
        (ri, re) = self.r.values(rfield)
        return ([v for v in (li + ri)], [])
    if (op == 'NOT'):
        (li, le) = self.l.values(rfield)
        return ([], li)
    return ([], [])
