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;bcn;b;c
cn;b;d cn;b;c;dcn;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;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" <d.w.chadwick@salford.ac.uk> 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 D.W.Chadwick@salford.ac.uk 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 *************************************************** |