[Date Prev][Date Next] [Chronological] [Thread] [Top]

nameForms and dITContentRules



NDS makes use of naming rules and content rules, but it does it differently than X.500.  It adds terms to the ObjectClassDescription and stores the information with the object class rather than in separate attributes (nameForms and dITContentRules).  At the bottom of this message is our modified ObjectClassDescription so you can see how it looks.

My questions are: Do other LDAP servers make use of naming and containment rules?  If so, how does a client read and write them?  I view connecting them to the object class as easier and more intuitive than using the nameForms and dITContentRules attributes.  I'm not sure what having them separate buys us.

NDSObjectClassDescription = "(" whsp
          numericoid whsp                     ; ObjectClass identifier
          [ "NAME" qdescrs ]
          [ "DESC" qdstring ]
          [ "OBSOLETE" whsp ]
          [ "SUP" oids ]                      ; Superior ObjectClasses
          [ ( "ABSTRACT" / "STRUCTURAL" / "AUXILIARY" ) whsp ]
                                              ; default structural
          [ "MUST" oids ]                     ; AttributeTypes
          [ "MAY" oids ]                      ; AttributeTypes
          [ "X-NDS_NOT_CONTAINER" qdstrings ] ; default container ('0')
          [ "X-NDS_NONREMOVABLE" qdstrings ]  ; default removable ('0')
          [ "X-NDS_CONTAINMENT" qdstrings ] 
          [ "X-NDS_NAMING" qdstrings ] 
       whsp ")"

Valid values for the qdstrings following X-NDS_NOT_CONTAINER are '0' (false) and '1' (true). If true, instances of this object class may not contain other object entries (it is a leaf node).
	
Valid values for the qdstrings following X-NDS_NONREMOVABLE are are '0' (false) and '1' (true). If true, this object class MAY NOT be removed from the schema. This term is read-only and is set only on base NDS schema object classes.

The qdstrings following X-NDS_CONTAINMENT contains a list of all object class names which may contain this object class. In other words, only entries that are of an object class listed here may be a direct superior in the DIT to entries of this object class. If this term is not included when defining an object class, it will be automatically filled with ( 'c' 'o' 'ou' 'l' 'domain')
	
The qdstrings following X-NDS_NAMING holds a list of all attribute type names which may be used to name this object class. If this term is not supplied when defining an object class, it will automatically be filled with a list of all MUST and MAY attributes which use human readable syntaxes.