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

Re: ABNF for draft-smith-ldapv3-filter-update-01.txt



Thanks.  I am editing the filter document now, and I believe we need to
make one small change to the ABNF you suggest.  Since values can be of
zero length, we need to define valueencoding as:

	valueencoding = 0*(normal / escaped)

Note that we could omit the leading zero since that is the default (but
I think it is clearer to include it in this instance).

-- 
Mark Smith
Netscape Directory Product Development


Ryan Moats wrote:
> 
> Mark, Tim-
> 
> Looking at the ABNF in draft-smith-ldapv3-filter-update-01.txt,
> the only thing that needs updating are the attr, matchingrule, and
> value rules, and these aren't that difficult to update...
> 
>         attr       = <AttributeDescription from Section 4.1.5 of [1]>
>         matchingrule = <MatchingRuleId from Section 4.1.9 of [1]>
>         value      = <AttributeValue from Section 4.1.6 of [1] encoded
>                                 using valueencoding rule>
>           valueencoding = 1*(normal / escaped)
>           normal = %x01-27 / %x2b-5b / %x5d-7f
>           escaped = "\00" / "\2" ( "8" / "9" / "a" ) / "\5c"
> 
> At that point I'd change the following paragraph from
> 
>    The value construct is as described in the corresponding section of
>    [1] given above, except that if an AttributeValue contains any of the
>    following characters
> 
>         Character       ASCII value
>         ---------------------------
>         *               0x2a
>         (               0x28
>         )               0x29
>         \               0x5c
>         NUL             0x00
> 
>    the character must be encoded as the backslash '\' character (ASCII
>    0x5c) followed by the two hexadecimal digits representing the ASCII
>    value of the encoded character. The case of the two hexadecimal
>    digits is not significant.
> 
> To
> 
>    The valueencoding rule provides that the characters "*" (ASCII 0x2a),
>    "(" (ASCII 0x28), ")" (ASCII 0x29), "\" (ASCII 0x5c), and NULL (ASCII
>    0x00) are represented as the backslash "\" character (ASCII 0x5c)
>    followed by the two hexadecimal digits representing the ASCII value
>    of the encoded character.
> 
> The case insensitivity is handled in the ABNF.