Previous Topic: Registering an OID

Next Topic: Schema Groups

Schema Prefixes

All attribute, attribute set, object class, and name binding definitions have a unique object identifier (for example, 2.5.4.6) that uniquely identifies that object.

When defining a schema, you can find many definitions on the same branch of the schema definition tree. You can define a schema prefix that replaces the branch of the tree in all subsequent definitions.

Example: Schema Prefix Definition

set oid-prefix x500attr	= (2.5.4);
set oid-prefix x500oc	= (2.5.6);
set oid-prefix x500aset	= (2.5.7);
set oid-prefix x500nbind	= (2.5.15);

set attribute x500attr:3	= {
	name = commonName
	ldap-names = cn
	syntax = caseIgnoreString };

Given the previous definition, the prefix x500attr can replace any occurrence of the 2.5.4 portion of an object identifier. Thus, an attribute with the object identifier of 2.5.4.6 can also be represented as x500attr:6.

Without schema prefixes, the previous definition would read as follows:

set attribute (2.5.4.3)	= {
	name = commonName
	ldap-names = cn
	syntax = caseIgnoreString ;

Schema prefixes improve readability and reduce the chance of errors in the definition, especially when the object identifiers are long. For example, the object identifiers of each of the Quipu attributes are of the form 0.9.2342.19200300.99.1.x, making a prefix desirable.