[rfc-i] [xml2rfc] use of sourcecode type

Paul Kyzivat pkyzivat at alum.mit.edu
Mon Jul 27 09:18:08 PDT 2020

On 7/27/20 11:43 AM, Carsten Bormann wrote:
>> […] I have never seen abnf in an ietf document that was complete on its own. Every one references rules defined somewhere else - usually in some other ietf document. These references all all informal, either stated in text before or after the abnf, or within the abnf as a comment or as a prose-val (e.g., <foo defined in RFC666>).
> Well, I have started to recommend doing complete ABNF instead of ill-defined references.  E.g., see it in draft-ietf-core-dev-urn-07.txt:
>     The above Augmented Backus-Naur Form (ABNF) copies the DIGIT and
>     ALPHA rules originally defined in [RFC5234], exactly as defined
>     there.

This can be quite impractical in some common usage.

At least in the sip world it is pretty common to have things like this:


message = foo / bar / baz / message-extention
message-extension = generic-message-format


; message-header and message defined in base-document
new-message = message-header other stuff
message =/ new-message

where message-header, foo, bar, and baz may take hundreds of lines of 
abnf to define. Even in less extreme cases it can be difficult to trace 
all the dependencies on a rule whose definition you want to copy. And it 
may well involve tracing further dependencies to other documents.

I have in the past proposed and discussed (on the abnf-discuss list) 
some extensions to the abnf syntax to specify references to rules 
defined externally. They didn't get much interest at the time. But in 
any case they weren't easily and reliably automatable as long as the 
abnf had to be scraped out of a txt document. That might be more 
practical now.


More information about the rfc-interest mailing list