Understanding DIT Content Rules

Understanding Schema dITContentRules#

Return to Contents
Previous: Name Forms
Next: DIT Structure Rules

DIT Content Rules#

dITContentRules provide a mechanism for defining the content that may appear in an entry. Like with NameForms, at most one dITContentRules may be associated with an entry based on its STRUCTURAL object class. If such a rule exists for an entry, then it will work in conjunction with the object classes contained in that entry to define which attribute types MUST, MAY, and MUST NOT be present in the entry, as well as which auxiliary classes that it may include.

The DIT Content Rule Description Format#

The DIT content rule description format is described in RFC 4512, section 4.1.6. The definition is as follows:

     DITContentRuleDescription = LPAREN WSP
         numericoid                 ; object identifier
         [ SP "NAME" SP qdescrs ]   ; short names (descriptors)
         [ SP "DESC" SP qdstring ]  ; description
         [ SP "OBSOLETE" ]          ; not active
         [ SP "AUX" SP oids ]       ; auxiliary object classes
         [ SP "MUST" SP oids ]      ; attribute types
         [ SP "MAY" SP oids ]       ; attribute types
         [ SP "NOT" SP oids ]       ; attribute types
         extensions WSP RPAREN      ; extensions

The elements of the DIT content rule description include:

The following provides an example of a DIT content rule description:

        ( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPersonContentRule'
          AUX ( posixAccount $ shadowAccount $ authPasswordObject )
          MUST uid )

In this case, the numeric OID is "2.16.840.1.113730.3.2.2", which is the OID for the inetOrgPerson structural object class. It has a human-readable name of "inetOrgPersonContentRule" and no description. It allows entries containing the inetOrgPerson object class to also contain the posixAccount, shadowAccount, and authPasswordObject auxiliary classes, and those entries must contain the uid attribute type. It is not marked "OBSOLETE", and it does not define any additional optional or prohibited attribute types, nor does it include any extensions.

The OpenDS DIT Content Rule Implementation#

DIT content rules may be defined purely from the schema configuration files using the DIT content rule description syntax provided above. All DIT content rule objects are instances of the org.opends.server.types.DITContentRule class. DIT content rule objects may be retrieved from the server schema using the structural object class with which they are associated.

At the present time, the OpenDS mechanism used to handle DIT content rules varies from the LDAPv3 specification in the following ways:

Return to Contents
Previous: Name Forms
Next: DIT Structure Rules

More Information#

There might be more information for this subject on one of the following: