draft-iab-rfcv3-preptool-02.txt   draft-iab-rfcv3-preptool-latest.txt 
Network Working Group P. Hoffman Network Working Group P. Hoffman
Internet-Draft ICANN Internet-Draft ICANN
Intended status: Informational J. Hildebrand Intended status: Informational J. Hildebrand
Expires: January 1, 2017 Cisco Expires: July 22, 2017 Cisco
June 30, 2016 January 18, 2017
RFC v3 Prep Tool Description RFC v3 Prep Tool Description
draft-iab-rfcv3-preptool-02 draft-iab-rfcv3-preptool-03
Abstract Abstract
This document describes some aspects of the "prep tool" that is This document describes some aspects of the "prep tool" that is
expected to be created when the new RFC v3 specification is deployed. expected to be created when the new RFC v3 specification is deployed.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
skipping to change at page 1, line 32 skipping to change at page 1, line 32
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 1, 2017. This Internet-Draft will expire on July 22, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 50 skipping to change at page 2, line 50
5.4.5. <reference> Sorting . . . . . . . . . . . . . . . . . 12 5.4.5. <reference> Sorting . . . . . . . . . . . . . . . . . 12
5.4.6. "pn" Numbering . . . . . . . . . . . . . . . . . . . . 13 5.4.6. "pn" Numbering . . . . . . . . . . . . . . . . . . . . 13
5.4.7. <iref> Numbering . . . . . . . . . . . . . . . . . . . 13 5.4.7. <iref> Numbering . . . . . . . . . . . . . . . . . . . 13
5.4.8. <xref> processing . . . . . . . . . . . . . . . . . . 13 5.4.8. <xref> processing . . . . . . . . . . . . . . . . . . 13
5.4.8.1. "derivedContent" Insertion (With Content) . . . . 13 5.4.8.1. "derivedContent" Insertion (With Content) . . . . 13
5.4.8.2. "derivedContent" Insertion (Without Content) . . . 13 5.4.8.2. "derivedContent" Insertion (Without Content) . . . 13
5.4.9. <relref> Processing . . . . . . . . . . . . . . . . . 14 5.4.9. <relref> Processing . . . . . . . . . . . . . . . . . 14
5.5. Inclusion . . . . . . . . . . . . . . . . . . . . . . . . 14 5.5. Inclusion . . . . . . . . . . . . . . . . . . . . . . . . 14
5.5.1. <artwork> Processing . . . . . . . . . . . . . . . . . 14 5.5.1. <artwork> Processing . . . . . . . . . . . . . . . . . 14
5.5.2. <sourcecode> Processing . . . . . . . . . . . . . . . 16 5.5.2. <sourcecode> Processing . . . . . . . . . . . . . . . 16
5.6. RFC Production Mode Cleanup . . . . . . . . . . . . . . . 16 5.6. RFC Production Mode Cleanup . . . . . . . . . . . . . . . 17
5.6.1. <note> Removal . . . . . . . . . . . . . . . . . . . . 17 5.6.1. <note> Removal . . . . . . . . . . . . . . . . . . . . 17
5.6.2. <cref> Removal . . . . . . . . . . . . . . . . . . . . 17 5.6.2. <cref> Removal . . . . . . . . . . . . . . . . . . . . 17
5.6.3. <link> Processing . . . . . . . . . . . . . . . . . . 17 5.6.3. <link> Processing . . . . . . . . . . . . . . . . . . 17
5.6.4. XML Comment Removal . . . . . . . . . . . . . . . . . 17 5.6.4. XML Comment Removal . . . . . . . . . . . . . . . . . 17
5.6.5. "xml:base" and "originalSrc" Removal . . . . . . . . . 17 5.6.5. "xml:base" and "originalSrc" Removal . . . . . . . . . 17
5.6.6. Compliance Check . . . . . . . . . . . . . . . . . . . 17 5.6.6. Compliance Check . . . . . . . . . . . . . . . . . . . 18
5.7. Finalization . . . . . . . . . . . . . . . . . . . . . . . 18 5.7. Finalization . . . . . . . . . . . . . . . . . . . . . . . 18
5.7.1. "scripts" Insertion . . . . . . . . . . . . . . . . . 18 5.7.1. "scripts" Insertion . . . . . . . . . . . . . . . . . 18
5.7.2. Pretty-Format . . . . . . . . . . . . . . . . . . . . 18 5.7.2. Pretty-Format . . . . . . . . . . . . . . . . . . . . 18
6. Additional Uses for the Prep Tool . . . . . . . . . . . . . . 19 6. Additional Uses for the Prep Tool . . . . . . . . . . . . . . 19
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20
8. Security Considerations . . . . . . . . . . . . . . . . . . . 21 8. Security Considerations . . . . . . . . . . . . . . . . . . . 21
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22
10. Informative References . . . . . . . . . . . . . . . . . . . . 23 10. Informative References . . . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24
skipping to change at page 13, line 47 skipping to change at page 13, line 47
For each <xref> element that has content, fill the "derivedContent" For each <xref> element that has content, fill the "derivedContent"
with the element content, having first trimmed the whitespace from with the element content, having first trimmed the whitespace from
ends of content text. Issue a warning if the "derivedContent" ends of content text. Issue a warning if the "derivedContent"
attribute already exists and has a different value from what was attribute already exists and has a different value from what was
being filled in. being filled in.
5.4.8.2. "derivedContent" Insertion (Without Content) 5.4.8.2. "derivedContent" Insertion (Without Content)
For each <xref> element that does not have content, fill the For each <xref> element that does not have content, fill the
"derivedContent" based on the "format" attribute. * For "derivedContent" based on the "format" attribute.
format='counter', the "derivedContent" is the section, figure, table,
or ordered list number of the element with anchor equal to the xref o For format='counter', the "derivedContent" is the section, figure,
target. * For format='default' and the "target" attribute points to a table, or ordered list number of the element with anchor equal to
<reference> or <referencegroup> element, the "derivedContent" is the the xref target.
value of the "target" attribute (or the "to" attribute of a
<displayreference> element for the targeted <reference>). * For o For format='default' and the "target" attribute points to a
format='default' and the "target" attribute points to a <section>, <reference> or <referencegroup> element, the "derivedContent" is
<figure>, or <table>, the "derivedContent" is the name of the thing the value of the "target" attribute (or the "to" attribute of a
pointed to, such as "Section 2.3", "Figure 12", or "Table 4". * For <displayreference> element for the targeted <reference>).
format='title', if the target is a <reference> element, the
"derivedContent" attribute is the name of the reference, extracted o For format='default' and the "target" attribute points to a
from the <title> child of the <front> child of the reference. * For <section>, <figure>, or <table>, the "derivedContent" is the name
format='title', if the target element has a <name> child element, the of the thing pointed to, such as "Section 2.3", "Figure 12", or
"derivedContent" attribute is the text content of that <name> element "Table 4".
concatenated with the text content of each descendant node of <name>
(that is, stripping out all of the XML markup, leaving only the o For format='title', if the target is a <reference> element, the
text). * For format='title', if the target element does not contain a "derivedContent" attribute is the name of the reference, extracted
<name> child element, the "derivedContent" attribute is the value of from the <title> child of the <front> child of the reference.
the "target" attribute with no other adornment. Issue a warning if
the "derivedContent" attribute already exists and has a different o For format='title', if the target element has a <name> child
value from what was being filled in. element, the "derivedContent" attribute is the text content of
that <name> element concatenated with the text content of each
descendant node of <name> (that is, stripping out all of the XML
markup, leaving only the text).
o For format='title', if the target element does not contain a
<name> child element, the "derivedContent" attribute is the value
of the "target" attribute with no other adornment. Issue a
warning if the "derivedContent" attribute already exists and has a
different value from what was being filled in.
5.4.9. <relref> Processing 5.4.9. <relref> Processing
If any <relref> element's "target" attribute refers to anything but a If any <relref> element's "target" attribute refers to anything but a
<reference> element, give an error. <reference> element, give an error.
For each <relref> element, fill in the "derivedLink" attribute. For each <relref> element, fill in the "derivedLink" attribute.
5.5. Inclusion 5.5. Inclusion
skipping to change at page 14, line 46 skipping to change at page 15, line 7
attribute, and replace the "src" value with a URI that uses the attribute, and replace the "src" value with a URI that uses the
"file:" scheme in a path relative to the file being processed. "file:" scheme in a path relative to the file being processed.
See Section 8 for warnings about this step. This will likely be See Section 8 for warnings about this step. This will likely be
one of the most common authoring approaches. one of the most common authoring approaches.
2. If an <artwork> element has a "src" attribute with a "file:" 2. If an <artwork> element has a "src" attribute with a "file:"
scheme, and if processing the URL would cause the processor to scheme, and if processing the URL would cause the processor to
retrieve a file that is not in the same directory, or a retrieve a file that is not in the same directory, or a
subdirectory, as the file being processed, give an error. If the subdirectory, as the file being processed, give an error. If the
"src" has any shellmeta strings (such as "`", "$USER", and so on) "src" has any shellmeta strings (such as "`", "$USER", and so on)
that would be processed , give an error. Replace the "src" that would be processed, give an error. Replace the "src"
attribute with a URI that uses the "file:" scheme in a path attribute with a URI that uses the "file:" scheme in a path
relative to the file being processed. This rule attempts to relative to the file being processed. This rule attempts to
prevent <artwork src='file:///etc/passwd'> and similar security prevent <artwork src='file:///etc/passwd'> and similar security
issues. See Section 8 for warnings about this step. issues. See Section 8 for warnings about this step.
3. If an <artwork> element has a "src" attribute, and the element 3. If an <artwork> element has a "src" attribute, and the element
has content, give an error. has content, give an error.
4. If an <artwork> element has type='svg' and there is a "src" 4. If an <artwork> element has type='svg' and there is a "src"
attribute, the data needs to be moved into the content of the attribute, the data needs to be moved into the content of the
skipping to change at page 16, line 10 skipping to change at page 16, line 19
* If the "src" URI scheme is "file:", "http:", or "https:", fill * If the "src" URI scheme is "file:", "http:", or "https:", fill
the content of the <artwork> element with the correctly- the content of the <artwork> element with the correctly-
escaped form of the resolved text from the URI in the "src" escaped form of the resolved text from the URI in the "src"
attribute. If there is no "originalSrc" attribute, add an attribute. If there is no "originalSrc" attribute, add an
"originalSrc" attribute with the value of the URI and remove "originalSrc" attribute with the value of the URI and remove
the "src" attribute. the "src" attribute.
5.5.2. <sourcecode> Processing 5.5.2. <sourcecode> Processing
1. If an <sourcecode> element has a "src" attribute where no scheme 1. If a <sourcecode> element has a "src" attribute where no scheme
is specified, copy the "src" attribute value to the "originalSrc" is specified, copy the "src" attribute value to the "originalSrc"
attribute, and replace the "src" value with a URI that uses the attribute, and replace the "src" value with a URI that uses the
"file:" scheme in a path relative to the file being processed. "file:" scheme in a path relative to the file being processed.
See Section 8 for warnings about this step. This will likely be See Section 8 for warnings about this step. This will likely be
one of the most common authoring approaches. one of the most common authoring approaches.
2. If an <sourcecode> element has a "src" attribute with a "file:" 2. If a <sourcecode> element has a "src" attribute with a "file:"
scheme, and if processing the URL would cause the processor to scheme, and if processing the URL would cause the processor to
retrieve a file that is not in the same directory, or a retrieve a file that is not in the same directory, or a
subdirectory, as the file being processed, give an error. If the subdirectory, as the file being processed, give an error. If the
"src" has any shellmeta strings (such as "`", "$USER", and so on) "src" has any shellmeta strings (such as "`", "$USER", and so on)
that would be processed , give an error. Replace the "src" that would be processed , give an error. Replace the "src"
attribute with a URI that uses the "file:" scheme in a path attribute with a URI that uses the "file:" scheme in a path
relative to the file being processed. This rule attempts to relative to the file being processed. This rule attempts to
prevent <sourcecode src='file:///etc/passwd'> and similar prevent <sourcecode src='file:///etc/passwd'> and similar
security issues. See Section 8 for warnings about this step. security issues. See Section 8 for warnings about this step.
3. If an <sourcecode> element has a "src" attribute, and the element 3. If a <sourcecode> element has a "src" attribute, and the element
has content, give an error. has content, give an error.
4. If an <sourcecode> elementhas a "src" attribute, the data needs 4. If a <sourcecode> element has a "src" attribute, the data needs
to be moved into the content of the <sourcecode> element. to be moved into the content of the <sourcecode> element.
* If the "src" URI scheme is "data:", fill the content of the * If the "src" URI scheme is "data:", fill the content of the
<sourcecode> element with that data and remove the "src" <sourcecode> element with that data and remove the "src"
attribute. attribute.
* If the "src" URI scheme is "file:", "http:", or "https:", fill * If the "src" URI scheme is "file:", "http:", or "https:", fill
the content of the <sourcecode> element with the resolved XML the content of the <sourcecode> element with the resolved XML
from the URI in the "src" attribute. If there is no from the URI in the "src" attribute. If there is no
"originalSrc" attribute, add an "originalSrc" attribute with "originalSrc" attribute, add an "originalSrc" attribute with
 End of changes. 12 change blocks. 
34 lines changed or deleted 43 lines changed or added

This html diff was produced by rfcdiff 1.44jr. The latest version is available from http://tools.ietf.org/tools/rfcdiff/