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

Re: Multiple Inheritance in Schema?



jim kraai writes:
>Donn Cave wrote:
> 
>> SUP can have multiple values, allowing an objectclass
>> to inherit attributes independently from two or more objectclasses,
> 
> Which RFC describes how attribute name collisions should be handled?

Boldly I try to do better this time...

rfc2252 section 4 and 4.3 refer to X.501(93) for the data model.  The
upcoming revision of LDAPv3 will have one document which describes the
data model so you can get further without X.500.  The current draft is
<http://www.ietf.org/internet-drafts/draft-ietf-ldapbis-models-10.txt>.

Briefly, there are no attribute name collisions involved in multiple
inheritance.  If two object classes name the same attribute in their
MAY/MUST clauses, then that is the same attribute for both classes.
An entry is just a collection of attributes, where all attributes listed
in any of its object classes' MUST clauses must be present, and any
listed in a MAY clause may be present.  If an attribute is listed by two
of the entry's object classes, a value of it can't be stored so that it
'belongs' to just one of the classes, or anything like that.

BTW, names don't really refer to attributes.  A name is a convenient
spelling of some OID according to some schema, and it's the OID which
refers to an attribute (or object class or whatever).

You can have different parts of a directory controlled by different
schemas, and two schemas can use the same attribute name for different
OIDs, but I don't suppose that's what you are talking about.  The object
classes of the schemas don't affect each other anyway, so they can't get
into trouble over such shared attribute names.  OTOH, of course clients
can get into trouble if they don't pay attention and assume both parts
of the directory use the same schema...

-- 
Hallvard