Revised I-D: draft-alvestrand-content-language-03
Fri, 15 Feb 2002 12:47:44 -0500
Harald Tveit Alvestrand wrote:
> please publish this.
> ietf-languages and Bruce Lilly: Please review.
> The main change is in the ABNF of the headers; all are now specified in RFC
> 2282 ABNF, and use the "obs-" formalism from RFC 2822 to specify accept and
> generate grammars.
[that's 2234 ABNF, which is correctly referenced in the document]
It looks good, but might benefit from some clarification w.r.t.
the obs- forms:
1. It should be pointed out that only the 2234 ABNF version
(not the 822 version) should be used for generation of new
headers. Ambiguity arises because the last paragraph in
section 2 refers to "the Content-Language syntax", whereas
both the 822 EBNF and 2234 ABNF definitions are labeled
"Content-Language". Suggestion: LHS of the 822 definition
could be "822-content-language". LHS of the 2234
definition could be "content-language", and the text of
the last paragraph could refer to the latter. The same
consideration applies to section 3 and Accept-Language.
2. The obs-content-language header definition uses the same
Language-List definition as the not obs- version. 2822
generally provides an obs- version of list constructs for
backward compatibility of parsing headers generated under
the more liberal 822 list rules (viz. empty list elements).
If it is certain that no Content-Language headers have ever
been generated containing empty list elements (e.g.
",en,,fr,"), this is not a problem. Otherwise, in the
spirit of 2822:
obs-language-list = Language-List
/ 1*([Language-Tag] [CFWS] "," [CFWS]) [Language-Tag [CFWS]]
N.B. like the 2822 obs- lists, that provides for a list
consisting of one or more commas, i.e. with no Language-Tag.
To be more consistent with the 822 EBNF:
obs-language-list = *([Language-Tag] [CFWS] "," [CFWS])
Language-Tag *([CFWS] "," [Language-Tag]) [CFWS]