This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
design:finalizer [2015/04/26 07:38] paul |
design:finalizer [2015/05/22 15:07] paul Added warning that the page is out of date. |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===List of things that a v3 finalizer will need to do=== | + | **THIS PAGE IS NO LONGER IN USE AND IS OUT-OF-DATE.** |
+ | **PLEASE SEE draft-hoffman-rfcv3-preptool INSTEAD** | ||
+ | |||
+ | ===v3 prep tool usage scenarios=== | ||
+ | |||
+ | The prep tool will have (at least) two settings: | ||
+ | |||
+ | * Internet-Draft preparation | ||
+ | * Canonical RFC preparation | ||
+ | |||
+ | 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 work-alike prep tools for their own formatting needs. However, an output format 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. | ||
+ | |||
+ | This tool is described as if it is a separate tool so that we can reason about its architectural properties. | ||
+ | |||
+ | ==Internet-Draft submission== | ||
+ | |||
+ | 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. | ||
+ | This prepped file represents a self-contained record of what any external references resolved to at the time of submission. The prepped file is used by the IETF formatters to create outputs such as HTML, PDF, and text (or the tools act in a way indistinguishable from this). 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. | ||
+ | |||
+ | The prepped XML can be used by tools not yet developed to output new formats that have as similar output as possible to the current IETF formatters. | ||
+ | |||
+ | ==Canonical RFC preparation== | ||
+ | |||
+ | 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. | ||
+ | |||
+ | Similarly to I-D's, the prepped XML can be used later to re-render the output formats, or to generate new formats. | ||
+ | |||
+ | ===What the v3 prep tool does=== | ||
+ | |||
+ | This is a mostly-complete list of what the v3 prep tool does. The steps are in order of processing. | ||
+ | |||
+ | * Process all ''< | ||
* Remove comments | * Remove comments | ||
- | * Process all ''< | + | * If boilerplate exists, produce a **scary** warning |
- | | + | * Else, fill in boilerplate text with current values |
- | | + | * Fill in document |
- | * Scan again for attributes that are deprecated; if any are found, generate an error | + | * Fill in expires date, if in I-D mode |
- | * Fill in document date and expires date, if applicable | + | |
- | * Remove current boilerplate text | + | |
- | * After removing, fill in boilerplate text with current values | + | |
* Fill in any default values for attributes on elements, except t/ | * Fill in any default values for attributes on elements, except t/ | ||
- | * If the ''< | + | * If the ''< |
- | * Add slugifiedName to each ''< | + | * Add slugifiedName to each ''< |
* Remove any existing '' | * Remove any existing '' | ||
* Add '' | * Add '' | ||
Line 20: | Line 50: | ||
* figure: '' | * figure: '' | ||
* (abstract, note, t, aside, blockquote, li, dt, artwork, sourcecode, references): | * (abstract, note, t, aside, blockquote, li, dt, artwork, sourcecode, references): | ||
+ | * Add start attribute to every ''< | ||
+ | * Sort the references, if desired | ||
* Resolve all ''< | * Resolve all ''< | ||
* Ensure the target is valid | * Ensure the target is valid | ||
Line 28: | Line 60: | ||
* Check SVG schema against our TinySVG profile | * Check SVG schema against our TinySVG profile | ||
* else if '' | * else if '' | ||
+ | * Add finalizedTime to attribute to ''< | ||
+ | * Add a ''< | ||
+ | * Determine all the characters used in the document and fill in " | ||
+ | * Ensure that the output has the " | ||
* Pretty-format the XML output. | * Pretty-format the XML output. | ||
* This step might be controversial | * This step might be controversial | ||
- | * Do a final scan to ensure | + | * Ensure |