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

Re: ldapbis WG Last Call on ldapbis-syntaxes, ldapbis-strprep



I wrote:
>Kurt D. Zeilenga writes:
>
>>>> 2.2. Map
>>>For syntaxes/matching rules that expect non-empty strings, character
>>>removal in step 2.2 can change a valid (non-empty) string to an invalid
>>>(empty) one.
>> 
>> If either the presented or stored values are mapped to empty
>> strings, then the match is Undefined.
> 
> Well, that's exactly my problem.  I think invalid strings should not be
> inserted in the directory, and valid strings should compare as true or
> false.  I don't like valid strings that do not compare as true or false.
> 
> I would't have a problem if non-empty strings that are mapped to "" were
> invalid so they couldn't even be inserted in the directory.  But that
> looks like another big can of worms, I don't think we want to go there.

Perhaps I should add a little here.

[Models] 2.3 (Structure of an Entry) says:
  No two values of an attribute may be equivalent.
  Two values are considered equivalent if they would match according to
  the equality matching rule of the attribute type.

So what happens if I attempt to give an attribute in an entry two valid
values that map to "" and thus match as undefined?  Are the values
equivalent, or not?

- If they are not equivalent, then we can put several "<SOFT HYPHEN>"
  values in one attribute in an entry.

- If they are equivalent, then we can only add the value "<SOFT HYPHEN>"
  if the attribute has no other values.  After that, an attempt to add
  _any_ value will fail.

-- 
Hallvard