This is an old revision of the document!
The prep tool will have (at least) two settings:
There are only a few difference between these two settings. For example, the boilerplate output will be different, as will the date output on the front page.
Note that this only describes what the IETF-sponsored prep tool does. Others might create their own prep tools for their own formatting needs. However, a developer does not not need to change the prep tool in order to create their own formatter: they only need to be able to consume prepared text.
Also note that this prep tool could be expanded to be a “v2 to v3 converter” or a “v3 to v3 prettifier”; however, those settings would have only a subset of the steps below. For example, a converter would not remove comments.
When the IETF draft submission tool accepts v3 XML as an input format, the submission tool runs the submitted file through the prep tool. If the tool finds no errors, it keeps two XML files: the submitted file and the prepped file. The prepped file is used by the IETF formatters to create outputs such as HTML, PDF, and text. The message sent out by the draft submission tool includes a link to the original XML as well as the other outputs, including the prepped XML.
During AUTH48, the RPC will run the prep tool in canonical RFC preparation mode and make the results available to the authors so they can see what the final output might look like. When the document is done with AUTH48 review, the RPC runs the prep tool in canonical RFC preparation mode one last time, locks down the canonicalized XML, runs the formatters for the non-canonical output, and publishes all of those. It is probably a good idea for the RPC to keep a copy of the input XML file from the various steps of the RFC production process.
This is a mostly-complete list of what the v3 prep tool does. The steps are in order of processing.
<x:include>
elements. Note: <x:include>
d XML may include more <x:include>
s (with relative URLs rooted at the xml:base
), set a limit on the depth of recursion.<workgroup>
item doesn't end with Group, add (Working|Research) Group
to the end<name>
that does not contain a valid one (generating only valid HTML id's starting with n-
)pn
attributespn
attributes for all parts. Parts are:pn='s-1.4.2
'<abstract>
, which gets pn='s-abstract
'<note>
, which gets pn='s-note-[counter]
'pn='t-3
'pn='f-4
'pn='p-[section]-[counter]
'<xref>
elements<artwork>
type='svg
'src
attribute, inline and remove src, insert xml:basesrc
!= data:
, turn into data:
, insert xml:baserfc/@finalizedTime
attribute