draft-iab-xml2rfcv2-02.txt   draft-iab-xml2rfcv2-latest.txt 
Network Working Group J. Reschke Network Working Group J. Reschke
Internet-Draft greenbytes Internet-Draft greenbytes
Obsoletes: 2629 (if approved) September 16, 2015 Obsoletes: 2629 (if approved) January 2016
Intended status: Informational Intended status: Informational
Expires: March 19, 2016 Expires: July 4, 2016
The 'XML2RFC' version 2 Vocabulary The "xml2rfc" Version 2 Vocabulary
draft-iab-xml2rfcv2-02 draft-iab-xml2rfcv2-latest
Abstract Abstract
This document defines the 'XML2RFC' version 2 vocabulary; an XML- This document defines the "xml2rfc" version 2 vocabulary: an XML-
based language used for writing RFCs and Internet-Drafts. based language used for writing RFCs and Internet-Drafts.
Version 2 represents the current state of the vocabulary (as Version 2 represents the state of the vocabulary (as implemented by
implemented by several tools and as used by the RFC Editor) around several tools and as used by the RFC Editor) around 2014.
2014.
Editorial Note (To be removed by RFC Editor)
Discussion of this draft takes place on the XML2RFC mailing list This document obsoletes RFC 2629.
(xml2rfc@ietf.org), which has its home page at
<https://www.ietf.org/mailman/listinfo/xml2rfc>.
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.
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 March 19, 2016. This Internet-Draft will expire on July 4, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2016 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. to this document.
Table of Contents Table of Contents
skipping to change at page 3, line 22 skipping to change at page 3, line 16
3. Escaping for Use in XML . . . . . . . . . . . . . . . . . . . 37 3. Escaping for Use in XML . . . . . . . . . . . . . . . . . . . 37
4. Special Unicode Code Points . . . . . . . . . . . . . . . . . 38 4. Special Unicode Code Points . . . . . . . . . . . . . . . . . 38
5. Including Files . . . . . . . . . . . . . . . . . . . . . . . 39 5. Including Files . . . . . . . . . . . . . . . . . . . . . . . 39
6. Internationalization Considerations . . . . . . . . . . . . . 39 6. Internationalization Considerations . . . . . . . . . . . . . 39
7. Security Considerations . . . . . . . . . . . . . . . . . . . 40 7. Security Considerations . . . . . . . . . . . . . . . . . . . 40
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40
8.1. Internet Media Type Registration . . . . . . . . . . . . . 40 8.1. Internet Media Type Registration . . . . . . . . . . . . . 40
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 41 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 41
9.1. Normative References . . . . . . . . . . . . . . . . . . . 41 9.1. Normative References . . . . . . . . . . . . . . . . . . . 41
9.2. Informative References . . . . . . . . . . . . . . . . . . 42 9.2. Informative References . . . . . . . . . . . . . . . . . . 42
Appendix A. Front Page ('Boilerplate') Generation . . . . . . . . 45 Appendix A. Front-Page ("Boilerplate") Generation . . . . . . . . 45
A.1. The /rfc/@category Attribute . . . . . . . . . . . . . . . 45 A.1. The "category" Attribute . . . . . . . . . . . . . . . . . 45
A.2. The /rfc/@ipr Attribute . . . . . . . . . . . . . . . . . 45 A.2. The "ipr" Attribute . . . . . . . . . . . . . . . . . . . 45
A.2.1. Current Values: '*trust200902' . . . . . . . . . . . . 45 A.2.1. Current Values: "*trust200902" . . . . . . . . . . . . 46
A.2.2. Historic Values . . . . . . . . . . . . . . . . . . . 47 A.2.2. Historic Values . . . . . . . . . . . . . . . . . . . 47
A.3. The /rfc/@submissionType Attribute . . . . . . . . . . . . 48 A.3. The "submissionType" Attribute . . . . . . . . . . . . . . 48
A.4. The /rfc/@consensus Attribute . . . . . . . . . . . . . . 48 A.4. The "consensus" Attribute . . . . . . . . . . . . . . . . 49
Appendix B. Changes from RFC 2629 ('v1') . . . . . . . . . . . . 49 Appendix B. Changes from RFC 2629 ("v1") . . . . . . . . . . . . 49
B.1. RNC Schema Differences . . . . . . . . . . . . . . . . . . 49 B.1. Removed Elements . . . . . . . . . . . . . . . . . . . . . 49
B.2. Removed Elements . . . . . . . . . . . . . . . . . . . . . 49 B.2. Changed Defaults . . . . . . . . . . . . . . . . . . . . . 49
B.3. Changed Defaults . . . . . . . . . . . . . . . . . . . . . 49 B.3. Changed Elements . . . . . . . . . . . . . . . . . . . . . 49
B.4. Changed Elements . . . . . . . . . . . . . . . . . . . . . 49 B.4. New Elements . . . . . . . . . . . . . . . . . . . . . . . 50
B.5. New Elements . . . . . . . . . . . . . . . . . . . . . . . 50 Appendix C. RELAX NG Schema . . . . . . . . . . . . . . . . . . . 50
Appendix C. Relax NG Schema . . . . . . . . . . . . . . . . . . . 50
C.1. Checking Validity . . . . . . . . . . . . . . . . . . . . 57 C.1. Checking Validity . . . . . . . . . . . . . . . . . . . . 57
Appendix D. Acknowledgments . . . . . . . . . . . . . . . . . . . 57 Appendix D. IAB Members at the Time of Approval . . . . . . . . . 57
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Appendix E. Acknowledgments . . . . . . . . . . . . . . . . . . . 57
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1. Introduction 1. Introduction
This document describes version 2 ("v2") of the 'XML2RFC' vocabulary; This document describes version 2 ("v2") of the "xml2rfc" vocabulary:
an XML-based language ('Extensible Markup Language', [XML]) used for an XML-based language ("Extensible Markup Language" [XML]) used for
writing RFCs ([RFC7322]) and Internet-Drafts ([IDGUIDE]). writing RFCs [RFC7322] and Internet-Drafts [IDGUIDE].
Version 2 represents the current state of the vocabulary (as Version 2 represents the state of the vocabulary (as implemented by
implemented by several tools and as used by the RFC Editor) around several tools and as used by the RFC Editor) around 2014.
2014.
It obsoletes the original version ("v1") [RFC2629], which contained It obsoletes the original version ("v1") [RFC2629], which contained
the original language definition, and which was subsequently the original language definition and which was subsequently extended.
extended. Many of the changes leading to version 2 have been Many of the changes leading to version 2 have been described in
described in "Writing I-Ds and RFCs using XML (revised)" ([V1rev]), "Writing I-Ds and RFCs using XML (revised)" [V1rev], but that
but that document has not been updated since 2008. document has not been updated since 2008.
Processing Instructions (Section 2.6 of [XML]) generally are specific Processing Instructions (Section 2.6 of [XML]) generally are specific
to a given processor, and thus are not considered to be part of the to a given processor and thus are not considered to be part of the
vocabulary. See Section 4.1 of [TCLReadme] for a list of the vocabulary. See Section 4.1 of [TCLReadme] for a list of the
processing instructions supported by the first implementation of an Processing Instructions supported by the first implementation of an
xml2rfc processor. xml2rfc processor.
Note that the vocabulary contains certain constructs that might not Note that the vocabulary contains certain constructs that might not
be used when generating the final text; however, they can provide be used when generating the final text; however, they can provide
useful data for other uses (such index generation, populating a useful data for other uses (such as index generation, populating a
keyword database, or syntax checks). keyword database, or syntax checks).
1.1. Syntax Notation 1.1. Syntax Notation
The XML vocabulary here is defined in prose, based on the Relax NG The XML vocabulary here is defined in prose, based on the RELAX NG
schema ([RNC]) contained in Appendix C (specified in Relax NG Compact schema [RNC] contained in Appendix C (specified in RELAX NG Compact
Notation, "RNC"). Notation (RNC)).
Note that the schema can be used for automated validity checks, but Note that the schema can be used for automated validity checks, but
certain constraints are only described in prose (example: the certain constraints are only described in prose (example: the
conditionally required presence of the "abbrev" attribute). conditionally required presence of the "abbrev" attribute).
2. Elements 2. Elements
The sections below describe all elements and their attributes. The sections below describe all elements and their attributes.
Note that attributes not labeled "mandatory" are optional. Note that attributes not labeled "mandatory" are optional.
Except inside <artwork>, horizontal whitespace and linebreaks are Except inside <artwork>, horizontal whitespace and line breaks are
collapsed into a single whitespace, and leading and trailing collapsed into a single whitespace, and leading and trailing
whitespace are trimmed off. whitespace is trimmed off.
2.1. <abstract> 2.1. <abstract>
Contains the abstract of the document. The abstract ought to be Contains the Abstract of the document. The Abstract ought to be
self-contained and thus should not contain references or unexpanded self-contained and thus should not contain references or unexpanded
abbreviations. See Section 4.3 of [RFC7322] for more information. abbreviations. See Section 4.3 of [RFC7322] for more information.
This element appears as a child element of: <front> (Section 2.19). This element appears as a child element of <front> (Section 2.19).
Content model: Content model:
One or more <t> elements (Section 2.38) One or more <t> elements (Section 2.38)
2.2. <address> 2.2. <address>
Provides address information for the author. Provides address information for the author.
This element appears as a child element of: <author> (Section 2.6). This element appears as a child element of <author> (Section 2.6).
Content model: Content model:
In this order: In this order:
1. One optional <postal> element (Section 2.27) 1. One optional <postal> element (Section 2.27)
2. One optional <phone> element (Section 2.26) 2. One optional <phone> element (Section 2.26)
3. One optional <facsimile> element (Section 2.16) 3. One optional <facsimile> element (Section 2.16)
4. One optional <email> element (Section 2.14) 4. One optional <email> element (Section 2.14)
5. One optional <uri> element (Section 2.42) 5. One optional <uri> element (Section 2.42)
2.3. <annotation> 2.3. <annotation>
Provides additional prose augmenting a bibliographical reference. Provides additional prose augmenting a bibliographical reference.
This element appears as a child element of: <reference> This element appears as a child element of <reference>
(Section 2.30). (Section 2.30).
Content model: Content model:
In any order: In any order:
o Text o Text
o <xref> elements (Section 2.45) o <xref> elements (Section 2.45)
o <eref> elements (Section 2.15) o <eref> elements (Section 2.15)
skipping to change at page 6, line 19 skipping to change at page 6, line 19
o <spanx> elements (Section 2.36) o <spanx> elements (Section 2.36)
2.4. <area> 2.4. <area>
Provides information about the IETF area to which this document Provides information about the IETF area to which this document
relates (currently not used when generating documents). relates (currently not used when generating documents).
The value ought to be either the full name or the abbreviation of one The value ought to be either the full name or the abbreviation of one
of the IETF areas as listed on <https://www.ietf.org/iesg/area.html>. of the IETF areas as listed on <https://www.ietf.org/iesg/area.html>.
The list at the time that this document is being published is: The list at the time that this document is being published is
"Applications and Real-Time" ("art"), "General" ("gen"), "Internet" "Applications and Real-Time" ("art"), "General" ("gen"), "Internet"
("int"), "Operations and Management ("ops"), "Routing" ("rtg"), ("int"), "Operations and Management" ("ops"), "Routing" ("rtg"),
"Security" ("sec"), "Transport" ("tsv"). "Security" ("sec"), and "Transport" ("tsv").
Note that the set of IETF areas can change over time; for instance, Note that the set of IETF areas can change over time; for instance,
"Application and Real-Time" ("art") replaced "Applications" ("app") "Applications and Real-Time" ("art") replaced "Applications" ("app")
and "Real-time Applications and Infrastructure" ("rai") in 2015. and "Real-time Applications and Infrastructure" ("rai") in 2015.
This element appears as a child element of: <front> (Section 2.19). This element appears as a child element of <front> (Section 2.19).
Content model: only text content. Content model: only text content.
2.5. <artwork> 2.5. <artwork>
This element allows the inclusion of "artwork" into the document. This element allows the inclusion of "artwork" in the document.
<artwork> is the only element in the vocabulary that provides full <artwork> is the only element in the vocabulary that provides full
control of horizontal whitespace and line breaks, and thus is used control of horizontal whitespace and line breaks; thus, it is used
for a variety of things, such as: for a variety of things, such as:
o diagrams ("line art"), o diagrams ("line art"),
o source code, o source code,
o formal languages (such as ABNF or the RNC notation used in this o formal languages (such as ABNF [RFC5234] or the RNC notation used
document), in this document),
o message flow diagrams, o message flow diagrams,
o complex tables, or o complex tables, or
o protocol unit diagrams. o protocol unit diagrams.
Note that processors differ in the handling of horizontal TAB Note that processors differ in the handling of horizontal TAB
characters (some expand them, some treat them as single space) and characters (some expand them, some treat them as single spaces), and
thus these ought to be avoided. thus these ought to be avoided.
Alternatively, the "src" attribute allows referencing an external Alternatively, the "src" attribute allows referencing an external
graphics file, such as a bitmap or a vector drawing, using a URI graphics file, such as a bitmap or a vector drawing, using a URI
("Uniform Resource Identifier", [RFC3986]). In this case, the ("Uniform Resource Identifier") [RFC3986]. In this case, the textual
textual content acts as fallback for output formats that do not content acts as a fallback for output formats that do not support
support graphics, and thus ought to contain either a "line art" graphics; thus, it ought to contain either (1) a "line art" variant
variant of the graphics, or otherwise prose that describes the of the graphics or (2) prose that describes the included image in
included image in sufficient detail. Note that RFCs occasionally are sufficient detail. Note that RFCs occasionally are published with
published with enhanced diagrams; a recent example is [RFC5598]. enhanced diagrams; [RFC5598] is a recent example of an RFC that was
published along with a PDF with images.
This element appears as a child element of: <figure> (Section 2.17). This element appears as a child element of <figure> (Section 2.17).
Content model: Content model:
Text Text
2.5.1. 'align' attribute 2.5.1. "align" Attribute
Controls whether the artwork appears left justified (default), Controls whether the artwork appears left justified (default),
centered, or right justified. centered, or right justified.
Allowed values: Allowed values:
o "left" (default) o "left" (default)
o "center" o "center"
o "right" o "right"
2.5.2. 'alt' attribute 2.5.2. "alt" Attribute
Alternative text description of the artwork (not just the caption). Alternative text description of the artwork (not just the caption).
2.5.3. 'height' attribute 2.5.3. "height" Attribute
The suggested height of the graphics included using the "src" The suggested height of the graphics (when it was included using the
attribute. "src" attribute).
This attribute is format-dependent and ought to be avoided. This attribute is format dependent and ought to be avoided.
When generating HTML output ([HTML]), current implementations copy When generating HTML output [HTML], current implementations copy the
the attribute "as is", thus effectively treat it as CSS pixels (see attribute "as is", thus effectively treating it as CSS (Cascading
Section 4.3.2 of [CSS]). For other output formats it is usually Style Sheets) pixels (see Section 4.3.2 of [CSS]). For other output
ignored. formats, it is usually ignored.
2.5.4. 'name' attribute 2.5.4. "name" Attribute
A filename suitable for the contents (such as for extraction to a A filename suitable for the contents (such as for extraction to a
local file). local file).
This attribute generally isn't used for document generation, but it This attribute generally isn't used for document generation, but it
can be helpful for other kinds of tools (such as automated syntax can be helpful for other kinds of tools (such as automated syntax
checkers which work by extracting the source code). checkers, which work by extracting the source code).
2.5.5. 'src' attribute 2.5.5. "src" Attribute
The URI reference of a graphics file ([RFC3986], Section 4.1). The URI reference of a graphics file (Section 4.1 of [RFC3986]).
Note that this can be a "data" URI ([RFC2397]) as well; in which case Note that this can be a "data" URI [RFC2397] as well, in which case
the graphics file is wholly part of the XML file. the graphics file is wholly part of the XML file.
2.5.6. 'type' attribute 2.5.6. "type" Attribute
Specifies the type of the artwork. Specifies the type of the artwork.
The value either is an Internet Media Type (see [RFC2046]) or a The value is either an Internet Media Type (see [RFC2046]) or a
keyword (such as "abnf"). The set of recognized keywords varies keyword (such as "abnf"). The set of recognized keywords varies
across implementations. across implementations.
How it is used depends on context and application. For instance, a How it is used depends on context and application. For instance, a
formatter can attempt to syntax-highlight code in certain known formatter can attempt to syntax-highlight code in certain known
languages. languages.
2.5.7. 'width' attribute 2.5.7. "width" Attribute
The suggested width of the graphics included using the "src" The suggested width of the graphics (when it was included using the
attribute. "src" attribute).
This attribute is format-dependent and ought to be avoided. This attribute is format dependent and ought to be avoided.
When generating HTML output ([HTML]), current implementations copy When generating HTML output [HTML], current implementations copy the
the attribute "as is", thus effectively treat it as CSS pixels (see attribute "as is", thus effectively treating it as CSS pixels (see
Section 4.3.2 of [CSS]). For other output formats it is usually Section 4.3.2 of [CSS]). For other output formats, it is usually
ignored. ignored.
2.5.8. 'xml:space' attribute 2.5.8. "xml:space" Attribute
Determines whitespace handling. Determines whitespace handling.
"preserve" is both the default value and the only meaningful setting "preserve" is both the default value and the only meaningful setting
anyway (because that's what the <artwork> element is for). (because that's what the <artwork> element is for).
See also Section 2.10 of [XML]. See also Section 2.10 of [XML].
Allowed values: Allowed values:
o "default" o "default"
o "preserve" (default) o "preserve" (default)
2.6. <author> 2.6. <author>
skipping to change at page 9, line 28 skipping to change at page 9, line 29
The <author> elements contained within the document's <front> element The <author> elements contained within the document's <front> element
are used to fill the boilerplate, and also to generate the "Author's are used to fill the boilerplate, and also to generate the "Author's
Address" section (see Section 4.12 of [RFC7322]). Address" section (see Section 4.12 of [RFC7322]).
Note that an "author" can also be just an organization (by not Note that an "author" can also be just an organization (by not
specifying any of the name attributes, but adding the <organization> specifying any of the name attributes, but adding the <organization>
child element). child element).
Furthermore, the "role" attribute can be used to mark an author as Furthermore, the "role" attribute can be used to mark an author as
"editor". This is reflected both on the front page and in "editor". This is reflected on the front page and in the "Author's
bibliographical references. Note that this specification does not Address" section, as well as in bibliographical references. Note
define a precise meaning for the term "editor". that this specification does not define a precise meaning for the
term "editor".
See Section "Authors vs. Contributors" of [RFCPOLICY] for more See Sections 4.10 and 4.11 of [RFC7322] for more information.
information.
This element appears as a child element of: <front> (Section 2.19). This element appears as a child element of <front> (Section 2.19).
Content model: Content model:
In this order: In this order:
1. One optional <organization> element (Section 2.25) 1. One optional <organization> element (Section 2.25)
2. One optional <address> element (Section 2.2) 2. One optional <address> element (Section 2.2)
2.6.1. 'fullname' attribute 2.6.1. "fullname" Attribute
The full name (used in the automatically generated "Author's Address" The full name (used in the automatically generated "Author's Address"
section). section).
2.6.2. 'initials' attribute 2.6.2. "initials" Attribute
An abbreviated variant of the given name(s), to be used in An abbreviated variant of the given name(s), to be used in
conjunction with the separately specified surname. It usually conjunction with the separately specified surname. It usually
appears on the front page, in footers, and in references. appears on the front page, in footers, and in references.
Some processors will post-process the value, for instance when it Some processors will post-process the value -- for instance, when it
only contains a single letter (in which case they might add a only contains a single letter (in which case they might add a
trailing dot). Relying on this kind of post-processing can lead to trailing dot). Relying on this kind of post-processing can lead to
results varying across formatters and thus ought to be avoided. results varying across formatters and thus ought to be avoided.
2.6.3. 'role' attribute 2.6.3. "role" Attribute
Specifies the role the author had in creating the document. Specifies the role the author had in creating the document.
Allowed values: Allowed values:
o "editor" o "editor"
2.6.4. 'surname' attribute 2.6.4. "surname" Attribute
The author's surname, to be used in conjunction with the separately The author's surname, to be used in conjunction with the separately
specified initials. It usually appears on the front page, in specified initials. It usually appears on the front page, in
footers, and in references. footers, and in references.
2.7. <back> 2.7. <back>
Contains the "back" part of the document: the references and Contains the "back" part of the document: the references and
appendices. In <back>, <section> elements indicate appendices. appendices. In <back>, <section> elements indicate appendices.
This element appears as a child element of: <rfc> (Section 2.33). This element appears as a child element of <rfc> (Section 2.33).
Content model: Content model:
In this order: In this order:
1. Optional <references> elements (Section 2.31) 1. Optional <references> elements (Section 2.31)
2. Optional <section> elements (Section 2.34) 2. Optional <section> elements (Section 2.34)
2.8. <c> 2.8. <c>
Provides the content of a cell in a table. Provides the content of a cell in a table.
This element appears as a child element of: <texttable> This element appears as a child element of <texttable>
(Section 2.39). (Section 2.39).
Content model: Content model:
In any order: In any order:
o Text o Text
o <xref> elements (Section 2.45) o <xref> elements (Section 2.45)
skipping to change at page 11, line 23 skipping to change at page 11, line 23
o <iref> elements (Section 2.20) o <iref> elements (Section 2.20)
o <cref> elements (Section 2.12) o <cref> elements (Section 2.12)
o <spanx> elements (Section 2.36) o <spanx> elements (Section 2.36)
2.9. <city> 2.9. <city>
Gives the city name in a postal address. Gives the city name in a postal address.
This element appears as a child element of: <postal> (Section 2.27). This element appears as a child element of <postal> (Section 2.27).
Content model: only text content. Content model: only text content.
2.10. <code> 2.10. <code>
Gives the postal region code. Gives the postal region code.
This element appears as a child element of: <postal> (Section 2.27). This element appears as a child element of <postal> (Section 2.27).
Content model: only text content. Content model: only text content.
2.11. <country> 2.11. <country>
Gives the country in a postal address. Gives the country in a postal address.
This element appears as a child element of: <postal> (Section 2.27). This element appears as a child element of <postal> (Section 2.27).
Content model: only text content. Content model: only text content.
2.12. <cref> 2.12. <cref>
Represents a comment. Represents a comment.
Comments can be used in a document while it is work-in-progress. Comments can be used in a document while it is a work in progress.
They usually appear either inline and visually highlighted, at the They usually appear (1) inline and visually highlighted, (2) at the
end of the document (depending on file format and settings of the end of the document (depending on file format and settings of the
formatter), or not at all (when generating an RFC). formatter), or (3) not at all (when generating an RFC).
This element appears as a child element of: <annotation> This element appears as a child element of <annotation>
(Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28),
<preamble> (Section 2.29), and <t> (Section 2.38). <preamble> (Section 2.29), and <t> (Section 2.38).
Content model: only text content. Content model: only text content.
2.12.1. 'anchor' attribute 2.12.1. "anchor" Attribute
Document-wide unique identifier for this comment. The processor will Document-wide unique identifier for this comment. The processor will
auto-generate an identifier when none is given. autogenerate an identifier when none is given.
The value needs to be a valid XML "Name" (Section 2.3 of [XML]), The value needs to be a valid XML "Name" (Section 2.3 of [XML]),
additionally constrained to US-ASCII characters ([USASCII]). additionally constrained to US-ASCII characters [USASCII].
2.12.2. 'source' attribute 2.12.2. "source" Attribute
Holds the "source" of a comment, such as the name or the initials of Holds the "source" of a comment, such as the name or the initials of
the person who made the comment. the person who made the comment.
2.13. <date> 2.13. <date>
Provides information about the publication date. Provides information about the publication date.
Note that this element is used both for the boilerplate of the Note that this element is used for the boilerplate of the document
document being produced, and also inside bibliographic references. being produced, and also inside bibliographic references.
In the boilerplate case, it defines the publication date, which, when In the "boilerplate" case, it defines the publication date, which,
producing Internet-Drafts, will be used for computing the expiration when producing Internet-Drafts, will be used for computing the
date (see Section 8 of [IDGUIDE]). When one or more of "year", expiration date (see Section 8 of [IDGUIDE]). When one or more of
"month", or "day" are left out, the processor will attempt to use the "year", "month", or "day" are left out, the processor will attempt to
current system date if the attributes that are present are consistent use the current system date if the attributes that are present are
with that date. consistent with that date.
Note that in this case, month names need to match the full (English) Note that in this case, month names need to match the full (English)
month name ("January", "February", "March", "April", "May, "June", month name ("January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", or "December") "July", "August", "September", "October", "November", or "December")
in order for expiration calculations to work (some implementations in order for expiration calculations to work (some implementations
might support additional formats, though). might support additional formats, though).
In the case of bibliographic references, the date information can In the case of bibliographic references, the date information can
have prose text for the month or year. For example, vague dates have prose text for the month or year. For example, vague dates
(year="ca. 2000"), date ranges (year="2012-2013"), non-specific (year="ca. 2000"), date ranges (year="2012-2013"), non-specific
months (month="Second quarter") and so on, are allowed. months (month="Second quarter") and so on are allowed.
This element appears as a child element of: <front> (Section 2.19). This element appears as a child element of <front> (Section 2.19).
Content model: this element does not have any contents. Content model: this element does not have any contents.
2.13.1. 'day' attribute 2.13.1. "day" Attribute
In the "boilerplate" case: the day of publication; this is a number. In the "boilerplate" case, the day of publication; this is a number.
Otherwise: an indication of the publication day, with the format not Otherwise, an indication of the publication day, with the format not
being restricted. being restricted.
2.13.2. 'month' attribute 2.13.2. "month" Attribute
In the "boilerplate" case: the month of publication; this is the In the "boilerplate" case, the month of publication; this is the
English name of the month. Otherwise: an indication of the English name of the month. Otherwise, an indication of the
publication month, with the format not being restricted. publication month, with the format not being restricted.
2.13.3. 'year' attribute 2.13.3. "year" Attribute
In the "boilerplate" case: the year of publication; this is a number In the "boilerplate" case, the year of publication; this is a number
(usually four-digit). Otherwise: an indication of the publication (usually four-digit). Otherwise, an indication of the publication
year, with the format not being restricted. year, with the format not being restricted.
2.14. <email> 2.14. <email>
Provides an email address. Provides an email address.
The value is expected to be an email address conforming to the addr- The value is expected to be an email address conforming to the addr-
spec definition in Section 2 of [RFC6068] (so does not include the spec definition in Section 2 of [RFC6068] (so does not include the
prefix "mailto:"). prefix "mailto:").
This element appears as a child element of: <address> (Section 2.2). This element appears as a child element of <address> (Section 2.2).
Content model: only text content. Content model: only text content.
2.15. <eref> 2.15. <eref>
Represents an "external" link (as specified in the "target" Represents an "external" link (as specified in the "target"
attribute). attribute).
If the element has no text content, the value of the target attribute If the element has no text content, the value of the "target"
will be inserted in angle brackets (as described in [RFC3986], attribute will be inserted in angle brackets (as described in
Appendix C) and, depending on the capabilities of the output format, Appendix C of [RFC3986]) and, depending on the capabilities of the
hyperlinked. output format, hyperlinked.
Otherwise, the text content will be used (and potentially Otherwise, the text content will be used (and potentially
hyperlinked). Depending on output format and formatter, additional hyperlinked). Depending on output format and formatter, additional
text might be inserted (such as a "URI" counter, and a "URIs" section text might be inserted (such as a "URI" counter, and a "URIs" section
in the back of the document). Avoid this variant when consistent in the back of the document). Avoid this variant when consistent
rendering across formats and formatters is desired. rendering across formats and formatters is desired.
This element appears as a child element of: <annotation> This element appears as a child element of <annotation>
(Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28),
<preamble> (Section 2.29), and <t> (Section 2.38). <preamble> (Section 2.29), and <t> (Section 2.38).
Content model: only text content. Content model: only text content.
2.15.1. 'target' attribute (mandatory) 2.15.1. "target" Attribute (Mandatory)
URI of the link target (see Section 3 of [RFC3986]). URI of the link target (see Section 3 of [RFC3986]).
2.16. <facsimile> 2.16. <facsimile>
Represents the phone number of a fax machine. Represents the phone number of a fax machine.
The value is expected to be the scheme-specific part of a "tel" URI The value is expected to be the scheme-specific part of a "tel" URI
(so does not include the prefix "tel:"), using the "global numbers" (so does not include the prefix "tel:"), using the "global numbers"
syntax. See Section 3 of [RFC3966] for details. syntax. See Section 3 of [RFC3966] for details.
This element appears as a child element of: <address> (Section 2.2). This element appears as a child element of <address> (Section 2.2).
Content model: only text content. Content model: only text content.
2.17. <figure> 2.17. <figure>
This element is used to represent a figure, consisting of an optional This element is used to represent a figure, consisting of an optional
preamble, the actual figure, an optional postamble, and an optional preamble, the actual figure, an optional postamble, and an optional
title. title.
This element appears as a child element of: <section> (Section 2.34), This element appears as a child element of <section> (Section 2.34)
and <t> (Section 2.38). and <t> (Section 2.38).
Content model: Content model:
In this order: In this order:
1. Optional <iref> elements (Section 2.20) 1. Optional <iref> elements (Section 2.20)
2. One optional <preamble> element (Section 2.29) 2. One optional <preamble> element (Section 2.29)
3. One <artwork> element (Section 2.5) 3. One <artwork> element (Section 2.5)
4. One optional <postamble> element (Section 2.28) 4. One optional <postamble> element (Section 2.28)
2.17.1. 'align' attribute 2.17.1. "align" Attribute
Used to change the alignment of <preamble> and <postamble>. Used to change the alignment of <preamble> and <postamble>.
Note: does not affect title or <artwork> alignment. Note: does not affect title or <artwork> alignment.
Allowed values: Allowed values:
o "left" (default) o "left" (default)
o "center" o "center"
o "right" o "right"
2.17.2. 'alt' attribute 2.17.2. "alt" Attribute
Duplicates functionality available on <artwork>; avoid it. Duplicates functionality available on <artwork>; avoid it.
2.17.3. 'anchor' attribute 2.17.3. "anchor" Attribute
Document-wide unique identifier for this figure. Document-wide unique identifier for this figure.
Furthermore, the presence of this attribute causes the figure to be Furthermore, the presence of this attribute causes the figure to be
numbered. numbered.
The value needs to be a valid XML "Name" (Section 2.3 of [XML]). The value needs to be a valid XML "Name" (Section 2.3 of [XML]).
2.17.4. 'height' attribute 2.17.4. "height" Attribute
Duplicates functionality available on <artwork>; avoid it. Duplicates functionality available on <artwork>; avoid it.
2.17.5. 'src' attribute 2.17.5. "src" Attribute
Duplicates functionality available on <artwork>; avoid it. Duplicates functionality available on <artwork>; avoid it.
2.17.6. 'suppress-title' attribute 2.17.6. "suppress-title" Attribute
Figures that have an "anchor" attribute will automatically get an Figures that have an "anchor" attribute will automatically get an
autogenerated title (such as "Figure 1"), even if the "title" autogenerated title (such as "Figure 1"), even if the "title"
attribute is absent. Setting this attribute to "true" will prevent attribute is absent. Setting this attribute to "true" will prevent
this. this.
Allowed values: Allowed values:
o "true" o "true"
o "false" (default) o "false" (default)
2.17.7. 'title' attribute 2.17.7. "title" Attribute
The title for the figure; this usually appears on a line after the The title for the figure; this usually appears on a line after the
figure. figure.
2.17.8. 'width' attribute 2.17.8. "width" Attribute
Duplicates functionality available on <artwork>; avoid it. Duplicates functionality available on <artwork>; avoid it.
2.18. <format> 2.18. <format>
Provides a link to an additional format variant for a reference. Provides a link to an additional format variant for a reference.
Note that these additional links are neither used in published RFCs, Note that these additional links are neither used in published RFCs
nor supported by all tools. If the goal is to provide a single URI nor supported by all tools. If the goal is to provide a single URI
for a reference, the "target" attribute on <reference> can be used for a reference, the "target" attribute on <reference> can be used
instead. instead.
This element appears as a child element of: <reference> This element appears as a child element of <reference>
(Section 2.30). (Section 2.30).
Content model: this element does not have any contents. Content model: this element does not have any contents.
2.18.1. 'octets' attribute 2.18.1. "octets" Attribute
Octet length of linked-to document. Octet length of linked-to document.
2.18.2. 'target' attribute 2.18.2. "target" Attribute
URI of document. URI of document.
2.18.3. 'type' attribute (mandatory) 2.18.3. "type" Attribute (Mandatory)
The type of the linked-to document, such as "TXT", "HTML", or "PDF". The type of the linked-to document, such as "TXT", "HTML", or "PDF".
2.19. <front> 2.19. <front>
Represent the "front matter": metadata (such as author information), Represents the "front matter": metadata (such as author information),
abstract, and additional notes. the Abstract, and additional notes.
This element appears as a child element of: <reference> This element appears as a child element of <reference> (Section 2.30)
(Section 2.30), and <rfc> (Section 2.33). and <rfc> (Section 2.33).
Content model: Content model:
In this order: In this order:
1. One <title> element (Section 2.40) 1. One <title> element (Section 2.40)
2. One or more <author> elements (Section 2.6) 2. One or more <author> elements (Section 2.6)
3. One <date> element (Section 2.13) 3. One <date> element (Section 2.13)
skipping to change at page 17, line 18 skipping to change at page 17, line 18
6. Optional <keyword> elements (Section 2.21) 6. Optional <keyword> elements (Section 2.21)
7. One optional <abstract> element (Section 2.1) 7. One optional <abstract> element (Section 2.1)
8. Optional <note> elements (Section 2.24) 8. Optional <note> elements (Section 2.24)
2.20. <iref> 2.20. <iref>
Provides terms for the document's index. Provides terms for the document's index.
Index entries can be either be regular entries (when just the "item" Index entries can be either regular entries (when just the "item"
attribute is given) or nested entries (by specifying "subitem" as attribute is given) or nested entries (by specifying "subitem" as
well), grouped under a regular entry. well), grouped under a regular entry.
In this document, for instance, every element definition appears as a In this document, for instance, every element definition appears as a
regular index entry ("iref element 2.20"). In addition, for each use regular index entry ("iref element 2.20"). In addition, for each use
of that element inside another parent element, a nested entry was of that element inside another parent element, a nested entry was
added ("iref element 2.20, ... inside annotation 2.3"). added ("iref element 2.20, ... inside annotation 2.3").
Index entries generally refer to the exact place where the <iref> Index entries generally refer to the exact place where the <iref>
element occurred. An exception is the occurrence as a child element element occurred. An exception is the occurrence as a child element
of <section>, in which case the whole section is considered to be of <section>, in which case the whole section is considered to be
relevant for that index entry. In some formats, index entries of relevant for that index entry. In some formats, index entries of
this type might be displayed as range. this type might be displayed as ranges.
This element appears as a child element of: <annotation> This element appears as a child element of <annotation>
(Section 2.3), <c> (Section 2.8), <figure> (Section 2.17), (Section 2.3), <c> (Section 2.8), <figure> (Section 2.17),
<postamble> (Section 2.28), <preamble> (Section 2.29), <section> <postamble> (Section 2.28), <preamble> (Section 2.29), <section>
(Section 2.34), and <t> (Section 2.38). (Section 2.34), and <t> (Section 2.38).
Content model: this element does not have any contents. Content model: this element does not have any contents.
2.20.1. 'item' attribute (mandatory) 2.20.1. "item" Attribute (Mandatory)
The item to include. The item to include.
2.20.2. 'primary' attribute 2.20.2. "primary" Attribute
Setting this to "true" declares the occurrence as "primary", which Setting this to "true" declares the occurrence as "primary", which
might cause it to be highlighted in the index. might cause it to be highlighted in the index.
Allowed values: Allowed values:
o "true" o "true"
o "false" (default) o "false" (default)
2.20.3. 'subitem' attribute 2.20.3. "subitem" Attribute
The subitem to include. The subitem to include.
2.21. <keyword> 2.21. <keyword>
Specifies a keyword applicable to the document. Specifies a keyword applicable to the document.
Note that each element should only contain a single keyword; for Note that each element should only contain a single keyword; for
multiple keywords, the element can simply be repeated. multiple keywords, the element can simply be repeated.
Keywords are used both in the RFC Index and in the metadata of Keywords are used both in the RFC Index and in the metadata of
generated documents. generated documents.
This element appears as a child element of: <front> (Section 2.19). This element appears as a child element of <front> (Section 2.19).
Content model: only text content. Content model: only text content.
2.22. <list> 2.22. <list>
Delineates a text list. Delineates a text list.
Each list item is represented by a <t> element. The vocabulary Each list item is represented by a <t> element. The vocabulary
currently does not directly support list items consisting of multiple currently does not directly support list items consisting of multiple
paragraphs; if this is needed, <vspace> (Section 2.43) can be used as paragraphs; if this is needed, <vspace> (Section 2.43) can be used as
a workaround. a workaround.
This element appears as a child element of: <t> (Section 2.38). This element appears as a child element of <t> (Section 2.38).
Content model: Content model:
One or more <t> elements (Section 2.38) One or more <t> elements (Section 2.38)
2.22.1. 'counter' attribute 2.22.1. "counter" Attribute
This attribute holds a token that serves as an identifier for a This attribute holds a token that serves as an identifier for a
counter. The intended use is continuation of lists, where the counter. The intended use is continuation of lists, where the
counter will be incremented for every list item, and there is no way counter will be incremented for every list item, and there is no way
to reset the counter. to reset the counter.
Note that this attribute functions only when the style attribute is Note that this attribute functions only when the "style" attribute is
using the "format..." syntax (Section 2.22.3); otherwise, it is using the "format..." syntax (Section 2.22.3); otherwise, it is
ignored. ignored.
2.22.2. 'hangIndent' attribute 2.22.2. "hangIndent" Attribute
For list styles with potentially wide labels, this attribute can For list styles with potentially wide labels, this attribute can
override the default indentation level, measured in number of override the default indentation level, measured in number of
characters. characters.
Note that it only affects style with variable-width labels Note that it only affects styles with variable-width labels
("format..." and "hanging", see below), and it may not affect formats ("format..." and "hanging"; see below), and it may not affect formats
in which the list item text appears _below_ the label. in which the list item text appears _below_ the label.
2.22.3. 'style' attribute 2.22.3. "style" Attribute
This attribute is used to control the display of a list. This attribute is used to control the display of a list.
The value of this attribute is inherited by any nested lists that do The value of this attribute is inherited by any nested lists that do
not have this attribute set. It may be set to: not have this attribute set. It may be set to:
"empty" "empty"
For unlabeled list items; it can also be used for indentation For unlabeled list items; it can also be used for indentation
purposes (this is the default value when there is an enclosing purposes (this is the default value when there is an enclosing
list where the style is specified). list where the style is specified).
"hanging" "hanging"
For lists where the items are labeled with a piece of text. For lists where the items are labeled with a piece of text.
The label text is specified in the 'hangText' attribute of the <t> The label text is specified in the "hangText" attribute of the <t>
element (Section 2.38.2). element (Section 2.38.2).
"letters" "letters"
For ordered lists using letters as labels (lowercase letters For ordered lists using letters as labels (lowercase letters
followed by a period; after "z", it rolls over to a two-letter followed by a period; after "z", it rolls over to a two-letter
format). For nested lists, processors usually flip between format). For nested lists, processors usually flip between
uppercase and lowercase. uppercase and lowercase.
"numbers" "numbers"
For ordered lists using numbers as labels. For ordered lists using numbers as labels.
"symbols" "symbols"
For unordered (bulleted) lists. For unordered (bulleted) lists.
The style of the bullets is chosen automatically be the processor The style of the bullets is chosen automatically by the processor
(some implementations allow overriding the default using a (some implementations allow overriding the default using a
processing instruction). Processing Instruction).
And, finally: And finally:
"format ..." "format ..."
For lists with customized labels, consisting of fixed text and an For lists with customized labels, consisting of fixed text and an
item counter in various formats. item counter in various formats.
The value is a free-form text that allows counter values to be The value is a free-form text that allows counter values to be
inserted using a "percent-letter" format. For instance, "[REQ%d]" inserted using a "percent-letter" format. For instance, "[REQ%d]"
generates labels of the form "[REQ1]", where "%d" inserts the item generates labels of the form "[REQ1]", where "%d" inserts the item
number as decimal number. number as a decimal number.
The following formats are supported: The following formats are supported:
%c lowercase letters (a, b, c, etc.) %c lowercase letters (a, b, c, etc.)
%C uppercase letters (A, B, C, etc.) %C uppercase letters (A, B, C, etc.)
%d decimal numbers (1, 2, 3, etc.) %d decimal numbers (1, 2, 3, etc.)
%i lowercase Roman numerals (i, ii, iii, etc.) %i lowercase Roman numerals (i, ii, iii, etc.)
skipping to change at page 20, line 37 skipping to change at page 20, line 37
%I uppercase Roman numerals (I, II, III, etc.) %I uppercase Roman numerals (I, II, III, etc.)
%% represents a percent sign %% represents a percent sign
Other formats are reserved for future use. Other formats are reserved for future use.
2.23. <middle> 2.23. <middle>
Represents the main content of the document. Represents the main content of the document.
This element appears as a child element of: <rfc> (Section 2.33). This element appears as a child element of <rfc> (Section 2.33).
Content model: Content model:
One or more <section> elements (Section 2.34) One or more <section> elements (Section 2.34)
2.24. <note> 2.24. <note>
Creates an unnumbered section that appears after the abstract. Creates an unnumbered section that appears after the Abstract.
It is usually used for additional information to reviewers (working It is usually used for additional information to reviewers (working
group information, mailing list, ...), or for additional publication group information, mailing list, ...), or for additional publication
information such as "IESG Notes". information such as "IESG Notes".
This element appears as a child element of: <front> (Section 2.19). This element appears as a child element of <front> (Section 2.19).
Content model: Content model:
One or more <t> elements (Section 2.38) One or more <t> elements (Section 2.38)
2.24.1. 'title' attribute (mandatory) 2.24.1. "title" Attribute (Mandatory)
The title of the note. The title of the note.
2.25. <organization> 2.25. <organization>
Specifies the affiliation of an author. Specifies the affiliation (Section 4.1.2 of [RFC7322]) of an author.
This information appears in both the "Author's Address" section and This information appears both in the "Author's Address" section and
on the front page (see [RFC7322], Section 4.1.1 for more on the front page (see Section 4.1.1 of [RFC7322] for more
information). If the value is long, an abbreviated variant can be information). If the value is long, an abbreviated variant can be
specified in the "abbrev" attribute. specified in the "abbrev" attribute.
This element appears as a child element of: <author> (Section 2.6). This element appears as a child element of <author> (Section 2.6).
Content model: only text content. Content model: only text content.
2.25.1. 'abbrev' attribute 2.25.1. "abbrev" Attribute
Abbreviated variant. Abbreviated variant.
2.26. <phone> 2.26. <phone>
Represents a phone number. Represents a phone number.
The value is expected to be the scheme-specific part of a "tel" URI The value is expected to be the scheme-specific part of a "tel" URI
(so does not include the prefix "tel:"), using the "global numbers" (so does not include the prefix "tel:"), using the "global numbers"
syntax. See Section 3 of [RFC3966] for details. syntax. See Section 3 of [RFC3966] for details.
This element appears as a child element of: <address> (Section 2.2). This element appears as a child element of <address> (Section 2.2).
Content model: only text content. Content model: only text content.
2.27. <postal> 2.27. <postal>
Contains child elements providing postal information. Contains child elements providing postal information.
Note that at least one <street> element needs to be present; however Note that at least one <street> element needs to be present; however,
formatters will handle empty values just fine. formatters will handle empty values just fine.
This element appears as a child element of: <address> (Section 2.2). This element appears as a child element of <address> (Section 2.2).
Content model: Content model:
In this order: In this order:
1. One or more <street> elements (Section 2.37) 1. One or more <street> elements (Section 2.37)
2. In any order: 2. In any order:
* <city> elements (Section 2.9) * <city> elements (Section 2.9)
skipping to change at page 22, line 25 skipping to change at page 22, line 25
* <region> elements (Section 2.32) * <region> elements (Section 2.32)
* <code> elements (Section 2.10) * <code> elements (Section 2.10)
* <country> elements (Section 2.11) * <country> elements (Section 2.11)
2.28. <postamble> 2.28. <postamble>
Gives text that appears at the bottom of a figure or table. Gives text that appears at the bottom of a figure or table.
This element appears as a child element of: <figure> (Section 2.17), This element appears as a child element of <figure> (Section 2.17)
and <texttable> (Section 2.39). and <texttable> (Section 2.39).
Content model: Content model:
In any order: In any order:
o Text o Text
o <xref> elements (Section 2.45) o <xref> elements (Section 2.45)
skipping to change at page 22, line 48 skipping to change at page 22, line 48
o <iref> elements (Section 2.20) o <iref> elements (Section 2.20)
o <cref> elements (Section 2.12) o <cref> elements (Section 2.12)
o <spanx> elements (Section 2.36) o <spanx> elements (Section 2.36)
2.29. <preamble> 2.29. <preamble>
Gives text that appears at the top of a figure or table. Gives text that appears at the top of a figure or table.
This element appears as a child element of: <figure> (Section 2.17), This element appears as a child element of <figure> (Section 2.17)
and <texttable> (Section 2.39). and <texttable> (Section 2.39).
Content model: Content model:
In any order: In any order:
o Text o Text
o <xref> elements (Section 2.45) o <xref> elements (Section 2.45)
skipping to change at page 23, line 25 skipping to change at page 23, line 25
o <iref> elements (Section 2.20) o <iref> elements (Section 2.20)
o <cref> elements (Section 2.12) o <cref> elements (Section 2.12)
o <spanx> elements (Section 2.36) o <spanx> elements (Section 2.36)
2.30. <reference> 2.30. <reference>
Represents a bibliographical reference. Represents a bibliographical reference.
This element appears as a child element of: <references> This element appears as a child element of <references>
(Section 2.31). (Section 2.31).
Content model: Content model:
In this order: In this order:
1. One <front> element (Section 2.19) 1. One <front> element (Section 2.19)
2. Optional <seriesInfo> elements (Section 2.35) 2. Optional <seriesInfo> elements (Section 2.35)
3. Optional <format> elements (Section 2.18) 3. Optional <format> elements (Section 2.18)
4. Optional <annotation> elements (Section 2.3) 4. Optional <annotation> elements (Section 2.3)
2.30.1. 'anchor' attribute (mandatory) 2.30.1. "anchor" Attribute (Mandatory)
Document-wide unique identifier for this reference. Usually, this Document-wide unique identifier for this reference. Usually, this
will be used both to "label" the reference in the references section, will be used both to "label" the reference in the "References"
and as an identifier in links to this reference entry. section, and as an identifier in links to this reference entry.
The value needs to be a valid XML "Name" (Section 2.3 of [XML]), The value needs to be a valid XML "Name" (Section 2.3 of [XML]),
additionally constrained to US-ASCII characters ([USASCII]). Thus, additionally constrained to US-ASCII characters [USASCII]. Thus, the
the character repertoire consists of "A-Z", "a-z", "0-9", "_", "-", character repertoire consists of "A-Z", "a-z", "0-9", "_", "-", ".",
".", and ":", where "0-9", ".", and "-" are disallowed as start and ":", where "0-9", ".", and "-" are disallowed as start
character. characters.
2.30.2. 'target' attribute 2.30.2. "target" Attribute
Holds the URI for the reference. Holds the URI for the reference.
Note that depending on the <seriesInfo> element, a URI might not be Note that, depending on the <seriesInfo> element, a URI might not be
needed, nor desirable, as it can be automatically generated (for needed and might not be desirable, as it can be automatically
instance, for RFCs). generated (for instance, for RFCs).
2.31. <references> 2.31. <references>
Contains a set of bibliographical references. Contains a set of bibliographical references.
In the early days of the RFC series, there was only one "References" In the early days of the RFC series, there was only one "References"
section per RFC. This convention was later changed to group section per RFC. This convention was later changed to group
references into two sets, "Normative" and "Informative" as described references into two sets -- "Normative" and "Informative" -- as
in Section 4.8.6 of [RFC7322]). This vocabulary supports the split described in Section 4.8.6 of [RFC7322]. This vocabulary supports
with the "title" attribute. the split with the "title" attribute.
By default, the order of references is significant. Processors By default, the order of references is significant. Processors,
however can be instructed to sort them based on their anchor names. however, can be instructed to sort them based on their anchor names.
This element appears as a child element of: <back> (Section 2.7). This element appears as a child element of <back> (Section 2.7).
Content model: Content model:
One or more <reference> elements (Section 2.30) One or more <reference> elements (Section 2.30)
2.31.1. 'title' attribute 2.31.1. "title" Attribute
Provides the title for the References section (defaulting to Provides the title for the "References" section (defaulting to
"References"). "References").
In general, the title should be either "Normative References" or In general, the title should be either "Normative References" or
"Informative References". "Informative References".
2.32. <region> 2.32. <region>
Provides the region name in a postal address. Provides the region name in a postal address.
This element appears as a child element of: <postal> (Section 2.27). This element appears as a child element of <postal> (Section 2.27).
Content model: only text content. Content model: only text content.
2.33. <rfc> 2.33. <rfc>
This is the root element of the xml2rfc vocabulary. This is the root element of the xml2rfc vocabulary.
Processors distinguish between RFC mode ("number" attribute being Processors distinguish between RFC mode ("number" attribute being
present) and Internet-Draft mode ("docName" attribute being present): present) and Internet-Draft mode ("docName" attribute being present):
it is invalid to specify both. Setting neither "number" nor it is invalid to specify both. Setting neither "number" nor
"docName" can be useful for producing other types of document but is "docName" can be useful for producing other types of documents but is
out-of-scope for this specification. out of scope for this specification.
Content model: Content model:
In this order: In this order:
1. One <front> element (Section 2.19) 1. One <front> element (Section 2.19)
2. One <middle> element (Section 2.23) 2. One <middle> element (Section 2.23)
3. One optional <back> element (Section 2.7) 3. One optional <back> element (Section 2.7)
2.33.1. 'category' attribute 2.33.1. "category" Attribute
Document category (see Appendix A.1). Document category (see Appendix A.1).
Allowed values: Allowed values:
o "std" o "std"
o "bcp" o "bcp"
o "info" o "info"
o "exp" o "exp"
o "historic" o "historic"
2.33.2. 'consensus' attribute 2.33.2. "consensus" Attribute
Affects the generated boilerplate. Affects the generated boilerplate.
See [RFC5741] for more information. See [RFC5741] for more information.
Allowed values: Allowed values:
o "no" o "no"
o "yes" o "yes"
2.33.3. 'docName' attribute 2.33.3. "docName" Attribute
For Internet-Drafts, this specifies the draft name (which appears For Internet-Drafts, this specifies the draft name (which appears
below the title). below the title).
A processor should give an error if both the "docName" and "number" A processor should give an error if both the "docName" and "number"
attributes are given in the <rfc> element. attributes are given in the <rfc> element.
Note that the file extension is not part of the draft, so in general Note that the file extension is not part of the draft, so in general
it should end with the current draft number ("-", plus two digits). it should end with the current draft number ("-", plus two digits).
Furthermore, it is good practice to disambiguate current editor Furthermore, it is good practice to disambiguate current editor
copies from submitted drafts (for instance, by replacing the draft copies from submitted drafts (for instance, by replacing the draft
number with the string "latest"). number with the string "latest").
See Section 7 of [IDGUIDE] for further information. See Section 7 of [IDGUIDE] for further information.
2.33.4. 'ipr' attribute 2.33.4. "ipr" Attribute
Represents the Intellectual Property status of the document. See Represents the Intellectual Property status of the document. See
Appendix A.2 for details. Appendix A.2 for details.
Allowed values: Allowed values:
o "full2026" o "full2026"
o "noDerivativeWorks2026" o "noDerivativeWorks2026"
skipping to change at page 27, line 8 skipping to change at page 27, line 8
o "noDerivativesTrust200811" o "noDerivativesTrust200811"
o "trust200902" o "trust200902"
o "noModificationTrust200902" o "noModificationTrust200902"
o "noDerivativesTrust200902" o "noDerivativesTrust200902"
o "pre5378Trust200902" o "pre5378Trust200902"
2.33.5. 'iprExtract' attribute 2.33.5. "iprExtract" Attribute
Identifies a single section within the document (by its 'anchor' Identifies a single section within the document (by its "anchor"
attribute) for which extraction "as-is" is explicitly allowed (this attribute) for which extraction "as is" is explicitly allowed (this
is only relevant for historic values of the "ipr" attribute). is only relevant for historic values of the "ipr" attribute).
2.33.6. 'number' attribute 2.33.6. "number" Attribute
The number of the RFC to be produced. The number of the RFC to be produced.
A processor should give an error if both the "docName" and "number" A processor should give an error if both the "docName" and "number"
attributes are given in the <rfc> element. attributes are given in the <rfc> element.
2.33.7. 'obsoletes' attribute 2.33.7. "obsoletes" Attribute
A comma-separated list of RFC _numbers_ or Internet-Draft names. A comma-separated list of RFC _numbers_ or Internet-Draft names.
Processors ought to parse the attribute value, so that incorrect Processors ought to parse the attribute value, so that incorrect
references can be detected and, depending on output format, references can be detected and, depending on output format,
hyperlinks can be generated. Also, the value ought to be reformatted hyperlinks can be generated. Also, the value ought to be reformatted
to insert whitespace after each comma if not already present. to insert whitespace after each comma if not already present.
2.33.8. 'seriesNo' attribute 2.33.8. "seriesNo" Attribute
Number within a document series. Number within a document series.
The document series is defined by the "category" attribute; The document series is defined by the "category" attribute;
"seriesNo" is only applicable to the values "info" ("FYI" series), "seriesNo" is only applicable to the values "info" ("FYI" series),
"std" ("STD" series), and "bcp" ("BCP" series). "std" ("STD" series), and "bcp" ("BCP" series).
2.33.9. 'submissionType' attribute 2.33.9. "submissionType" Attribute
The document stream. The document stream.
See Section 2 of [RFC5741] for details. See Section 2 of [RFC5741] for details.
Allowed values: Allowed values:
o "IETF" (default) o "IETF" (default)
o "IAB" o "IAB"
o "IRTF" o "IRTF"
o "independent" o "independent"
2.33.10. 'updates' attribute 2.33.10. "updates" Attribute
A comma-separated list of RFC _numbers_ or Internet-Draft names. A comma-separated list of RFC _numbers_ or Internet-Draft names.
Processors ought to parse the attribute value, so that incorrect Processors ought to parse the attribute value, so that incorrect
references can be detected and, depending on output format, references can be detected and, depending on output format,
hyperlinks can be generated. Also, the value ought to be reformatted hyperlinks can be generated. Also, the value ought to be reformatted
to insert whitespace after each comma if not already present. to insert whitespace after each comma if not already present.
2.33.11. 'xml:lang' attribute 2.33.11. "xml:lang" Attribute
The natural language used in the document (defaults to "en"). The natural language used in the document (defaults to "en").
See Section 2.12 of [XML] for more information. See Section 2.12 of [XML] for more information.
2.34. <section> 2.34. <section>
Represents a section (when inside a <middle> element) or an appendix Represents a section (when inside a <middle> element) or an appendix
(when inside a <back> element). (when inside a <back> element).
Sub-sections are created by nesting <section> elements inside Subsections are created by nesting <section> elements inside
<section> elements. <section> elements.
This element appears as a child element of: <back> (Section 2.7), This element appears as a child element of <back> (Section 2.7),
<middle> (Section 2.23), and <section> (Section 2.34). <middle> (Section 2.23), and <section> (Section 2.34).
Content model: Content model:
In this order: In this order:
1. In any order: 1. In any order:
* <t> elements (Section 2.38) * <t> elements (Section 2.38)
* <figure> elements (Section 2.17) * <figure> elements (Section 2.17)
* <texttable> elements (Section 2.39) * <texttable> elements (Section 2.39)
* <iref> elements (Section 2.20) * <iref> elements (Section 2.20)
2. Optional <section> elements (Section 2.34) 2. Optional <section> elements (Section 2.34)
2.34.1. 'anchor' attribute 2.34.1. "anchor" Attribute
Document-wide unique identifier for this section. Document-wide unique identifier for this section.
The value needs to be a valid XML "Name" (Section 2.3 of [XML]). The value needs to be a valid XML "Name" (Section 2.3 of [XML]).
2.34.2. 'title' attribute (mandatory) 2.34.2. "title" Attribute (Mandatory)
The title of the section. The title of the section.
2.34.3. 'toc' attribute 2.34.3. "toc" Attribute
Determines whether the section is included in the Table of Contents. Determines whether the section is included in the Table of Contents.
The processor usually has defaults for whether a Table of Contents The processor usually has defaults for whether a Table of Contents
will be produced at all, and sections of which maximal depth will be will be produced at all, and sections of which maximal depth will be
included (frequently: 3). "include" and "exclude" allow overriding included (frequently: 3). "include" and "exclude" allow overriding
the processor's default behavior for the element they are specified the processor's default behavior for the element they are specified
on (they do not affect either nested or parent elements). on (they do not affect either nested or parent elements).
Allowed values: Allowed values:
skipping to change at page 29, line 38 skipping to change at page 29, line 38
o "exclude" o "exclude"
o "default" (default) o "default" (default)
2.35. <seriesInfo> 2.35. <seriesInfo>
Specifies the document series in which this document appears, and Specifies the document series in which this document appears, and
also specifies an identifier within that series. also specifies an identifier within that series.
This element appears as a child element of: <reference> This element appears as a child element of <reference>
(Section 2.30). (Section 2.30).
Content model: this element does not have any contents. Content model: this element does not have any contents.
2.35.1. 'name' attribute (mandatory) 2.35.1. "name" Attribute (Mandatory)
The name of the series. The name of the series.
Some series names might trigger specific processing (such as for Some series names might trigger specific processing (such as for
auto-generating links, inserting descriptions such as "work in autogenerating links, inserting descriptions such as "work in
progress", or additional functionality like reference diagnostics). progress", or additional functionality like reference diagnostics).
Examples for IETF-related series names are: "BCP", "FYI", "Internet- Examples for IETF-related series names are "BCP", "FYI", "Internet-
Draft", "RFC", and "STD". Draft", "RFC", and "STD".
2.35.2. 'value' attribute (mandatory) 2.35.2. "value" Attribute (Mandatory)
The identifier within the series specified by the "name" attribute. The identifier within the series specified by the "name" attribute.
For BCPs, FYIs, RFCs, and STDs this is the number within the series. For BCPs, FYIs, RFCs, and STDs, this is the number within the series.
For Internet-Drafts, it is the full draft name (ending with the two- For Internet-Drafts, it is the full draft name (ending with the two-
digit version number). digit version number).
2.36. <spanx> 2.36. <spanx>
Wraps a piece of text, indicating special formatting styles. Wraps a piece of text, indicating special formatting styles.
When generating plain text, processors usually emulate font changes When generating plain text, processors usually emulate font changes
using characters such as "*" and "_". using characters such as "*" and "_".
The following styles are defined: The following styles are defined:
emph Simple emphasis (this is the default). emph Simple emphasis (this is the default).
strong Strong emphasis. strong Strong emphasis.
verb "Verbatim" text (usually displayed using a monospaced font verb "Verbatim" text (usually displayed using a monospaced font
face). face).
This element appears as a child element of: <annotation> This element appears as a child element of <annotation>
(Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28),
<preamble> (Section 2.29), and <t> (Section 2.38). <preamble> (Section 2.29), and <t> (Section 2.38).
Content model: only text content. Content model: only text content.
2.36.1. 'style' attribute 2.36.1. "style" Attribute
The style to be used (defaults to "emph"). The style to be used (defaults to "emph").
2.36.2. 'xml:space' attribute 2.36.2. "xml:space" Attribute
Determines whitespace handling. Determines whitespace handling.
According to the DTD, the default value is "preserve". Tests however According to the DTD, the default value is "preserve". However,
show that it doesn't have any effect on processing; thus this tests show that it doesn't have any effect on processing; thus, this
attribute will be removed in future versions of the vocabulary. attribute will be removed in future versions of the vocabulary.
See also Section 2.10 of [XML]. See also Section 2.10 of [XML].
Allowed values: Allowed values:
o "default" o "default"
o "preserve" (default) o "preserve" (default)
2.37. <street> 2.37. <street>
Provides a street address. Provides a street address.
This element appears as a child element of: <postal> (Section 2.27). This element appears as a child element of <postal> (Section 2.27).
Content model: only text content. Content model: only text content.
2.38. <t> 2.38. <t>
Contains a paragraph of text. Contains a paragraph of text.
This element appears as a child element of: <abstract> (Section 2.1), This element appears as a child element of <abstract> (Section 2.1),
<list> (Section 2.22), <note> (Section 2.24), and <section> <list> (Section 2.22), <note> (Section 2.24), and <section>
(Section 2.34). (Section 2.34).
Content model: Content model:
In any order: In any order:
o Text o Text
o <list> elements (Section 2.22) o <list> elements (Section 2.22)
skipping to change at page 31, line 47 skipping to change at page 31, line 47
o <eref> elements (Section 2.15) o <eref> elements (Section 2.15)
o <iref> elements (Section 2.20) o <iref> elements (Section 2.20)
o <cref> elements (Section 2.12) o <cref> elements (Section 2.12)
o <spanx> elements (Section 2.36) o <spanx> elements (Section 2.36)
o <vspace> elements (Section 2.43) o <vspace> elements (Section 2.43)
2.38.1. 'anchor' attribute 2.38.1. "anchor" Attribute
Document-wide unique identifier for this paragraph. Document-wide unique identifier for this paragraph.
The value needs to be a valid XML "Name" (Section 2.3 of [XML]). The value needs to be a valid XML "Name" (Section 2.3 of [XML]).
2.38.2. 'hangText' attribute 2.38.2. "hangText" Attribute
Holds the label ("hanging text") for items in lists using the Holds the label ("hanging text") for items in lists using the
"hanging" style (see Section 2.22.3). "hanging" style (see Section 2.22.3).
2.39. <texttable> 2.39. <texttable>
Contains a table, consisting of an optional preamble, a header line, Contains a table, consisting of an optional preamble, a header line,
rows, an optional postamble, and an optional title. rows, an optional postamble, and an optional title.
The number of columns in the table is determined by the number of The number of columns in the table is determined by the number of
<ttcol> elements. The number of rows in the table is determined by <ttcol> elements. The number of rows in the table is determined by
the number of <c> elements divided by the number of columns. There the number of <c> elements divided by the number of columns. There
is no requirement that the number of <c> elements be evenly divisible is no requirement that the number of <c> elements be evenly divisible
by the number of columns. by the number of columns.
This element appears as a child element of: <section> (Section 2.34). This element appears as a child element of <section> (Section 2.34).
Content model: Content model:
In this order: In this order:
1. One optional <preamble> element (Section 2.29) 1. One optional <preamble> element (Section 2.29)
2. One or more <ttcol> elements (Section 2.41) 2. One or more <ttcol> elements (Section 2.41)
3. Optional <c> elements (Section 2.8) 3. Optional <c> elements (Section 2.8)
4. One optional <postamble> element (Section 2.28) 4. One optional <postamble> element (Section 2.28)
2.39.1. 'align' attribute 2.39.1. "align" Attribute
Determines the horizontal alignment of the table. Determines the horizontal alignment of the table.
Allowed values: Allowed values:
o "left" o "left"
o "center" (default) o "center" (default)
o "right" o "right"
2.39.2. 'anchor' attribute 2.39.2. "anchor" Attribute
Document-wide unique identifier for this table. Document-wide unique identifier for this table.
Furthermore, the presence of this attribute causes the table to be Furthermore, the presence of this attribute causes the table to be
numbered. numbered.
The value needs to be a valid XML "Name" (Section 2.3 of [XML]). The value needs to be a valid XML "Name" (Section 2.3 of [XML]).
2.39.3. 'style' attribute 2.39.3. "style" Attribute
Selects which borders should be drawn, where Selects which borders should be drawn, where
o "all" means borders around all table cells, o "all" means borders around all table cells,
o "full" is like "all" except no horizontal lines between table rows o "full" is like "all", except no horizontal lines between table
(except below the column titles), rows (except below the column titles),
o "headers" adds just a separator between column titles and rows, o "headers" adds just a separator between column titles and rows,
and and
o "none" means no borders at all. o "none" means no borders at all.
Allowed values: Allowed values:
o "all" o "all"
o "none" o "none"
o "headers" o "headers"
o "full" (default) o "full" (default)
2.39.4. 'suppress-title' attribute 2.39.4. "suppress-title" Attribute
Tables that have an "anchor" attribute will automatically get an Tables that have an "anchor" attribute will automatically get an
autogenerated title (such as "Table 1"), even if the "title" autogenerated title (such as "Table 1"), even if the "title"
attribute is absent. Setting this attribute to "true" will prevent attribute is absent. Setting this attribute to "true" will prevent
this. this.
Allowed values: Allowed values:
o "true" o "true"
o "false" (default) o "false" (default)
2.39.5. 'title' attribute 2.39.5. "title" Attribute
The title for the table; this usually appears on a line below the The title for the table; this usually appears on a line below the
table body. table body.
2.40. <title> 2.40. <title>
Represents the document title. Represents the document title.
When this element appears in the <front> element of the current When this element appears in the <front> element of the current
document, the title might also appear in page headers or footers. If document, the title might also appear in page headers or footers. If
it's long (~40 characters), the "abbrev" attribute is used to specify it's long (~40 characters), the "abbrev" attribute is used to specify
an abbreviated variant. an abbreviated variant.
This element appears as a child element of: <front> (Section 2.19). This element appears as a child element of <front> (Section 2.19).
Content model: only text content. Content model: only text content.
2.40.1. 'abbrev' attribute 2.40.1. "abbrev" Attribute
Specifies an abbreviated variant of the document title. Specifies an abbreviated variant of the document title.
2.41. <ttcol> 2.41. <ttcol>
Contains a column heading in a table. Contains a column heading in a table.
This element appears as a child element of: <texttable> This element appears as a child element of <texttable>
(Section 2.39). (Section 2.39).
Content model: only text content. Content model: only text content.
2.41.1. 'align' attribute 2.41.1. "align" Attribute
Determines the horizontal alignment within the table column. Determines the horizontal alignment within the table column.
Allowed values: Allowed values:
o "left" (default) o "left" (default)
o "center" o "center"
o "right" o "right"
2.41.2. 'width' attribute 2.41.2. "width" Attribute
The desired column width (as integer 0..100 followed by "%"). The desired column width (as integer 0..100 followed by "%").
2.42. <uri> 2.42. <uri>
Contains a web address associated with the author. Contains a web address associated with the author.
The contents should be a valid URI (see Section 3 of [RFC3986]). The contents should be a valid URI (see Section 3 of [RFC3986]).
This element appears as a child element of: <address> (Section 2.2). This element appears as a child element of <address> (Section 2.2).
Content model: only text content. Content model: only text content.
2.43. <vspace> 2.43. <vspace>
This element can be used to force the inclusion of a single line This element can be used to force the inclusion of a single line
break or multiple blank lines. break or multiple blank lines.
Note that this is a purely presentational element and thus its use Note that this is a purely presentational element; thus, its use
ought to be avoided, except within a <list> as discussed in ought to be avoided, except within a <list> as discussed in
Section 2.22. Section 2.22.
This element appears as a child element of: <t> (Section 2.38). This element appears as a child element of <t> (Section 2.38).
Content model: this element does not have any contents. Content model: this element does not have any contents.
2.43.1. 'blankLines' attribute 2.43.1. "blankLines" Attribute
Number of blank lines to be inserted, where "0" indicates a single Number of blank lines to be inserted, where "0" indicates a single
line break (defaults to "0"). line break (defaults to "0").
For paged output formats, no additional blank lines should be For paged output formats, no additional blank lines should be
generated after a page break. generated after a page break.
2.44. <workgroup> 2.44. <workgroup>
This element is used to specify the Working Group (IETF) or Research This element is used to specify the Working Group (IETF) or Research
Group (IRTF) from which the document originates, if any. The Group (IRTF) from which the document originates, if any. The
recommended format is the official name of the Working Group (with recommended format is the official name of the Working Group (with
some capitalization). some capitalization).
In Internet-Drafts, this is used in the upper left corner of the In Internet-Drafts, this is used in the upper left corner of the
boilerplate, replacing the "Network Working Group" string. boilerplate, replacing the default "Network Working Group" string.
Formatting software can append the words "Working Group" or "Research Formatting software can append the words "Working Group" or "Research
Group", depending on the "submissionType" property on the <rfc> Group", depending on the "submissionType" property of the <rfc>
element (Section 2.33.9). element (Section 2.33.9).
This element appears as a child element of: <front> (Section 2.19). This element appears as a child element of <front> (Section 2.19).
Content model: only text content. Content model: only text content.
2.45. <xref> 2.45. <xref>
Inserts a cross reference to a different part of a document. Inserts a cross-reference to a different part of a document.
The generated text depends on whether the <xref> is empty (in which The generated text depends on (1) whether the <xref> is empty (in
case the processor will try to generate a meaningful text fragment), which case the processor will try to generate a meaningful text
the "format" attribute, and the nature (XML element type) of the fragment), (2) the "format" attribute, and (3) the nature (XML
referenced document part. element type) of the referenced document part.
Any element that allows the "anchor" attribute can be referenced; Any element that allows the "anchor" attribute can be referenced;
however there are restrictions with respect to the text content being however, there are restrictions with respect to the text content
generated. For instance, a <t> can be a reference target, however, being generated. For instance, a <t> can be a reference target;
because paragraphs are not (visibly) numbered, the author will have however, because paragraphs are not (visibly) numbered, the author
to make sure that the combination of prose and contained text content will have to make sure that the combination of prose and contained
is sufficient for a reader to understand what is being referred to. text content is sufficient for a reader to understand what is being
referred to.
This element appears as a child element of: <annotation> This element appears as a child element of <annotation>
(Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28), (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28),
<preamble> (Section 2.29), and <t> (Section 2.38). <preamble> (Section 2.29), and <t> (Section 2.38).
Content model: only text content. Content model: only text content.
2.45.1. 'format' attribute 2.45.1. "format" Attribute
This attribute is used to control the format of the generated This attribute is used to control the format of the generated
reference text. reference text.
"counter" "counter"
Inserts a counter, such as the number of a section, figure, table, Inserts a counter, such as the number of a section, figure, table,
or list item. or list item.
For targets that are not inherently numbered, such as references For targets that are not inherently numbered, such as references
or comments, it uses the anchor name instead. or comments, it uses the anchor name instead.
"default" "default"
Inserts a text fragment that describes the referenced part Inserts a text fragment that describes the referenced part
completely, such as "Section 2", "Table 4", or "[XML]". completely, such as "Section 2", "Table 4", or "[XML]".
"none" "none"
There will be no auto-generated text. There will be no autogenerated text.
"title" "title"
Inserts a title for the referenced element (usually obtained from Inserts a title for the referenced element (usually obtained from
the referenced element's "title" attribute; some processors also the referenced element's "title" attribute; some processors also
use the <title> child element or a <reference> target). use the <title> child element or a <reference> target).
Not all combinations of text content, format attribute, and type of Not all combinations of text content, "format" attribute, and type of
referenced part lead to predictable results across different referenced part lead to predictable results across different
formatters. In case this matters, the following combinations need to formatters. In case this matters, the following combinations need to
be avoided: be avoided:
o Non-empty text content with any format other than "none". o Non-empty text content with any format other than "none".
o Empty text content with format "counter" for any target that isn't o Empty text content with format "counter" for any target that isn't
inherently numbered. inherently numbered.
o Empty text content with format "title" for any target that doesn't o Empty text content with format "title" for any target that doesn't
skipping to change at page 37, line 21 skipping to change at page 37, line 23
Allowed values: Allowed values:
o "counter" o "counter"
o "title" o "title"
o "none" o "none"
o "default" (default) o "default" (default)
2.45.2. 'pageno' attribute 2.45.2. "pageno" Attribute
Unused. Unused.
It's unclear what the purpose of this attribute is; processors seem It's unclear what the purpose of this attribute is; processors seem
to ignore it and it never was documented. to ignore it, and it never was documented.
Allowed values: Allowed values:
o "true" o "true"
o "false" (default) o "false" (default)
2.45.3. 'target' attribute (mandatory) 2.45.3. "target" Attribute (Mandatory)
Identifies the document component being referenced. Identifies the document component being referenced.
The value needs to match the value of the "anchor" attribute of The value needs to match the value of the "anchor" attribute of
another element in the document. another element in the document.
3. Escaping for Use in XML 3. Escaping for Use in XML
Text in XML cannot use the literal characters "<" and "&", as they Text in XML cannot use the literal characters "<" and "&", as they
have special meaning to the XML processor (starting entities, have special meaning to the XML processor (starting entities,
elements, etc.). Usually, these characters will need to be elements, etc.). Usually, these characters will need to be
substituted by "&lt;" and "&amp;" (see Section 4.6 of [XML]). substituted by "&lt;" and "&amp;" (see Section 4.6 of [XML]).
">" does not require escaping, unless it appears in the sequence ">" does not require escaping, unless it appears in the sequence
"]]>" (which indicates the end of a CDATA section, see below). "]]>" (which indicates the end of a CDATA section; see below).
Escaping the individual characters can be a lot of work (when done Escaping the individual characters can be a lot of work (when done
manually), and also messes up alignment in artwork. Another approach manually) and also messes up alignment in artwork. Another approach
to escaping is to use CDATA sections ([XML], Section 2.7). Within to escaping is to use CDATA sections (Section 2.7 of [XML]). Within
these, no further escaping is needed, except when the "end-of-CDATA" these, no further escaping is needed, except when the "end-of-CDATA"
marker needs to be used (in that case, the CDATA section needs to be marker needs to be used (in that case, the CDATA section needs to be
closed, and a new one needs to be started). closed, and a new one needs to be started).
4. Special Unicode Code Points 4. Special Unicode Code Points
Although the current RFC format does not allow non-ASCII Unicode Although the current RFC format does not allow non-ASCII Unicode
characters ([UNICODE]), some of them can be used to enforce certain characters [UNICODE], some of them can be used to enforce certain
behaviors of formatters. behaviors of formatters.
For instance: For instance:
non-breaking space (U+00A0) non-breaking space (U+00A0)
Represents a space character where no line break should happen. Represents a space character where no line break should happen.
This is frequently used in titles (by excluding certain space This is frequently used in titles (by excluding certain space
characters from the line breaking algorithm, the processor will characters from the line-breaking algorithm, the processor will
use the remaining whitespace occurrences for line breaks). use the remaining whitespace occurrences for line breaks).
non-breaking hyphen (U+2011) non-breaking hyphen (U+2011)
Similarly, this represents a hyphen character where nevertheless Similarly, this represents a hyphen character where no line
no line breaking ought to occur. breaking ought to occur.
word joiner (U+2060) word joiner (U+2060)
Also called "zero width non-breaking space" -- can be used to Also called "zero width non-breaking space" -- can be used to
disallow line breaking between two non-whitespace characters. disallow line breaking between two non-whitespace characters.
Note that in order to use these characters by name, they need to be Note that in order to use these characters by name, they need to be
declared either in the Document Type Definition (DTD, [XML], Section declared in either the Document Type Definition (DTD) or the
2.9), or in the "internal subset" ([XML], Section 2.8), like this: "internal subset" (Section 2.8 of [XML]), like this:
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE rfc [ <!DOCTYPE rfc [
<!-- declare nbsp and friends --> <!-- declare nbsp and friends -->
<!ENTITY nbsp "&#xa0;"> <!ENTITY nbsp "&#xa0;">
<!ENTITY nbhy "&#x2011;"> <!ENTITY nbhy "&#x2011;">
<!ENTITY wj "&#x2060;"> <!ENTITY wj "&#x2060;">
]> ]>
5. Including Files 5. Including Files
This version of the vocabulary does not support an inclusion This version of the vocabulary does not support an inclusion
mechanism on its own -- thus, a document always needs to be self- mechanism on its own -- thus, a document always needs to be self-
contained. contained.
That being said, some processors do support file inclusion using That being said, some processors do support file inclusion using
processing instructions (Section 2.6 of [XML] and Section 4.1.2 of Processing Instructions (Section 2.6 of [XML] and Section 4.1.2 of
[TCLReadme]). [TCLReadme]).
Furthermore, XML itself allows inclusion of external content using Furthermore, XML itself allows inclusion of external content using
the "internal subset" (Section 2.8 of [XML]). Unfortunately, this the "internal subset" (Section 2.8 of [XML]). Unfortunately, this
requires declaring the external data in the DTD upfront. requires declaring the external data in the DTD upfront.
For instance: For instance:
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE rfc [ <!DOCTYPE rfc [
<!-- allow later RFC2616 reference using "&rfc2616;" --> <!-- allow later RFC 2629 reference using "&rfc2629;" -->
<!-- the data will be fetched from xml.resource.org --> <!-- the data will be fetched from xml2rfc.ietf.org -->
<!ENTITY rfc2616 PUBLIC <!ENTITY rfc2629 PUBLIC
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml"> "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2629.xml">
]> ]>
...declares the entity "rfc2616", which then can be used in the ...declares the entity "rfc2629", which then can be used in the
"references" section: "References" section:
<references> <references>
&rfc2616; &rfc2629;
</references> </references>
Note that this mechanism only works for well-formed XML fragments; Note that this mechanism only works for well-formed XML fragments;
thus any plain text that would need to be escaped in XML can't be thus, any plain text that would need to be escaped in XML can't be
included as-is. included as is.
6. Internationalization Considerations 6. Internationalization Considerations
This format is based on [XML], thus does not have any issues This format is based on [XML] and thus does not have any issues
representing arbitrary Unicode [UNICODE] characters in text content. representing arbitrary Unicode [UNICODE] characters in text content.
However, the current canonical RFC format is restricted to US-ASCII However, the current canonical RFC format is restricted to US-ASCII
characters ([USASCII] and Section 3 of [RFC2223]). It is possible characters (see [USASCII] and Section 3 of [RFC2223]). It is
that this rule will be relaxed in future revisions of the RFC format possible that this rule will be relaxed in future revisions of the
(for instance, to allow non-ASCII characters in examples and contact RFC format (for instance, to allow non-ASCII characters in examples
information). In that case, it is expected that the vocabulary will and contact information). In that case, it is expected that the
be extended accordingly. vocabulary will be extended accordingly.
7. Security Considerations 7. Security Considerations
The "name" attribute on the <artwork> element (Section 2.5.4) can be The "name" attribute of the <artwork> element (Section 2.5.4) can be
used to derive a filename for saving to a local file system. used to derive a filename for saving to a local file system.
Trusting this kind of information without pre-processing is a known Trusting this kind of information without pre-processing is a known
security risk; see Section 4.3 of [RFC6266] for more information. security risk; see Section 4.3 of [RFC6266] for more information.
Furthermore, the nature of XML, plus vocabulary features such as Furthermore, the nature of XML, plus vocabulary features such as
typed artwork, make it attractive to extract content from documents typed artwork, make it attractive to extract content from documents
for further processing, such for the purpose of checking syntax, or for further processing, such as for the purpose of checking syntax or
computing/verifying examples. In the latter case, care needs to be computing/verifying examples. In the latter case, care needs to be
taken that only trusted content is processed. taken that only trusted content is processed.
All security considerations related to XML processing are relevant as All security considerations related to XML processing are relevant as
well (see Section 7 of [RFC3470]). well (see Section 7 of [RFC3470]).
8. IANA Considerations 8. IANA Considerations
8.1. Internet Media Type Registration 8.1. Internet Media Type Registration
IANA maintains the registry of Internet media types [BCP13] at IANA maintains the registry of Internet Media Types [BCP13] at
<http://www.iana.org/assignments/media-types>. <http://www.iana.org/assignments/media-types>.
This document serves as the specification for the Internet media type This document serves as the specification for the Internet Media Type
"application/rfc+xml". The following is to be registered with IANA. "application/rfc+xml". The following has been registered with IANA.
Type name: application Type name: application
Subtype name: rfc+xml Subtype name: rfc+xml
Required parameters: There are no required parameters. Required parameters: There are no required parameters.
Optional parameters: "charset": This parameter has identical Optional parameters: "charset": This parameter has identical
semantics as the charset parameter of the "application/xml" media semantics to the charset parameter of the "application/xml" Media
type specified in Section 9.1 of [RFC7303]. Type specified in Section 9.1 of [RFC7303].
Encoding considerations: Identical to those of "application/xml" as Encoding considerations: Identical to those of "application/xml" as
described in Section 9.1 of [RFC7303]. described in Section 9.1 of [RFC7303].
Security considerations: As defined in Section 7. In addition, as Security considerations: As defined in Section 7. In addition, as
this media type uses the "+xml" convention, it inherits the this media type uses the "+xml" convention, it inherits the
security considerations described in Section 10 of [RFC7303]. security considerations described in Section 10 of [RFC7303].
Interoperability considerations: Some aspects of this vocabulary Interoperability considerations: Some aspects of this vocabulary
currently cannot be used interoperably; among the reasons for this currently cannot be used interoperably; among the reasons for this
are that they weren't precisely defined in the first place, that are that they weren't precisely defined in the first place, that
they have been added in an ad-hoc fashion later on, or that they they have been added in an ad hoc fashion later on, or that they
are specific to certain output formats. This specification are specific to certain output formats. This specification
attempts to identify these cases in the description of the attempts to identify these cases in the description of the
individual elements/attributes. individual elements/attributes.
Published specification: This specification. Published specification: This specification.
Applications that use this media type: Applications that transform Applications that use this media type: Applications that transform
xml2rfc to output formats such as plain text or HTML, plus xml2rfc to output formats such as plain text or HTML, plus
additional analysis tools. additional analysis tools.
Fragment identifier considerations: The "anchor" attribute is used Fragment identifier considerations: The "anchor" attribute is used
for assigning document-wide unique identifiers that can be used as for assigning document-wide unique identifiers that can be used as
shorthand pointers, as described in Section 2.8 of [XPOINTER]. shorthand pointers, as described in Section 3.2 of [XPOINTER].
Additional information: Additional information:
Deprecated alias names for this type: None. Deprecated alias names for this type: None.
Magic number(s): As specified for "application/xml" in Section Magic number(s): As specified for "application/xml" in Section
9.1 of [RFC7303]. 9.1 of [RFC7303].
File extension(s): .xml or .rfcxml when disambiguation from other File extension(s): .xml or .rfcxml when disambiguation from other
XML files is needed XML files is needed.
Macintosh file type code(s): TEXT Macintosh file type code(s): TEXT
Person & email address to contact for further information: See Person & email address to contact for further information: See the
Authors Section. Author's Address section of RFC 7749.
Intended usage: COMMON Intended usage: COMMON
Restrictions on usage: None Restrictions on usage: None.
Author: See Authors Section. Author: See the Author's Address section of RFC 7749.
Change controller: RFC Series Editor (rse@rfc-editor.org) Change controller: RFC Series Editor (rse@rfc-editor.org)
9. References 9. References
9.1. Normative References 9.1. Normative References
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046, Extensions (MIME) Part Two: Media Types", RFC 2046,
DOI 10.17487/RFC2046, November 1996, DOI 10.17487/RFC2046, November 1996,
skipping to change at page 42, line 13 skipping to change at page 42, line 13
<http://www.rfc-editor.org/info/rfc3966>. <http://www.rfc-editor.org/info/rfc3966>.
[RFC6068] Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto' [RFC6068] Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto'
URI Scheme", RFC 6068, DOI 10.17487/RFC6068, URI Scheme", RFC 6068, DOI 10.17487/RFC6068,
October 2010, <http://www.rfc-editor.org/info/rfc6068>. October 2010, <http://www.rfc-editor.org/info/rfc6068>.
[RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303, [RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303,
DOI 10.17487/RFC7303, July 2014, DOI 10.17487/RFC7303, July 2014,
<http://www.rfc-editor.org/info/rfc7303>. <http://www.rfc-editor.org/info/rfc7303>.
[XML] Maler, E., Yergeau, F., Paoli, J., Sperberg-McQueen, M., [XML] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E.,
and T. Bray, "Extensible Markup Language (XML) 1.0 and F. Yergeau, "Extensible Markup Language (XML) 1.0
(Fifth Edition)", W3C Recommendation REC-xml-20081126, (Fifth Edition)", W3C Recommendation REC-xml-20081126,
November 2008, November 2008,
<http://www.w3.org/TR/2008/REC-xml-20081126/>. <http://www.w3.org/TR/2008/REC-xml-20081126/>.
Latest version available at <http://www.w3.org/TR/xml>. Latest version available at <http://www.w3.org/TR/xml>.
9.2. Informative References 9.2. Informative References
[BCP13] Freed, N., Klensin, J., and T. Hansen, "Media Type [BCP13] Freed, N., Klensin, J., and T. Hansen, "Media Type
Specifications and Registration Procedures", BCP 13, Specifications and Registration Procedures", BCP 13,
skipping to change at page 43, line 33 skipping to change at page 43, line 33
[RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines [RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines
for the Use of Extensible Markup Language (XML) within for the Use of Extensible Markup Language (XML) within
IETF Protocols", BCP 70, RFC 3470, DOI 10.17487/RFC3470, IETF Protocols", BCP 70, RFC 3470, DOI 10.17487/RFC3470,
January 2003, <http://www.rfc-editor.org/info/rfc3470>. January 2003, <http://www.rfc-editor.org/info/rfc3470>.
[RFC3667] Bradner, S., "IETF Rights in Contributions", RFC 3667, [RFC3667] Bradner, S., "IETF Rights in Contributions", RFC 3667,
DOI 10.17487/RFC3667, February 2004, DOI 10.17487/RFC3667, February 2004,
<http://www.rfc-editor.org/info/rfc3667>. <http://www.rfc-editor.org/info/rfc3667>.
[RFC3978] Bradner, S., "IETF Rights in Contributions", RFC 3978, [RFC3978] Bradner, S., Ed., "IETF Rights in Contributions",
DOI 10.17487/RFC3978, March 2005, RFC 3978, DOI 10.17487/RFC3978, March 2005,
<http://www.rfc-editor.org/info/rfc3978>. <http://www.rfc-editor.org/info/rfc3978>.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, DOI 10.17487/RFC3986, January 2005, RFC 3986, DOI 10.17487/RFC3986, January 2005,
<http://www.rfc-editor.org/info/rfc3986>. <http://www.rfc-editor.org/info/rfc3986>.
[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for
Syntax Specifications: ABNF", STD 68, RFC 5234,
DOI 10.17487/RFC5234, January 2008,
<http://www.rfc-editor.org/info/rfc5234>.
[RFC5378] Bradner, S., Ed. and J. Contreras, Ed., "Rights
Contributors Provide to the IETF Trust", BCP 78,
RFC 5378, DOI 10.17487/RFC5378, November 2008,
<http://www.rfc-editor.org/info/rfc5378>.
[RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598,
DOI 10.17487/RFC5598, July 2009, DOI 10.17487/RFC5598, July 2009,
<http://www.rfc-editor.org/info/rfc5598>. <http://www.rfc-editor.org/info/rfc5598>.
PDF version: <http://www.rfc-editor.org/rfc/rfc5598.pdf> PDF version: <http://www.rfc-editor.org/rfc/rfc5598.pdf>
[RFC5741] Daigle, L. and O. Kolkman, "RFC Streams, Headers, and [RFC5741] Daigle, L., Ed., Kolkman, O., Ed., and IAB, "RFC
Boilerplates", RFC 5741, DOI 10.17487/RFC5741, Streams, Headers, and Boilerplates", RFC 5741,
December 2009, <http://www.rfc-editor.org/info/rfc5741>. DOI 10.17487/RFC5741, December 2009,
<http://www.rfc-editor.org/info/rfc5741>.
[RFC6266] Reschke, J., "Use of the Content-Disposition Header [RFC6266] Reschke, J., "Use of the Content-Disposition Header
Field in the Hypertext Transfer Protocol (HTTP)", Field in the Hypertext Transfer Protocol (HTTP)",
RFC 6266, DOI 10.17487/RFC6266, June 2011, RFC 6266, DOI 10.17487/RFC6266, June 2011,
<http://www.rfc-editor.org/info/rfc6266>. <http://www.rfc-editor.org/info/rfc6266>.
[RFC7322] Heather, H. and S. Ginoza, "RFC Style Guide", RFC 7322, [RFC7322] Flanagan, H. and S. Ginoza, "RFC Style Guide", RFC 7322,
DOI 10.17487/RFC7322, September 2014, DOI 10.17487/RFC7322, September 2014,
<http://www.rfc-editor.org/info/rfc7322>. <http://www.rfc-editor.org/info/rfc7322>.
[RFCPOLICY] RFC Editor, "RFC Editorial Guidelines and Procedures",
February 2012, <http://www.rfc-editor.org/policy.html>.
[RNC] Clark, J., "RELAX NG Compact Syntax", OASIS , [RNC] Clark, J., "RELAX NG Compact Syntax", OASIS ,
November 2002, <http://www.oasis-open.org/committees/ November 2002, <http://www.oasis-open.org/committees/
relax-ng/compact-20021121.html>. relax-ng/compact-20021121.html>.
[TCLReadme] Rose, M., Fenner, B., and C. Levert, "xml2rfc [TCLReadme] Rose, M., Fenner, B., and C. Levert, "xml2rfc
v1.35pre1", October 2009, <http://svn.tools.ietf.org/ v1.35pre1", October 2009, <http://svn.tools.ietf.org/
svn/tools/xml2rfc/archive/README.html>. svn/tools/xml2rfc/archive/README.html>.
[TLP1.0] IETF Trust, "Legal Provisions Relating to IETF
Documents", November 2008,
<http://trustee.ietf.org/license-info/IETF-TLP-1.htm>.
[TLP2.0] IETF Trust, "Legal Provisions Relating to IETF [TLP2.0] IETF Trust, "Legal Provisions Relating to IETF
Documents", February 2009, Documents", February 2009,
<http://trustee.ietf.org/license-info/IETF-TLP-2.htm>. <http://trustee.ietf.org/license-info/IETF-TLP-2.htm>.
[TLP3.0] IETF Trust, "Legal Provisions Relating to IETF [TLP3.0] IETF Trust, "Legal Provisions Relating to IETF
Documents", September 2009, Documents", September 2009,
<http://trustee.ietf.org/license-info/IETF-TLP-3.htm>. <http://trustee.ietf.org/license-info/IETF-TLP-3.htm>.
[TLP4.0] IETF Trust, "Legal Provisions Relating to IETF [TLP4.0] IETF Trust, "Legal Provisions Relating to IETF
Documents", December 2009, Documents", December 2009,
<http://trustee.ietf.org/license-info/IETF-TLP-4.htm>. <http://trustee.ietf.org/license-info/IETF-TLP-4.htm>.
[UNICODE] The Unicode Consortium, "The Unicode Standard, Version [TLP5.0] IETF Trust, "Legal Provisions Relating to IETF
6.3.0", September 2013, Documents", March 2015,
<http://www.unicode.org/versions/Unicode6.3.0/>. <http://trustee.ietf.org/license-info/IETF-TLP-5.htm>.
[UNICODE] The Unicode Consortium, "The Unicode Standard",
<http://www.unicode.org/versions/latest/>.
[USASCII] American National Standards Institute, "Coded Character [USASCII] American National Standards Institute, "Coded Character
Set -- 7-bit American Standard Code for Information Set -- 7-bit American Standard Code for Information
Interchange", ANSI X3.4, 1986. Interchange", ANSI X3.4, 1986.
[V1rev] Rose, M., "Writing I-Ds and RFCs using XML (revised)", [V1rev] Rose, M., "Writing I-Ds and RFCs using XML (revised)",
February 2008, <http://svn.tools.ietf.org/svn/tools/ February 2008, <http://svn.tools.ietf.org/svn/tools/
xml2rfc/archive/draft-mrose-writing-rfcs.html>. xml2rfc/archive/draft-mrose-writing-rfcs.html>.
[XPOINTER] Grosso, P., Maler, E., Marsh, J., and N. Walsh, [XPOINTER] Grosso, P., Maler, E., Marsh, J., and N. Walsh,
"XPointer Framework", W3C Recommendation REC-xptr- "XPointer Framework", W3C Recommendation REC-xptr-
framework-20030325, March 2003, framework-20030325, March 2003,
<http://www.w3.org/TR/2003/ <http://www.w3.org/TR/2003/
REC-xptr-framework-20030325/>. REC-xptr-framework-20030325/>.
Latest version available at Latest version available at
<http://www.w3.org/TR/xptr-framework/>. <http://www.w3.org/TR/xptr-framework/>.
Appendix A. Front Page ('Boilerplate') Generation Appendix A. Front-Page ("Boilerplate") Generation
A.1. The /rfc/@category Attribute A.1. The "category" Attribute
For RFCs, the category attribute (Section 2.33.1) determines the For RFCs, the "category" attribute (Section 2.33.1) determines the
"maturity level" (see Section 4 of [RFC2026]). The allowed values "maturity level" (see Section 4 of [RFC2026]). The allowed values
are "std" for "Standards Track", "bcp" for "BCP", "info" for are "std" for "Standards Track", "bcp" for "BCP", "info" for
"Informational", "exp" for "Experimental", and "historic" for "Informational", "exp" for "Experimental", and "historic" for
"Historic". "Historic".
For Internet-Drafts, the category attribute is not needed, but will For Internet-Drafts, the "category" attribute is not needed; when
appear on the front page as "Intended Status". Supplying this supplied, it will appear as "Intended Status". Supplying this
information can be useful to reviewers. information can be useful to reviewers.
A.2. The /rfc/@ipr Attribute A.2. The "ipr" Attribute
This attribute value can take a long list of values, each of which This attribute value can take a long list of values, each of which
describes an IPR policy for the document (Section 2.33.4). The describes an IPR policy for the document (Section 2.33.4). The
values are not the result of a grand design, but remain simply for values are not the result of a grand design, but they remain simply
historic reasons. Of these values, only a few are currently in use; for historic reasons. Of these values, only a few are currently in
all others are supported by various tools for backwards compatibility use; all others are supported by various tools for backwards
with old source files. compatibility with old source files.
*Note:* some variations of the boilerplate are selected based on *Note:* some variations of the boilerplate are selected based on
the document's date; therefore it is important to specify the the document's date; therefore, it is important to specify the
"year", "month" and "day" attributes of the <date> element when "year", "month", and "day" attributes of the <date> element when
archiving the XML source of an Internet-Draft on the day of archiving the XML source of an Internet-Draft on the day of
submission. submission.
_Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION. IF YOU _Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION. IF YOU
NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER._ For further information, NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER._ For further information,
refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>. refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>.
For the current "Status of This Memo" text, the submissionType For the current "Status of This Memo" text, the "submissionType"
attribute (Section 2.33.9) determines whether a statement about "Code attribute (Section 2.33.9) determines whether a statement about "Code
Components" is inserted (which is the case for the value "IETF", Components" is inserted (which is the case for the value "IETF",
which is the default). Other values, such as "independent", suppress which is the default). Other values, such as "independent", suppress
this part of the text. this part of the text.
A.2.1. Current Values: '*trust200902' A.2.1. Current Values: "*trust200902"
The name for these values refers to the "IETF TRUST Legal Provisions The name for these values refers to the IETF Trust's "Legal
Relating to IETF Documents", sometimes simply called the "TLP", which Provisions Relating to IETF Documents", sometimes simply called the
went into effect on February 15, 2009 ([TLP2.0]). Updates to this "TLP", which went into effect on February 15, 2009 [TLP2.0]. Updates
document were published on September 12, 2009 ([TLP3.0]) and on to this document were published on September 12, 2009 [TLP3.0] and on
December 28, 2009 ([TLP4.0]), modifying the license for code December 28, 2009 [TLP4.0], modifying the license for code components
components (see <http://trustee.ietf.org/license-info/> for further (see <http://trustee.ietf.org/license-info/> for further
information). The actual text is located in Section 6 ("Text To Be information). The actual text is located in Section 6 ("Text to Be
Included in IETF Documents") of these documents. Included in IETF Documents") of these documents.
Formatters will automatically produce the "correct" text depending on Formatters will automatically produce the "correct" text, depending
the document's date information (see above): on the document's date information (see above):
+----------+--------------------------------+ +----------+--------------------------------+
| TLP | starting with publication date | | TLP | starting with publication date |
+----------+--------------------------------+ +----------+--------------------------------+
| [TLP3.0] | 2009-11-01 | | [TLP3.0] | 2009-11-01 |
| [TLP4.0] | 2010-04-01 | | [TLP4.0] | 2010-04-01 |
+----------+--------------------------------+ +----------+--------------------------------+
The TLP was again updated in March 2015 ([TLP5.0]), but the
changes made in that version do not affect the boilerplate text.
A.2.1.1. trust200902 A.2.1.1. trust200902
This value should be used unless one of the more specific This value should be used unless one of the more specific
'*trust200902' values is a better fit. It produces the text in "*trust200902" values is a better fit. It produces the text in
Sections 6.a and 6.b of the TLP. Sections 6.a and 6.b of the TLP.
A.2.1.2. noModificationTrust200902 A.2.1.2. noModificationTrust200902
This produces additional text from Section 6.c.i of the TLP: This produces additional text from Section 6.c.i of the TLP:
This document may not be modified, and derivative works of it may This document may not be modified, and derivative works of it may
not be created, except to format it for publication as an RFC or not be created, except to format it for publication as an RFC or
to translate it into languages other than English. to translate it into languages other than English.
skipping to change at page 46, line 49 skipping to change at page 47, line 21
This document may not be modified, and derivative works of it may This document may not be modified, and derivative works of it may
not be created, and it may not be published except as an Internet- not be created, and it may not be published except as an Internet-
Draft. Draft.
*Note:* this clause is incompatible with RFCs. *Note:* this clause is incompatible with RFCs.
A.2.1.4. pre5378Trust200902 A.2.1.4. pre5378Trust200902
This produces the additional text from Section 6.c.iii of the TLP, This produces the additional text from Section 6.c.iii of the TLP,
frequently called the "pre-5378 escape clause": frequently called the "pre-5378 escape clause" (referring to changes
introduced in [RFC5378]):
This document may contain material from IETF Documents or IETF This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this 10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process. modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) Without obtaining an adequate license from the person(s)
controlling the copyright in such materials, this document may not controlling the copyright in such materials, this document may not
be modified outside the IETF Standards Process, and derivative be modified outside the IETF Standards Process, and derivative
works of it may not be created outside the IETF Standards Process, works of it may not be created outside the IETF Standards Process,
except to format it for publication as an RFC or to translate it except to format it for publication as an RFC or to translate it
into languages other than English. into languages other than English.
See Section 4 of See Section 4 of
<http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further
information about when to use this value. information about when to use this value.
*Note:* this text appears under "Copyright Notice", unless the *Note:* this text appears under "Copyright Notice", unless the
document was published before November 2009, in which case it document was published before November 2009, in which case it
appears under "Status Of This Memo". appears under "Status of This Memo".
A.2.2. Historic Values A.2.2. Historic Values
A.2.2.1. Historic Values: '*trust200811' A.2.2.1. Historic Values: "*trust200811"
The attribute values "trust200811", "noModificationTrust200811" and The attribute values "trust200811", "noModificationTrust200811", and
"noDerivativesTrust200811" are similar to their "trust200902" "noDerivativesTrust200811" are similar to their "trust200902"
counterparts, except that they use text specified in <http:// counterparts, except that they use text specified in [TLP1.0].
trustee.ietf.org/license-info/archive/
IETF-Trust-License-Policy_11-10-08.pdf>.
A.2.2.2. Historic Values: '*3978' A.2.2.2. Historic Values: "*3978"
The attribute values "full3978", "noModification3978" and The attribute values "full3978", "noModification3978", and
"noDerivatives3978" are similar to their counterparts above, except "noDerivatives3978" are similar to their counterparts above, except
that they use text specified in Section 5 of [RFC3978]. that they use text specified in Section 5 of [RFC3978].
A.2.2.3. Historic Values: '*3667' A.2.2.3. Historic Values: "*3667"
The attribute values "full3667", "noModification3667" and The attribute values "full3667", "noModification3667", and
"noDerivatives3667" are similar to their counterparts above, except "noDerivatives3667" are similar to their counterparts above, except
that they use text specified in Section 5 of [RFC3667]. that they use text specified in Section 5 of [RFC3667].
A.2.2.4. Historic Values: '*2026' A.2.2.4. Historic Values: "*2026"
The attribute values "full2026" and "noDerivativeWorks2026" are The attribute values "full2026" and "noDerivativeWorks2026" are
similar to their counterparts above, except that they use text similar to their counterparts above, except that they use text
specified in Section 10 of [RFC2026]. specified in Section 10 of [RFC2026].
The special value "none" was also used back then, and denied the IETF The special value "none" was also used back then; it denied the IETF
any rights beyond publication as Internet-Draft. any rights beyond publication as an Internet-Draft.
A.3. The /rfc/@submissionType Attribute A.3. The "submissionType" Attribute
The RFC Editor publishes documents from different "document streams", The RFC Editor publishes documents from different document streams,
of which the "IETF stream" is the most prominent one. Other streams of which the IETF stream is the most prominent. Other streams are
are the "independent stream" (used for things such as administrative the independent stream (used for things such as discussion of
information or April 1st RFCs), the "IAB stream" (Internet Internet-related technologies that are not part of the IETF agenda),
Architecture Board) and the "IRTF stream" (Internet Research Task the IAB stream (Internet Architecture Board) and the IRTF stream
Force). (Internet Research Task Force).
The values for the attribute are "IETF" (the default value), The values for the attribute are "IETF" (the default value),
"independent", "IAB", and "IRTF". "independent", "IAB", and "IRTF".
Historically, this attribute did not affect the final appearance of Historically, this attribute did not affect the final appearance of
RFCs, except for subtle differences in Copyright notices. Nowadays RFCs, except for subtle differences in copyright notices. Nowadays
(as of [RFC5741]), the stream name appears in the first line of the (as of [RFC5741]), the stream name appears in the first line of the
front page, and it also affects the text in the "Status Of This Memo" front page, and it also affects the text in the "Status of This Memo"
section. section.
For current documents, setting submissionType attribute will have the For current documents, setting the "submissionType" attribute will
following effect: have the following effect:
o For RFCs, the stream name appears in the upper left corner of the o For RFCs, the stream name appears in the upper left corner of the
first page (in Internet Drafts, this is either "Network Working first page (in Internet-Drafts, this is either "Network Working
Group", or the value of the <workgroup> element). Group" or the value of the <workgroup> element).
o For RFCs, if affects the whole "Status Of This Memo" section (see o For RFCs, it affects the whole "Status of This Memo" section (see
Section 3.2.2 of [RFC5741]). Section 3.2.2 of [RFC5741]).
o For all RFCs and Internet Drafts, it determines whether the o For all RFCs and Internet-Drafts, it determines whether the
"Copyright Notice" mentions the Copyright on Code Components (see "Copyright Notice" mentions the copyright on Code Components (see
TLP, Section "Text To Be Included in IETF Documents"). Section 6 of the TLP ("Text to Be Included in IETF Documents")).
A.4. The /rfc/@consensus Attribute A.4. The "consensus" Attribute
For some of the publication streams (see Appendix A.3), the "Status For some of the publication streams (see Appendix A.3), the "Status
Of This Memo" section depends on whether there was a consensus to of This Memo" section depends on whether there was a consensus to
publish (again, see Section 3.2.2 of [RFC5741]). publish (again, see Section 3.2.2 of [RFC5741]).
The consensus attribute ("yes"/"no", defaulting to "yes") can be used The "consensus" attribute ("yes"/"no", defaulting to "yes") can be
to supply this information. The effect for the various streams is: used to supply this information. The effect for the various streams
is:
o "independent" and "IAB": none. o "independent" and "IAB": none.
o "IETF": mention that there was an IETF consensus. o "IETF": mention that there was an IETF consensus.
o "IRTF": mention that there was a research group consensus (where o "IRTF": mention that there was a research group consensus (where
the name of the research group is extracted from the <workgroup> the name of the research group is extracted from the <workgroup>
element). element).
Appendix B. Changes from RFC 2629 ('v1') Appendix B. Changes from RFC 2629 ("v1")
B.1. RNC Schema Differences
See <http://greenbytes.de/tech/webdav/
draft-reschke-xml2rfc-02.html#rfc.section.E> for a comparison of the
schemata.
B.2. Removed Elements B.1. Removed Elements
The <appendix> element has been removed; to generate an appendix, The <appendix> element has been removed; to generate an appendix,
place a <section> inside <back>. place a <section> inside <back>.
B.3. Changed Defaults B.2. Changed Defaults
Many attributes have lost their "default" value; this is to avoid Many attributes have lost their "default" value; this is to avoid
having document semantics differ based on whether a DTD was specified having document semantics differ based on whether a DTD was specified
and evaluated. Processors will handle absent values the way the and evaluated. Processors will handle absent values the way the
default value was specified before. default value was specified before.
B.4. Changed Elements B.3. Changed Elements
<artwork>: Has a set of new attributes: "name", "type", "src", <artwork>: Has a set of new attributes: "name", "type", "src",
"align", "alt", "width", and "height". (Section 2.5) "align", "alt", "width", and "height". (Section 2.5)
<author>: The <organization> element is now optional. The "role" <author>: The <organization> element is now optional. The "role"
attribute was added. (Section 2.6) attribute was added. (Section 2.6)
<country>: The requirement to use ISO 3166 codes was removed. <country>: The requirement to use ISO 3166 codes was removed.
(Section 2.11) (Section 2.11)
skipping to change at page 50, line 4 skipping to change at page 50, line 15
"align", "alt", "width", and "height". (Section 2.17) "align", "alt", "width", and "height". (Section 2.17)
<iref>: Has a new "primary" attribute. (Section 2.20) <iref>: Has a new "primary" attribute. (Section 2.20)
<list>: The "style" attribute isn't restricted to a set of enumerated <list>: The "style" attribute isn't restricted to a set of enumerated
values anymore. The "hangIndent" and "counter" attributes have been values anymore. The "hangIndent" and "counter" attributes have been
added. (Section 2.22) added. (Section 2.22)
<reference>: <annotation> allows adding prose to a reference. The <reference>: <annotation> allows adding prose to a reference. The
"anchor" attribute has been made mandatory. (Section 2.30) "anchor" attribute has been made mandatory. (Section 2.30)
<references>: Can now appear multiple times, and carry a "title"
<references>: Can now appear multiple times and can carry a "title"
attribute (so that normative and informative references can be attribute (so that normative and informative references can be
split). (Section 2.31) split). (Section 2.31)
<rfc>: The "ipr" attribute has gained additional values. The <rfc>: The "ipr" attribute has gained additional values. The
attributes "consensus", "iprExtract", "submissionType", and "xml: attributes "consensus", "iprExtract", "submissionType", and "xml:
lang" have been added. (Section 2.33) lang" have been added. (Section 2.33)
<section>: The new "toc" attribute controls whether it will appear in <section>: The new "toc" attribute controls whether it will appear in
the Table Of Contents. <iref> can now appear as direct child element. the Table Of Contents. <iref> can now appear as a direct child
(Section 2.34) element. (Section 2.34)
<t>: The "anchor" attribute can now be used as well, however there <t>: The "anchor" attribute can now be used as well; however, there
are restrictions on how they can be referred to. (Section 2.38) are restrictions on how they can be referred to. (Section 2.38)
B.5. New Elements B.4. New Elements
The following elements have been added: <annotation> (Section 2.3), The following elements have been added: <annotation> (Section 2.3),
<c> (Section 2.8), <cref> (Section 2.12), <format> (Section 2.18), <c> (Section 2.8), <cref> (Section 2.12), <format> (Section 2.18),
<spanx> (Section 2.36), <texttable> (Section 2.39), <ttcol> <spanx> (Section 2.36), <texttable> (Section 2.39), and <ttcol>
(Section 2.41). (Section 2.41).
Appendix C. Relax NG Schema Appendix C. RELAX NG Schema
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
rfc = rfc =
element rfc { element rfc {
attribute number { text }?, attribute number { text }?,
[ a:defaultValue = "" ] attribute obsoletes { text }?, [ a:defaultValue = "" ] attribute obsoletes { text }?,
[ a:defaultValue = "" ] attribute updates { text }?, [ a:defaultValue = "" ] attribute updates { text }?,
attribute category { attribute category {
"std" | "bcp" | "info" | "exp" | "historic" "std" | "bcp" | "info" | "exp" | "historic"
skipping to change at page 56, line 48 skipping to change at page 57, line 11
attribute octets { text }?, attribute octets { text }?,
empty empty
} }
annotation = annotation =
element annotation { (text | xref | eref | iref | cref | spanx)* } element annotation { (text | xref | eref | iref | cref | spanx)* }
start = rfc start = rfc
(This schema was derived from version 1.3.6 of the xml2rfc DTD (This schema was derived from version 1.3.6 of the xml2rfc DTD
('Document Type Definition', [XML], Section 2.8), available from <htt ("Document Type Definition") (Section 2.8 of [XML]), available from <
p://svn.tools.ietf.org/svn/tools/xml2rfc/vocabulary/v2/03/ http://svn.tools.ietf.org/svn/tools/xml2rfc/vocabulary/v2/03/
xml2rfcv2.dtd>). xml2rfcv2.dtd>.)
C.1. Checking Validity C.1. Checking Validity
The validity of XML files can be checked with any tool that supports The validity of XML files can be checked with any tool that supports
Relax NG ([RNC]). The reference implementation is the Java-based, RELAX NG [RNC]. The reference implementation is the Java-based,
open sourced "JING" ([JING]). open-sourced "Jing" [JING].
To use JING, download the latest ZIP file from the "downloads" page To use Jing, download the latest ZIP file from the "downloads" page
(currently <https://code.google.com/p/jing-trang/downloads/ (currently <https://code.google.com/p/jing-trang/downloads/
detail?name=jing-20091111.zip>), extract the archive, copy "jing.jar" detail?name=jing-20091111.zip>), extract the archive, copy "jing.jar"
from the "bin" folder, and make sure Java is installed). from the "bin" folder, and make sure Java is installed.
To check a file "test.xml" using the RNC file "schema.rnc", run (from To check a file "test.xml" using the RNC file "schema.rnc", run (from
a command line prompt): a command-line prompt):
java -jar jing.jar -c schema.rnc test.xml java -jar jing.jar -c schema.rnc test.xml
In good Unix tradition, no output means the file is valid. In good Unix tradition, no output means the file is valid.
Appendix D. Acknowledgments Appendix D. IAB Members at the Time of Approval
Jari Arkko (IETF Chair)
Mary Barnes
Marc Blanchet
Ralph Droms
Ted Hardie
Joe Hildebrand
Russ Housley
Erik Nordmark
Robert Sparks
Andrew Sullivan
Dave Thaler
Brian Trammell
Suzanne Woolf
Appendix E. Acknowledgments
Thanks to everybody who reviewed this document and provided feedback Thanks to everybody who reviewed this document and provided feedback
and/or specification text, in particular Brian Carpenter, Elwyn and/or specification text, in particular Brian Carpenter, Elwyn
Davies, Tony Hansen, Joe Hildebrand, Paul Hoffman, Henrik Levkowetz, Davies, Tony Hansen, Joe Hildebrand, Paul Hoffman, Henrik Levkowetz,
Alice Russo, Tom Taylor, Dave Thaler, Jim Schaad, and Nico Williams. Alice Russo, Tom Taylor, Dave Thaler, Jim Schaad, and Nico Williams.
We also thank Marshall T. Rose for both the original design and the We also thank Marshall T. Rose for both the original design and the
reference implementation of the "xml2rfc" formatter. reference implementation of the "xml2rfc" formatter.
Index Index
skipping to change at page 62, line 24 skipping to change at page 62, line 49
hangText attribute hangText attribute
in t element 32 in t element 32
height attribute height attribute
in artwork element 7 in artwork element 7
in figure element 15 in figure element 15
I I
initials attribute initials attribute
in author element 10 in author element 10
ipr attribute ipr attribute
'*2026' 47 "*2026" 48
'*3667' 47 "*3667" 48
'*3978' 47 "*3978" 48
'*trust200811' 47 "*trust200811" 47
'*trust200902' 45 "*trust200902" 46
'noDerivativesTrust200902' 46 "noDerivativesTrust200902" 47
'noModificationTrust200902' 46 "noModificationTrust200902" 46
'pre5378Trust200902' 46 "pre5378Trust200902" 47
'trust200902' 46 "trust200902" 46
in rfc element 26 in rfc element 26
iprExtract attribute iprExtract attribute
in rfc element 27 in rfc element 27
iref element 17, 50 iref element 17, 50
inside annotation 6 inside annotation 6
inside c 11 inside c 11
inside figure 14 inside figure 14
inside postamble 22 inside postamble 22
inside preamble 23 inside preamble 23
inside section 28 inside section 28
 End of changes. 293 change blocks. 
438 lines changed or deleted 463 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/