Network Working Group P. Hoffman
Internet-Draft VPN Consortium
Obsoletes: 2629 (if approved) March 18, 2014
Intended status: Standards Track
Expires: September 19, 2014
The 'XML2RFC' version 3 Vocabulary
draft-hoffman-xml2rfc-04
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 September 19, 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 September 19, 2014 [Page 1]
Internet-Draft XML2RFCv3 March 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.1.1. Design for Changes in Reference Handling . . . . . . . 6
1.2. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 7
2. Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1. <abstract> . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2. <address> . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3. <annotation> . . . . . . . . . . . . . . . . . . . . . . . 8
2.4. <area> . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5. <artwork> . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6. <author> . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7. <b> . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.8. <back> . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.9. <blockquote> . . . . . . . . . . . . . . . . . . . . . . . 15
2.10. <c> . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.11. <city> . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.12. <code> . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.13. <country> . . . . . . . . . . . . . . . . . . . . . . . . 16
2.14. <cref> . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.15. <date> . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.16. <dd> . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.17. <dl> . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.18. <dt> . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.19. <email> . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.20. <eref> . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.21. <facsimile> . . . . . . . . . . . . . . . . . . . . . . . 21
2.22. <figure> . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.23. <format> . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.24. <front> . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.25. <i> . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.26. <innerRefContent> . . . . . . . . . . . . . . . . . . . . 24
2.27. <iref> . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.28. <keyword> . . . . . . . . . . . . . . . . . . . . . . . . 26
2.29. <li> . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.30. <list> . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.31. <middle> . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.32. <note> . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.33. <ol> . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.34. <organization> . . . . . . . . . . . . . . . . . . . . . . 29
Hoffman Expires September 19, 2014 [Page 2]
Internet-Draft XML2RFCv3 March 2014
2.35. <phone> . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.36. <postal> . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.37. <postalline> . . . . . . . . . . . . . . . . . . . . . . . 31
2.38. <postamble> . . . . . . . . . . . . . . . . . . . . . . . 31
2.39. <preamble> . . . . . . . . . . . . . . . . . . . . . . . . 31
2.40. <reference> . . . . . . . . . . . . . . . . . . . . . . . 32
2.41. <references> . . . . . . . . . . . . . . . . . . . . . . . 34
2.42. <region> . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.43. <rfc> . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.44. <section> . . . . . . . . . . . . . . . . . . . . . . . . 38
2.45. <seriesInfo> . . . . . . . . . . . . . . . . . . . . . . . 40
2.46. <spanx> . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.47. <street> . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.48. <t> . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.49. <texttable> . . . . . . . . . . . . . . . . . . . . . . . 42
2.50. <tindent> . . . . . . . . . . . . . . . . . . . . . . . . 44
2.51. <title> . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.52. <tt> . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.53. <ttcol> . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.54. <ul> . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.55. <uri> . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.56. <vspace> . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.57. <workgroup> . . . . . . . . . . . . . . . . . . . . . . . 47
2.58. <xref> . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3. Special Unicode Code Points . . . . . . . . . . . . . . . . . 49
4. Internationalization Considerations . . . . . . . . . . . . . 50
5. Security Considerations . . . . . . . . . . . . . . . . . . . 50
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 50
6.1. Internet Media Type Registration . . . . . . . . . . . . . 50
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 51
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.1. Normative References . . . . . . . . . . . . . . . . . . . 52
8.2. Informative References . . . . . . . . . . . . . . . . . . 52
Appendix A. Front Page Generation . . . . . . . . . . . . . . . . 54
A.1. The /rfc/@category Attribute . . . . . . . . . . . . . . . 54
A.2. The /rfc/@ipr Attribute . . . . . . . . . . . . . . . . . 54
A.2.1. Current Values: '*trust200902' . . . . . . . . . . . . 54
A.2.2. Historic Values . . . . . . . . . . . . . . . . . . . 56
Appendix B. Relax NG Schema . . . . . . . . . . . . . . . . . . . 57
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Hoffman Expires September 19, 2014 [Page 3]
Internet-Draft XML2RFCv3 March 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") vocabulary [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 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.
The design criteria of the changes from v2 to v3 are:
o The intention is that starting and editing a v3 document will be
easier than for a v2 document.
o There will be good v2-to-v3 conversion tools for when an author
wants to change versions.
o There are no current plans to make v3 XML the required submission
format for drafts or RFCs. That might happen eventually, but it
is likely to be years away.
There is a desire to keep as much of the v2 grammar as makes sense
within the above design criteria and not to make gratuitous changes
to the v2 grammar. Another way to say this is "we would rather
encourage backward compatibility but not be constrained by it".
Still, the goal of starting and editing a v3 document being easier
than for a v2 document is more important than backwards compatibility
with v2, given the latter two design criteria.
v3 is upwards compatible with v2, meaning that a v2 document is meant
Hoffman Expires September 19, 2014 [Page 4]
Internet-Draft XML2RFCv3 March 2014
to be a valid v3 document as well. However, some features of v2 are
deprecated in v3 in favor of new elements. Deprecated features are
described in [XML2RFCv2].
The canonical RFCs will not have any markup that uses a deprecated
feature. The RFC Editor's processor will have a "convert with
warnings" mode that will convert a v2 document to a v3 document that
converts deprecated features wherever possible, issuing warnings for
where it cannot convert. The processor will also have a "strict"
mode that will issue errors if any deprecated features are in the
input.
The list of changes so far is:
o Did not generate the grammar from a DTD, but instead directly from
the RNG grammar.
o In <address>, allowed the sub-elements to be in any order.
o In <artwork> and <author>, added optional "xml:lang" attribute.
o Allowed <artwork> to be in a <section>, not just a figure.
o Deprecated "xml:space" in <artwork> because there was only one
useful value.
o Gave more specifics of handling the "type" attribute in <artwork>.
o Added the <b>, <i>, and <tt> elements.
o Added the <blockquote> element.
o Allowed <b>, <eref>, <i>, <tt>, and <xref> in <cref>.
o Deprecated <facsimile> because it is rarely used and is not
actually useful.
o Deprecated the "alt", "height", "src", and "width" attributes in
<figure> because they overlap with the attributes in <artwork>.
o Allowed more than one <artwork> in <figure>.
o In <front>, made <date> optional.
o Added <innerRefContent> to allow better control of text in a
reference.
Hoffman Expires September 19, 2014 [Page 5]
Internet-Draft XML2RFCv3 March 2014
o Deprecated <format> because it is not useful and has caused
surprise for authors in the past.
o Deprecated <list> in favor of <dl>, <ul>, and <ol>.
o In <postal>, allowed the sub-elements to be in any order. Also
allowed the inclusion of <postalline> instead of the older
elements.
o Added <postalline>, free text that represents one line of the
address.
o Changed the handling of <reference>. This large change is
described in Section 1.1.1.
o Allowed the elements inside a <reference> to be in any order.
o In <section>, added the optional "numbered" and "removeinrfc"
attributes.
o Deprecated <spanx> element, and replaced it with <b>, <i>, and
<tt>.
o Added the <tindent> element for indented paragraphs.
o In <ttcol>, added <xref>, <eref>, <iref>, and <cref> as optional
children.
o Deprecated <vspace> because the v2 spec labeled it as "a purely
presentational element and thus its use ought to be avoided".
o Deprecated the "pageno" attribute in <xref> because it was unused
in v2.
o Added the "section" attribute in <xref>.
o Added "ascii" attributes to <author>, <email>, and <organization>
elements. This allows an athor to specify their information in
their native scripts as the primary entry and still allow the
ASCII-equivalent values to appear in the processed documents.
1.1.1. Design for Changes in Reference Handling
This section describes one of the larger changes in the design of v3,
namely the additions to make using references easier. Most
references in most recent RFCs are just to RFCs; sometimes they are
Internet Drafts as work-in-progress; much less often they are
pointers to standards of other SDOs, research articles, or just plain
Hoffman Expires September 19, 2014 [Page 6]
Internet-Draft XML2RFCv3 March 2014
URLs. There have been many complaints about how difficult it is for
people who don't have strong XML skills to use references when making
Internet Drafts.
The two popular methods now for references to RFCs are entering the
whole reference by hand (hopefully getting all the fiddly bits of
<front> and <seriesInfo> correct), or using XML entities that call
out the xml.resource.org. Both work, but both have their faults.
The first requires good copying skills and sometimes causes difficult
XML errors; the second prevents you from changing the anchor name
and, less importantly, also requires that you be online when you run
the xml2rfc processor.
To make entering references easier for the vast majority of cases,
the following changes have been made in the v3 vocabulary:
o The <reference> element can take another optional pair of
attributes: "series" and "document". For example, the value for
"series" would be "rfc", "fyi", "id", "bcp", and "std" for IETF-
controlled documents; there would be many series for non-IETF
documents as well. The value for "document" depends on the
series, as described in <reference>.
o The processor would emit a properly-formatted output for the
reference in the non-canonical display formats based on rules
built into the processor and data for the references. The library
used for expansion of the references will be maintained by the RFC
Editor.
o Thus, the contents of <reference> changes from requiring a <front>
element to making the <front> element optional if a "series" is
given.
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
The sections below describe all elements and their attributes.
Note that attributes not labeled "mandatory" are optional.
Hoffman Expires September 19, 2014 [Page 7]
Internet-Draft XML2RFCv3 March 2014
Many elements have an optional "anchor" attribute. In all cases, The
value of the "anchor" attribute needs to be a valid XML "Name"
(Section 2.3 of [XML]). In short, it is a text string with no spaces
or colons; hyphens and underscores are allowed.
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 [RFCSTYLE] for more information.
This element appears as child element of: <front> (Section 2.24).
Content model:
One or more <t> elements (Section 2.48)
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.36)
o <phone> elements (Section 2.35)
o <facsimile> elements (Section 2.21)
o <email> elements (Section 2.19)
o <uri> elements (Section 2.55)
2.3. <annotation>
Provides additional prose augmenting a bibliographical reference.
Hoffman Expires September 19, 2014 [Page 8]
Internet-Draft XML2RFCv3 March 2014
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.40).
Content model:
In any order:
o Text
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <spanx> elements (Section 2.46)
o <tt> elements (Section 2.52)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.4. <area>
Provides information about the IETF area this document applies to
(currently not used when generating documents).
The value ought to be either the fullname or the abbreviation of one
of the IETF areas as listed on <http://www.ietf.org/iesg/area.html>:
"Applications", "app", "General", "gen", "Internet", "int",
"Operations and Management", "ops", "Real-time Applications and
Infrastructure", "rai", "Routing", "rtg", "Security", "sec",
"Transport", "tsv".
This element appears as child element of: <front> (Section 2.24).
Content model: only text content.
Hoffman Expires September 19, 2014 [Page 9]
Internet-Draft XML2RFCv3 March 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: <blockquote> (Section 2.9),
<dd> (Section 2.16), <figure> (Section 2.22), <li> (Section 2.29),
<section> (Section 2.44), <t> (Section 2.48), and <tindent>
(Section 2.50).
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 September 19, 2014 [Page 10]
Internet-Draft XML2RFCv3 March 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 of this attribute is
free text with certain values designated as preferred. A processor
might add type-specific formatting to artwork with the preferred
values in the non-canonical output formats. If the processor
encounters a value for "type" that is not one of the preferred
values, it can issue a warning.
The beginning list of preferred values are:
o abnf
o ascii-art
o asn.1
Hoffman Expires September 19, 2014 [Page 11]
Internet-Draft XML2RFCv3 March 2014
o bash
o c++
o c
o call-flow
o hex-dump
o mib
o perl
o python
The RFC Editor will mainatin a complete list of the preferred values
on its web site, and that list is expected to be updated over time.
Thus, a consumer of v3 XML should not cause a failure when it
encounters an unexpected type.
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.
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
Deprecated.
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 [RFCSTYLE]).
Hoffman Expires September 19, 2014 [Page 12]
Internet-Draft XML2RFCv3 March 2014
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.24).
Content model:
In this order:
1. One optional <organization> element (Section 2.34)
2. One optional <address> element (Section 2.2)
2.6.1. 'ascii' attribute
The ASCII equivalent of the author's full name.
2.6.2. 'fullname' attribute
The full name (used in the automatically generated "Author's Address"
section).
2.6.3. '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.4. 'role' attribute
Specifies the role the author had in creating the document.
Allowed values:
o "editor"
Hoffman Expires September 19, 2014 [Page 13]
Internet-Draft XML2RFCv3 March 2014
2.6.5. 'surname' attribute
The author's surname.
2.6.6. '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),
<blockquote> (Section 2.9), <c> (Section 2.10), <cref>
(Section 2.14), <dd> (Section 2.16), <dt> (Section 2.18), <i>
(Section 2.25), <innerRefContent> (Section 2.26), <li>
(Section 2.29), <postamble> (Section 2.38), <preamble>
(Section 2.39), <t> (Section 2.48), <tindent> (Section 2.50), and
<tt> (Section 2.52).
Content model:
In any order:
o Text
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <tt> elements (Section 2.52)
o <i> elements (Section 2.25)
2.8. <back>
Contains the "back" part of the document: the references and
appendices.
This element appears as child element of: <rfc> (Section 2.43).
Content model:
Hoffman Expires September 19, 2014 [Page 14]
Internet-Draft XML2RFCv3 March 2014
In this order:
1. Optional <references> elements (Section 2.41)
2. Optional <section> elements (Section 2.44)
2.9. <blockquote>
Specifies a block of text is a quotation. The "cite" attribute is
required, and must be a URL.
Content model:
In any order:
o Text
o <figure> elements (Section 2.22)
o <artwork> elements (Section 2.5)
o <tt> elements (Section 2.52)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.9.1. 'anchor' attribute
Document-wide unique identifier for this quotation. The processor
will auto-generate an identifier when none is given.
2.9.2. 'cite' attribute (mandatory)
The source of the citation. This must be a URL. NEEDS AN EXAMPLE OF
A CITE FOR A REFERENCE THAT IS ALREADY IN THE SPEC.
2.10. <c>
Provides the content of a cell in a table.
This element appears as child element of: <texttable> (Section 2.49).
Content model:
In any order:
Hoffman Expires September 19, 2014 [Page 15]
Internet-Draft XML2RFCv3 March 2014
o Text
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <spanx> elements (Section 2.46)
o <tt> elements (Section 2.52)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.11. <city>
Gives the city name in a postal address.
This element appears as child element of: <postal> (Section 2.36).
Content model: only text content.
2.12. <code>
Gives the postal region code.
This element appears as child element of: <postal> (Section 2.36).
Content model: only text content.
2.13. <country>
Gives the country in a postal address.
This element appears as child element of: <postal> (Section 2.36).
Content model: only text content.
2.14. <cref>
Represents a comment.
Comments can be used in a document while it is work-in-progress.
They usually appear either inline and visually highlighted, at the
Hoffman Expires September 19, 2014 [Page 16]
Internet-Draft XML2RFCv3 March 2014
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.10), <dd> (Section 2.16), <dt>
(Section 2.18), <i> (Section 2.25), <li> (Section 2.29), <postamble>
(Section 2.38), <preamble> (Section 2.39), <t> (Section 2.48),
<tindent> (Section 2.50), <tt> (Section 2.52), and <ttcol>
(Section 2.53).
Content model:
In any order:
o Text
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
o <tt> elements (Section 2.52)
2.14.1. 'anchor' attribute
Document-wide unique identifier for this comment. The processor will
auto-generate an identifier when none is given.
2.14.2. 'source' attribute
Holds the "source" of a comment, such as the name or the initials of
the person who made the comment.
2.15. <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 [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.
Hoffman Expires September 19, 2014 [Page 17]
Internet-Draft XML2RFCv3 March 2014
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.24).
Content model: this element does not have any contents.
2.15.1. 'day' attribute
Day of publication.
2.15.2. 'month' attribute
Month of publication.
2.15.3. 'year' attribute
Year of publication.
2.16. <dd>
The definition part of a entry in a definition list.
This element appears as child element of: <dl> (Section 2.17).
Content model:
In any order:
o Text
o <ol> elements (Section 2.33)
o <ul> elements (Section 2.54)
o <figure> elements (Section 2.22)
o <artwork> elements (Section 2.5)
o <xref> elements (Section 2.58)
Hoffman Expires September 19, 2014 [Page 18]
Internet-Draft XML2RFCv3 March 2014
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <tt> elements (Section 2.52)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.17. <dl>
A definition list. Each entry has a pair of elements: a term (<dt>)
and a defintion (<dd>).
This element appears as child element of: <li> (Section 2.29), and
<t> (Section 2.48).
Content model:
One or more <dt> elements (Section 2.18)
One or more <dd> elements (Section 2.16)
2.17.1. 'hanging' attribute
The hanging attribute defines whether or not the term appears on the
same line as the definition. hanging="false" indicates that the term
is to the left of the definition, while hanging="true" indicates that
the term will be on a separate line.
Allowed values:
o "false" (default)
o "true"
2.17.2. 'spacing' attribute
Defines whether or not there is a blank line between entries.
spacing="normal" indicates a single blank line, while
spacing="compact" indicates no space between.
Allowed values:
Hoffman Expires September 19, 2014 [Page 19]
Internet-Draft XML2RFCv3 March 2014
o "normal" (default)
o "compact"
2.18. <dt>
The definition part of a entry in a definition list.
This element appears as child element of: <dl> (Section 2.17).
Content model:
In any order:
o Text
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <tt> elements (Section 2.52)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.19. <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.19.1. 'ascii' attribute
The ASCII equivalent of the author's email address. This is only
used if the email address has one or two internationalized
components.
Hoffman Expires September 19, 2014 [Page 20]
Internet-Draft XML2RFCv3 March 2014
2.20. <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.10), <cref> (Section 2.14), <dd>
(Section 2.16), <dt> (Section 2.18), <i> (Section 2.25), <li>
(Section 2.29), <postamble> (Section 2.38), <preamble>
(Section 2.39), <t> (Section 2.48), <tindent> (Section 2.50), <tt>
(Section 2.52), and <ttcol> (Section 2.53).
Content model: only text content.
2.20.1. 'target' attribute (mandatory)
URI of the link target (see Section 3 of [RFC3986]).
2.21. <facsimile>
Deprecated.
This element appears as child element of: <address> (Section 2.2).
Content model: only text content.
2.22. <figure>
A container for artwork that can have an optional title, preamble
text, and postamable text.
This element appears as child element of: <blockquote> (Section 2.9),
<dd> (Section 2.16), <li> (Section 2.29), <section> (Section 2.44),
<t> (Section 2.48), and <tindent> (Section 2.50).
Content model:
In this order:
1. Optional <iref> elements (Section 2.27)
2. One optional <preamble> element (Section 2.39)
Hoffman Expires September 19, 2014 [Page 21]
Internet-Draft XML2RFCv3 March 2014
3. One or more <artwork> elements (Section 2.5)
4. One optional <postamble> element (Section 2.38)
2.22.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.22.2. 'alt' attribute
Deprecated.
2.22.3. 'anchor' attribute
Document-wide unique identifier for this figure.
2.22.4. 'height' attribute
Deprecated.
2.22.5. 'src' attribute
Deprecated.
2.22.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)
Hoffman Expires September 19, 2014 [Page 22]
Internet-Draft XML2RFCv3 March 2014
2.22.7. 'title' attribute
The title for the figure; this appears on a line after the artwork.
If the figure has an "anchor" attribute, the title gets an
autogenerated label such as "Figure 1", unless the "suppress-title"
attribute is set to "true".
2.22.8. 'width' attribute
Deprecated.
2.23. <format>
Depredated. If the goal is to provide a single URI for a reference,
use the "target" attribute on <reference> instead.
This element appears as child element of: <reference> (Section 2.40).
Content model: this element does not have any contents.
2.23.1. 'octets' attribute
Deprecated.
2.23.2. 'target' attribute
Deprecated.
2.23.3. 'type' attribute (mandatory)
Deprecated.
2.24. <front>
Represent the "front matter": metadata (such as author information),
abstract, and additional notes.
This element appears as child element of: <reference> (Section 2.40),
and <rfc> (Section 2.43).
Content model:
In this order:
1. One <title> element (Section 2.51)
2. One or more <author> elements (Section 2.6)
Hoffman Expires September 19, 2014 [Page 23]
Internet-Draft XML2RFCv3 March 2014
3. One optional <date> element (Section 2.15)
4. Optional <area> elements (Section 2.4)
5. Optional <workgroup> elements (Section 2.57)
6. Optional <keyword> elements (Section 2.28)
7. One optional <abstract> element (Section 2.1)
8. Optional <note> elements (Section 2.32)
2.25. <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), <blockquote> (Section 2.9), <c> (Section 2.10),
<cref> (Section 2.14), <dd> (Section 2.16), <dt> (Section 2.18),
<innerRefContent> (Section 2.26), <li> (Section 2.29), <postamble>
(Section 2.38), <preamble> (Section 2.39), <t> (Section 2.48),
<tindent> (Section 2.50), and <tt> (Section 2.52).
Content model:
In any order:
o Text
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <b> elements (Section 2.7)
o <tt> elements (Section 2.52)
2.26. <innerRefContent>
Text that should appear between the title and the date of a
reference. The purpose of this element is to prevent the need to
abuse <seriesInfo> to get such text in a reference.
This element appears as child element of: <reference> (Section 2.40).
Hoffman Expires September 19, 2014 [Page 24]
Internet-Draft XML2RFCv3 March 2014
Content model:
In any order:
o Text
o <tt> elements (Section 2.52)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.27. <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.10), <dd> (Section 2.16), <dt>
(Section 2.18), <figure> (Section 2.22), <i> (Section 2.25), <li>
(Section 2.29), <postamble> (Section 2.38), <preamble>
(Section 2.39), <section> (Section 2.44), <t> (Section 2.48),
<tindent> (Section 2.50), <tt> (Section 2.52), and <ttcol>
(Section 2.53).
Content model: this element does not have any contents.
2.27.1. 'item' attribute (mandatory)
The item to include.
2.27.2. 'primary' attribute
Setting this to "true" declares the occurrence as "primary", which
might cause it to be highlighted in the index.
Allowed values:
Hoffman Expires September 19, 2014 [Page 25]
Internet-Draft XML2RFCv3 March 2014
o "true"
o "false" (default)
2.27.3. 'subitem' attribute
The subitem to include.
2.28. <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.24).
Content model: only text content.
2.29. <li>
A list element, used in <ol> and <ul>.
This element appears as child element of: <ol> (Section 2.33), and
<ul> (Section 2.54).
Content model:
Either:
o One or more <t> elements (Section 2.48)
Or:
o Text
One or more <ol> elements (Section 2.33)
One or more <ul> elements (Section 2.54)
One or more <dl> elements (Section 2.17)
One or more <figure> elements (Section 2.22)
One or more <artwork> elements (Section 2.5)
Hoffman Expires September 19, 2014 [Page 26]
Internet-Draft XML2RFCv3 March 2014
One or more <xref> elements (Section 2.58)
One or more <eref> elements (Section 2.20)
One or more <iref> elements (Section 2.27)
One or more <cref> elements (Section 2.14)
One or more <tt> elements (Section 2.52)
One or more <b> elements (Section 2.7)
One or more <i> elements (Section 2.25)
2.30. <list>
Deprecated. Instead, use <dl> for list/@style "hanging"; <ul> for
list/@style "empty" or "symbols"; and <ol> for list/@style "letters",
"numbers", or "format"
This element appears as child element of: <t> (Section 2.48).
Content model:
One or more <t> elements (Section 2.48)
2.30.1. 'counter' attribute
Deprecated.
2.30.2. 'hangIndent' attribute
Deprecated.
2.30.3. 'style' attribute
Deprecated.
2.31. <middle>
Represents the main content of the document.
This element appears as child element of: <rfc> (Section 2.43).
Content model:
One or more <section> elements (Section 2.44)
Hoffman Expires September 19, 2014 [Page 27]
Internet-Draft XML2RFCv3 March 2014
2.32. <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.24).
Content model:
One or more <t> elements (Section 2.48)
2.32.1. 'title' attribute (mandatory)
The title of the note.
2.33. <ol>
An ordered list. The labels on the items will be either a number or
a letter, depending on the value of the style attribute.
This element appears as child element of: <dd> (Section 2.16), <li>
(Section 2.29), and <t> (Section 2.48).
Content model:
One or more <li> elements (Section 2.29)
2.33.1. 'spacing' attribute
Defines whether or not there is a blank line between entries.
spacing="normal" indicates a single blank line, while
spacing="compact" indicates no space between.
Allowed values:
o "normal" (default)
o "compact"
2.33.2. 'start' attribute
The ordinal value to start the list at. This defaults to "1".
Hoffman Expires September 19, 2014 [Page 28]
Internet-Draft XML2RFCv3 March 2014
2.33.3. 'style' attribute
The style of the labels on list items. If the length of the style
value is 1, the meaning is the same as it is for HTML:
a Lowercase letters (a, b, c, ...)
A Uppercase letters (A, B, C, ...)
1 Decimal numbers (1, 2, 3, ...)
i Lowercase Roman numerals (i, ii, iii, ...)
I Uppercase Roman numerals (I, II, III, ...)
If the length of the style value is greater than 1, the value must
contain a percent-encoded indicator and other text. 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, ...)
%C Uppercase letters (A, B, C, ...)
%d Decimal numbers (1, 2, 3, ...)
%i Lowercase Roman numerals (i, ii, iii, ...)
%I Uppercase Roman numerals (I, II, III, ...)
%% Represents a percent sign
Other formats are reserved for future use.
2.34. <organization>
Specifies the affiliation of an author.
This information appears in both the "Author's Address" section and
on the front page (see [RFCSTYLE] for more information). 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).
Hoffman Expires September 19, 2014 [Page 29]
Internet-Draft XML2RFCv3 March 2014
Content model: only text content.
2.34.1. 'abbrev' attribute
Abbreviated variant.
2.34.2. 'ascii' attribute
The ASCII equivalent of the organization's name.
2.35. <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.36. <postal>
Contains optional child elements providing postal information. These
elements will be displayed in an order that is processor-specific. A
postal address can contain only a set of <street>, <city>, <region>,
<code>, and <country> elements, or only an ordered set of
<postalline> elements, but not both.
This element appears as child element of: <address> (Section 2.2).
Content model:
Either:
o In any order:
* <street> elements (Section 2.47)
* <city> elements (Section 2.11)
* <region> elements (Section 2.42)
* <code> elements (Section 2.12)
* <country> elements (Section 2.13)
Hoffman Expires September 19, 2014 [Page 30]
Internet-Draft XML2RFCv3 March 2014
Or:
o One or more <postalline> elements (Section 2.37)
2.37. <postalline>
Represents one line of a postal address. When more than one
<postalline> is given, the processor emits them in the order given.
This element appears as child element of: <postal> (Section 2.36).
Content model: only text content.
2.38. <postamble>
Gives text that appears at the bottom of a figure or table.
This element appears as child element of: <figure> (Section 2.22),
and <texttable> (Section 2.49).
Content model:
In any order:
o Text
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <spanx> elements (Section 2.46)
o <tt> elements (Section 2.52)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.39. <preamble>
Gives text that appears at the top of a figure or table.
This element appears as child element of: <figure> (Section 2.22),
and <texttable> (Section 2.49).
Hoffman Expires September 19, 2014 [Page 31]
Internet-Draft XML2RFCv3 March 2014
Content model:
In any order:
o Text
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <spanx> elements (Section 2.46)
o <tt> elements (Section 2.52)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.40. <reference>
Represents a bibliographical reference.
The reference can be expressed in one of two ways:
As a <front> element plus optional <seriesInfo>, <format>, and
<annotation> elements.
As a pair of attributes: "series" and "document".
In the latter method, the document does not need to contain any
specifics for the reference other than a simple specification of the
reference.
For example, a refernence to RFC 6068 is given as either:
<reference anchor="RFC6068">
<front>
<title>The 'mailto' URI Scheme</title>
<author initials="M." surname="Duerst" fullname="M. Duerst"/>
<author initials="L." surname="Masinter" fullname="L. Masinter"/>
<author initials="J." surname="Zawinski" fullname="J. Zawinski"/>
<date year="2010" month="October"/>
</front>
<seriesInfo name="RFC" value="6068"/>
Hoffman Expires September 19, 2014 [Page 32]
Internet-Draft XML2RFCv3 March 2014
</reference>
or
<reference anchor="RFC6068" series="rfc" document="6068">
The values for the "series" attribute are:
+----------+------------------------+-------------------------------+
| Value | Value for "document | Example |
| for | | |
| "series" | | |
+----------+------------------------+-------------------------------+
| rfc | number | "6068" |
| fyi | number | "7" |
| id | file name | "draft-hoffman-xml2rfc" |
| bcp | comma-separated list | "79,3979,4879" |
| | of numbers; the first | |
| | number is the BCP | |
| | number and the others | |
| | are the RFCs that make | |
| | up the BCP | |
| std | comma-separated list | "69,5730,5731,5732,5733,5734" |
| | of numbers; the first | |
| | number is the STD | |
| | number and the others | |
| | are the RFCs that make | |
| | up the STD | |
| 3gpp | TBD | "TBD" |
| ansi | document name and year | "T1-102.1987" |
| ccitt | document name and year | "X690.2002" |
| fips | document name and year | "500-166.1989" |
| ieee | document name and year | "802-11H.2003" |
| iso | document name and year | "8859-6.1988" |
| itu | document name and year | "X509.2000" |
| nist | document name and year | "500-214.1993" |
| pkcs | document name and year | "9.1993" |
| w3c | document name (and | "TBD" |
| | year?) | |
| xsf | document name (and | "XEP-0334" |
| | year?) | |
+----------+------------------------+-------------------------------+
The processor needs to make sure that exactly zero or one of "series"
is given. It has to do a sanity check on the "document" value to be
sure that the value is valid for the "series". If the "series" value
is "bcp" or "std", the processor needs to check if the list in the
"document" list matches the present or a previous set of values for
Hoffman Expires September 19, 2014 [Page 33]
Internet-Draft XML2RFCv3 March 2014
the BCP or STD.
This element appears as child element of: <references>
(Section 2.41).
Content model: this element does not have any contents.
2.40.1. 'anchor' attribute (mandatory)
Document-wide unique identifier for this reference. Usually, this
will be used both to "label" the reference in the references section,
and as an identifier in links to this reference entry.
2.40.2. 'document' attribute (mandatory)
The document or documents that make up a reference, as described
earlier in this section.
2.40.3. 'series' attribute (mandatory)
The series from which the referred-to document comes from, as
described earlier in this section.
2.40.4. '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.41. <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" as described
in [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.40)
Hoffman Expires September 19, 2014 [Page 34]
Internet-Draft XML2RFCv3 March 2014
2.41.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.42. <region>
Provides the region name in a postal address.
This element appears as child element of: <postal> (Section 2.36).
Content model: only text content.
2.43. <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.24)
2. One <middle> element (Section 2.31)
3. One optional <back> element (Section 2.8)
2.43.1. 'category' attribute
Document category (see Appendix A.1).
Allowed values:
o "std"
o "bcp"
o "info"
Hoffman Expires September 19, 2014 [Page 35]
Internet-Draft XML2RFCv3 March 2014
o "exp"
o "historic"
2.43.2. 'consensus' attribute
Affects the generated boilerplate.
See [RFC5741] for more information.
Allowed values:
o "no"
o "yes"
2.43.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 [IDGUIDE] for further information.
2.43.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"
Hoffman Expires September 19, 2014 [Page 36]
Internet-Draft XML2RFCv3 March 2014
o "noDerivatives3667"
o "full3978"
o "noModification3978"
o "noDerivatives3978"
o "trust200811"
o "noModificationTrust200811"
o "noDerivativesTrust200811"
o "trust200902"
o "noModificationTrust200902"
o "noDerivativesTrust200902"
o "pre5378Trust200902"
2.43.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.43.6. 'number' attribute
The number of the RFC to be produced.
2.43.7. 'obsoletes' attribute
A comma-separated list of RFC numbers or Internet-Draft names.
2.43.8. 'seriesNo' attribute
When producing a document within document series (such as "STD"): the
number within that series.
2.43.9. 'submissionType' attribute
The document stream.
See Section 2 of [RFC5741] for details.
Allowed values:
Hoffman Expires September 19, 2014 [Page 37]
Internet-Draft XML2RFCv3 March 2014
o "IETF" (default)
o "IAB"
o "IRTF"
o "independent"
2.43.10. 'updates' attribute
A comma-separated list of RFC numbers or Internet-Draft names.
2.43.11. 'xml:lang' attribute
The natural language used in the document (defaults to "en").
See Section 2.12 of [XML] for more information.
2.44. <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.31), and <section> (Section 2.44).
Content model:
In this order:
1. In any order:
* <t> elements (Section 2.48)
* <tindent> elements (Section 2.50)
* <figure> elements (Section 2.22)
* <texttable> elements (Section 2.49)
* <iref> elements (Section 2.27)
* <artwork> elements (Section 2.5)
Hoffman Expires September 19, 2014 [Page 38]
Internet-Draft XML2RFCv3 March 2014
2. Optional <section> elements (Section 2.44)
2.44.1. 'anchor' attribute
Document-wide unique identifier for this section.
2.44.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:
o "yes" (default)
o "no"
2.44.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.44.4. 'title' attribute (mandatory)
The title of the section.
2.44.5. 'toc' attribute
Determines whether the section is included in the Table Of Contents.
[[anchor2: Need to consider inheritance.]]
Allowed values:
o "include"
o "exclude"
Hoffman Expires September 19, 2014 [Page 39]
Internet-Draft XML2RFCv3 March 2014
o "default" (default)
2.45. <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.40).
Content model: this element does not have any contents.
2.45.1. 'name' attribute (mandatory)
The name of the series.
The following names trigger specific processing (such as for auto-
generating links, and adding descriptions such as "work in
progress"): "BCP", "FYI", "Internet-Draft", "RFC", and "STD".
2.45.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.46. <spanx>
Deprecated. Use <b>, <i>, and <tt> instead.
This element appears as child element of: <annotation> (Section 2.3),
<c> (Section 2.10), <postamble> (Section 2.38), <preamble>
(Section 2.39), and <t> (Section 2.48).
Content model: only text content.
2.46.1. 'style' attribute
Deprecated.
2.46.2. 'xml:space' attribute
Deprecated.
Allowed values:
Hoffman Expires September 19, 2014 [Page 40]
Internet-Draft XML2RFCv3 March 2014
o "default"
o "preserve" (default)
2.47. <street>
Provides a street address.
This element appears as child element of: <postal> (Section 2.36).
Content model: only text content.
2.48. <t>
Contains a paragraph of text.
This element appears as child element of: <abstract> (Section 2.1),
<li> (Section 2.29), <list> (Section 2.30), <note> (Section 2.32),
and <section> (Section 2.44).
Content model:
In any order:
o Text
o <list> elements (Section 2.30)
o <ol> elements (Section 2.33)
o <ul> elements (Section 2.54)
o <dl> elements (Section 2.17)
o <figure> elements (Section 2.22)
o <artwork> elements (Section 2.5)
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <spanx> elements (Section 2.46)
Hoffman Expires September 19, 2014 [Page 41]
Internet-Draft XML2RFCv3 March 2014
o <vspace> elements (Section 2.56)
o <tt> elements (Section 2.52)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.48.1. 'anchor' attribute
Document-wide unique identifier for this paragraph.
2.49. <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.44).
Content model:
In this order:
1. One optional <preamble> element (Section 2.39)
2. One or more <ttcol> elements (Section 2.53)
3. Optional <c> elements (Section 2.10)
4. One optional <postamble> element (Section 2.38)
2.49.1. 'align' attribute
Determines the horizontal alignment of the table.
Allowed values:
o "left"
o "center" (default)
Hoffman Expires September 19, 2014 [Page 42]
Internet-Draft XML2RFCv3 March 2014
o "right"
2.49.2. 'anchor' attribute
Document-wide unique identifier for this table.
2.49.3. 'style' attribute
Selects which borders should be drawn, where
o "all" means borders around all table cells,
o "full" is like "all" except no horizontal lines between table rows
(except below the column titles),
o "headers" adds just a separator between column titles and rows,
and
o "none" means no borders at all.
Allowed values:
o "all"
o "none"
o "headers"
o "full" (default)
2.49.4. 'suppress-title' attribute
Tables that have an "anchor" attribute will automatically get an
autogenerated title (such as "Table 1"). Setting this attribute to
"false" will prevent this.
Allowed values:
o "true"
o "false" (default)
2.49.5. 'title' attribute
The title for the table; this appears on a line after the table's
body. If the table has an "anchor" attribute, the title gets an
autogenerated label such as "Table 1", unless the "suppress-title"
attribute is set to "true".
Hoffman Expires September 19, 2014 [Page 43]
Internet-Draft XML2RFCv3 March 2014
2.50. <tindent>
Contains a paragraph of text. The paragraph is displayed with the
left and right paragraph margins indented from the page margins.
This element appears as child element of: <section> (Section 2.44).
Content model:
In any order:
o Text
o <figure> elements (Section 2.22)
o <artwork> elements (Section 2.5)
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <tt> elements (Section 2.52)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.50.1. 'anchor' attribute
Document-wide unique identifier for this indented paragraph.
2.51. <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.
This element appears as child element of: <front> (Section 2.24).
Content model: only text content.
Hoffman Expires September 19, 2014 [Page 44]
Internet-Draft XML2RFCv3 March 2014
2.51.1. 'abbrev' attribute
Specifies an abbreviated variant of the document title.
2.52. <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), <blockquote> (Section 2.9), <c> (Section 2.10),
<cref> (Section 2.14), <dd> (Section 2.16), <dt> (Section 2.18), <i>
(Section 2.25), <innerRefContent> (Section 2.26), <li>
(Section 2.29), <postamble> (Section 2.38), <preamble>
(Section 2.39), <t> (Section 2.48), and <tindent> (Section 2.50).
Content model:
In any order:
o Text
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o <b> elements (Section 2.7)
o <i> elements (Section 2.25)
2.53. <ttcol>
Contains a column heading in a table.
This element appears as child element of: <texttable> (Section 2.49).
Content model:
In any order:
o <xref> elements (Section 2.58)
o <eref> elements (Section 2.20)
Hoffman Expires September 19, 2014 [Page 45]
Internet-Draft XML2RFCv3 March 2014
o <iref> elements (Section 2.27)
o <cref> elements (Section 2.14)
o Text
2.53.1. 'align' attribute
Determines the horizontal alignment within the table column.
Allowed values:
o "left" (default)
o "center"
o "right"
2.53.2. 'width' attribute
The desired column width (as integer 0..100 followed by "%").
2.54. <ul>
An unordered list. The labels on the items will be symbols picked by
the processor.
This element appears as child element of: <dd> (Section 2.16), <li>
(Section 2.29), and <t> (Section 2.48).
Content model:
One or more <li> elements (Section 2.29)
2.54.1. 'empty' attribute
Defines whether or not the label is empty. empty="true" indicates
that no label be shown.
Allowed values:
o "false" (default)
o "true"
Hoffman Expires September 19, 2014 [Page 46]
Internet-Draft XML2RFCv3 March 2014
2.54.2. 'spacing' attribute
Defines whether or not there is a blank line between entries.
spacing="normal" indicates a single blank line, while
spacing="compact" indicates no space between.
Allowed values:
o "normal" (default)
o "compact"
2.55. <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.56. <vspace>
Deprecated.
This element appears as child element of: <t> (Section 2.48).
Content model: this element does not have any contents.
2.56.1. 'blankLines' attribute
Deprecated.
2.57. <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.43.9).
This element appears as child element of: <front> (Section 2.24).
Hoffman Expires September 19, 2014 [Page 47]
Internet-Draft XML2RFCv3 March 2014
Content model: only text content.
2.58. <xref>
Inserts a reference to a different part of a document.
The generated text depends on whether the <xref> is empty (in which
case the processor will try to generate a meaningful text fragment),
and the nature of the referenced document part.
Any element that allows the "anchor" attribute can be referenced,
however there are restrictions with respect to the text content being
generated. For instance, a <t> can be a reference target, however,
because paragraphs are not (visibly) numbered, the author will have
to make sure that the prose is sufficient for a reader to understand
what is being referred to.
This element appears as child element of: <annotation> (Section 2.3),
<b> (Section 2.7), <c> (Section 2.10), <cref> (Section 2.14), <dd>
(Section 2.16), <dt> (Section 2.18), <i> (Section 2.25), <li>
(Section 2.29), <postamble> (Section 2.38), <preamble>
(Section 2.39), <t> (Section 2.48), <tindent> (Section 2.50), <tt>
(Section 2.52), and <ttcol> (Section 2.53).
Content model: only text content.
2.58.1. 'format' attribute
This attribute is used to control the format of the generated
reference text.
"counter"
Inserts a counter, such as the number of a section, figure, or
table.
"default"
Inserts a text fragment that describes the referenced part
completely, such as "Section 2", "Table 4", or "[XML]".
"none"
There will be no auto-generated text.
"title"
Hoffman Expires September 19, 2014 [Page 48]
Internet-Draft XML2RFCv3 March 2014
Inserts a title for the referenced element (usually obtained from
the referenced element's "title" attribute; some processors also
use the <title> child element or a <reference> target).
Allowed values:
o "counter"
o "title"
o "none"
o "default" (default)
2.58.2. 'pageno' attribute
Deprecated.
Allowed values:
o "true"
o "false" (default)
2.58.3. 'section' attribute
Specifies a section for the generated reference. For example,
See <xref section="2.3" target="RFC6949"/> for more inforation.
would generate
See Section 2.3 of [RFC6949] for more information.
2.58.4. 'target' attribute (mandatory)
Identifies the document component being referenced.
The value needs to match the value of the "anchor" attribute of
another element in the document.
3. Special Unicode Code Points
[[anchor3: Explain those code points where the processors implement
something special, such as "nbsp".]]
Hoffman Expires September 19, 2014 [Page 49]
Internet-Draft XML2RFCv3 March 2014
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 ([RFC2223], Section 3). 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
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
"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].
Hoffman Expires September 19, 2014 [Page 50]
Internet-Draft XML2RFCv3 March 2014
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.
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
Hoffman Expires September 19, 2014 [Page 51]
Internet-Draft XML2RFCv3 March 2014
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",
<http://www.ietf.org/id-info/guidelines.html>.
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
3", BCP 9, RFC 2026, October 1996.
[RFC2223] Postel, J. and J. Reynolds, "Instructions to RFC
Authors", RFC 2223, October 1997.
[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.
Hoffman Expires September 19, 2014 [Page 52]
Internet-Draft XML2RFCv3 March 2014
[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",
<http://www.rfc-editor.org/policy.html>.
[RFCSTYLE] Heather, H. and S. Ginoza, "RFC Style Guide",
draft-iab-styleguide (work in progress).
[RNC] Clark, J., "RELAX NG Compact Syntax", OASIS ,
November 2002, <http://www.oasis-open.org/committees/
relax-ng/compact-20021121.html>.
[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,
Hoffman Expires September 19, 2014 [Page 53]
Internet-Draft XML2RFCv3 March 2014
<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
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
Hoffman Expires September 19, 2014 [Page 54]
Internet-Draft XML2RFCv3 March 2014
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.
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":
Hoffman Expires September 19, 2014 [Page 55]
Internet-Draft XML2RFCv3 March 2014
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".
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).
Hoffman Expires September 19, 2014 [Page 56]
Internet-Draft XML2RFCv3 March 2014
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"
| "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 {
Hoffman Expires September 19, 2014 [Page 57]
Internet-Draft XML2RFCv3 March 2014
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 }?,
attribute ascii { text }?,
organization?,
address?
}
organization =
element organization {
attribute abbrev { text }?,
attribute ascii { text }?,
text
}
address =
element address { (postal | phone | facsimile | email | uri)* }
postal =
element postal {
(street | city | region | code | country)* | postalline+
}
street = element street { text }
city = element city { text }
region = element region { text }
code = element code { text }
country = element country { text }
postalline = element postalline { text }
phone = element phone { text }
facsimile = element facsimile { text }
email =
element email {
attribute ascii { text }?,
text
}
uri = element uri { text }
date =
element date {
attribute day { text }?,
Hoffman Expires September 19, 2014 [Page 58]
Internet-Draft XML2RFCv3 March 2014
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 | tindent | figure | texttable | iref | artwork)*,
section*
}
t =
element t {
attribute anchor { xsd:ID }?,
(text
| \list
| ol
| ul
| dl
| figure
| artwork
| xref
| eref
| iref
| cref
| spanx
| vspace
| tt
| b
| i)*
}
tindent =
element tindent {
Hoffman Expires September 19, 2014 [Page 59]
Internet-Draft XML2RFCv3 March 2014
attribute anchor { xsd:ID }?,
(text | figure | artwork | xref | eref | iref | cref | tt | b |
i)*
}
blockquote =
element blockquote {
attribute anchor { xsd:ID }?,
attribute cite { text },
(text | figure | artwork | tt | b | i)*
}
\list =
element list {
[ a:defaultValue = "empty" ] attribute style { text }?,
attribute hangIndent { text }?,
attribute counter { text }?,
t+
}
ol =
element ol {
[ a:defaultValue = "1" ] attribute style { text }?,
[ a:defaultValue = "1" ] attribute start { text }?,
[ a:defaultValue = "normal" ]
attribute spacing { "normal" | "compact" }?,
li+
}
ul =
element ul {
[ a:defaultValue = "normal" ]
attribute spacing { "normal" | "compact" }?,
[ a:defaultValue = "false" ] attribute empty { "false" | "true"
}?,
li+
}
li =
element li {
t+
| (text,
ol,
ul,
dl,
figure,
artwork,
xref,
eref,
iref,
cref,
tt,
b,
Hoffman Expires September 19, 2014 [Page 60]
Internet-Draft XML2RFCv3 March 2014
i)+
}
dl =
element dl {
[ a:defaultValue = "normal" ]
attribute spacing { "normal" | "compact" }?,
[ a:defaultValue = "false" ]
attribute hanging { "false" | "true" }?,
(dt, dd)+
}
dt = element dt { (text | xref | eref | iref | cref | tt | b | i)* }
dd =
element dd {
(text
| ol
| ul
| figure
| artwork
| xref
| eref
| iref
| cref
| tt
| b
| i)*
}
xref =
element xref {
attribute target { xsd:IDREF },
[ a:defaultValue = "false" ] attribute pageno { "true" | "false"
}?,
[ a:defaultValue = "default" ]
attribute format { "counter" | "title" | "none" | "default" }?,
attribute section { text }?,
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
Hoffman Expires September 19, 2014 [Page 61]
Internet-Draft XML2RFCv3 March 2014
}
cref =
element cref {
attribute anchor { xsd:ID }?,
attribute source { text }?,
(text | xref | eref | b | i | tt)*
}
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)* }
spanx =
element spanx {
[ a:defaultValue = "preserve" ]
attribute xml:space { "default" | "preserve" }?,
[ a:defaultValue = "emph" ] attribute style { text }?,
text
}
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 | spanx | tt | b | i)*
}
artwork =
element artwork {
attribute xml:space { text }?,
[ a:defaultValue = "" ] attribute name { text }?,
[ a:defaultValue = "" ] attribute type { text }?,
Hoffman Expires September 19, 2014 [Page 62]
Internet-Draft XML2RFCv3 March 2014
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 | spanx | tt | b | 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 | spanx | 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 }?,
Hoffman Expires September 19, 2014 [Page 63]
Internet-Draft XML2RFCv3 March 2014
((attribute series { text },
attribute document { text })
| (front, (seriesInfo | format | innerRefContent |
annotation)*))
}
seriesInfo =
element seriesInfo {
attribute name { text },
attribute value { text },
empty
}
format =
element format {
attribute target { text }?,
attribute type { text },
attribute octets { text }?,
empty
}
annotation =
element annotation {
(text | xref | eref | iref | cref | spanx | tt | b | i)*
}
innerRefContent = element innerRefContent { (text | tt | b | i)* }
start = rfc
Index
A
abbrev attribute
in organization element 30
in title element 45
abstract element 8
inside front 24
address element 8
inside author 13
align attribute
in artwork element 10
in figure element 22
in texttable element 42
in ttcol element 46
alt attribute
in artwork element 11
in figure element 22
anchor attribute
in blockquote element 15
in cref element 17
in figure element 22
Hoffman Expires September 19, 2014 [Page 64]
Internet-Draft XML2RFCv3 March 2014
in reference element 34
in section element 39
in t element 42
in texttable element 43
in tindent element 44
annotation element 8
application/rfc+xml Media Type 50
area element 9
inside front 24
artwork element 10
align attribute 10
alt attribute 11
height attribute 11
inside blockquote 15
inside dd 18
inside figure 22
inside li 26
inside section 38
inside t 41
inside tindent 44
name attribute 11
src attribute 11
type attribute 11
width attribute 12
xml:lang attribute 12
xml:space attribute 12
ascii attribute
in author element 13
in email element 20
in organization element 30
Attributes
abbrev 30, 45
align 10, 22, 42, 46
alt 11, 22
anchor 15, 17, 22, 34, 39, 42-44
ascii 13, 20, 30
blankLines 47
category 35
cite 15
consensus 36
counter 27
day 18
docName 36
document 34
empty 46
format 48
fullname 13
hangIndent 27
Hoffman Expires September 19, 2014 [Page 65]
Internet-Draft XML2RFCv3 March 2014
hanging 19
height 11, 22
initials 13
ipr 36
iprExtract 37
item 25
month 18
name 11, 40
number 37
numbered 39
obsoletes 37
octets 23
pageno 49
primary 25
removeinrfc 39
role 13
section 49
series 34
seriesNo 37
source 17
spacing 19, 28, 47
src 11, 22
start 28
style 27, 29, 40, 43
subitem 26
submissionType 37
suppress-title 22, 43
surname 14
target 21, 23, 34, 49
title 23, 28, 35, 39, 43
toc 39
type 11, 23
updates 38
value 40
width 12, 23, 46
xml:lang 12, 14, 38
xml:space 12, 40
year 18
author element 12
ascii attribute 13
fullname attribute 13
initials attribute 13
inside front 23
role attribute 13
surname attribute 14
xml:lang attribute 14
B
Hoffman Expires September 19, 2014 [Page 66]
Internet-Draft XML2RFCv3 March 2014
b element 14
inside annotation 9
inside blockquote 15
inside c 16
inside cref 17
inside dd 19
inside dt 20
inside i 24
inside innerRefContent 25
inside li 27
inside postamble 31
inside preamble 32
inside t 42
inside tindent 44
inside tt 45
back element 14
inside rfc 35
blankLines attribute
in vspace element 47
blockquote element 15
anchor attribute 15
cite attribute 15
C
c element 15
inside texttable 42
category attribute
in rfc element 35
cite attribute
in blockquote element 15
city element 16
inside postal 30
code element 16
inside postal 30
consensus attribute
in rfc element 36
counter attribute
in list element 27
country element 16
inside postal 30
cref element 16
anchor attribute 17
inside annotation 9
inside b 14
inside c 16
inside dd 19
inside dt 20
inside i 24
Hoffman Expires September 19, 2014 [Page 67]
Internet-Draft XML2RFCv3 March 2014
inside li 27
inside postamble 31
inside preamble 32
inside t 41
inside tindent 44
inside tt 45
inside ttcol 46
source attribute 17
D
date element 17
day attribute 18
inside front 24
month attribute 18
year attribute 18
day attribute
in date element 18
dd element 18
inside dl 19
dl element 19
hanging attribute 19
inside li 26
inside t 41
spacing attribute 19
docName attribute
in rfc element 36
document attribute
in reference element 34
dt element 20
inside dl 19
E
Elements
abstract 8, 24
address 8, 13
annotation 8
area 9, 24
artwork 10, 15, 18, 22, 26, 38, 41, 44
author 12, 23
b 9, 14-17, 19-20, 24-25, 27, 31-32, 42, 44-45
back 14, 35
blockquote 15
c 15, 42
city 16, 30
code 16, 30
country 16, 30
cref 9, 14, 16, 19-20, 24, 27, 31-32, 41, 44-46
date 17, 24
Hoffman Expires September 19, 2014 [Page 68]
Internet-Draft XML2RFCv3 March 2014
dd 18-19
dl 19, 26, 41
dt 19-20
email 8, 20
eref 9, 14, 16-17, 19-21, 24, 27, 31-32, 41, 44-45
facsimile 8, 21
figure 15, 18, 21, 26, 38, 41, 44
format 23
front 23, 35
i 9, 14-17, 19-20, 24-25, 27, 31-32, 42, 44-45
innerRefContent 24
iref 9, 14, 16, 19-21, 24-25, 27, 31-32, 38, 41, 44-46
keyword 24, 26
li 26, 28, 46
list 27, 41
middle 27, 35
note 24, 28
ol 18, 26, 28, 41
organization 13, 29
phone 8, 30
postal 8, 30
postalline 31
postamble 22, 31, 42
preamble 21, 31, 42
reference 32, 34
references 15, 34
region 30, 35
rfc 35
section 15, 27, 38-39
seriesInfo 40
spanx 9, 16, 31-32, 40-41
street 30, 41
t 8, 26-28, 38, 41
texttable 38, 42
tindent 38, 44
title 23, 44
tt 9, 14-17, 19-20, 24-25, 27, 31-32, 42, 44-45
ttcol 42, 45
ul 18, 26, 41, 46
uri 8, 47
vspace 42, 47
workgroup 24, 47
xref 9, 14, 16-18, 20, 24, 27, 31-32, 41, 44-45, 48
email element 20
ascii attribute 20
inside address 8
empty attribute
in ul element 46
Hoffman Expires September 19, 2014 [Page 69]
Internet-Draft XML2RFCv3 March 2014
eref element 21
inside annotation 9
inside b 14
inside c 16
inside cref 17
inside dd 19
inside dt 20
inside i 24
inside li 27
inside postamble 31
inside preamble 32
inside t 41
inside tindent 44
inside tt 45
inside ttcol 45
target attribute 21
F
facsimile element 21
inside address 8
figure element 21
align attribute 22
alt attribute 22
anchor attribute 22
height attribute 22
inside blockquote 15
inside dd 18
inside li 26
inside section 38
inside t 41
inside tindent 44
src attribute 22
suppress-title attribute 22
title attribute 23
width attribute 23
format attribute
in xref element 48
format element 23
octets attribute 23
target attribute 23
type attribute 23
front element 23
inside rfc 35
fullname attribute
in author element 13
H
hangIndent attribute
Hoffman Expires September 19, 2014 [Page 70]
Internet-Draft XML2RFCv3 March 2014
in list element 27
hanging attribute
in dl element 19
height attribute
in artwork element 11
in figure element 22
I
i element 24
inside annotation 9
inside b 14
inside blockquote 15
inside c 16
inside cref 17
inside dd 19
inside dt 20
inside innerRefContent 25
inside li 27
inside postamble 31
inside preamble 32
inside t 42
inside tindent 44
inside tt 45
initials attribute
in author element 13
innerRefContent element 24
ipr attribute
'*2026' 56
'*3667' 56
'*3978' 56
'*trust200811' 56
'*trust200902' 54
'noDerivativesTrust200902' 55
'noModificationTrust200902' 55
'pre5378Trust200902' 55
'trust200902' 55
in rfc element 36
iprExtract attribute
in rfc element 37
iref element 25
inside annotation 9
inside b 14
inside c 16
inside dd 19
inside dt 20
inside figure 21
inside i 24
inside li 27
Hoffman Expires September 19, 2014 [Page 71]
Internet-Draft XML2RFCv3 March 2014
inside postamble 31
inside preamble 32
inside section 38
inside t 41
inside tindent 44
inside tt 45
inside ttcol 46
item attribute 25
primary attribute 25
subitem attribute 26
item attribute
in iref element 25
K
keyword element 26
inside front 24
L
li element 26
inside ol 28
inside ul 46
list element 27
counter attribute 27
hangIndent attribute 27
inside t 41
style attribute 27
M
Media Type
application/rfc+xml 50
middle element 27
inside rfc 35
month attribute
in date element 18
N
name attribute
in artwork element 11
in seriesInfo element 40
note element 28
inside front 24
title attribute 28
number attribute
in rfc element 37
numbered attribute
in section element 39
O
Hoffman Expires September 19, 2014 [Page 72]
Internet-Draft XML2RFCv3 March 2014
obsoletes attribute
in rfc element 37
octets attribute
in format element 23
ol element 28
inside dd 18
inside li 26
inside t 41
spacing attribute 28
start attribute 28
style attribute 29
organization element 29
abbrev attribute 30
ascii attribute 30
inside author 13
P
pageno attribute
in xref element 49
phone element 30
inside address 8
postal element 30
inside address 8
postalline element 31
inside postal 31
postamble element 31
inside figure 22
inside texttable 42
preamble element 31
inside figure 21
inside texttable 42
primary attribute
in iref element 25
R
reference element 32
anchor attribute 34
document attribute 34
inside references 34
series attribute 34
target attribute 34
references element 34
inside back 15
title attribute 35
region element 35
inside postal 30
removeinrfc attribute
in section element 39
Hoffman Expires September 19, 2014 [Page 73]
Internet-Draft XML2RFCv3 March 2014
rfc element 35
category attribute 35
consensus attribute 36
docName attribute 36
ipr attribute 36
iprExtract attribute 37
number attribute 37
obsoletes attribute 37
seriesNo attribute 37
submissionType attribute 37
updates attribute 38
xml:lang attribute 38
role attribute
in author element 13
S
section attribute
in xref element 49
section element 38
anchor attribute 39
inside back 15
inside middle 27
inside section 39
numbered attribute 39
removeinrfc attribute 39
title attribute 39
toc attribute 39
series attribute
in reference element 34
seriesInfo element 40
name attribute 40
value attribute 40
seriesNo attribute
in rfc element 37
source attribute
in cref element 17
spacing attribute
in dl element 19
in ol element 28
in ul element 47
spanx element 40
inside annotation 9
inside c 16
inside postamble 31
inside preamble 32
inside t 41
style attribute 40
xml:space attribute 40
Hoffman Expires September 19, 2014 [Page 74]
Internet-Draft XML2RFCv3 March 2014
src attribute
in artwork element 11
in figure element 22
start attribute
in ol element 28
street element 41
inside postal 30
style attribute
in list element 27
in ol element 29
in spanx element 40
in texttable element 43
subitem attribute
in iref element 26
submissionType attribute
in rfc element 37
suppress-title attribute
in figure element 22
in texttable element 43
surname attribute
in author element 14
T
t element 41
anchor attribute 42
inside abstract 8
inside li 26
inside list 27
inside note 28
inside section 38
target attribute
in eref element 21
in format element 23
in reference element 34
in xref element 49
texttable element 42
align attribute 42
anchor attribute 43
inside section 38
style attribute 43
suppress-title attribute 43
title attribute 43
tindent element 44
anchor attribute 44
inside section 38
title attribute
in figure element 23
in note element 28
Hoffman Expires September 19, 2014 [Page 75]
Internet-Draft XML2RFCv3 March 2014
in references element 35
in section element 39
in texttable element 43
title element 44
abbrev attribute 45
inside front 23
toc attribute
in section element 39
tt element 45
inside annotation 9
inside b 14
inside blockquote 15
inside c 16
inside cref 17
inside dd 19
inside dt 20
inside i 24
inside innerRefContent 25
inside li 27
inside postamble 31
inside preamble 32
inside t 42
inside tindent 44
ttcol element 45
align attribute 46
inside texttable 42
width attribute 46
type attribute
in artwork element 11
in format element 23
U
ul element 46
empty attribute 46
inside dd 18
inside li 26
inside t 41
spacing attribute 47
updates attribute
in rfc element 38
uri element 47
inside address 8
V
value attribute
in seriesInfo element 40
vspace element 47
blankLines attribute 47
Hoffman Expires September 19, 2014 [Page 76]
Internet-Draft XML2RFCv3 March 2014
inside t 42
W
width attribute
in artwork element 12
in figure element 23
in ttcol element 46
workgroup element 47
inside front 24
X
xml:lang attribute
in artwork element 12
in author element 14
in rfc element 38
xml:space attribute
in artwork element 12
in spanx element 40
xref element 48
format attribute 48
inside annotation 9
inside b 14
inside c 16
inside cref 17
inside dd 18
inside dt 20
inside i 24
inside li 27
inside postamble 31
inside preamble 32
inside t 41
inside tindent 44
inside tt 45
inside ttcol 45
pageno attribute 49
section attribute 49
target attribute 49
xref formats
counter 48
default 48
none 48
title 48
Y
year attribute
in date element 18
Hoffman Expires September 19, 2014 [Page 77]
Internet-Draft XML2RFCv3 March 2014
Author's Address
Paul Hoffman
VPN Consortium
EMail: paul.hoffman@vpnc.org
Hoffman Expires September 19, 2014 [Page 78]