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

Re: Models: Attribute subtype overrides



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