'Get only the attribute content.
@param filter: A filter to constrain the result.
@type filter: L{Filter}
@return: A list of tuples (attr, ancestry)
@rtype: [(L{SchemaObject}, [L{SchemaObject},..]),..]'

def attributes(self, filter=Filter()):

    result = []
    for (child, ancestry) in self:
        if (child.isattr() and (child in filter)):
            result.append((child, ancestry))
    return result
