'Get a sub-collection of this collection by name.
Raises InvalidName if an invalid collection name is used.
:Parameters:
- `name`: the name of the collection to get'

def __getattr__(self, name):

    if name.startswith('_'):
        full_name = (_UJOIN % (self.__name, name))
        raise AttributeError(("Collection    has    no    attribute    %r.    To    access    the    %s    collection,    use    database['%s']." % (name, full_name, full_name)))
    return self.__getitem__(name)
