Overview#Object Class Description describes the LDAPSyntaxes for ObjectClasses
The Object Class Description format is described in RFC 4512, section 4.1.1. The definition is as follows:
ObjectClassDescription = LPAREN WSP numericoid ; object identifier [ SP "NAME" SP qdescrs ] ; short names (descriptors) [ SP "DESC" SP qdstring ] ; description [ SP "OBSOLETE" ] ; not active [ SP "SUP" SP oids ] ; superior object classes [ SP kind ] ; kind of class [ SP "MUST" SP oids ] ; attribute types [ SP "MAY" SP oids ] ; attribute types extensions WSP RPAREN kind = "ABSTRACT" / "STRUCTURAL" / "AUXILIARY"
objectClass Definition#The components of an Object Class Description include:
- numericoid - A Numeric String OID used to uniquely identify the objectClass. Some LDAP Server Implementations also allows a non-numeric OID for the purpose of convenience.
- NAME - An OPTIONAL set of human-readable names that may be used to refer to the object class. If there is a single name, then it should be enclosed in single quotes. If there are multiple names, then they should each be enclosed in single quotes separated by spaces and the entire set of names should be enclosed in parentheses.
- SUP - An OPTIONAL set of superior class(es) for the objectClass. When an objectClass has multiple superior classes, the "SUP" keyword should be followed by a space and the name or OID of the superior objectClass. If there are multiple superior classes, then they SHOULD be separated by dollar signs ($) and the entire set of superior classes should be enclosed in parentheses.
- ObjectClass Types - An OPTIONAL ObjectClass Types value that indicate whether the objectClass is STRUCTURAL, AUXILIARY, or ABSTRACT.
- MUST - An OPTIONAL set of one or more attribute type names or OIDs for attributes that MUST be present in entries containing the objectClass.
- MAY - An OPTIONAL set of one or more AttributeTypes names or OIDs for attributes that MAY optionally be present in entries containing the object class.
- An OPTIONAL human-readable description (DESC). If there is a description, then it should be enclosed in single quotation marks.
- An OPTIONAL OBSOLETE that may be used to indicate whether the object class is active. If an object class is marked as Obsolete, then it should not be referenced by any new elements created in the server.
- Extended Flags - An optional set of Extended Flags for the object class.