Subject: Re: Models: Attribute subtype overrides

From: "Jim Sermersheim" <[email-masked]>
Date: Wed, 11 Feb 2004 19:03:29 -0700

Note that countryString in X.500 and RFC 2252 change the
single-valueness while subtyping.
 
Good point on there being two different questions.
 
Also, if we want to get picky, we could state that a MUST attribute in
an object classes superclass is not made optional by placing it in the
MAY list of the object class.
 
Jim

>>> "Kurt D. Zeilenga" <[email-masked]> 2/11/04 6:45:21 PM >>>
At 04:44 PM 2/11/2004, Jim Sermersheim wrote:
>Models is not clear on which aspects of an attribute may and may not
be overridden in a subtype of that attribute.

There are two questions.

1) When one specifies a subtype without detailing all aspects of the
subtype, which aspects take there DEFAULT value and which take
their value from the supertype?

2) How may aspects of the subtype may differ from aspects of the
supertype?

The answer to 1) is, I believe:
The only aspects which, if not provided, are taken from the
supertype are the matching rule(s) and syntax. All other
aspects take there defaults.

The answer to 2) is a bit more involved. The general rule is
that the supertype must be a more generic than its subtype.

For syntax, this implies that not only the abstract type
which the supertype can take be more generic, but the string
representation of the subtype should be refinement of the
string representation of the supertype. And matching rules
for the supertype should be compatible with syntax of the
subtype.

I think the single valueness of the subtype should be the
same its supertype.

Collective requirements are detailed in [RFC3671].

I don't see much of a problem with no-user-modification
taking on a different value from super to sub type.
Off hand, same for obsolete.

And value of DESC takes doesn't matter, it's simply
a comment.

Looks like the TS needs some additional clarification here.
(Hallvard sent me a suggestion which partially addresses
issue 1, but I think more is needed.) I'll offer new
text in a bit.

Kurt

> 
>In Section 2.5.1, it says "An attribute type cannot be a subtype of an
attribute of different usage.". So we have direction on one of the
fields (USAGE), but we don't know whether other fields can be
overridden. Specifically:
>- matching rules
>- syntax (if so, does the overriding syntax have to be a subsyntax of
the supertype's syntax? probably, see countryString)
>- single value (probably, see countryString)
>- collective
>- no user modification
>- obsolete and description
> 
>Jim

---

From: Michael Ströder <[email-masked]>
Date: Thu, 12 Feb 2004 10:50:30 +0100

> MAY list of the object class.

My code assumes that this is the case. An attribute is MUST if it's MUST in 
at least one superclass.

Ciao, Michael.