Subject: Re: RFC 2596 questions

From: "Jim Sermersheim" <[email-masked]>
Date: Fri, 20 Oct 2000 00:15:41 -0600

Getting back to this:

The example David gives below shows a subtype inheriting from multiple supertypes. As of yet, I believe that this is illegal in X.500/LDAP and as such might cause problems with existing servers.

I don't have a good feeling of closure on this subject. We need to revise 4.1.5 of RFC 2251 to say one of the following:

1) "An AttributeDescription with one or more options is treated as a direct subtype of the attribute type without any options" (inserted direct)

or

2) "An AttributeDescription with one option is treated as a direct subtype of the attribute type without any options. An AttributeDescription with more than one option is treated as a direct subtype of all the possible AttributeDescriptions that could be made up of all lesser combinations the options"

That description is pretty ugly and could be fixed. It says that cn;a;b;c;d is in a direct subtype of:
cn;a
cn;a;b
cn;a;c
cn;a;d
cn;a;b;c
cn;a;b;d
cn;a;c;d
cn;b
cn;b;c
cn;b;d
cn;b;c;d
cn;c
cn;c;d
cn;d

This also tells me that attribute subtype inheritance is at most two levels, but infinitely wide (leaf can multiply inherit from any number of supertypes)

or

"An AttributeDescription with one option is treated as a direct subtype of the attribute type without any options. An AttributeDescription with more than one option is treated as a direct subtype of all the possible AttributeDescriptions that could be made up of all combinations the options sans one option"

Using the former example, this produces:
cn;a (direct subtype of cn)
cn;b (direct subtype of cn)
cn;c (direct subtype of cn)
cn;d (direct subtype of cn)
cn;a;b (direct subtype of cn;a and cn;b)
cn;a;c (direct subtype of cn;a and cn;c)
cn;a;d (direct subtype of cn;a and cn;d)
cn;b;c (direct subtype of cn;b and cn;c)
cn;b;d (direct subtype of cn;b and cn;d)
cn;c;d (direct subtype of cn;c and cn;d)
cn;a;b;c (direct subtype of cn;a;b and cn;a;c and cn;b;c)
cn;a;b;d (direct subtype of cn;a;b and cn;a;d and cn;b;d)
cn;a;c;d (direct subtype of cn;a;c and cn;a;d and cn;c;d)
cn;b;c;d (direct subtype of cn;b;c and cn;b;d and cn;c;d)
cn;a;b;c;d (direct subtype of cn;a;b;c and cn;a;b;d and cn;a;c;d)

In the context of language tags, the implications might be benign, but when combining disparate options some combinations might cause problems.

I personally prefer 1). Though it may be less flexible, It's simpler to understand and fits well with the current subtyping model.

Jim

>>> "David Chadwick" <[email-masked]> 9/23/00 5:11:55 AM >>>

> Yes, I'm reading "direct" into the 2251 statement. David has argued
> that: cn;lang-en-US;lang-ja is a direct subtype of cn;lang-en-US,
> which in turn is a direct subtype of cn. Does this also mean that it's
> also a subtype of cn;lang-ja, 

Yes, I would say so. The new dual language subtype is a subtype 
of both single language subtypes. The order does not matter. We 
have

               supertype
             /                  \
subtype 1                    subtype 2
              \                 /
              subtype1-2

David

>or is it strictly a right to left thing?
> If r to l, then the attribute type option ordering restriction will
> get in people's way.
> 
> Jim
> 

***************************************************

David Chadwick
IS Institute, University of Salford, Salford M5 4WT
Tel +44 161 295 5351  Fax +44 161 745 8169
Mobile +44 790 167 0359
Email [email-masked]
Home Page  http://www.salford.ac.uk/its024/chadwick.htm
Understanding X.500  http://www.salford.ac.uk/its024/X500.htm
X.500/LDAP Seminars http://www.salford.ac.uk/its024/seminars.htm
Entrust key validation string MLJ9-DU5T-HV8J

***************************************************

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Wed, 25 Oct 2000 11:07:07 -0700

At 12:15 AM 10/20/00 -0600, Jim Sermersheim wrote:
>We need to revise 4.1.5 of RFC 2251 to say one of the following:
> 

Note that neither of these two descriptions imply "cn;lang-x-foo" can be
returned with "name;lang-x-foo" is requested.

I believe we need to separately describe attribute description "subtyping"
(which should be an elective feature like attriute type subtyping).
Attribute description subtyping likely depends on a number of factors
including attribute type subtyping.  Attribute description subtyping
will likely rely on multiple inheritance.

I concur that RFC 2251 needs to be revised to provide an adequate
specification of attribute description subtyping behavior.

Kurt