LDAP Schema is defined in RFC 4512.
noidlen = numericoid [ LCURLY len RCURLY ] len = number oids = oid / ( LPAREN WSP oidlist WSP RPAREN ) oidlist = oid *( WSP DOLLAR WSP oid ) extensions = *( SP xstring SP qdstrings ) xstring = "X" HYPHEN 1*( ALPHA / HYPHEN / USCORE ) qdescrs = qdescr / ( LPAREN WSP qdescrlist WSP RPAREN ) qdescrlist = [ qdescr *( SP qdescr ) ] qdescr = SQUOTE descr SQUOTE qdstrings = qdstring / ( LPAREN WSP qdstringlist WSP RPAREN ) qdstringlist = [ qdstring *( SP qdstring ) ] qdstring = SQUOTE dstring SQUOTE dstring = 1*( QS / QQ / QUTF8 ) ; escaped UTF-8 string QQ = ESC %x32 %x37 ; "\27" QS = ESC %x35 ( %x43 / %x63 ) ; "\5C" / "\5c" ; Any UTF-8 encoded Unicode character ; except %x27 ("\'") and %x5C ("\") QUTF8 = QUTF1 / UTFMB ; Any ASCII character except %x27 ("\'") and %x5C ("\") QUTF1 = %x00-26 / %x28-5B / %x5D-7F
Although many people may have a basic understanding of attribute Types and objectClass Types, there is a great deal of information about LDAP Schema that most people do not know.
Because LDAP Schema is important it is extremely useful to have a more complete understanding of what it really entails. We will make further attempts to provide an in-depth description of schema elements in general.
LDAP Schema of a Directory System Agent defines a set of rules that govern the kinds of data that the server can hold. LDAP Schema is comprised of a number of different LDAP Schema Element Types
Attributes are the elements responsible for storing data in a directory, and the LDAP Schema defines the rules for which AttributeTypes may be used in an LDAP Entry, the kinds of values that those AttributeTypes may have, and how DUA may interact with those Attribute Values.
DUA may learn about the LDAP Schema elements that the server supports by retrieving an appropriate SubschemaSubentry.