Re: empty lists?, was: Last Call: <draft-ietf-httpbis-header-structure-18.txt> (Structured Field Values for HTTP) to Proposed Standard

On Mon, May 18, 2020 at 09:22:47PM +0200, Julian Reschke wrote:
> On 18.05.2020 20:27, Benjamin Kaduk wrote:
> > On Mon, May 18, 2020 at 03:06:02PM +0200, Julian Reschke wrote:
> > > On 13.05.2020 05:59, Julian Reschke wrote:
> > > > ...
> > > 
> > > Another late commment...
> > > 
> > > <https://greenbytes.de/tech/webdav/draft-ietf-httpbis-header-structure-18.html#rfc.section.3.1>:
> > > 
> > > > 3.1. Lists
> > > > 
> > > > Lists are arrays of zero or more members, each of which can be an Item (Section 3.3) or an Inner List (Section 3.1.1), both of which can be Parameterized (Section 3.1.2).
> > > > 
> > > > The ABNF for Lists in HTTP fields is:
> > > > 
> > > > sh-list       = list-member *( *SP "," *SP list-member )
> > > > list-member   = sh-item / inner-list
> > > 
> > > 
> > > So the prose says zero elements are allowed, but the ABNF actually
> > > requires one element.
> > > 
> > > One of these is incorrect...
> > 
> > You saw
> > 
> >     An empty List is denoted by not serializing the field at all.
> > 
> > right?
> 
> That's about serialization.
> 
> 4.2.1 seems to parse an empty string into an empty list.
> 
> AFAICT, that's in conflict with the ABNF.

Thanks for clarifying.

FWIW I already have a comment staged about how we seem to make the
ABNF normative for serialization but the prose normative for parsing,
which seems like a weird mismatch that requires justification.

-Ben

Received on Monday, 18 May 2020 21:24:02 UTC