Understanding Name Forms

Understanding Schema in OpenDS#

Return to Contents
Previous: Object Classes
Next: DIT Content Rules

Name Forms#

Name Forms may be used to define a mechanism for naming entries in the LDAP server. In particular, a Name Forms specifies one or more attributeTypes which must be present in the RDN of an LDAP Entry with a given STRUCTURAL object class, as well as zero or more attribute types which may optionally be present in the RDN.

Each STRUCTURAL object class defined in the server schema may be associated with at most one Name Form. If a Name Form is defined for a given structural object class, then the associated name form will be enforced for any Add Requestor Modify DN Request for entries containing that object class. If a structural object class is not associated with a name form, then any attribute type which is allowed to exist in the target entry may be used as a naming attribute type.

Name forms are not supported in the Sun Java System Directory Server, but are a new feature that is available in OpenDS.

The Name Form Description Format#

The name form description format is described in RFC 4512, section 4.1.7.2. The definition is as follows:

     NameFormDescription = LPAREN WSP
         numericoid                 ; object identifier
         [ SP "NAME" SP qdescrs ]   ; short names (descriptors)
         [ SP "DESC" SP qdstring ]  ; description
         [ SP "OBSOLETE" ]          ; not active
         SP "OC" SP oid             ; structural object class
         SP "MUST" SP oids          ; attribute types
         [ SP "MAY" SP oids ]       ; attribute types
         extensions WSP RPAREN      ; extensions

The elements of the name form description include:

For example, the following is the name form description for the uddiBusinessEntityNameForm name form defined in RFC 4403:

( 1.3.6.1.1.10.15.1 NAME 'uddiBusinessEntityNameForm'
          OC uddiBusinessEntity MUST ( uddiBusinessKey ) X-ORIGIN 'RFC 4403' )

In this case, the numeric OID is "1.3.6.1.1.10.15.1" and the human-readable name is "uddiBusinessEntityNameForm". Entries with the uddiBusinessEntity structural object class are required to use uddiBusinessKey as their only RDN attribute type. There is no description, nor are there any other attribute types that may optionally be included in the associated entries, and the name form is not marked "OBSOLETE".

The OpenDS Name Form Implementation#

As for attribute types and object classes, name forms can be defined purely from the schema configuration files, in this case using the name form description syntax detailed above. All name form instances in OpenDS are instances of the org.opends.server.types.NameForm class. Name form objects may be retrieved by the server schema using their OID, any of their human-readable names, or by the structural object class with which they are associated.

Return to Contents
Previous: Object Classes
Next: DIT Content Rules
!! More Information There might be more information for this subject on one of the following: