As demonstrated by the above example, there is typically a one-to-one correspondence between Repository Views and item descriptors. The user view is associated with the user item descriptor; the engineer view with the engineer item descriptor; and so on. In a sense, the item descriptor (in particular, its object classes) determines which items are contained by the view.

A Repository View’s contents can also be restricted to a particular location or set of locations within the directory tree. For example, one might want to specify that the engineer view contains only entries in the ou=Engineering, branch of the directory tree. Even if other items that satisfy the engineer item descriptor are encountered somewhere in the LDAP directory (perhaps for testing purposes), they are not considered to be part of the engineer view. The tree branches that comprise a Repository View are known as search roots, as they determine which parts of the directory tree are searched when a repository query is constructed on the view.

To summarize, the contents of each Repository View are determined by two factors: the object classes of its item descriptor, and its search roots. When a query is performed on the view, only those items that reside in one of the specified search roots and satisfy the view’s item descriptor are returned. At least one search root must always be specified, but it may well point to the directory suffix (i.e., the search root may span the entire directory tree).