Network Working Group P. Hoffman
Internet-Draft VPN Consortium
Obsoletes: 2629 (if approved) January 28, 2014
Intended status: Standards Track
Expires: August 1, 2014
The 'XML2RFC' version 3 Vocabulary
draft-hoffman-xml2rfc-00
Abstract
This document defines the 'XML2RFC' version 3 vocabulary; an XML-
based language used for writing RFCs and Internet-Drafts. It is
heavily derived from the version 2 vocabulary that is also under
discussion.
Editorial Note (To be removed by RFC Editor)
Discussion of this draft takes place on the rfc-interest mailing list
(rfc-interest@rfc-editor.org), which has its home page at
<https://www.rfc-editor.org/mailman/listinfo/rfc-interest>.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 1, 2014.
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
Hoffman Expires August 1, 2014 [Page 1]
Internet-Draft XML2RFCv3 January 2014
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Differences from v2 to v3 . . . . . . . . . . . . . . . . 4
1.2. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 5
2. Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. <abstract> . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. <address> . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3. <annotation> . . . . . . . . . . . . . . . . . . . . . . . 6
2.4. <area> . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5. <artwork> . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6. <author> . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.7. <b> . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.8. <back> . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.9. <c> . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.10. <city> . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.11. <code> . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.12. <country> . . . . . . . . . . . . . . . . . . . . . . . . 12
2.13. <cref> . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.14. <date> . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.15. <email> . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.16. <eref> . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.17. <facsimile> . . . . . . . . . . . . . . . . . . . . . . . 14
2.18. <figure> . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.19. <format> . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.20. <front> . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.21. <i> . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.22. <iref> . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.23. <keyword> . . . . . . . . . . . . . . . . . . . . . . . . 19
2.24. <list> . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.25. <middle> . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.26. <note> . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.27. <organization> . . . . . . . . . . . . . . . . . . . . . . 22
2.28. <phone> . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.29. <postal> . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.30. <postalbody> . . . . . . . . . . . . . . . . . . . . . . . 23
2.31. <postamble> . . . . . . . . . . . . . . . . . . . . . . . 23
2.32. <preamble> . . . . . . . . . . . . . . . . . . . . . . . . 24
2.33. <reference> . . . . . . . . . . . . . . . . . . . . . . . 24
2.34. <references> . . . . . . . . . . . . . . . . . . . . . . . 25
2.35. <region> . . . . . . . . . . . . . . . . . . . . . . . . . 25
Hoffman Expires August 1, 2014 [Page 2]
Internet-Draft XML2RFCv3 January 2014
2.36. <rfc> . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.37. <section> . . . . . . . . . . . . . . . . . . . . . . . . 29
2.38. <seriesInfo> . . . . . . . . . . . . . . . . . . . . . . . 30
2.39. <street> . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.40. <t> . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.41. <texttable> . . . . . . . . . . . . . . . . . . . . . . . 32
2.42. <title> . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.43. <tt> . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.44. <ttcol> . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.45. <uri> . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.46. <vspace> . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.47. <workgroup> . . . . . . . . . . . . . . . . . . . . . . . 36
2.48. <xref> . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3. Special Unicode Code Points . . . . . . . . . . . . . . . . . 37
4. Internationalization Considerations . . . . . . . . . . . . . 37
5. Security Considerations . . . . . . . . . . . . . . . . . . . 37
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37
6.1. Internet Media Type Registration . . . . . . . . . . . . . 37
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 39
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.1. Normative References . . . . . . . . . . . . . . . . . . . 39
8.2. Informative References . . . . . . . . . . . . . . . . . . 39
Appendix A. Front Page Generation . . . . . . . . . . . . . . . . 41
A.1. The /rfc/@category Attribute . . . . . . . . . . . . . . . 41
A.2. The /rfc/@ipr Attribute . . . . . . . . . . . . . . . . . 41
A.2.1. Current Values: '*trust200902' . . . . . . . . . . . . 42
A.2.2. Historic Values . . . . . . . . . . . . . . . . . . . 44
Appendix B. Relax NG Schema . . . . . . . . . . . . . . . . . . . 44
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Hoffman Expires August 1, 2014 [Page 3]
Internet-Draft XML2RFCv3 January 2014
1. Introduction
This document describes version 3 ('v3') of the 'XML2RFC' vocabulary;
an XML-based language ('Extensible Markup Language', [XML]) used for
writing RFCs ([RFCSTYLE]) and Internet-Drafts ([IDGUIDE]).
This document obsoletes the version ("v2") vocablulary [XML2RFCv2],
which contains the extended language definition. That document in
turn obsoletes the original version ("v1") [RFC2629]. This document
directly copies the material from [XML2RFCv2] where possible; as that
document makes its way toward RFC publication, this document will
incorporate as many of the changes as possible.
Note that the vocabulary contains certain constructs that might not
be used when generating the final text; however, they can provide
useful data for other uses (such index generation, populating a
keyword database, or syntax checks).
1.1. Differences from v2 to v3
The following is a hopefully-complete list of all the technical
changes between [XML2RFCv2] and this document. Note that the list is
for the current version of this document only. There are *many*
additional changes that are expected to the v3 vocabulary that are
being discussed. Also note that changes to the design choices for
the differences are also expected.
o In <address>, allowed the sub-elements to be in any order.
o In <artwork> and <author>, added optional "xml:lang" attribute.
o Added the <b>, <i>, and <tt> elements.
o In <front>, made <date> optional.
o In <postal>, allowed the sub-elements to be in any order. Also
allowed the inclusion of <postalbody>.
o Added <postalbody>, free text that represents the address.
o In <section>, added the optional "numbered" and "removeinrfc"
attributes.
o Removed the <spanx> element, and replaced it with <b>, <i>, and
<tt>.
o In <ttcol>, added <xref>, <eref>, <iref>, and <cref> as optional
children.
Hoffman Expires August 1, 2014 [Page 4]
Internet-Draft XML2RFCv3 January 2014
1.2. Syntax Notation
The XML vocabulary here is defined in prose, based on the Relax NG
schema ([RNC]) contained in Appendix B (specified in Relax NG Compact
Notation, "RNC").
Note that the schema can be used for automated validity checks, but
certain constraints are only described in prose (example: the
conditionally required presence of the "abbrev" attribute).
2. Elements
[[anchor2: In the section below, some elements/attributes do not have
a prose description yet. This is because this is work-in-progress;
feedback with accurate descriptions is appreciated.]]
The sections below describe all elements and their attributes.
Note that attributes not labeled "mandatory" are optional.
2.1. <abstract>
Contains the abstract of the document. The abstract ought to be
self-contained and thus should not contain references or unexpanded
abbreviations. See Section 4.3 of [RFCSTYLE] for more information.
This element appears as child element of: <front> (Section 2.20).
Content model:
One or more <t> elements (Section 2.40)
2.2. <address>
Provides address information for the author.
This element appears as child element of: <author> (Section 2.6).
Content model:
In any order:
o <postal> elements (Section 2.29)
o <phone> elements (Section 2.28)
o <facsimile> elements (Section 2.17)
Hoffman Expires August 1, 2014 [Page 5]
Internet-Draft XML2RFCv3 January 2014
o <email> elements (Section 2.15)
o <uri> elements (Section 2.45)
2.3. <annotation>
Provides additional prose augmenting a bibliographical reference.
For instance:
<annotation>
Latest version available at <eref
target='http://www.w3.org/TR/xml'/>.
</annotation>
...will generate the text used in the reference for [XML].
This element appears as child element of: <reference> (Section 2.33).
Content model:
In any order:
o Text
o <xref> elements (Section 2.48)
o <eref> elements (Section 2.16)
o <iref> elements (Section 2.22)
o <cref> elements (Section 2.13)
o <tt> elements (Section 2.43)
o <b> elements (Section 2.7)
o <i> elements (Section 2.21)
2.4. <area>
Provides information about the IETF area this document applies to
(currently not used when generating documents).
This element appears as child element of: <front> (Section 2.20).
Content model: only text content.
Hoffman Expires August 1, 2014 [Page 6]
Internet-Draft XML2RFCv3 January 2014
2.5. <artwork>
This element allows the inclusion of "artwork" into the document.
<artwork> provides full control of horizontal whitespace and line
breaks, and thus is used for a variety of things, such as:
o diagrams ("line art"),
o source code,
o formal languages (such as ABNF or the RNC notation used in this
document),
o complex tables, or
o protocol unit diagrams.
Alternatively, the "src" attribute allows referencing an external
graphics file, such as a bitmap or a vector drawing. In this case,
the textual content acts as fallback for output formats that do not
support graphics, and thus ought to contain either a "line art"
variant of the graphics, or otherwise prose that describes the
included image in sufficient detail. Note that RFCs occasionally are
published with enhanced diagrams; a recent example is [RFC5598].
This element appears as child element of: <figure> (Section 2.18).
Content model:
Text
2.5.1. 'align' attribute
Controls whether the artwork appears left (default), centered, or
right.
Allowed values:
o "left" (default)
o "center"
o "right"
Hoffman Expires August 1, 2014 [Page 7]
Internet-Draft XML2RFCv3 January 2014
2.5.2. 'alt' attribute
Alternative text description of the artwork (not just the caption).
2.5.3. 'height' attribute
The suggested height of the graphics included using the "src"
attribute.
This attribute is format-dependent and ought to be avoided.
When generating HTML output, current implementations copy the
attribute "as is". For other output formats it is usually ignored.
2.5.4. 'name' attribute
A filename suitable for the contents (such as for extraction to a
local file).
This attribute generally isn't used for document generation, but it
can be helpful for other kinds of tools (such as automated syntax
checkers which work by extracting the source code).
2.5.5. 'src' attribute
The URI of a graphics file.
Note that this can be a "data" URI ([RFC2397]) as well, in which case
the graphics file essentially is in-lined.
2.5.6. 'type' attribute
Specifies the type of the artwork.
The value either is a well-known keyword (such as "abnf"), or an
Internet Media Type (see [RFC2046]).
How it is used depends on context and application. For instance, a
formatter can attempt to syntax-highlight code in certain known
languages.
2.5.7. 'width' attribute
The suggested width of the graphics included using the "src"
attribute.
This attribute is format-dependent and ought to be avoided.
Hoffman Expires August 1, 2014 [Page 8]
Internet-Draft XML2RFCv3 January 2014
When generating HTML output, current implementations copy the
attribute "as is". For other output formats it is usually ignored.
2.5.8. 'xml:lang' attribute
Allows specification of the language used. This is sometimes useful
for renderers which display different fonts for CJK characters.
2.5.9. 'xml:space' attribute
Determines whitespace handling.
"preserve" is both the default value and the only meaningful setting
anyway (because that's what the <artwork> element is for).
See also Section 2.10 of [XML].
Allowed values:
o "default"
o "preserve" (default)
2.6. <author>
Provides information about a document author.
The <author> elements contained within the document's <front> element
are used to fill the boilerplate, and also to generate the "Author's
Address" section (see Section 4.9 of [RFCSTYLE]).
Note that an "author" can also be just an organization (by not
specifying any of the name attributes, but adding the <organization>
child element).
Furthermore, the "role" attribute can be used to mark an author as
"editor". This is reflected both on the front page and in
bibliographical references. Note that this specification does not
define a precise meaning for the term "editor".
See Section "Authors vs. Contributors" of [RFCPOLICY] for more
information.
This element appears as child element of: <front> (Section 2.20).
Content model:
In this order:
Hoffman Expires August 1, 2014 [Page 9]
Internet-Draft XML2RFCv3 January 2014
1. One optional <organization> element (Section 2.27)
2. One optional <address> element (Section 2.2)
2.6.1. 'fullname' attribute
The full name (used in the automatically generated "Author's Address"
section).
2.6.2. 'initials' attribute
Author initials (used on the front page and in references).
Initials should be provided as a whitespace separated list of pairs
of a letter and a dot.
2.6.3. 'role' attribute
Specifies the role the author had in creating the document.
Allowed values:
o "editor"
2.6.4. 'surname' attribute
The author's surname.
2.6.5. 'xml:lang' attribute
Allows specification of the language used. This is sometimes useful
for renderers which display different fonts for CJK characters.
2.7. <b>
Causes the text to be displayed in a bold font.
This element appears as child element of: <annotation> (Section 2.3),
<c> (Section 2.9), <i> (Section 2.21), <postamble> (Section 2.31),
<preamble> (Section 2.32), <t> (Section 2.40), and <tt>
(Section 2.43).
Content model:
In any order:
o Text
Hoffman Expires August 1, 2014 [Page 10]
Internet-Draft XML2RFCv3 January 2014
o <xref> elements (Section 2.48)
o <eref> elements (Section 2.16)
o <iref> elements (Section 2.22)
o <cref> elements (Section 2.13)
o <tt> elements (Section 2.43)
o <i> elements (Section 2.21)
2.8. <back>
Contains the "back" part of the document: the references and
appendices.
This element appears as child element of: <rfc> (Section 2.36).
Content model:
In this order:
1. Optional <references> elements (Section 2.34)
2. Optional <section> elements (Section 2.37)
2.9. <c>
Provides the content of a cell in a table.
This element appears as child element of: <texttable> (Section 2.41).
Content model:
In any order:
o Text
o <xref> elements (Section 2.48)
o <eref> elements (Section 2.16)
o <iref> elements (Section 2.22)
o <cref> elements (Section 2.13)
Hoffman Expires August 1, 2014 [Page 11]
Internet-Draft XML2RFCv3 January 2014
o <tt> elements (Section 2.43)
o <b> elements (Section 2.7)
o <i> elements (Section 2.21)
2.10. <city>
Gives the city name in a postal address.
This element appears as child element of: <postal> (Section 2.29).
Content model: only text content.
2.11. <code>
Gives the postal region code.
This element appears as child element of: <postal> (Section 2.29).
Content model: only text content.
2.12. <country>
Gives the country in a postal address.
This element appears as child element of: <postal> (Section 2.29).
Content model: only text content.
2.13. <cref>
Represents a comment.
Comments can be used in a document while it is work-in-progress.
They usually appear either visually highlighted, at the end of the
document (depending on file format and settings of the formatter), or
not at all (when generating an RFC).
This element appears as child element of: <annotation> (Section 2.3),
<b> (Section 2.7), <c> (Section 2.9), <i> (Section 2.21), <postamble>
(Section 2.31), <preamble> (Section 2.32), <t> (Section 2.40), <tt>
(Section 2.43), and <ttcol> (Section 2.44).
Content model: only text content.
Hoffman Expires August 1, 2014 [Page 12]
Internet-Draft XML2RFCv3 January 2014
2.13.1. 'anchor' attribute
[[element.cref.attribute.anchor.missing: attribute description
missing]]
2.13.2. 'source' attribute
Holds the "source" of a comment, such as the name or the initials of
the person who made the comment.
2.14. <date>
Provides information about the publication date.
Note that this element is used both for the boilerplate of the
document being produced, and also inside bibliographic references.
In the first case, it defines the publication date, which, when
producing Internet-Drafts, will be used for computing the expiration
date (see Section 8 of [IDGUIDE]). When "year", "month" or "day" are
left out, the processor will attempt to use the current system date
if the attributes that are specified do match the system date.
Note that month names need to match the full (English) month name
("January", "February", "March", "April", "May, "June", "July",
"August", "September", "October", "November", or "December") in order
for expiration calculations to work (some implementations might
support additional formats, though).
In the second case, the date information will be embedded as-is into
the reference text. Therefore, also vague dates ("ca. 2000"), date
ranges, and so on, are allowed.
This element appears as child element of: <front> (Section 2.20).
Content model: this element does not have any contents.
2.14.1. 'day' attribute
Day of publication.
2.14.2. 'month' attribute
Month of publication.
Hoffman Expires August 1, 2014 [Page 13]
Internet-Draft XML2RFCv3 January 2014
2.14.3. 'year' attribute
Year of publication.
2.15. <email>
Provides an email address.
The value is expected to be the scheme-specific part of a "mailto"
URI (so does not include the prefix "mailto:"). See Section 2 of
[RFC6068] for details.
This element appears as child element of: <address> (Section 2.2).
Content model: only text content.
2.16. <eref>
Represents an "external" link (as specified in the "target"
attribute).
If the element has text content, that content will be used.
Otherwise, the value of the target attribute will be inserted in
angle brackets ([RFC3986], Appendix C).
This element appears as child element of: <annotation> (Section 2.3),
<b> (Section 2.7), <c> (Section 2.9), <i> (Section 2.21), <postamble>
(Section 2.31), <preamble> (Section 2.32), <t> (Section 2.40), <tt>
(Section 2.43), and <ttcol> (Section 2.44).
Content model: only text content.
2.16.1. 'target' attribute (mandatory)
URI of the link target (see Section 3 of [RFC3986]).
2.17. <facsimile>
Represents the phone number of a fax machine.
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"
syntax. See Section 3 of [RFC3966] for details.
This element appears as child element of: <address> (Section 2.2).
Content model: only text content.
Hoffman Expires August 1, 2014 [Page 14]
Internet-Draft XML2RFCv3 January 2014
2.18. <figure>
[[element.figure.missing: element description missing]]
This element appears as child element of: <section> (Section 2.37),
and <t> (Section 2.40).
Content model:
In this order:
1. Optional <iref> elements (Section 2.22)
2. One optional <preamble> element (Section 2.32)
3. One <artwork> element (Section 2.5)
4. One optional <postamble> element (Section 2.31)
2.18.1. 'align' attribute
Used to change the alignment of <preamble> and <postamble>.
Note: does not affect title or <artwork> alignment.
Allowed values:
o "left" (default)
o "center"
o "right"
2.18.2. 'alt' attribute
Duplicates functionality available on <artwork>; avoid it.
2.18.3. 'anchor' attribute
[[element.figure.attribute.anchor.missing: attribute description
missing]]
2.18.4. 'height' attribute
Duplicates functionality available on <artwork>; avoid it.
Hoffman Expires August 1, 2014 [Page 15]
Internet-Draft XML2RFCv3 January 2014
2.18.5. 'src' attribute
Duplicates functionality available on <artwork>; avoid it.
2.18.6. 'suppress-title' attribute
Figures that have an "anchor" attribute will automatically get an
autogenerated title (such as "Figure 1"). Setting this attribute to
"false" will prevent this.
Allowed values:
o "true"
o "false" (default)
2.18.7. 'title' attribute
[[element.figure.attribute.title.missing: attribute description
missing]]
2.18.8. 'width' attribute
Duplicates functionality available on <artwork>; avoid it.
2.19. <format>
Provides a link to an additional format variant for a reference.
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
for a reference, the "target" attribute on <reference> can be used
instead.
This element appears as child element of: <reference> (Section 2.33).
Content model: this element does not have any contents.
2.19.1. 'octets' attribute
Octet length of linked-to document.
2.19.2. 'target' attribute
URI of document.
[[anchor3: Why is this optional?]]
Hoffman Expires August 1, 2014 [Page 16]
Internet-Draft XML2RFCv3 January 2014
2.19.3. 'type' attribute (mandatory)
The type of the linked-to document, such as "TXT", "HTML", or "PDF".
2.20. <front>
Represent the "front matter": metadata (such as author information),
abstract, and additional notes.
This element appears as child element of: <reference> (Section 2.33),
and <rfc> (Section 2.36).
Content model:
In this order:
1. One <title> element (Section 2.42)
2. One or more <author> elements (Section 2.6)
3. One optional <date> element (Section 2.14)
4. Optional <area> elements (Section 2.4)
5. Optional <workgroup> elements (Section 2.47)
6. Optional <keyword> elements (Section 2.23)
7. One optional <abstract> element (Section 2.1)
8. Optional <note> elements (Section 2.26)
2.21. <i>
Causes the text to be displayed in an italic font.
This element appears as child element of: <annotation> (Section 2.3),
<b> (Section 2.7), <c> (Section 2.9), <postamble> (Section 2.31),
<preamble> (Section 2.32), <t> (Section 2.40), and <tt>
(Section 2.43).
Content model:
In any order:
o Text
Hoffman Expires August 1, 2014 [Page 17]
Internet-Draft XML2RFCv3 January 2014
o <xref> elements (Section 2.48)
o <eref> elements (Section 2.16)
o <iref> elements (Section 2.22)
o <cref> elements (Section 2.13)
o <b> elements (Section 2.7)
o <tt> elements (Section 2.43)
2.22. <iref>
Provides terms for the document's index.
Index entries can be either single items (when just the "item"
attribute is given) or nested items (by specifying "subitem" as
well).
For instance:
<iref item="Grammar" subitem="item"/>
will produce an index entry for "Grammar, item".
This element appears as child element of: <annotation> (Section 2.3),
<b> (Section 2.7), <c> (Section 2.9), <figure> (Section 2.18), <i>
(Section 2.21), <postamble> (Section 2.31), <preamble>
(Section 2.32), <section> (Section 2.37), <t> (Section 2.40), <tt>
(Section 2.43), and <ttcol> (Section 2.44).
Content model: this element does not have any contents.
2.22.1. 'item' attribute (mandatory)
The item to include.
2.22.2. 'primary' attribute
Setting this to "true" declares the occurrence as "primary", which
might cause it to be highlighted in the index.
Allowed values:
o "true"
Hoffman Expires August 1, 2014 [Page 18]
Internet-Draft XML2RFCv3 January 2014
o "false" (default)
2.22.3. 'subitem' attribute
The subitem to include.
2.23. <keyword>
Specifies a keyword applicable to the document.
Note that each element should only contain a single keyword; for
multiple keywords, the element can simply be repeated.
Keywords are used both in the RFC Index and in the metadata of
generated document formats.
This element appears as child element of: <front> (Section 2.20).
Content model: only text content.
2.24. <list>
Delineates a text list.
Each list item is represented by a <t> element. The vocabulary
currently does not directly support list items consisting of multiple
paragraphs; if this is needed, <vspace> (Section 2.46) can be used as
workaround.
This element appears as child element of: <t> (Section 2.40).
Content model:
One or more <t> elements (Section 2.40)
2.24.1. 'counter' attribute
This attribute holds a token that serves as an identifier for a
counter. The intended use is continuation of lists.
Note that this attribute functions only when the style attribute is
using the "format..." syntax (Section 2.24.3); otherwise, it is
ignored.
2.24.2. 'hangIndent' attribute
For list styles with potentially wide labels, this attribute can
override the default indentation level, measured in characters.
Hoffman Expires August 1, 2014 [Page 19]
Internet-Draft XML2RFCv3 January 2014
Note that it only affects style with variable-width labels
("format..." and "hanging", see below), and it may not affect formats
in which the list item text appears _below_ the label.
2.24.3. 'style' attribute
This attribute is used to control the display of a list.
The value of this attribute is inherited by any nested lists that do
not have this attribute set. It may be set to:
"empty" (or not set)
For unlabeled list items; it can also be used for indentation
purposes (this is the default value).
"hanging"
For lists where the items are labeled with a piece of text.
The label text is specified in the 'hangText' attribute of the <t>
element (Section 2.40.2).
"letters"
For ordered lists using letters as labels (lowercase letters
followed by a period; after "z", it rolls over to a two-letter
format). For nested lists, processors usually flip between
uppercase and lowercase.
"numbers"
For ordered lists using numbers as labels.
"symbols"
For unordered (bulleted) lists.
The style of the bullets is chosen automatically be the processor
(some implementations allow overriding the default using a
processing instruction).
And, finally:
"format ..."
For lists with customized labels, consisting of fixed text and an
item counter in various formats.
Hoffman Expires August 1, 2014 [Page 20]
Internet-Draft XML2RFCv3 January 2014
The value is a free-form text that allows counter values to be
inserted using a "percent-letter" format. For instance, "[REQ%d]"
generates labels of the form "[REQ1]", where "%d" inserts the item
number as decimal number.
The following formats are supported:
%c lowercase letters (a, b, c, etc.)
%C uppercase letters (A, B, C, etc.)
%d decimal numbers (1, 2, 3, etc.)
%i lowercase Roman numerals (i, ii, iii, etc.)
%I uppercase Roman numerals (I, II, III, etc.)
%% represents a percent sign
Other formats are reserved for future use.
2.25. <middle>
Represents the main content of the document.
This element appears as child element of: <rfc> (Section 2.36).
Content model:
One or more <section> elements (Section 2.37)
2.26. <note>
Creates an unnumbered section that appears after the abstract.
It is usually used for additional information to reviewers (working
group information, mailing list, ...), or for additional publication
information such as "IESG Notes".
This element appears as child element of: <front> (Section 2.20).
Content model:
One or more <t> elements (Section 2.40)
Hoffman Expires August 1, 2014 [Page 21]
Internet-Draft XML2RFCv3 January 2014
2.26.1. 'title' attribute (mandatory)
The title of the note.
2.27. <organization>
Specifies the affiliation of an author.
This information appears in both the "Author's Address" section and
on the front page ([RFCSTYLE], Section 4.1.2). If the value is long,
an abbreviated variant can be specified in the "abbrev" attribute.
This element appears as child element of: <author> (Section 2.6).
Content model: only text content.
2.27.1. 'abbrev' attribute
Abbreviated variant.
2.28. <phone>
Represents a phone number.
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"
syntax. See Section 3 of [RFC3966] for details.
This element appears as child element of: <address> (Section 2.2).
Content model: only text content.
2.29. <postal>
Contains optional child elements providing postal information. These
elements will be displayed in an order that is processor-specific.
Thus, a postal address should probably contain only a set of
<street>, <city>, <region>, <code>, and <country> elements, or only a
single <postalbody> element, but not both.
This element appears as child element of: <address> (Section 2.2).
Content model:
In any order:
o <street> elements (Section 2.39)
Hoffman Expires August 1, 2014 [Page 22]
Internet-Draft XML2RFCv3 January 2014
o <city> elements (Section 2.10)
o <region> elements (Section 2.35)
o <code> elements (Section 2.11)
o <country> elements (Section 2.12)
o <postalbody> elements (Section 2.30)
2.30. <postalbody>
A method for presenting a postal address without using <street>,
<city>, <region>, <code>, and <country> elements. Processors will
maintain horizontal whitespace and line breaks in the text of the
<postalbody> element.
This element appears as child element of: <postal> (Section 2.29).
Content model: only text content.
2.31. <postamble>
Gives text that appears at the bottom of a figure or table.
This element appears as child element of: <figure> (Section 2.18),
and <texttable> (Section 2.41).
Content model:
In any order:
o Text
o <xref> elements (Section 2.48)
o <eref> elements (Section 2.16)
o <iref> elements (Section 2.22)
o <cref> elements (Section 2.13)
o <tt> elements (Section 2.43)
o <b> elements (Section 2.7)
o <i> elements (Section 2.21)
Hoffman Expires August 1, 2014 [Page 23]
Internet-Draft XML2RFCv3 January 2014
2.32. <preamble>
Gives text that appears at the top of a figure or table.
This element appears as child element of: <figure> (Section 2.18),
and <texttable> (Section 2.41).
Content model:
In any order:
o Text
o <xref> elements (Section 2.48)
o <eref> elements (Section 2.16)
o <iref> elements (Section 2.22)
o <cref> elements (Section 2.13)
o <tt> elements (Section 2.43)
o <b> elements (Section 2.7)
o <i> elements (Section 2.21)
2.33. <reference>
Represents a bibliographical reference.
This element appears as child element of: <references>
(Section 2.34).
Content model:
In this order:
1. One <front> element (Section 2.20)
2. Optional <seriesInfo> elements (Section 2.38)
3. Optional <format> elements (Section 2.19)
4. Optional <annotation> elements (Section 2.3)
Hoffman Expires August 1, 2014 [Page 24]
Internet-Draft XML2RFCv3 January 2014
2.33.1. 'anchor' attribute
[[element.reference.attribute.anchor.missing: attribute description
missing]]
2.33.2. 'target' attribute
Holds the URI for the reference.
Note that depending on the <seriesInfo> element, a URI might not be
needed, nor desirable, as it can be automatically generated (for
instance, for RFCs).
2.34. <references>
Contains a set of bibliographical references.
In the early days of the RFC series, there was only one "References"
section per RFC. This convention was later changed to group
references into two sets, "Normative" and "Informative"; see item x
of Section 4.8 of [RFCSTYLE]). This vocabulary supports the split
with the "title" attribute.
This element appears as child element of: <back> (Section 2.8).
Content model:
One or more <reference> elements (Section 2.33)
2.34.1. 'title' attribute
Provides the title for the References section (defaulting to
"References").
In general, the title should be either "Normative References" or
"Informative References".
2.35. <region>
Provides the region name in a postal address.
This element appears as child element of: <postal> (Section 2.29).
Content model: only text content.
Hoffman Expires August 1, 2014 [Page 25]
Internet-Draft XML2RFCv3 January 2014
2.36. <rfc>
This is the root element of the xml2rfc vocabulary.
Processors distinguish between RFC mode ("number" attribute being
present) and Internet-Draft mode ("docName" attribute being present):
it is invalid to specify both. Setting neither "number" nor
"docName" can be useful for producing other types of document but is
out-of-scope for this specification.
Content model:
In this order:
1. One <front> element (Section 2.20)
2. One <middle> element (Section 2.25)
3. One optional <back> element (Section 2.8)
2.36.1. 'category' attribute
Document category (see Appendix A.1).
Allowed values:
o "std"
o "bcp"
o "info"
o "exp"
o "historic"
2.36.2. 'consensus' attribute
Affects the generated boilerplate.
See [RFC5741] for more information.
Allowed values:
o "no"
o "yes"
Hoffman Expires August 1, 2014 [Page 26]
Internet-Draft XML2RFCv3 January 2014
2.36.3. 'docName' attribute
For Internet-Drafts, this specifies the draft name (which appears
below the title).
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).
Furthermore, it is good practice to disambiguate current editor
copies from submitted drafts (for instance, by replacing the draft
number with the string "latest").
See Section 7 of [IDGUIDE] for further information.
2.36.4. 'ipr' attribute
Represents the Intellectual Property status of the document. See
Appendix A.2 for details.
Allowed values:
o "full2026"
o "noDerivativeWorks2026"
o "none"
o "full3667"
o "noModification3667"
o "noDerivatives3667"
o "full3978"
o "noModification3978"
o "noDerivatives3978"
o "trust200811"
o "noModificationTrust200811"
o "noDerivativesTrust200811"
o "trust200902"
Hoffman Expires August 1, 2014 [Page 27]
Internet-Draft XML2RFCv3 January 2014
o "noModificationTrust200902"
o "noDerivativesTrust200902"
o "pre5378Trust200902"
2.36.5. 'iprExtract' attribute
Identifies a Section within the document for which extraction "as-is"
is explicitly allowed (only relevant for historic values of the "ipr"
attribute).
2.36.6. 'number' attribute
The number of the RFC to be produced.
2.36.7. 'obsoletes' attribute
A comma-separated list of RFC numbers or Internet-Draft names.
2.36.8. 'seriesNo' attribute
When producing a document within document series (such as "STD"): the
number within that series.
2.36.9. 'submissionType' attribute
The document stream.
See Section 2 of [RFC5741] for details.
Allowed values:
o "IETF" (default)
o "IAB"
o "IRTF"
o "independent"
2.36.10. 'updates' attribute
A comma-separated list of RFC numbers or Internet-Draft names.
Hoffman Expires August 1, 2014 [Page 28]
Internet-Draft XML2RFCv3 January 2014
2.36.11. 'xml:lang' attribute
The natural language used in the document (defaults to "en").
See Section 2.12 of [XML] for more information.
2.37. <section>
Represents a section (when inside a <middle> element) or an appendix
(when inside a <back> element).
Sub-sections are created by nesting <section> elements inside
<section> elements.
This element appears as child element of: <back> (Section 2.8),
<middle> (Section 2.25), and <section> (Section 2.37).
Content model:
In this order:
1. In any order:
* <t> elements (Section 2.40)
* <figure> elements (Section 2.18)
* <texttable> elements (Section 2.41)
* <iref> elements (Section 2.22)
2. Optional <section> elements (Section 2.37)
2.37.1. 'anchor' attribute
[[element.section.attribute.anchor.missing: attribute description
missing]]
2.37.2. 'numbered' attribute
If set to "no", this section does not get a section number.
Processors will verify that such a section is not followed by a
numbered section in a part, and will verify that the section is a
top-level section.
Allowed values:
Hoffman Expires August 1, 2014 [Page 29]
Internet-Draft XML2RFCv3 January 2014
o "yes" (default)
o "no"
2.37.3. 'removeinrfc' attribute
If set to "yes", this section is marked in the processor with text
indicating that it should be removed before the document is published
as an RFC.
Allowed values:
o "yes"
o "no" (default)
2.37.4. 'title' attribute (mandatory)
The title of the section.
2.37.5. 'toc' attribute
Determines whether the section is included in the Table Of Contents.
[[anchor4: Need to consider inheritance.]]
Allowed values:
o "include"
o "exclude"
o "default" (default)
2.38. <seriesInfo>
Specifies the document series in which this document appears, and
also specifies an identifier within that series.
This element appears as child element of: <reference> (Section 2.33).
Content model: this element does not have any contents.
2.38.1. 'name' attribute (mandatory)
The name of the series.
The following names trigger specific processing (such as for auto-
Hoffman Expires August 1, 2014 [Page 30]
Internet-Draft XML2RFCv3 January 2014
generating links, and adding descriptions such as "work in
progress"): "BCP", "FYI", "Internet-Draft", "RFC", and "STD".
2.38.2. 'value' attribute (mandatory)
The identifier within the series specified by the "name" attribute.
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-
digit version number).
2.39. <street>
Provides a street address.
This element appears as child element of: <postal> (Section 2.29).
Content model: only text content.
2.40. <t>
Contains a paragraph of text.
This element appears as child element of: <abstract> (Section 2.1),
<list> (Section 2.24), <note> (Section 2.26), and <section>
(Section 2.37).
Content model:
In any order:
o Text
o <list> elements (Section 2.24)
o <figure> elements (Section 2.18)
o <xref> elements (Section 2.48)
o <eref> elements (Section 2.16)
o <iref> elements (Section 2.22)
o <cref> elements (Section 2.13)
o <tt> elements (Section 2.43)
Hoffman Expires August 1, 2014 [Page 31]
Internet-Draft XML2RFCv3 January 2014
o <b> elements (Section 2.7)
o <i> elements (Section 2.21)
o <vspace> elements (Section 2.46)
2.40.1. 'anchor' attribute
[[element.t.attribute.anchor.missing: attribute description missing]]
2.40.2. 'hangText' attribute
[[element.t.attribute.hangText.missing: attribute description
missing]]
2.41. <texttable>
Contains a table, consisting of an optional preamble, a header line,
rows, and an optional postamble.
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
the number of <c> elements divided by the number of columns. There
is no requirement that the number of <c> elements be evenly divisible
by the number of columns.
This element appears as child element of: <section> (Section 2.37).
Content model:
In this order:
1. One optional <preamble> element (Section 2.32)
2. One or more <ttcol> elements (Section 2.44)
3. Optional <c> elements (Section 2.9)
4. One optional <postamble> element (Section 2.31)
2.41.1. 'align' attribute
Determines the horizontal alignment of the table.
Allowed values:
o "left"
Hoffman Expires August 1, 2014 [Page 32]
Internet-Draft XML2RFCv3 January 2014
o "center" (default)
o "right"
2.41.2. 'anchor' attribute
[[element.texttable.attribute.anchor.missing: attribute description
missing]]
2.41.3. 'style' attribute
[[element.texttable.attribute.style.missing: attribute description
missing]]
Allowed values:
o "all"
o "none"
o "headers"
o "full" (default)
2.41.4. 'suppress-title' attribute
[[element.texttable.attribute.suppress-title.missing: attribute
description missing]]
Allowed values:
o "true"
o "false" (default)
2.41.5. 'title' attribute
[[element.texttable.attribute.title.missing: attribute description
missing]]
2.42. <title>
Represents the document title.
When this element appears in the <front> element of the current
document, the title might also appear in page headers or footers. If
it's long (~40 characters), the "abbrev" attribute is used to
specified an abbreviated variant.
Hoffman Expires August 1, 2014 [Page 33]
Internet-Draft XML2RFCv3 January 2014
This element appears as child element of: <front> (Section 2.20).
Content model: only text content.
2.42.1. 'abbrev' attribute
Specifies an abbreviated variant of the document title.
2.43. <tt>
Causes the text to be displayed in a constant-width font.
This element appears as child element of: <annotation> (Section 2.3),
<b> (Section 2.7), <c> (Section 2.9), <i> (Section 2.21), <postamble>
(Section 2.31), <preamble> (Section 2.32), and <t> (Section 2.40).
Content model:
In any order:
o Text
o <xref> elements (Section 2.48)
o <eref> elements (Section 2.16)
o <iref> elements (Section 2.22)
o <cref> elements (Section 2.13)
o <b> elements (Section 2.7)
o <i> elements (Section 2.21)
2.44. <ttcol>
Contains a column heading in a table.
This element appears as child element of: <texttable> (Section 2.41).
Content model:
In any order:
o <xref> elements (Section 2.48)
o <eref> elements (Section 2.16)
Hoffman Expires August 1, 2014 [Page 34]
Internet-Draft XML2RFCv3 January 2014
o <iref> elements (Section 2.22)
o <cref> elements (Section 2.13)
o Text
2.44.1. 'align' attribute
Determines the horizontal alignment within the table column.
Allowed values:
o "left" (default)
o "center"
o "right"
2.44.2. 'width' attribute
[[element.ttcol.attribute.width.missing: attribute description
missing]]
2.45. <uri>
Contains a web address associated with the author.
The contents should be a valid URI (see Section 3 of [RFC3986]).
This element appears as child element of: <address> (Section 2.2).
Content model: only text content.
2.46. <vspace>
[[element.vspace.missing: element description missing]]
This element appears as child element of: <t> (Section 2.40).
Content model: this element does not have any contents.
2.46.1. 'blankLines' attribute
[[element.vspace.attribute.blankLines.missing: attribute description
missing]]
Hoffman Expires August 1, 2014 [Page 35]
Internet-Draft XML2RFCv3 January 2014
2.47. <workgroup>
This element is used to specify the Working Group the document
originates from, if any. The recommended format is the official name
of the Working Group (with some capitalization).
In Internet-Drafts, this is used in the upper left corner of the
boilerplate, replacing the "Network Working Group" string.
Formatting software can append the words "Working Group" or "Research
Group", depending on the "submissionType" property on the <rfc>
element (Section 2.36.9).
This element appears as child element of: <front> (Section 2.20).
Content model: only text content.
2.48. <xref>
[[element.xref.missing: element description missing]]
This element appears as child element of: <annotation> (Section 2.3),
<b> (Section 2.7), <c> (Section 2.9), <i> (Section 2.21), <postamble>
(Section 2.31), <preamble> (Section 2.32), <t> (Section 2.40), <tt>
(Section 2.43), and <ttcol> (Section 2.44).
Content model: only text content.
2.48.1. 'format' attribute
[[element.xref.attribute.format.missing: attribute description
missing]]
Allowed values:
o "counter"
o "title"
o "none"
o "default" (default)
2.48.2. 'pageno' attribute
Unused.
It's unclear what the purpose of this attribute is; processors seem
to ignore it and it never was documented.
Hoffman Expires August 1, 2014 [Page 36]
Internet-Draft XML2RFCv3 January 2014
Allowed values:
o "true"
o "false" (default)
2.48.3. 'target' attribute (mandatory)
[[element.xref.attribute.target.missing: attribute description
missing]]
3. Special Unicode Code Points
[[anchor5: Explain those code points where the processors implement
something special, such as "nbsp".]]
4. Internationalization Considerations
This format is based on [XML], thus does not have any issues
representing arbitrary Unicode [UNICODE] characters in text content.
However, the current canonical RFC format is restricted to US-ASCII
[USASCII] characters (see Section 3.1 of [RFCSTYLE]). Future
versions are likely to relax this role, and it is expected that the
vocabulary will be extended so that US-ACSII alternatives can be
provided when that makes sense (for instance, in contact
information).
5. Security Considerations
[[anchor6: This section is likely incomplete.]]
The "name" attribute on the <artwork> element (Section 2.5.4) can be
used to derive a filename for saving to a local file system.
Trusting this kind of information without pre-processing is a known
security risk; see Section 4.3 of [RFC6266] for more information.
Furthermore, all security considerations related to XML processing
are relevant as well (see Section 7 of [RFC3470]).
6. IANA Considerations
6.1. Internet Media Type Registration
IANA maintains the registry of Internet media types [BCP13] at
<http://www.iana.org/assignments/media-types>.
This document serves as the specification for the Internet media type
Hoffman Expires August 1, 2014 [Page 37]
Internet-Draft XML2RFCv3 January 2014
"application/rfc+xml". The following is to be registered with IANA.
Type name: application
Subtype name: rfc+xml
Required parameters: There are no required parameters.
Optional parameters: "charset": This parameter has identical
semantics as the charset parameter of the "application/xml" media
type specified in [RFC3023].
Encoding considerations: Identical to those of "application/xml" as
described in Section 3.2 of [RFC3023].
Security considerations: As defined in Section 5. In addition, as
this media type uses the "+xml" convention, it inherits the
security considerations described in Section 10 of [RFC3023].
Interoperability considerations: N/A
Published specification: This specification.
Applications that use this media type: Applications that either
transform xml2rfc to output formats such as plain text or HTML,
plus additional analysis tools.
Fragment identifier considerations: The "anchor" attribute is used
for assigning document-wide unique identifiers that can be uses as
shorthand pointers, as described in Section 2.8 of [XPOINTER].
Additional information:
Deprecated alias names for this type: None.
Magic number(s): As specified for "application/xml" in Section
3.2 of [RFC3023].
File extension(s): .xml
Macintosh file type code(s): TEXT
Person & email address to contact for further information: See
Authors Section.
Hoffman Expires August 1, 2014 [Page 38]
Internet-Draft XML2RFCv3 January 2014
Intended usage: COMMON
Restrictions on usage: N/A
Author: See Authors Section.
Change controller: RFC Series Editor (rse@rfc-editor.org)
7. Acknowledgments
Thanks to everybody who reviewed this document and provided feedback
and/or specification text. Thanks especially go to Julian Reschke
for editing [XML2RFCv2] and those who provided feedback on that
document.
We also thank Marshall T. Rose for both the original design and the
reference implementation of the "xml2rfc" formatter.
8. References
8.1. Normative References
[XML] Maler, E., Yergeau, F., Paoli, J., Sperberg-McQueen, M.,
and T. Bray, "Extensible Markup Language (XML) 1.0
(Fifth Edition)", W3C Recommendation REC-xml-20081126,
November 2008,
<http://www.w3.org/TR/2008/REC-xml-20081126/>.
Latest version available at <http://www.w3.org/TR/xml>.
[XML2RFCv2] Freed, N. and J. Reschke, "The 'XML2RFC' version 2
Vocabulary", draft-reschke-xml2rfc (work in progress),
January 2014.
8.2. Informative References
[BCP13] Freed, N., Klensin, J., and T. Hansen, "Media Type
Specifications and Registration Procedures", BCP 13,
RFC 6838, January 2013.
[IDGUIDE] Housley, R., "Guidelines to Authors of Internet-Drafts",
December 2010,
<http://www.ietf.org/id-info/guidelines.html>.
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
3", BCP 9, RFC 2026, October 1996.
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Hoffman Expires August 1, 2014 [Page 39]
Internet-Draft XML2RFCv3 January 2014
Extensions (MIME) Part Two: Media Types", RFC 2046,
November 1996.
[RFC2397] Masinter, L., "The "data" URL scheme", RFC 2397,
August 1998.
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
June 1999.
[RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media
Types", RFC 3023, January 2001.
[RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines
for the Use of Extensible Markup Language (XML) within
IETF Protocols", BCP 70, RFC 3470, January 2003.
[RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers",
RFC 3966, December 2004.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005.
[RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598,
July 2009.
PDF version: <http://www.rfc-editor.org/rfc/rfc5598.pdf>
[RFC5741] Daigle, L. and O. Kolkman, "RFC Streams, Headers, and
Boilerplates", RFC 5741, December 2009.
[RFC6068] Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto'
URI Scheme", RFC 6068, October 2010.
[RFC6266] Reschke, J., "Use of the Content-Disposition Header
Field in the Hypertext Transfer Protocol (HTTP)",
RFC 6266, June 2011.
[RFCPOLICY] RFC Editor, "RFC Editorial Guidelines and Procedures",
February 2012, <http://www.rfc-editor.org/policy.html>.
[RFCSTYLE] Braden, R., Ginoza, S., and A. Hagens, "RFC Document
Style (draft 09)", September 2009,
<http://www.rfc-editor.org/rfc-style-guide/rfc-style>.
[RNC] Clark, J., "RELAX NG Compact Syntax", OASIS ,
November 2002, <http://www.oasis-open.org/committees/
relax-ng/compact-20021121.html>.
Hoffman Expires August 1, 2014 [Page 40]
Internet-Draft XML2RFCv3 January 2014
[TLP2.0] IETF Trust, "Legal Provisions Relating to IETF
Documents", February 2009,
<http://trustee.ietf.org/license-info/IETF-TLP-2.htm>.
[TLP3.0] IETF Trust, "Legal Provisions Relating to IETF
Documents", September 2009,
<http://trustee.ietf.org/license-info/IETF-TLP-3.htm>.
[TLP4.0] IETF Trust, "Legal Provisions Relating to IETF
Documents", December 2009,
<http://trustee.ietf.org/license-info/IETF-TLP-4.htm>.
[UNICODE] The Unicode Consortium, "The Unicode Standard, Version
6.3.0", September 2013,
<http://www.unicode.org/versions/Unicode6.3.0/>.
[USASCII] American National Standards Institute, "Coded Character
Set -- 7-bit American Standard Code for Information
Interchange", ANSI X3.4, 1986.
[XPOINTER] Grosso, P., Maler, E., Marsh, J., and N. Walsh,
"XPointer Framework", W3C Recommendation REC-xptr-
framework-20030325, March 2003,
<http://www.w3.org/TR/2003/
REC-xptr-framework-20030325/>.
Latest version available at
<http://www.w3.org/TR/xptr-framework/>.
Appendix A. Front Page Generation
A.1. The /rfc/@category Attribute
For RFCs, the category determines the "maturity level" (see Section 4
of [RFC2026]). The allowed values are "std" for "Standards Track",
"bcp" for "BCP", "info" for "Informational", "exp" for
"Experimental", and "historic" for - surprise - "Historic".
For Internet-Drafts, the category attribute is not needed, but will
appear on the front page as "Intended Status". Supplying this
information can be useful to reviewers.
A.2. The /rfc/@ipr Attribute
This attribute value can take a long list of values, each of which
describes an IPR policy for the document. This attribute's values
are not the result of a grand plan, but remain simply for historic
reasons. Of these values, only a few are currently in use; all
Hoffman Expires August 1, 2014 [Page 41]
Internet-Draft XML2RFCv3 January 2014
others are supported by the various tools for backwards compatibility
with old source files.
Note: some variations of the boilerplate are selected based on the
document's date; therefore it is important to specify the "year",
"month" and "day" attributes of the <date> element when archiving
the XML source of an Internet-Draft on the day of submission.
Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION. IF YOU
NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER. For further information,
refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>.
For the current "Status Of This Memo" text, the submissionType
attribute determines whether a statement about "Code Components" is
inserted (which is the case for the value "IETF", which is the
default). Other values, such as "independent", suppress this part of
the text.
A.2.1. Current Values: '*trust200902'
The name for these values refers to the "IETF TRUST Legal Provisions
Relating to IETF Documents", sometimes simply called the "TLP, that
went into effect on February 15, 2009 ([TLP2.0]). Updates to this
document were published on September 12, 2009 ([TLP3.0]) and on
December 28, 2009 ([TLP4.0]), modifying the license for code
components (see <http://trustee.ietf.org/license-info/> for further
information). The actual text is located in Section 6 ("Text To Be
Included in IETF Documents") of these documents.
The tools will automatically produce the "correct" text depending on
the document's date information (see above):
+----------+--------------------------------+
| TLP | starting with publication date |
+----------+--------------------------------+
| [TLP3.0] | 2009-11-01 |
| [TLP4.0] | 2010-04-01 |
+----------+--------------------------------+
A.2.1.1. trust200902
This should be the default, unless one of the more specific
'*trust200902' values is a better fit. It produces the text in
Sections 6.a and 6.b of the TLP.
Hoffman Expires August 1, 2014 [Page 42]
Internet-Draft XML2RFCv3 January 2014
A.2.1.2. noModificationTrust200902
This produces additional text from Section 6.c.i of the TLP:
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
to translate it into languages other than English.
Note: this clause is incompatible with RFCs that are published on
the Standards Track.
A.2.1.3. noDerivativesTrust200902
This produces the additional text from Section 6.c.ii of the TLP:
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-
Draft.
Note: this clause is incompatible with RFCs.
A.2.1.4. pre5378Trust200902
This produces the additional text from Section 6.c.iii of the TLP,
frequently called the "pre-5378 escape clause":
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s)
controlling the copyright in such materials, this document may not
be modified outside the IETF Standards Process, and derivative
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
into languages other than English.
See Section 4 of
<http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further
information about when to use this value.
Note: this text appears under "Copyright Notice", unless the
document was published before November 2009, in which case it
appears under "Status Of This Memo".
Hoffman Expires August 1, 2014 [Page 43]
Internet-Draft XML2RFCv3 January 2014
A.2.2. Historic Values
A.2.2.1. Historic Values: '*trust200811'
The attribute values "trust200811", "noModificationTrust200811" and
"noDerivativesTrust200811" are similar to their "trust200902"
counterparts, except that they use text specified in <http://
trustee.ietf.org/license-info/archive/
IETF-Trust-License-Policy_11-10-08.pdf>.
A.2.2.2. Historic Values: '*3978'
The attribute values "full3978", "noModification3978" and
"noDerivatives3978" are similar to their counterparts above, except
that they use text specified in RFC 3978 (March 2005).
A.2.2.3. Historic Values: '*3667'
The attribute values "full3667", "noModification3667" and
"noDerivatives3667" are similar to their counterparts above, except
that they use text specified in RFC 3667 (February 2004).
A.2.2.4. Historic Values: '*2026'
The attribute values "full2026" and "noDerivativeWorks2026" are
similar to their counterparts above, except that they use text
specified in RFC 2026 (October 1996).
The special value "none" was also used back then, and denied the IETF
any rights beyond publication as Internet-Draft.
Appendix B. Relax NG Schema
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
rfc =
element rfc {
attribute number { text }?,
[ a:defaultValue = "" ] attribute obsoletes { text }?,
[ a:defaultValue = "" ] attribute updates { text }?,
attribute category { "std" | "bcp" | "info" | "exp" | "historic"
}?,
attribute consensus { "no" | "yes" }?,
attribute seriesNo { text }?,
attribute ipr {
"full2026"
| "noDerivativeWorks2026"
Hoffman Expires August 1, 2014 [Page 44]
Internet-Draft XML2RFCv3 January 2014
| "none"
| "full3667"
| "noModification3667"
| "noDerivatives3667"
| "full3978"
| "noModification3978"
| "noDerivatives3978"
| "trust200811"
| "noModificationTrust200811"
| "noDerivativesTrust200811"
| "trust200902"
| "noModificationTrust200902"
| "noDerivativesTrust200902"
| "pre5378Trust200902"
}?,
attribute iprExtract { xsd:IDREF }?,
[ a:defaultValue = "IETF" ]
attribute submissionType {
"IETF" | "IAB" | "IRTF" | "independent"
}?,
attribute docName { text }?,
[ a:defaultValue = "en" ] attribute xml:lang { text }?,
front,
middle,
back?
}
front =
element front {
title, author+, date?, area*, workgroup*, keyword*, abstract?,
note*
}
title =
element title {
attribute abbrev { text }?,
text
}
author =
element author {
attribute initials { text }?,
attribute surname { text }?,
attribute fullname { text }?,
attribute role { "editor" }?,
[ a:defaultValue = "en" ] attribute xml:lang { text }?,
organization?,
address?
}
organization =
element organization {
Hoffman Expires August 1, 2014 [Page 45]
Internet-Draft XML2RFCv3 January 2014
attribute abbrev { text }?,
text
}
address =
element address { (postal | phone | facsimile | email | uri)* }
postal =
element postal {
(street | city | region | code | country | postalbody)*
}
street = element street { text }
city = element city { text }
region = element region { text }
code = element code { text }
country = element country { text }
postalbody = element postalbody { text }
phone = element phone { text }
facsimile = element facsimile { text }
email = element email { text }
uri = element uri { text }
date =
element date {
attribute day { text }?,
attribute month { text }?,
attribute year { text }?,
empty
}
area = element area { text }
workgroup = element workgroup { text }
keyword = element keyword { text }
abstract = element abstract { t+ }
note =
element note {
attribute title { text },
t+
}
middle = element middle { section+ }
section =
element section {
attribute anchor { xsd:ID }?,
attribute title { text },
[ a:defaultValue = "yes" ] attribute numbered { "yes" | "no" }?,
[ a:defaultValue = "default" ]
attribute toc { "include" | "exclude" | "default" }?,
[ a:defaultValue = "no" ] attribute removeinrfc { "yes" | "no"
}?,
(t | figure | texttable | iref)*,
section*
}
Hoffman Expires August 1, 2014 [Page 46]
Internet-Draft XML2RFCv3 January 2014
t =
element t {
attribute anchor { xsd:ID }?,
attribute hangText { text }?,
(text
| \list
| figure
| xref
| eref
| iref
| cref
| tt
| b
| i
| vspace)*
}
\list =
element list {
attribute style { text }?,
attribute hangIndent { text }?,
attribute counter { text }?,
t+
}
xref =
element xref {
attribute target { xsd:IDREF },
[ a:defaultValue = "false" ] attribute pageno { "true" | "false"
}?,
[ a:defaultValue = "default" ]
attribute format { "counter" | "title" | "none" | "default" }?,
text
}
eref =
element eref {
attribute target { text },
text
}
iref =
element iref {
attribute item { text },
[ a:defaultValue = "" ] attribute subitem { text }?,
[ a:defaultValue = "false" ]
attribute primary { "true" | "false" }?,
empty
}
cref =
element cref {
attribute anchor { xsd:ID }?,
Hoffman Expires August 1, 2014 [Page 47]
Internet-Draft XML2RFCv3 January 2014
attribute source { text }?,
text
}
tt = element tt { (text | xref | eref | iref | cref | b | i)* }
b = element b { (text | xref | eref | iref | cref | tt | i)* }
i = element i { (text | xref | eref | iref | cref | b | tt)* }
vspace =
element vspace {
[ a:defaultValue = "0" ] attribute blankLines { text }?,
empty
}
figure =
element figure {
attribute anchor { xsd:ID }?,
[ a:defaultValue = "" ] attribute title { text }?,
[ a:defaultValue = "false" ]
attribute suppress-title { "true" | "false" }?,
attribute src { text }?,
[ a:defaultValue = "left" ]
attribute align { "left" | "center" | "right" }?,
[ a:defaultValue = "" ] attribute alt { text }?,
[ a:defaultValue = "" ] attribute width { text }?,
[ a:defaultValue = "" ] attribute height { text }?,
iref*,
preamble?,
artwork,
postamble?
}
preamble =
element preamble { (text | xref | eref | iref | cref | tt | b |
i)* }
artwork =
element artwork {
[ a:defaultValue = "preserve" ]
attribute xml:space { "default" | "preserve" }?,
[ a:defaultValue = "" ] attribute name { text }?,
[ a:defaultValue = "" ] attribute type { text }?,
attribute src { text }?,
[ a:defaultValue = "left" ]
attribute align { "left" | "center" | "right" }?,
[ a:defaultValue = "" ] attribute alt { text }?,
[ a:defaultValue = "" ] attribute width { text }?,
[ a:defaultValue = "" ] attribute height { text }?,
[ a:defaultValue = "en" ] attribute xml:lang { text }?,
text*
}
postamble =
element postamble { (text | xref | eref | iref | cref | tt | b |
Hoffman Expires August 1, 2014 [Page 48]
Internet-Draft XML2RFCv3 January 2014
i)* }
texttable =
element texttable {
attribute anchor { xsd:ID }?,
[ a:defaultValue = "" ] attribute title { text }?,
[ a:defaultValue = "false" ]
attribute suppress-title { "true" | "false" }?,
[ a:defaultValue = "center" ]
attribute align { "left" | "center" | "right" }?,
[ a:defaultValue = "full" ]
attribute style { "all" | "none" | "headers" | "full" }?,
preamble?,
ttcol+,
c*,
postamble?
}
ttcol =
element ttcol {
attribute width { text }?,
[ a:defaultValue = "left" ]
attribute align { "left" | "center" | "right" }?,
(xref | eref | iref | cref | text)*
}
c = element c { (text | xref | eref | iref | cref | tt | b | i)* }
back = element back { references*, section* }
references =
element references {
[ a:defaultValue = "References" ] attribute title { text }?,
reference+
}
reference =
element reference {
attribute anchor { xsd:ID }?,
attribute target { text }?,
front,
seriesInfo*,
format*,
annotation*
}
seriesInfo =
element seriesInfo {
attribute name { text },
attribute value { text },
empty
}
format =
element format {
attribute target { text }?,
Hoffman Expires August 1, 2014 [Page 49]
Internet-Draft XML2RFCv3 January 2014
attribute type { text },
attribute octets { text }?,
empty
}
annotation =
element annotation {
(text | xref | eref | iref | cref | tt | b | i)*
}
start = rfc
Index
A
abbrev attribute
in organization element 22
in title element 34
abstract element 5
inside front 17
address element 5
inside author 10
align attribute
in artwork element 7
in figure element 15
in texttable element 32
in ttcol element 35
alt attribute
in artwork element 8
in figure element 15
anchor attribute
in cref element 13
in figure element 15
in reference element 25
in section element 29
in t element 32
in texttable element 33
annotation element 6
inside reference 24
application/rfc+xml Media Type 37
area element 6
inside front 17
artwork element 7
align attribute 7
alt attribute 8
height attribute 8
inside figure 15
name attribute 8
src attribute 8
Hoffman Expires August 1, 2014 [Page 50]
Internet-Draft XML2RFCv3 January 2014
type attribute 8
width attribute 8
xml:lang attribute 9
xml:space attribute 9
Attributes
abbrev 22, 34
align 7, 15, 32, 35
alt 8, 15
anchor 13, 15, 25, 29, 32-33
blankLines 35
category 26
consensus 26
counter 19
day 13
docName 27
format 36
fullname 10
hangIndent 19
hangText 32
height 8, 15
initials 10
ipr 27
iprExtract 28
item 18
month 13
name 8, 30
number 28
numbered 29
obsoletes 28
octets 16
pageno 36
primary 18
removeinrfc 30
role 10
seriesNo 28
source 13
src 8, 16
style 20, 33
subitem 19
submissionType 28
suppress-title 16, 33
surname 10
target 14, 16, 25, 37
title 16, 22, 25, 30, 33
toc 30
type 8, 17
updates 28
value 31
Hoffman Expires August 1, 2014 [Page 51]
Internet-Draft XML2RFCv3 January 2014
width 8, 16, 35
xml:lang 9-10, 29
xml:space 9
year 14
author element 9
fullname attribute 10
initials attribute 10
inside front 17
role attribute 10
surname attribute 10
xml:lang attribute 10
B
b element 10
inside annotation 6
inside c 12
inside i 18
inside postamble 23
inside preamble 24
inside t 32
inside tt 34
back element 11
inside rfc 26
blankLines attribute
in vspace element 35
C
c element 11
inside texttable 32
category attribute
in rfc element 26
city element 12
inside postal 23
code element 12
inside postal 23
consensus attribute
in rfc element 26
counter attribute
in list element 19
country element 12
inside postal 23
cref element 12
anchor attribute 13
inside annotation 6
inside b 11
inside c 11
inside i 18
inside postamble 23
Hoffman Expires August 1, 2014 [Page 52]
Internet-Draft XML2RFCv3 January 2014
inside preamble 24
inside t 31
inside tt 34
inside ttcol 35
source attribute 13
D
date element 13
day attribute 13
inside front 17
month attribute 13
year attribute 14
day attribute
in date element 13
docName attribute
in rfc element 27
E
Elements
abstract 5, 17
address 5, 10
annotation 6, 24
area 6, 17
artwork 7, 15
author 9, 17
b 6, 10, 12, 18, 23-24, 32, 34
back 11, 26
c 11, 32
city 12, 23
code 12, 23
country 12, 23
cref 6, 11-12, 18, 23-24, 31, 34-35
date 13, 17
email 6, 14
eref 6, 11, 14, 18, 23-24, 31, 34
facsimile 5, 14
figure 15, 29, 31
format 16, 24
front 17, 24, 26
i 6, 11-12, 17, 23-24, 32, 34
iref 6, 11, 15, 18, 23-24, 29, 31, 34-35
keyword 17, 19
list 19, 31
middle 21, 26
note 17, 21
organization 10, 22
phone 5, 22
postal 5, 22
Hoffman Expires August 1, 2014 [Page 53]
Internet-Draft XML2RFCv3 January 2014
postalbody 23
postamble 15, 23, 32
preamble 15, 24, 32
reference 24-25
references 11, 25
region 23, 25
rfc 26
section 11, 21, 29
seriesInfo 24, 30
street 22, 31
t 5, 19, 21, 29, 31
texttable 29, 32
title 17, 33
tt 6, 11-12, 18, 23-24, 31, 34
ttcol 32, 34
uri 6, 35
vspace 32, 35
workgroup 17, 36
xref 6, 11, 18, 23-24, 31, 34, 36
email element 14
inside address 6
eref element 14
inside annotation 6
inside b 11
inside c 11
inside i 18
inside postamble 23
inside preamble 24
inside t 31
inside tt 34
inside ttcol 34
target attribute 14
F
facsimile element 14
inside address 5
figure element 15
align attribute 15
alt attribute 15
anchor attribute 15
height attribute 15
inside section 29
inside t 31
src attribute 16
suppress-title attribute 16
title attribute 16
width attribute 16
format attribute
Hoffman Expires August 1, 2014 [Page 54]
Internet-Draft XML2RFCv3 January 2014
in xref element 36
format element 16
inside reference 24
octets attribute 16
target attribute 16
type attribute 17
front element 17
inside reference 24
inside rfc 26
fullname attribute
in author element 10
H
hangIndent attribute
in list element 19
hangText attribute
in t element 32
height attribute
in artwork element 8
in figure element 15
I
i element 17
inside annotation 6
inside b 11
inside c 12
inside postamble 23
inside preamble 24
inside t 32
inside tt 34
initials attribute
in author element 10
ipr attribute
'*2026' 44
'*3667' 44
'*3978' 44
'*trust200811' 44
'*trust200902' 42
'noDerivativesTrust200902' 43
'noModificationTrust200902' 43
'pre5378Trust200902' 43
'trust200902' 42
in rfc element 27
iprExtract attribute
in rfc element 28
iref element 18
inside annotation 6
inside b 11
Hoffman Expires August 1, 2014 [Page 55]
Internet-Draft XML2RFCv3 January 2014
inside c 11
inside figure 15
inside i 18
inside postamble 23
inside preamble 24
inside section 29
inside t 31
inside tt 34
inside ttcol 35
item attribute 18
primary attribute 18
subitem attribute 19
item attribute
in iref element 18
K
keyword element 19
inside front 17
L
list element 19
counter attribute 19
hangIndent attribute 19
inside t 31
style attribute 20
list styles
empty 20
format ... 20
hanging 20
letters 20
numbers 20
symbols 20
M
Media Type
application/rfc+xml 37
middle element 21
inside rfc 26
month attribute
in date element 13
N
name attribute
in artwork element 8
in seriesInfo element 30
note element 21
inside front 17
title attribute 22
Hoffman Expires August 1, 2014 [Page 56]
Internet-Draft XML2RFCv3 January 2014
number attribute
in rfc element 28
numbered attribute
in section element 29
O
obsoletes attribute
in rfc element 28
octets attribute
in format element 16
organization element 22
abbrev attribute 22
inside author 10
P
pageno attribute
in xref element 36
phone element 22
inside address 5
postal element 22
inside address 5
postalbody element 23
inside postal 23
postamble element 23
inside figure 15
inside texttable 32
preamble element 24
inside figure 15
inside texttable 32
primary attribute
in iref element 18
R
reference element 24
anchor attribute 25
inside references 25
target attribute 25
references element 25
inside back 11
title attribute 25
region element 25
inside postal 23
removeinrfc attribute
in section element 30
rfc element 26
category attribute 26
consensus attribute 26
docName attribute 27
Hoffman Expires August 1, 2014 [Page 57]
Internet-Draft XML2RFCv3 January 2014
ipr attribute 27
iprExtract attribute 28
number attribute 28
obsoletes attribute 28
seriesNo attribute 28
submissionType attribute 28
updates attribute 28
xml:lang attribute 29
role attribute
in author element 10
S
section element 29
anchor attribute 29
inside back 11
inside middle 21
inside section 29
numbered attribute 29
removeinrfc attribute 30
title attribute 30
toc attribute 30
seriesInfo element 30
inside reference 24
name attribute 30
value attribute 31
seriesNo attribute
in rfc element 28
source attribute
in cref element 13
src attribute
in artwork element 8
in figure element 16
street element 31
inside postal 22
style attribute
in list element 20
in texttable element 33
subitem attribute
in iref element 19
submissionType attribute
in rfc element 28
suppress-title attribute
in figure element 16
in texttable element 33
surname attribute
in author element 10
T
Hoffman Expires August 1, 2014 [Page 58]
Internet-Draft XML2RFCv3 January 2014
t element 31
anchor attribute 32
hangText attribute 32
inside abstract 5
inside list 19
inside note 21
inside section 29
target attribute
in eref element 14
in format element 16
in reference element 25
in xref element 37
texttable element 32
align attribute 32
anchor attribute 33
inside section 29
style attribute 33
suppress-title attribute 33
title attribute 33
title attribute
in figure element 16
in note element 22
in references element 25
in section element 30
in texttable element 33
title element 33
abbrev attribute 34
inside front 17
toc attribute
in section element 30
tt element 34
inside annotation 6
inside b 11
inside c 12
inside i 18
inside postamble 23
inside preamble 24
inside t 31
ttcol element 34
align attribute 35
inside texttable 32
width attribute 35
type attribute
in artwork element 8
in format element 17
U
updates attribute
Hoffman Expires August 1, 2014 [Page 59]
Internet-Draft XML2RFCv3 January 2014
in rfc element 28
uri element 35
inside address 6
V
value attribute
in seriesInfo element 31
vspace element 35
blankLines attribute 35
inside t 32
W
width attribute
in artwork element 8
in figure element 16
in ttcol element 35
workgroup element 36
inside front 17
X
xml:lang attribute
in artwork element 9
in author element 10
in rfc element 29
xml:space attribute
in artwork element 9
xref element 36
format attribute 36
inside annotation 6
inside b 11
inside c 11
inside i 18
inside postamble 23
inside preamble 24
inside t 31
inside tt 34
inside ttcol 34
pageno attribute 36
target attribute 37
Y
year attribute
in date element 14
Hoffman Expires August 1, 2014 [Page 60]
Internet-Draft XML2RFCv3 January 2014
Author's Address
Paul Hoffman
VPN Consortium
EMail: paul.hoffman@vpnc.org
Hoffman Expires August 1, 2014 [Page 61]