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

Re: Integer ABNF in syntaxes I-D



At 04:28 AM 4/24/2003, Hallvard B Furuseth wrote:
>Kurt D. Zeilenga wrote:
>> I think the production
>>         Integer = [ HYPHEN ] number
>> 
>> is incorrect.  I think it should be:
>>         Integer = ( HYPEN LDIGIT *DIGIT ) / number
>> 
>> That is, -0 should be invalid.
>
>I don't see why.  What I'm wondering is why 003 is invalid.
>Though I agree that either both should be valid or both invalid.

Because implementations, clients in particular, are very bad
at parsing anything out of the ordinary.  For example, consider
all the clients which improperly treat anything starting with
a "0" as base 8.  Or clients which choke on "-0".

Operational experience has shown that providing multiple
encoding options leads to interoperability problems as not
all implementations will implement (proper) decoders for
each case.  It is much better to have only one encoding
option and promote ("be liberal in what you except but
strict in what you generate").

Kurt