...
Those two elements are used internally by ADS to check that an entry is valid, and to apply the correct rules to compare attributes, sort entries, check attributes, etc.
Objects relations
We have some relations between those elements, the OIDs, the element's names and the schema file's name. Here they are :
Schema's Relations
The schema is related with ObjectClasses and AttributeTypes.
- A schema contains N ObjectClass and N AttributesType.
- A schema contains N AttributesType
- An ObjectClass is declared in one schema
- An AttributeType is declared in one schema
The important things is to be able to know where an ObjectClass or an AttributeType are declared, from and schema administrator point of view. The server don't have any usage of this information, which is pretty much useless. As soon as the ObectClasses and AttributeTypes are loaded into the server, the schema is not used anymore.
ObjectClass relations
The ObjectClass object is pretty central. It is used to create entries, and determine their characteristics, like the authorized and mandatory AttributeTypes. The ObjectClass attributes are :
- a unique OID
- a list of names, of which the first one is the primary name (names are case insensitives)
- a type ( ABSTRACT, AUXILIARY or STRUCTURAL)
- An ObjectClass is contained by only one schema
- An AttributesType is contained by only one schema
- An OID is associated with N ObjectClass name
- An OID is associated with N AttributesType name
- A ObjectClass name is associated with only one OID
- A AttributesType name is associated with only one OID
- An ObjectClass name has only one OID
- An AttributesType name has only one OID
- An OID is associated with only one ObjectClass
- ... (To be continued)
...
Actual grammar
The actual grammar used to parse schema is the following :
...