Subject: matchingRuleUse / extensibleMatch

From: "Jim Sermersheim" <[email-masked]>
Date: Tue, 15 Feb 2005 09:34:29 -0700

Two questions:
 
1) In [Models], MatchingRuleUseDescription.APPLIES says: "provides a
list of attribute types the matching rule applies to". Does this include
or exclude subtypes?
 
2) In [Protocol], SearchRequest.filter.extensibleMatch says: "If the
type field is absent and the matchingRule is present, the matchValue is
compared against all attributes in an entry which support that
matchingRule.". Does this mean "as determined by any matchingRuleUse for
that mathing rule", or "as determined by any matchingRuleUse, or the
EQUALITY, ORDERING, or SUBSTR rules of the attribute"?
 
Whatever the answers are to these, I don't find it obvious by reading
the text.
 
Jim

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Tue, 15 Feb 2005 09:48:06 -0800

At 08:34 AM 2/15/2005, Jim Sermersheim wrote:
>Two questions:
> 
>1) In [Models], MatchingRuleUseDescription.APPLIES says: "provides a list of attribute types the matching rule applies to". Does this include or exclude subtypes?

If a matching rule is applicable to a type X, then it should also be
applicable to Y if Y is a subtype of X.  Hence, both X and Y should
be listed as the rule is applicable to both (assuming the use is
above and beyond those in of the attribute types' definitions).

>2) In [Protocol], SearchRequest.filter.extensibleMatch says: "If the type field is absent and the matchingRule is present, the matchValue is compared against all attributes in an entry which support that matchingRule.". Does this mean "as determined by any matchingRuleUse for that mathing rule",
>or "as determined by any matchingRuleUse, or the EQUALITY, ORDERING, or SUBSTR rules of the attribute"?

"which support that matching rule" means "which the matching rule
may be applied to".

Note that matchingRuleUse lists attribute types which the rule
applies to above and beyond those uses indicated in attribute
type definitions.  caseIgnoreMatch applies to CN even those
matchingRuleUse not list CN in the APPLIES of caseIgnoreMatch.

So, what matters here is not what is listed in matchingRuleUse,
but whether the rule applies to the type.

>Whatever the answers are to these, I don't find it obvious by reading the text.

Do you have a specific suggestion on how to improve the text?

Kurt

---

From: Steven Legg <[email-masked]>
Date: Wed, 16 Feb 2005 11:17:44 +1100

Jim,

> Whatever the answers are to these, I don't find it obvious by reading 

X.511 says that when the type is omitted from a MatchingRuleAssertion
"the match is made against all attribute types which are compatible with
that matching rule". I've always taken that to mean any attribute whose
*syntax* is one to which the matching rule is defined to apply.

I don't take the matchingRuleUse attribute seriously. Matching rules like
allComponentsMatch, directoryComponentsMatch and presentMatch can be applied
to any attribute. Having to list all the attribute types to which these
matching rules can be applied is too onerous.

Regards,
Steven