The leaf and nonLeaf Object Classes M. Smith INTERNET-DRAFT T. Howes University of Michigan 21 November 1995 Definition of the leaf and nonLeaf Object Classes Filename: draft-ietf-asid-leafnonleaf-00.txt Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet- Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Distribution of this memo is unlimited. Editorial comments should be sent to the authors (mcs@umich.edu). Technical discussion will take place on the IETF ASID mailing list (ietf-asid@umich.edu). This Internet Draft expires on 21 May 1995. Abstract Applications of X.500, LDAP, and similar directory services need to be able to efficiently and unambiguously determine if an entry is a leaf entry (no entries exist beneath the entry) or a non-leaf entry (entries do exist beneath the entry). While some implementations use proprietary object classes to allow directory clients to make the distinction, there is no standard defined. This document defines two object classes that may be used by all implementations to allow directory clients to distinguish leaf entries from non-leaf entries. Background and Intended Usage This document defines two object classes (leaf and nonLeaf) that may Smith and Howes IETF ASID Working Group [Page 1] INTERNET-DRAFT leaf and nonLeaf Object Classes 21 November 1995 be used by X.500 [1], LDAP [2], and other directory implementations to allow applications to distinguish leaf entries from non-leaf entries. A leaf entry is one that does not have any other entries beneath it (that is, it is not a container). A non-leaf entry is one that does have other entries beneath it (that is, it is a container for other entries). Each entry in the directory is one of these two types. Directory servers that comply with this specification should automatically include the leaf object class value in all entries that do not have other entries beneath them. Similarly, the nonLeaf object class value should be included in all other entries. If one of these two object class values is present in an entry, directory clients can unambiguously know whether an entry may have other entries beneath it. This capability is particularly useful when browsing the directory in a hierarchical fashion. If neither value is present, the client must use other means (such as a one-level or subtree search based at the entry in question to see if any "child" entries are present). It is intended that the schema elements defined in this document will be progressed according to the process defined by the Internet X.500 Schema Working Group [3]. Definition of the leaf Object Class Name: leaf Description: object that does not contain other entries OID: umichObjectClass.19 (1.3.6.1.4.1.250.3.19) SubclassOf: top MustContain: MayContain: Definition of the nonLeaf Object Class Name: nonLeaf Description: object that contains other entries OID: umichObjectClass.20 (1.3.6.1.4.1.250.3.20) SubclassOf: top MustContain: MayContain: numberOfChildren, numberOfDescendants Smith and Howes IETF ASID Working Group [Page 2] INTERNET-DRAFT leaf and nonLeaf Object Classes 21 November 1995 Definition of the numberOfChildren Attribute Name: numberOfChildren ShortName: OID: umichAttributeType.62 (1.3.6.1.4.1.250.1.62) Syntax: Integer SizeRestriction: none SingleValued: TRUE MatchesFor: Definition of the numberOfDescendants Attribute Name: numberOfDescendants ShortName: OID: umichAttributeType.63 (1.3.6.1.4.1.250.1.63) Syntax: Integer SizeRestriction: none SingleValued: TRUE MatchesFor: Discussion of the Object Class and Attribute Schema Entries that do not have other entries beneath them belong to the leaf object class. Entries that have other entries beneath them belong to the nonLeaf object class. The numberOfChildren attribute, if present, contains a count of the entries that are listed directly below the non-leaf entry (that is, the number of entries that are in the single-level beneath the entry). The numberOfDescendants attribute, if present, contains a count of the total number of entries that are listed anywhere beneath the non-leaf entry (that is, the total number of entries that are contained in the directory subtree beneath the entry). References [1] Information Processing Systems -- Open Systems Interconnection -- The Directory: Overview of Concepts, Models and Service. ISO/IEC JTC 1/SC21; International Standard 9594-1, 1988. [2] Yeong, W., Howes, T., and S. Kille, "Lightweight Directory Access Protocol", RFC 1777, Performance Systems International, University of Michigan, ISODE Consortium, March 1995, [3] Howes, T., Rossen, K., Sataluri, S., and Wright, R., "Procedures for Formalizing, Evolving, and Maintaining the Internet X.500 Smith and Howes IETF ASID Working Group [Page 3] INTERNET-DRAFT leaf and nonLeaf Object Classes 21 November 1995 Directory Schema", Internet Draft (Work In Progress) of the Schema Working Group, Security Considerations Security considerations are not discussed in this memo. Acknowledgments This material is based upon work supported by the National Science Foundation under Grant No. NCR-9416667. Authors' Addresses Mark Smith University of Michigan Information Technology Division 535 W. William St. Ann Arbor, MI 48103-4943, USA Phone: +1 313 764-2277 EMail: mcs@umich.edu Tim Howes University of Michigan Information Technology Division 535 W. William St. Ann Arbor, MI 48103-4943, USA Phone: +1 313 747-4454 EMail: tim@umich.edu This Internet Draft expires on 21 May 1995. Smith and Howes IETF ASID Working Group [Page 4]