Subject: Re: Compatable matching rules (was Re: protocol-27 comments #3)

From: "Jim Sermersheim" <[email-masked]>
Date: Tue, 09 Nov 2004 16:09:21 -0700

You're right. I really dislike the layout of 4.5.1.  Here's another
attempt:
 
4.5.1.7.7 SearchRequest.filter.extensibleMatch 

The fields of the extensibleMatch filter item are evaluated as follows:

-  If the matchingRule field is absent, the type field MUST be present,
and an equality match is performed for that type. 

-  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.  

-  If the type field is present and the matchingRule is present, the
matchValue is compared against entry attributes of the specified type. 

-  If the dnAttributes field is set to TRUE, the match is additionally
applied against all the AttributeValueAssertions in an entry's
distinguished name, and evaluates to TRUE if there is at least one
attribute in the distinguished name for which the filter item evaluates
to TRUE. The dnAttributes field is present to alleviate the need for
multiple versions of generic matching rules (such as word matching),
where one applies to entries and another applies to entries and DN
attributes as well.

The matchingRule used for evaluation determines the syntax for the
assertion value. Once the matchingRule and attribute(s) have been
determined, the filter item evaluates to TRUE if it matches with at
least one attribute in the entry, FALSE if it does not match any
attribute in the entry, and Undefined if the matchingRule is not
recognized, the matchingRule is unsuitable for use with the specified
type, or the assertionValue is invalid.

<note that I propose numbering the fields of the search request as this
section too unmanageable as-is>.

Jim

>>> Hallvard B Furuseth <[email-masked]> 11/9/04 4:47:17 PM
>>>
Jim Sermersheim writes:
> Here's a proposed new:
> 
> The filter item MUST evaluate to Undefined if the matchingRule is
> unsuitable for use with the specified type.

Looks good.

> But I note this is better placed in the paragraph above along with
> similar causes of the filter resulting in Undefined.

But that paragraph is for 'If the type field is absent...'. The
sentence we are discussing is for 'If the type field is present...'.

-- 
Hallvard