Subject: RE: attribute type inheritence..

From: "Salter, Thomas A" <[email-masked]>
Date: Thu, 13 Jul 2000 14:41:05 -0400

Actually X.501 is pretty clear that only syntax and matching rules are
inherited.

12.4.2 explicitly discusses inheriting syntax and matching rules. 

The ASN.1 definition of ATTRIBUTE defines default values for single-valued,
collective, no-user-modification, and usage, so there is no possibility of
inheriting them.  Derivation, Type and the matching rules are all optional,
with the note about one of Type or derivation being required.

The only inheritance restriction (that I could find) is that user attributes
and operational attributes can not inherit from each other.

From X.501,
12.4.6	Attribute definition
Attributes may be defined as values of the ATTRIBUTE information object
class:
ATTRIBUTE	::=	CLASS {
	&derivation	ATTRIBUTE OPTIONAL,
	&Type	OPTIONAL,	-- either &Type or &derivation required --
	&equality-match	MATCHING-RULE OPTIONAL,
	&ordering-match	MATCHING-RULE OPTIONAL,
	&substrings-match	MATCHING-RULE OPTIONAL,
	&single-valued	BOOLEAN DEFAULT FALSE,
	&collective	BOOLEAN DEFAULT FALSE,
	-- operational extensions --
	&no-user-modification	BOOLEAN DEFAULT FALSE,
	&usage	AttributeUsage DEFAULT userApplications,
	&id	OBJECT IDENTIFIER UNIQUE }
WITH SYNTAX {
	[ SUBTYPE OF	&derivation ]
	[ WITH SYNTAX	&Type ]
	[ EQUALITY MATCHING RULE	&equality-match ]
	[ ORDERING MATCHING RULE	&ordering-match ]
	[ SUBSTRINGS MATCHING RULE	&substrings-match ]
	[ SINGLE VALUE	&single-valued ]
	[ COLLECTIVE	&collective ]
	[ NO USER MODIFICATION	&no-user-modification ]
	[ USAGE	&usage ]
	ID	&id }

 > -----Original Message-----
 > From: Kurt D. Zeilenga [mailto:[email-masked]]
 > Sent: Thursday, July 13, 2000 2:14 PM
 > To: sanjay jain
 > Cc: ldapext
 > Subject: Re: attribute type inheritence..
 > 
 > 
 > At 10:48 AM 7/13/00 -0700, sanjay jain wrote:
 > >Could somebody please clarify if any or all of 
 > >SINGLE-VALUE/MULT-VALUE, COLLECTIVE/ 
 > >non-COLLECTIVE and NO-USER-MODIFICATION/ 
 > >USER-MODIFICATION specs are inherited while defining 
 > >a new attribute type as a subtype of another attribute. 
 > >Its not clear to me either from RFC 2252 or X.501 (1993) 
 > >Section 12.4.2. 
 > 
 > X.501 could be clarified a bit in this area.
 > 
 > I would think they should be inherited if not explicitly
 > specified.
 > 
 > foo;lang-en should be X if foo is X
 > 
 > (where X is any of the above characteristics)
 > 
 > I would also think some restrictions upon changes are likely
 > appropriate.  I don't think it makes much sense to have a
 > non-collective subtype of a collective attribute.
 > 
 >

---

From: sanjay jain <[email-masked]>
Date: Thu, 13 Jul 2000 11:44:25 -0700

> inheriting them.

That's what I thought too ...

> Derivation, Type and the matching rules are all optional,