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

Re: LDAPprep: mapping of " " values



At 10:44 PM 11/17/2004, Hallvard B Furuseth wrote:
>I need to read up on X.520, but:  The behaviour which seems most
>consistent with the current ldapbis documents seems to me to be:
>
>- "foo * bar" does not match "foo bar" - the two spaces in the
>  substrings do not match _disjoint_ portions of "foo bar".
>  Nor does it match "foo  bar", which is equivalent to "foo bar".

My view is that (l=foo * bar) since "foo X bar" without
consuming any portion of X, it should match "foo  bar"
(which passes your disjoint concern), and since "foo bar"
is equivalent, that too.

>- " *" matches all non-empty values.
>  (Matches " " where the space is significant, matches other
>   non-empty values where an initial space is insignificant.)

What about (l= * )?  Does it match " "?  If so, wouldn't the
initial and final be matching non-disjoint portions?

I note that by having " *" match "foo", you are saying that
because initial substring is matching leading spaces in an
equivalent value, it must also match "foo".

Why aren't you applying the same logic to the first case? 

>- "* *" matches all values containing a space.

If " *" matches "foo" then "* *" should match "foo" because
the ANY substring has even less restrictions on it than an
INITIAL (or FINAL) substring.  That is, basically by definition,
if (l=X*) matches, (l=*X*) MUST match for all X.  Likewise for
(l=*X).

>- So " * * " matches <anything non-space spaces non-space anything>.
>  (Collapse multiple spaces, then combine the two rules above.)

I disagree.  It should match "foo".  This because the INITIAL
substring can match a leading space in an equivalent value,
the ANY string can match a subsequent leading space in an
equivalent value, and the FINAL can match a trailing space
in the an equivalent value.

Kurt