Internet-Draft Format Framework May 2023
Hoffman Expires 18 November 2023 [Page]
Network Working Group
7990 (if approved)
Intended Status:
P. Hoffman

RFC Format Framework


This document updates RFC 7990 by changing the definition of the "canonical format" for RFCs and describing the archival versions of RFCs in more depth.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 18 November 2023.

Table of Contents

1. Introduction

[RFC7990] defines a framework for how RFCs would be published after that document was published, including new formats and a new canonical format for archiving RFCs. It talks about "the XML file" as if there will only be one XML file for an RFC because this was the expectation at the time [RFC7990] was published.

The first RFC to be published using the group of RFCs described in [RFC7990] was [RFC8651], published in October 2019. In the time since then, all published RFCs have followed the general plan from [RFC7990].

After extensive experience with publishing RFCs in the XML format, it has been decided that an RFC's XML file can be updated for narrowly limited purposes. This document updates [RFC7990] in that it changes the definition of the canonical format for RFCs and lists the purposes which can cause the RFC Editor to change the contents of the XML file. This document also specifies how older versions of the XML file for an RFC are archived and made available for historical purposes.

This document explicitly does not update the other documents referenced in [RFC7990].

2. Updated Definition of "Canonical Format" and "Archive"

Section 3 of [RFC7990] defines the canonical format as:

The definition of "canonical format" in Section 3 of [RFC7990] is updated to be:

Section 5 of [RFC7990] says:

This wording does not take into account the need to later change the XML file to fix XML errors. XML format errors, and better design choices, have been discovered by the community since the first RFCs were published using the XML format. In order to allow the RFC Editor to publish correct XML for all RFCs, Section 5 of [RFC7990] is updated to say:

2.1. Reasons for Updating the Canonical XML Files

The canonical XML file can be updated for the following reasons:

  • The XML vocabulary in [RFC7991] changes
  • An error is discovered in the XML for an RFC

During the development of this document, many other reasons for updating the canonical XML file were suggested. Those reasons are not in scope for this document, and may be adopted later after the community has experience with the updating mechanisms described in this document.

3. Updating Publication Format Documents

Seciton 7 of [RFC7990] describes the HTML, PDF, and plain text versions of an RFC that are published by the RFC Editor. The section is titled "Publication Format Documents", so that term is used here to refer to the documents that are derived from the XML for an RFC. When the canonical XML changes, the RFC Editor will also regenerate the publication format documents and publish those new versions.

The RFC Editor might also regenerate one or more of the publication format documents for an RFC if it sees errors in the generated output. This has already happened in cases where PDF files had display errors in them.

Whenever the RFC Editor publishes regenerated publication format documents, it must keep archived sets of all versions of the publication format documents files. These archived sets must be available using the same access methods as for the canonical XML and the published publication formats.

4. Archived Documents

WHen the RFC Editor archives documents, it does so in a manner that allows them to be found by people who want the historical (as compared to current) versions of those files.

To make the files easier to find, they should be stored in the same Internet-accessable locations as the current RFCs. They should be stored in a directory under the directory where the current RFCs are kept so that replication of the main directory using rsync or FTP will replicate the archival files as well.

The naming of the archival files is a topic perfect for bike-shedding by IETF participants. Before this document is finished, hundreds (or thousands!) of messages, many with firm opinions of the best naming method, will be published. Heck, even the name of the directory for archival files is fodder for vigorous bike-shedding.

4.1. An Initial Proposal for File Naming

The file names for archived documents will be appended with a datestamp indicating the last day that the file was published as the canonical XML or publication format documents. For example, if the XML for RFC 8888 is updated on March 4, 2024, the RFC Editor will publish the updated files as rfc8888.xml, rfc8888.html, rfc8888.pdf, and rfc8888.txt in the normal locations. It will also publish in the archival directory the files rfc8888-2024-03-04.xml, rfc8888-2024-03-04.html, rfc8888-2024-03-04.pdf, and rfc8888-2024-03-04.txt.

The same naming scheme is used when just a publication format document is published. For example, if the PDF of RFC 9432 had rendering issues that the RFC Editor fixes on January 8, 2024, the RFC Editor will publish tne updated file as rfc9432.pdf. It will also publish in the archival directory the file rfc9432-2023-01-08.pdf.

4.2. Explaining Reasons for Updating Files

During the development of this document, members of the community said that the archived XML should contain an explanation for why the document was updated. Some suggested methods include:

  • An XML comment in the document; except for the fact that [RFC7990] prohibits XML comments.
  • A new element such as <comment> this would require an update to [RFC7991]
  • A <cref> element with a new attribute that would suppress inclusion in the publication format documents; this would require an update to [RFC7991]
  • An additional file in the archival directory; this would require the reader to find the file when looking at the XML

Because each of these has a downside, choosing between them is not bike-shedding.

5. IANA Considerations

This document has no IANA considerations.

6. Security Considerations

This document has the same security considerations as [RFC7990]. Those are:

Changing the format for RFCs involves modifying a great number of components to publication. Understanding those changes and the implications for the entire tool chain is critical so as to avoid unintended bugs that would allow unintended changes to text. Unintended changes to text could in turn corrupt a standard, practice, or critical piece of information about a protocol.

7. References

7.1. Normative References

Flanagan, H., "RFC Format Framework", RFC 7990, DOI 10.17487/RFC7990, , <>.
Hoffman, P., "The "xml2rfc" Version 3 Vocabulary", RFC 7991, DOI 10.17487/RFC7991, , <>.

7.2. Informative References

Cheng, B., Wiggins, D., and L. Berger, Ed., "Dynamic Link Exchange Protocol (DLEP) Control-Plane-Based Pause Extension", RFC 8651, DOI 10.17487/RFC8651, , <>.

Author's Address

Paul Hoffman