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

structural object class chains (was: models-09 comments)



Kurt D. Zeilenga writes:
>At 08:45 AM 12/21/2003, Hallvard B Furuseth wrote:
>>draft-ietf-ldapbis-models-09.txt says:


>>> 2.4.2. Structural Object Classes
>>
>>>       An object or alias entry is characterised by precisely one
>>>       structural object class superclass chain
>>
>>This implies that structural object classes with multiple inheritance
>>cannot be used
> 
> You've quoted only a portion of the sentence.  The sentence ends
> with:
>       which has a single structural object class as the most
>         subordinate object class.

Because I can't see that as modifying the part I quoted, just adding
to it.  (Well, I realize it must be intended to mean what you say,
I just can't read it that way.)

> This implies that the single structural superclass chain may look
> like:
>         most -> middleA,middleB -> least

No, it implies that it may look like:

          most -> <something> -> least

and the following, along with the initial text I quoted, implies that
<something> cannot be middleA,middleB:

>>, since that gives two or more chains joined at both
>>ends.  (No, that is not 'one chain'.  2.4 (Object Classes) says:
>>   "An object class may be derived from two or more direct
>>    superclasses (superclasses not part of the same superclass chain).
>>    This feature of subclassing is termed multiple inheritance.")
> 
> Yes.  The 'most' class derives from two direct superclasses,
> middleA and middleB.

Yes...

> middleA and middleB are not part of the
> same superclass chain.

Exactly.  So there are two chains here, and the text I quoted
says there is to be 'precisely one ... chain'.

> However, it would be inappropriate for
> 'most' to directly subclass both middleA and least because least
> is part of the middleA superclass chain.

Sure.  I'm not talking about inheriting directly from most to least.
I'm talking about the existence of two chains when there may only be
one, and that section 2.4 explicitly says that this _is_ two chains:

   most -> middleA
   most -> middleB

> I don't believe any change is necessary here.

-- 
Hallvard