Skip to main content

The 'XML2RFC' version 3 Vocabulary
draft-hoffman-xml2rfc-01

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Author Paul E. Hoffman
Last updated 2014-02-11
Replaced by draft-iab-xml2rfc, draft-iab-xml2rfc, RFC 7991
RFC stream (None)
Formats
Reviews
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-hoffman-xml2rfc-01
Network Working Group                                         P. Hoffman
Internet-Draft                                            VPN Consortium
Obsoletes: 2629 (if approved)                          February 11, 2014
Intended status: Standards Track
Expires: August 15, 2014

                   The 'XML2RFC' version 3 Vocabulary
                        draft-hoffman-xml2rfc-01

Abstract

   This document defines the 'XML2RFC' version 3 vocabulary; an XML-
   based language used for writing RFCs and Internet-Drafts.  It is
   heavily derived from the version 2 vocabulary that is also under
   discussion.

Editorial Note (To be removed by RFC Editor)

   Discussion of this draft takes place on the rfc-interest mailing list
   (rfc-interest@rfc-editor.org), which has its home page at
   <https://www.rfc-editor.org/mailman/listinfo/rfc-interest>.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 15, 2014.

Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of

Hoffman                  Expires August 15, 2014                [Page 1]
Internet-Draft                  XML2RFCv3                  February 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 List Handling  . . . . . . . . .  5
       1.1.2.  Design for Changes in Reference Handling . . . . . . .  7
     1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  8
   2.  Elements . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
     2.1.  <abstract> . . . . . . . . . . . . . . . . . . . . . . . .  8
     2.2.  <address>  . . . . . . . . . . . . . . . . . . . . . . . .  8
     2.3.  <annotation> . . . . . . . . . . . . . . . . . . . . . . .  9
     2.4.  <area> . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     2.5.  <artwork>  . . . . . . . . . . . . . . . . . . . . . . . . 10
     2.6.  <author> . . . . . . . . . . . . . . . . . . . . . . . . . 12
     2.7.  <b>  . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
     2.8.  <back> . . . . . . . . . . . . . . . . . . . . . . . . . . 14
     2.9.  <c>  . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
     2.10. <city> . . . . . . . . . . . . . . . . . . . . . . . . . . 15
     2.11. <code> . . . . . . . . . . . . . . . . . . . . . . . . . . 15
     2.12. <country>  . . . . . . . . . . . . . . . . . . . . . . . . 15
     2.13. <cref> . . . . . . . . . . . . . . . . . . . . . . . . . . 15
     2.14. <date> . . . . . . . . . . . . . . . . . . . . . . . . . . 16
     2.15. <email>  . . . . . . . . . . . . . . . . . . . . . . . . . 17
     2.16. <eref> . . . . . . . . . . . . . . . . . . . . . . . . . . 17
     2.17. <facsimile>  . . . . . . . . . . . . . . . . . . . . . . . 18
     2.18. <figure> . . . . . . . . . . . . . . . . . . . . . . . . . 18
     2.19. <format> . . . . . . . . . . . . . . . . . . . . . . . . . 19
     2.20. <front>  . . . . . . . . . . . . . . . . . . . . . . . . . 20
     2.21. <i>  . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     2.22. <iref> . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     2.23. <keyword>  . . . . . . . . . . . . . . . . . . . . . . . . 22
     2.24. <li> . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
     2.25. <list> . . . . . . . . . . . . . . . . . . . . . . . . . . 23
     2.26. <middle> . . . . . . . . . . . . . . . . . . . . . . . . . 27
     2.27. <note> . . . . . . . . . . . . . . . . . . . . . . . . . . 27
     2.28. <organization> . . . . . . . . . . . . . . . . . . . . . . 27
     2.29. <phone>  . . . . . . . . . . . . . . . . . . . . . . . . . 28
     2.30. <postal> . . . . . . . . . . . . . . . . . . . . . . . . . 28
     2.31. <postalbody> . . . . . . . . . . . . . . . . . . . . . . . 28
     2.32. <postamble>  . . . . . . . . . . . . . . . . . . . . . . . 29
     2.33. <preamble> . . . . . . . . . . . . . . . . . . . . . . . . 29

Hoffman                  Expires August 15, 2014                [Page 2]
Internet-Draft                  XML2RFCv3                  February 2014

     2.34. <reference>  . . . . . . . . . . . . . . . . . . . . . . . 30
     2.35. <references> . . . . . . . . . . . . . . . . . . . . . . . 32
     2.36. <region> . . . . . . . . . . . . . . . . . . . . . . . . . 33
     2.37. <rfc>  . . . . . . . . . . . . . . . . . . . . . . . . . . 33
     2.38. <section>  . . . . . . . . . . . . . . . . . . . . . . . . 36
     2.39. <seriesInfo> . . . . . . . . . . . . . . . . . . . . . . . 38
     2.40. <street> . . . . . . . . . . . . . . . . . . . . . . . . . 38
     2.41. <t>  . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
     2.42. <texttable>  . . . . . . . . . . . . . . . . . . . . . . . 39
     2.43. <title>  . . . . . . . . . . . . . . . . . . . . . . . . . 41
     2.44. <tt> . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
     2.45. <ttcol>  . . . . . . . . . . . . . . . . . . . . . . . . . 42
     2.46. <uri>  . . . . . . . . . . . . . . . . . . . . . . . . . . 42
     2.47. <workgroup>  . . . . . . . . . . . . . . . . . . . . . . . 43
     2.48. <xref> . . . . . . . . . . . . . . . . . . . . . . . . . . 43
   3.  Special Unicode Code Points  . . . . . . . . . . . . . . . . . 45
   4.  Internationalization Considerations  . . . . . . . . . . . . . 45
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 45
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 45
     6.1.  Internet Media Type Registration . . . . . . . . . . . . . 45
   7.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 47
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 47
     8.1.  Normative References . . . . . . . . . . . . . . . . . . . 47
     8.2.  Informative References . . . . . . . . . . . . . . . . . . 47
   Appendix A.  Front Page Generation . . . . . . . . . . . . . . . . 49
     A.1.  The /rfc/@category Attribute . . . . . . . . . . . . . . . 49
     A.2.  The /rfc/@ipr Attribute  . . . . . . . . . . . . . . . . . 49
       A.2.1.  Current Values: '*trust200902' . . . . . . . . . . . . 50
       A.2.2.  Historic Values  . . . . . . . . . . . . . . . . . . . 51
   Appendix B.  Relax NG Schema . . . . . . . . . . . . . . . . . . . 52
   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Hoffman                  Expires August 15, 2014                [Page 3]
Internet-Draft                  XML2RFCv3                  February 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.  However, 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.

   The list of changes so far is:

Hoffman                  Expires August 15, 2014                [Page 4]
Internet-Draft                  XML2RFCv3                  February 2014

   o  In <address>, allowed the sub-elements to be in any order.

   o  In <artwork> and <author>, added optional "xml:lang" attribute.

   o  Added the <b>, <i>, and <tt> elements.

   o  In <front>, made <date> optional.

   o  Changed the handling of <list>.  This large change is described in
      Section 1.1.1.

   o  In <postal>, allowed the sub-elements to be in any order.  Also
      allowed the inclusion of <postalbody>.

   o  Added <postalbody>, free text that represents the address.

   o  Changed the handling of <reference>.  This large change is
      described in Section 1.1.2.

   o  In <section>, added the optional "numbered" and "removeinrfc"
      attributes.

   o  Removed the <spanx> element, and replaced it with <b>, <i>, and
      <tt>.

   o  In <ttcol>, added <xref>, <eref>, <iref>, and <cref> as optional
      children.

   o  Removed the <vspace> element because it is no longer needed for
      lists.

1.1.1.  Design for Changes in List Handling

   This section describes one of the larger changes in the design of v3,
   namely the way lists are handled.  The community has asked for many
   changes to list handing to make creating and editing lists more
   intuitive.  The goals include:

   o  List items can have more than one paragraph without triggering
      another list label.

   o  Lists should be block elements, not inline (flow) elements.  They
      should be usable outside <t>.

   o  Give more control over the labels for "style" of "letters",
      "numbers", or "symbols".  Make more explicit the rules for nested
      lists that use the defaults for a "style".

Hoffman                  Expires August 15, 2014                [Page 5]
Internet-Draft                  XML2RFCv3                  February 2014

   o  Make hanging lists more like other list styles.

   o  Make a real "dictionary" style, with the definition starting on a
      new line.

   o  Don't mix label style with content (the "format" attribute).

   o  Create a new mechanism to cause a paragraph to be indented,
      without using <list style="empty">.

   To meet these goals, the following changes have been made in the v3
   vocabulary:

   o  <list> is changed to have each list item is represented by a <li>
      element.  The content model for <li> is the same as that of
      <annotation> with the addition of <t>, namely: text, <b>, <cref>,
      <eref>, <i>, <iref>, <t>, <tt>, and <xref>.

   o  Inside of an <li> element, a <t> elements causes a break but
      without triggering another label.  The <li> element has optional
      attributes only where needed.

   o  <list> no longer needs to be inside of <t>, and can appear in the
      other contexts where a list might be expected.

   o  <list> has a new optional "anchor" attribute so that a list can be
      referenced from other places in the text.

   o  For the "style" attributes in <list>:

      *  For "letters", "numbers", and "symbols", there is an optional
         "format" attribute that matches the current one for formatting
         the label.  There will be a clear set of defaults for each of
         these given in the spec.

      *  For "hanging", the <li> element has an optional attribute of
         "hangText".

      *  Add a new style of "dictionary", the <li> element has an
         optional attribute of "term".

   An example of using the new format for a simple bulleted list where
   the second item has two paragraphs is:

Hoffman                  Expires August 15, 2014                [Page 6]
Internet-Draft                  XML2RFCv3                  February 2014

   <list style="symbols">
      <li>This is the first element with a bullet.</li>
      <li>This is the second element with a bullet.
         <t>This is part of the second element,
         but it does not have a bullet</t></li>
      <li>This is the third element with a bullet.</li>
   </list>

1.1.2.  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
   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.

Hoffman                  Expires August 15, 2014                [Page 7]
Internet-Draft                  XML2RFCv3                  February 2014

1.2.  Syntax Notation

   The XML vocabulary here is defined in prose, based on the Relax NG
   schema ([RNC]) contained in Appendix B (specified in Relax NG Compact
   Notation, "RNC").

   Note that the schema can be used for automated validity checks, but
   certain constraints are only described in prose (example: the
   conditionally required presence of the "abbrev" attribute).

2.  Elements

   [[anchor2: In the section below, some elements/attributes do not have
   a prose description yet.  This is because this is work-in-progress;
   feedback with accurate descriptions is appreciated.]]

   The sections below describe all elements and their attributes.

   Note that attributes not labeled "mandatory" are optional.

2.1.  <abstract>

   Contains the abstract of the document.  The abstract ought to be
   self-contained and thus should not contain references or unexpanded
   abbreviations.  See Section 4.3 of [RFCSTYLE] for more information.

   This element appears as child element of: <front> (Section 2.20).

   Content model:

   One or more <t> elements (Section 2.41)

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.30)

   o  <phone> elements (Section 2.29)

   o  <facsimile> elements (Section 2.17)

Hoffman                  Expires August 15, 2014                [Page 8]
Internet-Draft                  XML2RFCv3                  February 2014

   o  <email> elements (Section 2.15)

   o  <uri> elements (Section 2.46)

2.3.  <annotation>

   Provides additional prose augmenting a bibliographical reference.

   For instance:

   <annotation>
     Latest version available at <eref
     target='http://www.w3.org/TR/xml'/>.
   </annotation>

   ...will generate the text used in the reference for [XML].

   This element appears as child element of: <reference> (Section 2.34).

   Content model:

   In any order:

   o  Text

   o  <xref> elements (Section 2.48)

   o  <eref> elements (Section 2.16)

   o  <iref> elements (Section 2.22)

   o  <cref> elements (Section 2.13)

   o  <tt> elements (Section 2.44)

   o  <b> elements (Section 2.7)

   o  <i> elements (Section 2.21)

2.4.  <area>

   Provides information about the IETF area this document applies to
   (currently not used when generating documents).

   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

Hoffman                  Expires August 15, 2014                [Page 9]
Internet-Draft                  XML2RFCv3                  February 2014

   Infrastructure", "rai", "Routing", "rtg", "Security", "sec",
   "Transport", "tsv".

   This element appears as child element of: <front> (Section 2.20).

   Content model: only text content.

2.5.  <artwork>

   This element allows the inclusion of "artwork" into the document.

   <artwork> provides full control of horizontal whitespace and line
   breaks, and thus is used for a variety of things, such as:

   o  diagrams ("line art"),

   o  source code,

   o  formal languages (such as ABNF or the RNC notation used in this
      document),

   o  complex tables, or

   o  protocol unit diagrams.

   Alternatively, the "src" attribute allows referencing an external
   graphics file, such as a bitmap or a vector drawing.  In this case,
   the textual content acts as fallback for output formats that do not
   support graphics, and thus ought to contain either a "line art"
   variant of the graphics, or otherwise prose that describes the
   included image in sufficient detail.  Note that RFCs occasionally are
   published with enhanced diagrams; a recent example is [RFC5598].

   This element appears as child element of: <figure> (Section 2.18).

   Content model:

   Text

2.5.1.  'align' attribute

   Controls whether the artwork appears left (default), centered, or
   right.

   Allowed values:

   o  "left" (default)

Hoffman                  Expires August 15, 2014               [Page 10]
Internet-Draft                  XML2RFCv3                  February 2014

   o  "center"

   o  "right"

2.5.2.  'alt' attribute

   Alternative text description of the artwork (not just the caption).

2.5.3.  'height' attribute

   The suggested height of the graphics included using the "src"
   attribute.

   This attribute is format-dependent and ought to be avoided.

   When generating HTML output, current implementations copy the
   attribute "as is".  For other output formats it is usually ignored.

2.5.4.  'name' attribute

   A filename suitable for the contents (such as for extraction to a
   local file).

   This attribute generally isn't used for document generation, but it
   can be helpful for other kinds of tools (such as automated syntax
   checkers which work by extracting the source code).

2.5.5.  'src' attribute

   The URI of a graphics file.

   Note that this can be a "data" URI ([RFC2397]) as well, in which case
   the graphics file essentially is in-lined.

2.5.6.  'type' attribute

   Specifies the type of the artwork.

   The value either is a well-known keyword (such as "abnf"), or an
   Internet Media Type (see [RFC2046]).

   How it is used depends on context and application.  For instance, a
   formatter can attempt to syntax-highlight code in certain known
   languages.

Hoffman                  Expires August 15, 2014               [Page 11]
Internet-Draft                  XML2RFCv3                  February 2014

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

   Determines whitespace handling.

   "preserve" is both the default value and the only meaningful setting
   anyway (because that's what the <artwork> element is for).

   See also Section 2.10 of [XML].

   Allowed values:

   o  "default"

   o  "preserve" (default)

2.6.  <author>

   Provides information about a document author.

   The <author> elements contained within the document's <front> element
   are used to fill the boilerplate, and also to generate the "Author's
   Address" section (see Section 4.12 of [RFCSTYLE]).

   Note that an "author" can also be just an organization (by not
   specifying any of the name attributes, but adding the <organization>
   child element).

   Furthermore, the "role" attribute can be used to mark an author as
   "editor".  This is reflected both on the front page and in
   bibliographical references.  Note that this specification does not
   define a precise meaning for the term "editor".

   See Section "Authors vs. Contributors" of [RFCPOLICY] for more

Hoffman                  Expires August 15, 2014               [Page 12]
Internet-Draft                  XML2RFCv3                  February 2014

   information.

   This element appears as child element of: <front> (Section 2.20).

   Content model:

   In this order:

   1.  One optional <organization> element (Section 2.28)

   2.  One optional <address> element (Section 2.2)

2.6.1.  'fullname' attribute

   The full name (used in the automatically generated "Author's Address"
   section).

2.6.2.  'initials' attribute

   Author initials (used on the front page and in references).

   Initials should be provided as a whitespace separated list of pairs
   of a letter and a dot.

2.6.3.  'role' attribute

   Specifies the role the author had in creating the document.

   Allowed values:

   o  "editor"

2.6.4.  'surname' attribute

   The author's surname.

2.6.5.  'xml:lang' attribute

   Allows specification of the language used.  This is sometimes useful
   for renderers which display different fonts for CJK characters.

2.7.  <b>

   Causes the text to be displayed in a bold font.

   This element appears as child element of: <annotation> (Section 2.3),
   <c> (Section 2.9), <i> (Section 2.21), <li> (Section 2.24),
   <postamble> (Section 2.32), <preamble> (Section 2.33), <t>

Hoffman                  Expires August 15, 2014               [Page 13]
Internet-Draft                  XML2RFCv3                  February 2014

   (Section 2.41), and <tt> (Section 2.44).

   Content model:

   In any order:

   o  Text

   o  <xref> elements (Section 2.48)

   o  <eref> elements (Section 2.16)

   o  <iref> elements (Section 2.22)

   o  <cref> elements (Section 2.13)

   o  <tt> elements (Section 2.44)

   o  <i> elements (Section 2.21)

2.8.  <back>

   Contains the "back" part of the document: the references and
   appendices.

   This element appears as child element of: <rfc> (Section 2.37).

   Content model:

   In this order:

   1.  Optional <references> elements (Section 2.35)

   2.  Optional <section> elements (Section 2.38)

2.9.  <c>

   Provides the content of a cell in a table.

   This element appears as child element of: <texttable> (Section 2.42).

   Content model:

   In any order:

   o  Text

Hoffman                  Expires August 15, 2014               [Page 14]
Internet-Draft                  XML2RFCv3                  February 2014

   o  <xref> elements (Section 2.48)

   o  <eref> elements (Section 2.16)

   o  <iref> elements (Section 2.22)

   o  <cref> elements (Section 2.13)

   o  <tt> elements (Section 2.44)

   o  <b> elements (Section 2.7)

   o  <i> elements (Section 2.21)

2.10.  <city>

   Gives the city name in a postal address.

   This element appears as child element of: <postal> (Section 2.30).

   Content model: only text content.

2.11.  <code>

   Gives the postal region code.

   This element appears as child element of: <postal> (Section 2.30).

   Content model: only text content.

2.12.  <country>

   Gives the country in a postal address.

   This element appears as child element of: <postal> (Section 2.30).

   Content model: only text content.

2.13.  <cref>

   Represents a comment.

   Comments can be used in a document while it is work-in-progress.
   They usually appear either inline and visually highlighted, at the
   end of the document (depending on file format and settings of the
   formatter), or not at all (when generating an RFC).

   This element appears as child element of: <annotation> (Section 2.3),

Hoffman                  Expires August 15, 2014               [Page 15]
Internet-Draft                  XML2RFCv3                  February 2014

   <b> (Section 2.7), <c> (Section 2.9), <i> (Section 2.21), <li>
   (Section 2.24), <postamble> (Section 2.32), <preamble>
   (Section 2.33), <t> (Section 2.41), <tt> (Section 2.44), and <ttcol>
   (Section 2.45).

   Content model: only text content.

2.13.1.  'anchor' attribute

   Document-wide unique identifier for this comment.  The processor will
   auto-generate an identifier when none is given.

   The value needs to be a valid XML "Name" (Section 2.3 of [XML]).

2.13.2.  'source' attribute

   Holds the "source" of a comment, such as the name or the initials of
   the person who made the comment.

2.14.  <date>

   Provides information about the publication date.

   Note that this element is used both for the boilerplate of the
   document being produced, and also inside bibliographic references.

   In the first case, it defines the publication date, which, when
   producing Internet-Drafts, will be used for computing the expiration
   date (see Section 8 of [IDGUIDE]).  When "year", "month" or "day" are
   left out, the processor will attempt to use the current system date
   if the attributes that are specified do match the system date.

   Note that month names need to match the full (English) month name
   ("January", "February", "March", "April", "May, "June", "July",
   "August", "September", "October", "November", or "December") in order
   for expiration calculations to work (some implementations might
   support additional formats, though).

   In the second case, the date information will be embedded as-is into
   the reference text.  Therefore, also vague dates ("ca. 2000"), date
   ranges, and so on, are allowed.

   This element appears as child element of: <front> (Section 2.20).

   Content model: this element does not have any contents.

Hoffman                  Expires August 15, 2014               [Page 16]
Internet-Draft                  XML2RFCv3                  February 2014

2.14.1.  'day' attribute

   Day of publication.

2.14.2.  'month' attribute

   Month of publication.

2.14.3.  'year' attribute

   Year of publication.

2.15.  <email>

   Provides an email address.

   The value is expected to be the scheme-specific part of a "mailto"
   URI (so does not include the prefix "mailto:").  See Section 2 of
   [RFC6068] for details.

   This element appears as child element of: <address> (Section 2.2).

   Content model: only text content.

2.16.  <eref>

   Represents an "external" link (as specified in the "target"
   attribute).

   If the element has text content, that content will be used.
   Otherwise, the value of the target attribute will be inserted in
   angle brackets ([RFC3986], Appendix C).

   This element appears as child element of: <annotation> (Section 2.3),
   <b> (Section 2.7), <c> (Section 2.9), <i> (Section 2.21), <li>
   (Section 2.24), <postamble> (Section 2.32), <preamble>
   (Section 2.33), <t> (Section 2.41), <tt> (Section 2.44), and <ttcol>
   (Section 2.45).

   Content model: only text content.

2.16.1.  'target' attribute (mandatory)

   URI of the link target (see Section 3 of [RFC3986]).

Hoffman                  Expires August 15, 2014               [Page 17]
Internet-Draft                  XML2RFCv3                  February 2014

2.17.  <facsimile>

   Represents the phone number of a fax machine.

   The value is expected to be the scheme-specific part of a "tel" URI
   (so does not include the prefix "tel:"), using the "global numbers"
   syntax.  See Section 3 of [RFC3966] for details.

   This element appears as child element of: <address> (Section 2.2).

   Content model: only text content.

2.18.  <figure>

   [[element.figure.missing: element description missing]]

   This element appears as child element of: <section> (Section 2.38),
   and <t> (Section 2.41).

   Content model:

   In this order:

   1.  Optional <iref> elements (Section 2.22)

   2.  One optional <preamble> element (Section 2.33)

   3.  One <artwork> element (Section 2.5)

   4.  One optional <postamble> element (Section 2.32)

2.18.1.  'align' attribute

   Used to change the alignment of <preamble> and <postamble>.

   Note: does not affect title or <artwork> alignment.

   Allowed values:

   o  "left" (default)

   o  "center"

   o  "right"

Hoffman                  Expires August 15, 2014               [Page 18]
Internet-Draft                  XML2RFCv3                  February 2014

2.18.2.  'alt' attribute

   Duplicates functionality available on <artwork>; avoid it.

2.18.3.  'anchor' attribute

   Document-wide unique identifier for this figure.

   The value needs to be a valid XML "Name" (Section 2.3 of [XML]).

2.18.4.  'height' attribute

   Duplicates functionality available on <artwork>; avoid it.

2.18.5.  'src' attribute

   Duplicates functionality available on <artwork>; avoid it.

2.18.6.  'suppress-title' attribute

   Figures that have an "anchor" attribute will automatically get an
   autogenerated title (such as "Figure 1").  Setting this attribute to
   "false" will prevent this.

   Allowed values:

   o  "true"

   o  "false" (default)

2.18.7.  'title' attribute

   [[element.figure.attribute.title.missing: attribute description
   missing]]

2.18.8.  'width' attribute

   Duplicates functionality available on <artwork>; avoid it.

2.19.  <format>

   Provides a link to an additional format variant for a reference.

   Note that these additional links are neither used in published RFCs,
   nor supported by all tools.  If the goal is to provide a single URI
   for a reference, the "target" attribute on <reference> can be used
   instead.

Hoffman                  Expires August 15, 2014               [Page 19]
Internet-Draft                  XML2RFCv3                  February 2014

   This element appears as child element of: <reference> (Section 2.34).

   Content model: this element does not have any contents.

2.19.1.  'octets' attribute

   Octet length of linked-to document.

2.19.2.  'target' attribute

   URI of document.

   [[anchor3: Why is this optional?]]

2.19.3.  'type' attribute (mandatory)

   The type of the linked-to document, such as "TXT", "HTML", or "PDF".

2.20.  <front>

   Represent the "front matter": metadata (such as author information),
   abstract, and additional notes.

   This element appears as child element of: <reference> (Section 2.34),
   and <rfc> (Section 2.37).

   Content model:

   In this order:

   1.  One <title> element (Section 2.43)

   2.  One or more <author> elements (Section 2.6)

   3.  One optional <date> element (Section 2.14)

   4.  Optional <area> elements (Section 2.4)

   5.  Optional <workgroup> elements (Section 2.47)

   6.  Optional <keyword> elements (Section 2.23)

   7.  One optional <abstract> element (Section 2.1)

   8.  Optional <note> elements (Section 2.27)

Hoffman                  Expires August 15, 2014               [Page 20]
Internet-Draft                  XML2RFCv3                  February 2014

2.21.  <i>

   Causes the text to be displayed in an italic font.

   This element appears as child element of: <annotation> (Section 2.3),
   <b> (Section 2.7), <c> (Section 2.9), <postamble> (Section 2.32),
   <preamble> (Section 2.33), <t> (Section 2.41), and <tt>
   (Section 2.44).

   Content model:

   In any order:

   o  Text

   o  <xref> elements (Section 2.48)

   o  <eref> elements (Section 2.16)

   o  <iref> elements (Section 2.22)

   o  <cref> elements (Section 2.13)

   o  <b> elements (Section 2.7)

   o  <tt> elements (Section 2.44)

2.22.  <iref>

   Provides terms for the document's index.

   Index entries can be either single items (when just the "item"
   attribute is given) or nested items (by specifying "subitem" as
   well).

   For instance:

   <iref item="Grammar" subitem="item"/>

   will produce an index entry for "Grammar, item".

   This element appears as child element of: <annotation> (Section 2.3),
   <b> (Section 2.7), <c> (Section 2.9), <figure> (Section 2.18), <i>
   (Section 2.21), <li> (Section 2.24), <postamble> (Section 2.32),
   <preamble> (Section 2.33), <section> (Section 2.38), <t>
   (Section 2.41), <tt> (Section 2.44), and <ttcol> (Section 2.45).

   Content model: this element does not have any contents.

Hoffman                  Expires August 15, 2014               [Page 21]
Internet-Draft                  XML2RFCv3                  February 2014

2.22.1.  'item' attribute (mandatory)

   The item to include.

2.22.2.  'primary' attribute

   Setting this to "true" declares the occurrence as "primary", which
   might cause it to be highlighted in the index.

   Allowed values:

   o  "true"

   o  "false" (default)

2.22.3.  'subitem' attribute

   The subitem to include.

2.23.  <keyword>

   Specifies a keyword applicable to the document.

   Note that each element should only contain a single keyword; for
   multiple keywords, the element can simply be repeated.

   Keywords are used both in the RFC Index and in the metadata of
   generated document formats.

   This element appears as child element of: <front> (Section 2.20).

   Content model: only text content.

2.24.  <li>

   Specifies an item in a list.  In an <li> item, a <t> item causes the
   item to have an additional paragraph without triggering another
   label.

   This element appears as child element of: <list> (Section 2.25).

   Content model:

   In any order:

   o  Text

Hoffman                  Expires August 15, 2014               [Page 22]
Internet-Draft                  XML2RFCv3                  February 2014

   o  <t> elements (Section 2.41)

   o  <xref> elements (Section 2.48)

   o  <eref> elements (Section 2.16)

   o  <iref> elements (Section 2.22)

   o  <cref> elements (Section 2.13)

   o  <tt> elements (Section 2.44)

   o  <b> elements (Section 2.7)

2.24.1.  'hangtext' attribute

   In a list whose style is "hanging", the "hangText" attribute of <li>
   gives the term that will be at the left margin.  In a list whose
   style is not "hanging", the processor will return an error.

2.24.2.  'term' attribute

   In a list whose style is "dictionary", the "term" attribute of <li>
   gives the term being defined.  In a list whose style is not
   "dictionary", the processor will return an error.

2.25.  <list>

   Delineates a text list.

   Each list item is represented by a <li> element.

   This element appears as child element of: <section> (Section 2.38),
   and <t> (Section 2.41).

   Content model:

   One or more <li> elements (Section 2.24)

2.25.1.  'anchor' attribute

   Document-wide unique identifier for this list.

2.25.2.  'counter' attribute

   This attribute holds a token that serves as an identifier for a
   counter.  The intended use is continuation of lists.

Hoffman                  Expires August 15, 2014               [Page 23]
Internet-Draft                  XML2RFCv3                  February 2014

   Note that this attribute functions only when the style attribute is
   using the "format..." syntax (Section 2.25.4); otherwise, it is
   ignored.

2.25.3.  'format' attribute

   The format for the labels in this list.  The "format" attribute only
   applies to lists whose "style" is "letters", "numbers", and
   "symbols".  If the "format" attribute is given for a list with any
   other "style", the processor will issue an error.

   The default format for "letters" is "%c".  The default format for
   "numbers" is "%d".  The default format for "symbols" is "o".
   [[anchor4: That last one is almost certainly wrong and this needs to
   be specified better in the style="format" part as well.]]

2.25.4.  'style' attribute

   This attribute is used to control the display of a list.

   The value of this attribute is inherited by any nested lists that do
   not have this attribute set.  It may be set to:

   "empty" (or not set)

      For unlabeled list items; it can also be used for indentation
      purposes (this is the default value).

   "dictionary"

      For lists that have a term and a definition.  The term is given in
      the <li> element in the "term" attribute.

   "hanging"

      For lists where the items are labeled with a piece of text.

   "letters"

      For ordered lists using letters as labels (lowercase letters
      followed by a period; after "z", it rolls over to a two-letter
      format).  For nested lists, processors usually flip between
      uppercase and lowercase.

   "numbers"

      For ordered lists using numbers as labels.

Hoffman                  Expires August 15, 2014               [Page 24]
Internet-Draft                  XML2RFCv3                  February 2014

   "symbols"

      For unordered (bulleted) lists.

      The style of the bullets is chosen automatically be the processor
      (some implementations allow overriding the default using a
      processing instruction).

   And, finally:

   "format ..."

      For lists with customized labels, consisting of fixed text and an
      item counter in various formats.

      The value is a free-form text that allows counter values to be
      inserted using a "percent-letter" format.  For instance, "[REQ%d]"
      generates labels of the form "[REQ1]", where "%d" inserts the item
      number as decimal number.

      The following formats are supported:

      %c lowercase letters (a, b, c, etc.)

      %C uppercase letters (A, B, C, etc.)

      %d decimal numbers (1, 2, 3, etc.)

      %i lowercase Roman numerals (i, ii, iii, etc.)

      %I uppercase Roman numerals (I, II, III, etc.)

      %% represents a percent sign

      Other formats are reserved for future use.

   This attribute is used to control the display of a list.

   The value of this attribute is inherited by any nested lists that do
   not have this attribute set.  It may be set to:

   "empty" (or not set)

      For unlabeled list items; it can also be used for indentation
      purposes (this is the default value).

Hoffman                  Expires August 15, 2014               [Page 25]
Internet-Draft                  XML2RFCv3                  February 2014

   "hanging"

      For lists where the items are labeled with a piece of text.

   "letters"

      For ordered lists using letters as labels (lowercase letters
      followed by a period; after "z", it rolls over to a two-letter
      format).  For nested lists, processors usually flip between
      uppercase and lowercase.

   "numbers"

      For ordered lists using numbers as labels.

   "symbols"

      For unordered (bulleted) lists.

      The style of the bullets is chosen automatically be the processor
      (some implementations allow overriding the default using a
      processing instruction).

   And, finally:

   "format ..."

      For lists with customized labels, consisting of fixed text and an
      item counter in various formats.

      The value is a free-form text that allows counter values to be
      inserted using a "percent-letter" format.  For instance, "[REQ%d]"
      generates labels of the form "[REQ1]", where "%d" inserts the item
      number as decimal number.

      The following formats are supported:

      %c lowercase letters (a, b, c, etc.)

      %C uppercase letters (A, B, C, etc.)

      %d decimal numbers (1, 2, 3, etc.)

      %i lowercase Roman numerals (i, ii, iii, etc.)

Hoffman                  Expires August 15, 2014               [Page 26]
Internet-Draft                  XML2RFCv3                  February 2014

      %I uppercase Roman numerals (I, II, III, etc.)

      %% represents a percent sign

      Other formats are reserved for future use.

2.26.  <middle>

   Represents the main content of the document.

   This element appears as child element of: <rfc> (Section 2.37).

   Content model:

   One or more <section> elements (Section 2.38)

2.27.  <note>

   Creates an unnumbered section that appears after the abstract.

   It is usually used for additional information to reviewers (working
   group information, mailing list, ...), or for additional publication
   information such as "IESG Notes".

   This element appears as child element of: <front> (Section 2.20).

   Content model:

   One or more <t> elements (Section 2.41)

2.27.1.  'title' attribute (mandatory)

   The title of the note.

2.28.  <organization>

   Specifies the affiliation of an author.

   This information appears in both the "Author's Address" section and
   on the front page ([RFCSTYLE], Section 4.1.1).  If the value is long,
   an abbreviated variant can be specified in the "abbrev" attribute.

   This element appears as child element of: <author> (Section 2.6).

   Content model: only text content.

Hoffman                  Expires August 15, 2014               [Page 27]
Internet-Draft                  XML2RFCv3                  February 2014

2.28.1.  'abbrev' attribute

   Abbreviated variant.

2.29.  <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.30.  <postal>

   Contains optional child elements providing postal information.  These
   elements will be displayed in an order that is processor-specific.
   Thus, a postal address should probably contain only a set of
   <street>, <city>, <region>, <code>, and <country> elements, or only a
   single <postalbody> element, but not both.

   This element appears as child element of: <address> (Section 2.2).

   Content model:

   In any order:

   o  <street> elements (Section 2.40)

   o  <city> elements (Section 2.10)

   o  <region> elements (Section 2.36)

   o  <code> elements (Section 2.11)

   o  <country> elements (Section 2.12)

   o  <postalbody> elements (Section 2.31)

2.31.  <postalbody>

   A method for presenting a postal address without using <street>,
   <city>, <region>, <code>, and <country> elements.  Processors will
   maintain horizontal whitespace and line breaks in the text of the
   <postalbody> element.

Hoffman                  Expires August 15, 2014               [Page 28]
Internet-Draft                  XML2RFCv3                  February 2014

   This element appears as child element of: <postal> (Section 2.30).

   Content model: only text content.

2.32.  <postamble>

   Gives text that appears at the bottom of a figure or table.

   This element appears as child element of: <figure> (Section 2.18),
   and <texttable> (Section 2.42).

   Content model:

   In any order:

   o  Text

   o  <xref> elements (Section 2.48)

   o  <eref> elements (Section 2.16)

   o  <iref> elements (Section 2.22)

   o  <cref> elements (Section 2.13)

   o  <tt> elements (Section 2.44)

   o  <b> elements (Section 2.7)

   o  <i> elements (Section 2.21)

2.33.  <preamble>

   Gives text that appears at the top of a figure or table.

   This element appears as child element of: <figure> (Section 2.18),
   and <texttable> (Section 2.42).

   Content model:

   In any order:

   o  Text

   o  <xref> elements (Section 2.48)

   o  <eref> elements (Section 2.16)

Hoffman                  Expires August 15, 2014               [Page 29]
Internet-Draft                  XML2RFCv3                  February 2014

   o  <iref> elements (Section 2.22)

   o  <cref> elements (Section 2.13)

   o  <tt> elements (Section 2.44)

   o  <b> elements (Section 2.7)

   o  <i> elements (Section 2.21)

2.34.  <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"/>
   </reference>

   or

   <reference anchor="RFC6068" series="rfc" document="6068">

   The values for the "series" attribute are:

Hoffman                  Expires August 15, 2014               [Page 30]
Internet-Draft                  XML2RFCv3                  February 2014

   +----------+------------------------+-------------------------------+
   | 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?)                 |                               |
   +----------+------------------------+-------------------------------+

   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
   the BCP or STD.

   This element appears as child element of: <references>
   (Section 2.35).

   Content model:

   In this order:

Hoffman                  Expires August 15, 2014               [Page 31]
Internet-Draft                  XML2RFCv3                  February 2014

   1.  Optional <front> elements (Section 2.20)

   2.  Optional <seriesInfo> elements (Section 2.39)

   3.  Optional <format> elements (Section 2.19)

   4.  Optional <annotation> elements (Section 2.3)

2.34.1.  'anchor' attribute

   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.

   The value needs to be a valid XML "Name" (Section 2.3 of [XML]).

2.34.2.  'document' attribute

   The document or documents that make up a reference, as described
   earlier in this section.

2.34.3.  'series' attribute

   The series from which the referred-to document comes from, as
   described earlier in this section.

2.34.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.35.  <references>

   Contains a set of bibliographical references.

   In the early days of the RFC series, there was only one "References"
   section per RFC.  This convention was later changed to group
   references into two sets, "Normative" and "Informative"; see item x
   of Section 4.8.5 of [RFCSTYLE]).  This vocabulary supports the split
   with the "title" attribute.

   This element appears as child element of: <back> (Section 2.8).

   Content model:

Hoffman                  Expires August 15, 2014               [Page 32]
Internet-Draft                  XML2RFCv3                  February 2014

   One or more <reference> elements (Section 2.34)

2.35.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.36.  <region>

   Provides the region name in a postal address.

   This element appears as child element of: <postal> (Section 2.30).

   Content model: only text content.

2.37.  <rfc>

   This is the root element of the xml2rfc vocabulary.

   Processors distinguish between RFC mode ("number" attribute being
   present) and Internet-Draft mode ("docName" attribute being present):
   it is invalid to specify both.  Setting neither "number" nor
   "docName" can be useful for producing other types of document but is
   out-of-scope for this specification.

   Content model:

   In this order:

   1.  One <front> element (Section 2.20)

   2.  One <middle> element (Section 2.26)

   3.  One optional <back> element (Section 2.8)

2.37.1.  'category' attribute

   Document category (see Appendix A.1).

   Allowed values:

   o  "std"

   o  "bcp"

Hoffman                  Expires August 15, 2014               [Page 33]
Internet-Draft                  XML2RFCv3                  February 2014

   o  "info"

   o  "exp"

   o  "historic"

2.37.2.  'consensus' attribute

   Affects the generated boilerplate.

   See [RFC5741] for more information.

   Allowed values:

   o  "no"

   o  "yes"

2.37.3.  'docName' attribute

   For Internet-Drafts, this specifies the draft name (which appears
   below the title).

   Note that the file extension is not part of the draft, so in general
   it should end with the current draft number ("-", plus two digits).

   Furthermore, it is good practice to disambiguate current editor
   copies from submitted drafts (for instance, by replacing the draft
   number with the string "latest").

   See Section 7 of [IDGUIDE] for further information.

2.37.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"

Hoffman                  Expires August 15, 2014               [Page 34]
Internet-Draft                  XML2RFCv3                  February 2014

   o  "noModification3667"

   o  "noDerivatives3667"

   o  "full3978"

   o  "noModification3978"

   o  "noDerivatives3978"

   o  "trust200811"

   o  "noModificationTrust200811"

   o  "noDerivativesTrust200811"

   o  "trust200902"

   o  "noModificationTrust200902"

   o  "noDerivativesTrust200902"

   o  "pre5378Trust200902"

2.37.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.37.6.  'number' attribute

   The number of the RFC to be produced.

2.37.7.  'obsoletes' attribute

   A comma-separated list of RFC numbers or Internet-Draft names.

2.37.8.  'seriesNo' attribute

   When producing a document within document series (such as "STD"): the
   number within that series.

2.37.9.  'submissionType' attribute

   The document stream.

   See Section 2 of [RFC5741] for details.

Hoffman                  Expires August 15, 2014               [Page 35]
Internet-Draft                  XML2RFCv3                  February 2014

   Allowed values:

   o  "IETF" (default)

   o  "IAB"

   o  "IRTF"

   o  "independent"

2.37.10.  'updates' attribute

   A comma-separated list of RFC numbers or Internet-Draft names.

2.37.11.  'xml:lang' attribute

   The natural language used in the document (defaults to "en").

   See Section 2.12 of [XML] for more information.

2.38.  <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.26), and <section> (Section 2.38).

   Content model:

   In this order:

   1.  In any order:

       *  <t> elements (Section 2.41)

       *  <list> elements (Section 2.25)

       *  <figure> elements (Section 2.18)

       *  <texttable> elements (Section 2.42)

       *  <iref> elements (Section 2.22)

Hoffman                  Expires August 15, 2014               [Page 36]
Internet-Draft                  XML2RFCv3                  February 2014

   2.  Optional <section> elements (Section 2.38)

2.38.1.  'anchor' attribute

   Document-wide unique identifier for this comment.

   The value needs to be a valid XML "Name" (Section 2.3 of [XML]).

2.38.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.38.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.38.4.  'title' attribute (mandatory)

   The title of the section.

2.38.5.  'toc' attribute

   Determines whether the section is included in the Table Of Contents.

   [[anchor5: Need to consider inheritance.]]

   Allowed values:

   o  "include"

Hoffman                  Expires August 15, 2014               [Page 37]
Internet-Draft                  XML2RFCv3                  February 2014

   o  "exclude"

   o  "default" (default)

2.39.  <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.34).

   Content model: this element does not have any contents.

2.39.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.39.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.40.  <street>

   Provides a street address.

   This element appears as child element of: <postal> (Section 2.30).

   Content model: only text content.

2.41.  <t>

   Contains a paragraph of text.

   This element appears as child element of: <abstract> (Section 2.1),
   <li> (Section 2.24), <note> (Section 2.27), and <section>
   (Section 2.38).

   Content model:

   In any order:

Hoffman                  Expires August 15, 2014               [Page 38]
Internet-Draft                  XML2RFCv3                  February 2014

   o  Text

   o  <list> elements (Section 2.25)

   o  <figure> elements (Section 2.18)

   o  <xref> elements (Section 2.48)

   o  <eref> elements (Section 2.16)

   o  <iref> elements (Section 2.22)

   o  <cref> elements (Section 2.13)

   o  <tt> elements (Section 2.44)

   o  <b> elements (Section 2.7)

   o  <i> elements (Section 2.21)

2.41.1.  'anchor' attribute

   Document-wide unique identifier for this comment.

   The value needs to be a valid XML "Name" (Section 2.3 of [XML]).

2.42.  <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.38).

   Content model:

   In this order:

   1.  One optional <preamble> element (Section 2.33)

   2.  One or more <ttcol> elements (Section 2.45)

Hoffman                  Expires August 15, 2014               [Page 39]
Internet-Draft                  XML2RFCv3                  February 2014

   3.  Optional <c> elements (Section 2.9)

   4.  One optional <postamble> element (Section 2.32)

2.42.1.  'align' attribute

   Determines the horizontal alignment of the table.

   Allowed values:

   o  "left"

   o  "center" (default)

   o  "right"

2.42.2.  'anchor' attribute

   Document-wide unique identifier for this comment.

   The value needs to be a valid XML "Name" (Section 2.3 of [XML]).

2.42.3.  'style' attribute

   [[element.texttable.attribute.style.missing: attribute description
   missing]]

   Allowed values:

   o  "all"

   o  "none"

   o  "headers"

   o  "full" (default)

2.42.4.  'suppress-title' attribute

   [[element.texttable.attribute.suppress-title.missing: attribute
   description missing]]

   Allowed values:

   o  "true"

   o  "false" (default)

Hoffman                  Expires August 15, 2014               [Page 40]
Internet-Draft                  XML2RFCv3                  February 2014

2.42.5.  'title' attribute

   [[element.texttable.attribute.title.missing: attribute description
   missing]]

2.43.  <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.20).

   Content model: only text content.

2.43.1.  'abbrev' attribute

   Specifies an abbreviated variant of the document title.

2.44.  <tt>

   Causes the text to be displayed in a constant-width font.

   This element appears as child element of: <annotation> (Section 2.3),
   <b> (Section 2.7), <c> (Section 2.9), <i> (Section 2.21), <li>
   (Section 2.24), <postamble> (Section 2.32), <preamble>
   (Section 2.33), and <t> (Section 2.41).

   Content model:

   In any order:

   o  Text

   o  <xref> elements (Section 2.48)

   o  <eref> elements (Section 2.16)

   o  <iref> elements (Section 2.22)

   o  <cref> elements (Section 2.13)

   o  <b> elements (Section 2.7)

Hoffman                  Expires August 15, 2014               [Page 41]
Internet-Draft                  XML2RFCv3                  February 2014

   o  <i> elements (Section 2.21)

2.45.  <ttcol>

   Contains a column heading in a table.

   This element appears as child element of: <texttable> (Section 2.42).

   Content model:

   In any order:

   o  <xref> elements (Section 2.48)

   o  <eref> elements (Section 2.16)

   o  <iref> elements (Section 2.22)

   o  <cref> elements (Section 2.13)

   o  Text

2.45.1.  'align' attribute

   Determines the horizontal alignment within the table column.

   Allowed values:

   o  "left" (default)

   o  "center"

   o  "right"

2.45.2.  'width' attribute

   [[element.ttcol.attribute.width.missing: attribute description
   missing]]

2.46.  <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.

Hoffman                  Expires August 15, 2014               [Page 42]
Internet-Draft                  XML2RFCv3                  February 2014

2.47.  <workgroup>

   This element is used to specify the Working Group the document
   originates from, if any.  The recommended format is the official name
   of the Working Group (with some capitalization).

   In Internet-Drafts, this is used in the upper left corner of the
   boilerplate, replacing the "Network Working Group" string.
   Formatting software can append the words "Working Group" or "Research
   Group", depending on the "submissionType" property on the <rfc>
   element (Section 2.37.9).

   This element appears as child element of: <front> (Section 2.20).

   Content model: only text content.

2.48.  <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.

   [[anchor6: This needs to be expanded with examples and with a
   discussion how the autogenerated text differs when <xref> is not
   empty]]

   This element appears as child element of: <annotation> (Section 2.3),
   <b> (Section 2.7), <c> (Section 2.9), <i> (Section 2.21), <li>
   (Section 2.24), <postamble> (Section 2.32), <preamble>
   (Section 2.33), <t> (Section 2.41), <tt> (Section 2.44), and <ttcol>
   (Section 2.45).

   Content model: only text content.

2.48.1.  'format' attribute

   This attribute is used to control the format of the generated
   reference text.

Hoffman                  Expires August 15, 2014               [Page 43]
Internet-Draft                  XML2RFCv3                  February 2014

   "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"

      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.48.2.  'pageno' attribute

   Unused.

   It's unclear what the purpose of this attribute is; processors seem
   to ignore it and it never was documented.

   Allowed values:

   o  "true"

   o  "false" (default)

2.48.3.  'target' attribute (mandatory)

   Identifies the document component being referenced.

   The value needs to match the value of the "anchor" attribute of

Hoffman                  Expires August 15, 2014               [Page 44]
Internet-Draft                  XML2RFCv3                  February 2014

   another element in the document.

3.  Special Unicode Code Points

   [[anchor7: Explain those code points where the processors implement
   something special, such as "nbsp".]]

4.  Internationalization Considerations

   This format is based on [XML], thus does not have any issues
   representing arbitrary Unicode [UNICODE] characters in text content.

   However, the current canonical RFC format is restricted to US-ASCII
   [USASCII] characters ([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

   [[anchor8: This section is likely incomplete.]]

   The "name" attribute on the <artwork> element (Section 2.5.4) can be
   used to derive a filename for saving to a local file system.
   Trusting this kind of information without pre-processing is a known
   security risk; see Section 4.3 of [RFC6266] for more information.

   Furthermore, all security considerations related to XML processing
   are relevant as well (see Section 7 of [RFC3470]).

6.  IANA Considerations

6.1.  Internet Media Type Registration

   IANA maintains the registry of Internet media types [BCP13] at
   <http://www.iana.org/assignments/media-types>.

   This document serves as the specification for the Internet media type
   "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.

Hoffman                  Expires August 15, 2014               [Page 45]
Internet-Draft                  XML2RFCv3                  February 2014

   Optional parameters:  "charset": This parameter has identical
      semantics as the charset parameter of the "application/xml" media
      type specified in [RFC3023].

   Encoding considerations:  Identical to those of "application/xml" as
      described in Section 3.2 of [RFC3023].

   Security considerations:  As defined in Section 5.  In addition, as
      this media type uses the "+xml" convention, it inherits the
      security considerations described in Section 10 of [RFC3023].

   Interoperability considerations:  N/A

   Published specification:  This specification.

   Applications that use this media type:  Applications that either
      transform xml2rfc to output formats such as plain text or HTML,
      plus additional analysis tools.

   Fragment identifier considerations:  The "anchor" attribute is used
      for assigning document-wide unique identifiers that can be uses as
      shorthand pointers, as described in Section 2.8 of [XPOINTER].

   Additional information:

      Deprecated alias names for this type:  None.

      Magic number(s):  As specified for "application/xml" in Section
         3.2 of [RFC3023].

      File extension(s):  .xml

      Macintosh file type code(s):  TEXT

   Person & email address to contact for further information:  See
      Authors Section.

   Intended usage:  COMMON

   Restrictions on usage:  N/A

   Author:  See Authors Section.

   Change controller:  RFC Series Editor (rse@rfc-editor.org)

Hoffman                  Expires August 15, 2014               [Page 46]
Internet-Draft                  XML2RFCv3                  February 2014

7.  Acknowledgments

   Thanks to everybody who reviewed this document and provided feedback
   and/or specification text.  Thanks especially go to Julian Reschke
   for editing [XML2RFCv2] and those who provided feedback on that
   document.

   We also thank Marshall T. Rose for both the original design and the
   reference implementation of the "xml2rfc" formatter.

8.  References

8.1.  Normative References

   [XML]        Maler, E., Yergeau, F., Paoli, J., Sperberg-McQueen, M.,
                and T. Bray, "Extensible Markup Language (XML) 1.0
                (Fifth Edition)", W3C Recommendation REC-xml-20081126,
                November 2008,
                <http://www.w3.org/TR/2008/REC-xml-20081126/>.

                Latest version available at <http://www.w3.org/TR/xml>.

   [XML2RFCv2]  Freed, N. and J. Reschke, "The 'XML2RFC' version 2
                Vocabulary", draft-reschke-xml2rfc (work in progress),
                January 2014.

8.2.  Informative References

   [BCP13]      Freed, N., Klensin, J., and T. Hansen, "Media Type
                Specifications and Registration Procedures", BCP 13,
                RFC 6838, January 2013.

   [IDGUIDE]    Housley, R., "Guidelines to Authors of Internet-Drafts",
                December 2010,
                <http://www.ietf.org/id-info/guidelines.html>.

   [RFC2026]    Bradner, S., "The Internet Standards Process -- Revision
                3", BCP 9, RFC 2026, October 1996.

   [RFC2046]    Freed, N. and N. Borenstein, "Multipurpose Internet Mail
                Extensions (MIME) Part Two: Media Types", RFC 2046,
                November 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.

Hoffman                  Expires August 15, 2014               [Page 47]
Internet-Draft                  XML2RFCv3                  February 2014

   [RFC2629]    Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
                June 1999.

   [RFC3023]    Murata, M., St. Laurent, S., and D. Kohn, "XML Media
                Types", RFC 3023, January 2001.

   [RFC3470]    Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines
                for the Use of Extensible Markup Language (XML) within
                IETF Protocols", BCP 70, RFC 3470, January 2003.

   [RFC3966]    Schulzrinne, H., "The tel URI for Telephone Numbers",
                RFC 3966, December 2004.

   [RFC3986]    Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
                Resource Identifier (URI): Generic Syntax", STD 66,
                RFC 3986, January 2005.

   [RFC5598]    Crocker, D., "Internet Mail Architecture", RFC 5598,
                July 2009.

                PDF version: <http://www.rfc-editor.org/rfc/rfc5598.pdf>

   [RFC5741]    Daigle, L. and O. Kolkman, "RFC Streams, Headers, and
                Boilerplates", RFC 5741, December 2009.

   [RFC6068]    Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto'
                URI Scheme", RFC 6068, October 2010.

   [RFC6266]    Reschke, J., "Use of the Content-Disposition Header
                Field in the Hypertext Transfer Protocol (HTTP)",
                RFC 6266, June 2011.

   [RFCPOLICY]  RFC Editor, "RFC Editorial Guidelines and Procedures",
                February 2012, <http://www.rfc-editor.org/policy.html>.

   [RFCSTYLE]   Heather, H. and S. Ginoza, "RFC Style Guide",
                draft-iab-styleguide-00 (work in progress),
                February 2014.

   [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

Hoffman                  Expires August 15, 2014               [Page 48]
Internet-Draft                  XML2RFCv3                  February 2014

                Documents", September 2009,
                <http://trustee.ietf.org/license-info/IETF-TLP-3.htm>.

   [TLP4.0]     IETF Trust, "Legal Provisions Relating to IETF
                Documents", December 2009,
                <http://trustee.ietf.org/license-info/IETF-TLP-4.htm>.

   [UNICODE]    The Unicode Consortium, "The Unicode Standard, Version
                6.3.0", September 2013,
                <http://www.unicode.org/versions/Unicode6.3.0/>.

   [USASCII]    American National Standards Institute, "Coded Character
                Set -- 7-bit American Standard Code for Information
                Interchange", ANSI X3.4, 1986.

   [XPOINTER]   Grosso, P., Maler, E., Marsh, J., and N. Walsh,
                "XPointer Framework", W3C Recommendation REC-xptr-
                framework-20030325, March 2003,
                <http://www.w3.org/TR/2003/
                REC-xptr-framework-20030325/>.

                Latest version available at
                <http://www.w3.org/TR/xptr-framework/>.

Appendix A.  Front Page Generation

A.1.  The /rfc/@category Attribute

   For RFCs, the category determines the "maturity level" (see Section 4
   of [RFC2026]).  The allowed values are "std" for "Standards Track",
   "bcp" for "BCP", "info" for "Informational", "exp" for
   "Experimental", and "historic" for - surprise - "Historic".

   For Internet-Drafts, the category attribute is not needed, but will
   appear on the front page as "Intended Status".  Supplying this
   information can be useful to reviewers.

A.2.  The /rfc/@ipr Attribute

   This attribute value can take a long list of values, each of which
   describes an IPR policy for the document.  This attribute's values
   are not the result of a grand plan, but remain simply for historic
   reasons.  Of these values, only a few are currently in use; all
   others are supported by the various tools for backwards compatibility
   with old source files.

Hoffman                  Expires August 15, 2014               [Page 49]
Internet-Draft                  XML2RFCv3                  February 2014

      Note: some variations of the boilerplate are selected based on the
      document's date; therefore it is important to specify the "year",
      "month" and "day" attributes of the <date> element when archiving
      the XML source of an Internet-Draft on the day of submission.

   Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION.  IF YOU
   NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER.  For further information,
   refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>.

   For the current "Status Of This Memo" text, the submissionType
   attribute determines whether a statement about "Code Components" is
   inserted (which is the case for the value "IETF", which is the
   default).  Other values, such as "independent", suppress this part of
   the text.

A.2.1.  Current Values: '*trust200902'

   The name for these values refers to the "IETF TRUST Legal Provisions
   Relating to IETF Documents", sometimes simply called the "TLP, that
   went into effect on February 15, 2009 ([TLP2.0]).  Updates to this
   document were published on September 12, 2009 ([TLP3.0]) and on
   December 28, 2009 ([TLP4.0]), modifying the license for code
   components (see <http://trustee.ietf.org/license-info/> for further
   information).  The actual text is located in Section 6 ("Text To Be
   Included in IETF Documents") of these documents.

   The tools will automatically produce the "correct" text depending on
   the document's date information (see above):

   +----------+--------------------------------+
   | TLP      | starting with publication date |
   +----------+--------------------------------+
   | [TLP3.0] | 2009-11-01                     |
   | [TLP4.0] | 2010-04-01                     |
   +----------+--------------------------------+

A.2.1.1.  trust200902

   This should be the default, unless one of the more specific
   '*trust200902' values is a better fit.  It produces the text in
   Sections 6.a and 6.b of the TLP.

A.2.1.2.  noModificationTrust200902

   This produces additional text from Section 6.c.i of the TLP:

Hoffman                  Expires August 15, 2014               [Page 50]
Internet-Draft                  XML2RFCv3                  February 2014

      This document may not be modified, and derivative works of it may
      not be created, except to format it for publication as an RFC or
      to translate it into languages other than English.

      Note: this clause is incompatible with RFCs that are published on
      the Standards Track.

A.2.1.3.  noDerivativesTrust200902

   This produces the additional text from Section 6.c.ii of the TLP:

      This document may not be modified, and derivative works of it may
      not be created, and it may not be published except as an Internet-
      Draft.

      Note: this clause is incompatible with RFCs.

A.2.1.4.  pre5378Trust200902

   This produces the additional text from Section 6.c.iii of the TLP,
   frequently called the "pre-5378 escape clause":

      This document may contain material from IETF Documents or IETF
      Contributions published or made publicly available before November
      10, 2008.  The person(s) controlling the copyright in some of this
      material may not have granted the IETF Trust the right to allow
      modifications of such material outside the IETF Standards Process.
      Without obtaining an adequate license from the person(s)
      controlling the copyright in such materials, this document may not
      be modified outside the IETF Standards Process, and derivative
      works of it may not be created outside the IETF Standards Process,
      except to format it for publication as an RFC or to translate it
      into languages other than English.

   See Section 4 of
   <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further
   information about when to use this value.

      Note: this text appears under "Copyright Notice", unless the
      document was published before November 2009, in which case it
      appears under "Status Of This Memo".

A.2.2.  Historic Values

A.2.2.1.  Historic Values: '*trust200811'

   The attribute values "trust200811", "noModificationTrust200811" and
   "noDerivativesTrust200811" are similar to their "trust200902"

Hoffman                  Expires August 15, 2014               [Page 51]
Internet-Draft                  XML2RFCv3                  February 2014

   counterparts, except that they use text specified in <http://
   trustee.ietf.org/license-info/archive/
   IETF-Trust-License-Policy_11-10-08.pdf>.

A.2.2.2.  Historic Values: '*3978'

   The attribute values "full3978", "noModification3978" and
   "noDerivatives3978" are similar to their counterparts above, except
   that they use text specified in RFC 3978 (March 2005).

A.2.2.3.  Historic Values: '*3667'

   The attribute values "full3667", "noModification3667" and
   "noDerivatives3667" are similar to their counterparts above, except
   that they use text specified in RFC 3667 (February 2004).

A.2.2.4.  Historic Values: '*2026'

   The attribute values "full2026" and "noDerivativeWorks2026" are
   similar to their counterparts above, except that they use text
   specified in RFC 2026 (October 1996).

   The special value "none" was also used back then, and denied the IETF
   any rights beyond publication as Internet-Draft.

Appendix B.  Relax NG Schema

   namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"

   rfc =
     element rfc {
       attribute number { text }?,
       [ a:defaultValue = "" ] attribute obsoletes { text }?,
       [ a:defaultValue = "" ] attribute updates { text }?,
       attribute category { "std" | "bcp" | "info" | "exp" | "historic"
   }?,
       attribute consensus { "no" | "yes" }?,
       attribute seriesNo { text }?,
       attribute ipr {
         "full2026"
         | "noDerivativeWorks2026"
         | "none"
         | "full3667"
         | "noModification3667"
         | "noDerivatives3667"
         | "full3978"
         | "noModification3978"

Hoffman                  Expires August 15, 2014               [Page 52]
Internet-Draft                  XML2RFCv3                  February 2014

         | "noDerivatives3978"
         | "trust200811"
         | "noModificationTrust200811"
         | "noDerivativesTrust200811"
         | "trust200902"
         | "noModificationTrust200902"
         | "noDerivativesTrust200902"
         | "pre5378Trust200902"
       }?,
       attribute iprExtract { xsd:IDREF }?,
       [ a:defaultValue = "IETF" ]
       attribute submissionType {
         "IETF" | "IAB" | "IRTF" | "independent"
       }?,
       attribute docName { text }?,
       [ a:defaultValue = "en" ] attribute xml:lang { text }?,
       front,
       middle,
       back?
     }
   front =
     element front {
       title, author+, date?, area*, workgroup*, keyword*, abstract?,
   note*
     }
   title =
     element title {
       attribute abbrev { text }?,
       text
     }
   author =
     element author {
       attribute initials { text }?,
       attribute surname { text }?,
       attribute fullname { text }?,
       attribute role { "editor" }?,
       [ a:defaultValue = "en" ] attribute xml:lang { text }?,
       organization?,
       address?
     }
   organization =
     element organization {
       attribute abbrev { text }?,
       text
     }
   address =
     element address { (postal | phone | facsimile | email | uri)* }
   postal =

Hoffman                  Expires August 15, 2014               [Page 53]
Internet-Draft                  XML2RFCv3                  February 2014

     element postal {
       (street | city | region | code | country | postalbody)*
     }
   street = element street { text }
   city = element city { text }
   region = element region { text }
   code = element code { text }
   country = element country { text }
   postalbody = element postalbody { text }
   phone = element phone { text }
   facsimile = element facsimile { text }
   email = element email { text }
   uri = element uri { text }
   date =
     element date {
       attribute day { text }?,
       attribute month { text }?,
       attribute year { text }?,
       empty
     }
   area = element area { text }
   workgroup = element workgroup { text }
   keyword = element keyword { text }
   abstract = element abstract { t+ }
   note =
     element note {
       attribute title { text },
       t+
     }
   middle = element middle { section+ }
   section =
     element section {
       attribute anchor { xsd:ID }?,
       attribute title { text },
       [ a:defaultValue = "yes" ] attribute numbered { "yes" | "no" }?,
       [ a:defaultValue = "default" ]
       attribute toc { "include" | "exclude" | "default" }?,
       [ a:defaultValue = "no" ] attribute removeinrfc { "yes" | "no"
   }?,
       (t | \list | figure | texttable | iref)*,
       section*
     }
   t =
     element t {
       attribute anchor { xsd:ID }?,
       (text | \list | figure | xref | eref | iref | cref | tt | b | i)*
     }
   \list =

Hoffman                  Expires August 15, 2014               [Page 54]
Internet-Draft                  XML2RFCv3                  February 2014

     element list {
       [ a:defaultValue = "empty" ] attribute style { text }?,
       attribute counter { text }?,
       attribute anchor { xsd:ID }?,
       attribute format { text }?,
       li+
     }
   li =
     element li {
       attribute hangtext { text }?,
       attribute term { text }?,
       (text | t | xref | eref | iref | cref | tt | b)*
     }
   xref =
     element xref {
       attribute target { xsd:IDREF },
       [ a:defaultValue = "false" ] attribute pageno { "true" | "false"
   }?,
       [ a:defaultValue = "default" ]
       attribute format { "counter" | "title" | "none" | "default" }?,
       text
     }
   eref =
     element eref {
       attribute target { text },
       text
     }
   iref =
     element iref {
       attribute item { text },
       [ a:defaultValue = "" ] attribute subitem { text }?,
       [ a:defaultValue = "false" ]
       attribute primary { "true" | "false" }?,
       empty
     }
   cref =
     element cref {
       attribute anchor { xsd:ID }?,
       attribute source { text }?,
       text
     }
   tt = element tt { (text | xref | eref | iref | cref | b | i)* }
   b = element b { (text | xref | eref | iref | cref | tt | i)* }
   i = element i { (text | xref | eref | iref | cref | b | tt)* }
   figure =
     element figure {
       attribute anchor { xsd:ID }?,
       [ a:defaultValue = "" ] attribute title { text }?,

Hoffman                  Expires August 15, 2014               [Page 55]
Internet-Draft                  XML2RFCv3                  February 2014

       [ a:defaultValue = "false" ]
       attribute suppress-title { "true" | "false" }?,
       attribute src { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       [ a:defaultValue = "" ] attribute alt { text }?,
       [ a:defaultValue = "" ] attribute width { text }?,
       [ a:defaultValue = "" ] attribute height { text }?,
       iref*,
       preamble?,
       artwork,
       postamble?
     }
   preamble =
     element preamble { (text | xref | eref | iref | cref | tt | b |
   i)* }
   artwork =
     element artwork {
       [ a:defaultValue = "preserve" ]
       attribute xml:space { "default" | "preserve" }?,
       [ a:defaultValue = "" ] attribute name { text }?,
       [ a:defaultValue = "" ] attribute type { text }?,
       attribute src { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       [ a:defaultValue = "" ] attribute alt { text }?,
       [ a:defaultValue = "" ] attribute width { text }?,
       [ a:defaultValue = "" ] attribute height { text }?,
       [ a:defaultValue = "en" ] attribute xml:lang { text }?,
       text*
     }
   postamble =
     element postamble { (text | xref | eref | iref | cref | tt | b |
   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?

Hoffman                  Expires August 15, 2014               [Page 56]
Internet-Draft                  XML2RFCv3                  February 2014

     }
   ttcol =
     element ttcol {
       attribute width { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       (xref | eref | iref | cref | text)*
     }
   c = element c { (text | xref | eref | iref | cref | tt | b | i)* }
   back = element back { references*, section* }
   references =
     element references {
       [ a:defaultValue = "References" ] attribute title { text }?,
       reference+
     }
   reference =
     element reference {
       attribute anchor { xsd:ID }?,
       attribute target { text }?,
       attribute series { text }?,
       attribute document { text }?,
       front*,
       seriesInfo*,
       format*,
       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 | tt | b | i)*
     }
   start = rfc

Hoffman                  Expires August 15, 2014               [Page 57]
Internet-Draft                  XML2RFCv3                  February 2014

Index

   A
      abbrev attribute
         in organization element  28
         in title element  41
      abstract element  8
         inside front  20
      address element  8
         inside author  13
      align attribute
         in artwork element  10
         in figure element  18
         in texttable element  40
         in ttcol element  42
      alt attribute
         in artwork element  11
         in figure element  19
      anchor attribute
         in cref element  16
         in figure element  19
         in list element  23
         in reference element  32
         in section element  37
         in t element  39
         in texttable element  40
      annotation element  9
         inside reference  32
      application/rfc+xml Media Type  45
      area element  9
         inside front  20
      artwork element  10
         align attribute  10
         alt attribute  11
         height attribute  11
         inside figure  18
         name attribute  11
         src attribute  11
         type attribute  11
         width attribute  12
         xml:lang attribute  12
         xml:space attribute  12
      Attributes
         abbrev  28, 41
         align  10, 18, 40, 42
         alt  11, 19
         anchor  16, 19, 23, 32, 37, 39-40
         category  33

Hoffman                  Expires August 15, 2014               [Page 58]
Internet-Draft                  XML2RFCv3                  February 2014

         consensus  34
         counter  23
         day  17
         docName  34
         document  32
         format  24, 43
         fullname  13
         hangtext  23
         height  11, 19
         initials  13
         ipr  34
         iprExtract  35
         item  22
         month  17
         name  11, 38
         number  35
         numbered  37
         obsoletes  35
         octets  20
         pageno  44
         primary  22
         removeinrfc  37
         role  13
         series  32
         seriesNo  35
         source  16
         src  11, 19
         style  24, 40
         subitem  22
         submissionType  35
         suppress-title  19, 40
         surname  13
         target  17, 20, 32, 44
         term  23
         title  19, 27, 33, 37, 41
         toc  37
         type  11, 20
         updates  36
         value  38
         width  12, 19, 42
         xml:lang  12-13, 36
         xml:space  12
         year  17
      author element  12
         fullname attribute  13
         initials attribute  13
         inside front  20
         role attribute  13

Hoffman                  Expires August 15, 2014               [Page 59]
Internet-Draft                  XML2RFCv3                  February 2014

         surname attribute  13
         xml:lang attribute  13

   B
      b element  13
         inside annotation  9
         inside c  15
         inside i  21
         inside li  23
         inside postamble  29
         inside preamble  30
         inside t  39
         inside tt  41
      back element  14
         inside rfc  33

   C
      c element  14
         inside texttable  40
      category attribute
         in rfc element  33
      city element  15
         inside postal  28
      code element  15
         inside postal  28
      consensus attribute
         in rfc element  34
      counter attribute
         in list element  23
      country element  15
         inside postal  28
      cref element  15
         anchor attribute  16
         inside annotation  9
         inside b  14
         inside c  15
         inside i  21
         inside li  23
         inside postamble  29
         inside preamble  30
         inside t  39
         inside tt  41
         inside ttcol  42
         source attribute  16

   D
      date element  16
         day attribute  17

Hoffman                  Expires August 15, 2014               [Page 60]
Internet-Draft                  XML2RFCv3                  February 2014

         inside front  20
         month attribute  17
         year attribute  17
      day attribute
         in date element  17
      docName attribute
         in rfc element  34
      document attribute
         in reference element  32

   E
      Elements
         abstract  8, 20
         address  8, 13
         annotation  9, 32
         area  9, 20
         artwork  10, 18
         author  12, 20
         b  9, 13, 15, 21, 23, 29-30, 39, 41
         back  14, 33
         c  14, 40
         city  15, 28
         code  15, 28
         country  15, 28
         cref  9, 14-15, 21, 23, 29-30, 39, 41-42
         date  16, 20
         email  9, 17
         eref  9, 14-15, 17, 21, 23, 29, 39, 41-42
         facsimile  8, 18
         figure  18, 36, 39
         format  19, 32
         front  20, 32-33
         i  9, 14-15, 21, 29-30, 39, 42
         iref  9, 14-15, 18, 21, 23, 29-30, 36, 39, 41-42
         keyword  20, 22
         li  22-23
         list  23, 36, 39
         middle  27, 33
         note  20, 27
         organization  13, 27
         phone  8, 28
         postal  8, 28
         postalbody  28
         postamble  18, 29, 40
         preamble  18, 29, 39
         reference  30, 33
         references  14, 32
         region  28, 33

Hoffman                  Expires August 15, 2014               [Page 61]
Internet-Draft                  XML2RFCv3                  February 2014

         rfc  33
         section  14, 27, 36-37
         seriesInfo  32, 38
         street  28, 38
         t  8, 23, 27, 36, 38
         texttable  36, 39
         title  20, 41
         tt  9, 14-15, 21, 23, 29-30, 39, 41
         ttcol  39, 42
         uri  9, 42
         workgroup  20, 43
         xref  9, 14-15, 21, 23, 29, 39, 41-43
      email element  17
         inside address  9
      eref element  17
         inside annotation  9
         inside b  14
         inside c  15
         inside i  21
         inside li  23
         inside postamble  29
         inside preamble  29
         inside t  39
         inside tt  41
         inside ttcol  42
         target attribute  17

   F
      facsimile element  18
         inside address  8
      figure element  18
         align attribute  18
         alt attribute  19
         anchor attribute  19
         height attribute  19
         inside section  36
         inside t  39
         src attribute  19
         suppress-title attribute  19
         title attribute  19
         width attribute  19
      format attribute
         in list element  24
         in xref element  43
      format element  19
         inside reference  32
         octets attribute  20
         target attribute  20

Hoffman                  Expires August 15, 2014               [Page 62]
Internet-Draft                  XML2RFCv3                  February 2014

         type attribute  20
      front element  20
         inside reference  32
         inside rfc  33
      fullname attribute
         in author element  13

   H
      hangtext attribute
         in li element  23
      height attribute
         in artwork element  11
         in figure element  19

   I
      i element  21
         inside annotation  9
         inside b  14
         inside c  15
         inside postamble  29
         inside preamble  30
         inside t  39
         inside tt  42
      initials attribute
         in author element  13
      ipr attribute
         '*2026'  52
         '*3667'  52
         '*3978'  52
         '*trust200811'  51
         '*trust200902'  50
         'noDerivativesTrust200902'  51
         'noModificationTrust200902'  50
         'pre5378Trust200902'  51
         'trust200902'  50
         in rfc element  34
      iprExtract attribute
         in rfc element  35
      iref element  21
         inside annotation  9
         inside b  14
         inside c  15
         inside figure  18
         inside i  21
         inside li  23
         inside postamble  29
         inside preamble  30
         inside section  36

Hoffman                  Expires August 15, 2014               [Page 63]
Internet-Draft                  XML2RFCv3                  February 2014

         inside t  39
         inside tt  41
         inside ttcol  42
         item attribute  22
         primary attribute  22
         subitem attribute  22
      item attribute
         in iref element  22

   K
      keyword element  22
         inside front  20

   L
      li element  22
         hangtext attribute  23
         inside list  23
         term attribute  23
      list element  23
         anchor attribute  23
         counter attribute  23
         format attribute  24
         inside section  36
         inside t  39
         style attribute  24
      list styles
         dictionary  24
         empty  24-25
         format ...  25-26
         hanging  24, 26
         letters  24, 26
         numbers  24, 26
         symbols  25-26

   M
      Media Type
         application/rfc+xml  45
      middle element  27
         inside rfc  33
      month attribute
         in date element  17

   N
      name attribute
         in artwork element  11
         in seriesInfo element  38
      note element  27
         inside front  20

Hoffman                  Expires August 15, 2014               [Page 64]
Internet-Draft                  XML2RFCv3                  February 2014

         title attribute  27
      number attribute
         in rfc element  35
      numbered attribute
         in section element  37

   O
      obsoletes attribute
         in rfc element  35
      octets attribute
         in format element  20
      organization element  27
         abbrev attribute  28
         inside author  13

   P
      pageno attribute
         in xref element  44
      phone element  28
         inside address  8
      postal element  28
         inside address  8
      postalbody element  28
         inside postal  28
      postamble element  29
         inside figure  18
         inside texttable  40
      preamble element  29
         inside figure  18
         inside texttable  39
      primary attribute
         in iref element  22

   R
      reference element  30
         anchor attribute  32
         document attribute  32
         inside references  33
         series attribute  32
         target attribute  32
      references element  32
         inside back  14
         title attribute  33
      region element  33
         inside postal  28
      removeinrfc attribute
         in section element  37
      rfc element  33

Hoffman                  Expires August 15, 2014               [Page 65]
Internet-Draft                  XML2RFCv3                  February 2014

         category attribute  33
         consensus attribute  34
         docName attribute  34
         ipr attribute  34
         iprExtract attribute  35
         number attribute  35
         obsoletes attribute  35
         seriesNo attribute  35
         submissionType attribute  35
         updates attribute  36
         xml:lang attribute  36
      role attribute
         in author element  13

   S
      section element  36
         anchor attribute  37
         inside back  14
         inside middle  27
         inside section  37
         numbered attribute  37
         removeinrfc attribute  37
         title attribute  37
         toc attribute  37
      series attribute
         in reference element  32
      seriesInfo element  38
         inside reference  32
         name attribute  38
         value attribute  38
      seriesNo attribute
         in rfc element  35
      source attribute
         in cref element  16
      src attribute
         in artwork element  11
         in figure element  19
      street element  38
         inside postal  28
      style attribute
         in list element  24
         in texttable element  40
      subitem attribute
         in iref element  22
      submissionType attribute
         in rfc element  35
      suppress-title attribute
         in figure element  19

Hoffman                  Expires August 15, 2014               [Page 66]
Internet-Draft                  XML2RFCv3                  February 2014

         in texttable element  40
      surname attribute
         in author element  13

   T
      t element  38
         anchor attribute  39
         inside abstract  8
         inside li  23
         inside note  27
         inside section  36
      target attribute
         in eref element  17
         in format element  20
         in reference element  32
         in xref element  44
      term attribute
         in li element  23
      texttable element  39
         align attribute  40
         anchor attribute  40
         inside section  36
         style attribute  40
         suppress-title attribute  40
         title attribute  41
      title attribute
         in figure element  19
         in note element  27
         in references element  33
         in section element  37
         in texttable element  41
      title element  41
         abbrev attribute  41
         inside front  20
      toc attribute
         in section element  37
      tt element  41
         inside annotation  9
         inside b  14
         inside c  15
         inside i  21
         inside li  23
         inside postamble  29
         inside preamble  30
         inside t  39
      ttcol element  42
         align attribute  42
         inside texttable  39

Hoffman                  Expires August 15, 2014               [Page 67]
Internet-Draft                  XML2RFCv3                  February 2014

         width attribute  42
      type attribute
         in artwork element  11
         in format element  20

   U
      updates attribute
         in rfc element  36
      uri element  42
         inside address  9

   V
      value attribute
         in seriesInfo element  38

   W
      width attribute
         in artwork element  12
         in figure element  19
         in ttcol element  42
      workgroup element  43
         inside front  20

   X
      xml:lang attribute
         in artwork element  12
         in author element  13
         in rfc element  36
      xml:space attribute
         in artwork element  12
      xref element  43
         format attribute  43
         inside annotation  9
         inside b  14
         inside c  15
         inside i  21
         inside li  23
         inside postamble  29
         inside preamble  29
         inside t  39
         inside tt  41
         inside ttcol  42
         pageno attribute  44
         target attribute  44
      xref formats
         counter  44
         default  44
         none  44

Hoffman                  Expires August 15, 2014               [Page 68]
Internet-Draft                  XML2RFCv3                  February 2014

         title  44

   Y
      year attribute
         in date element  17

Author's Address

   Paul Hoffman
   VPN Consortium

   EMail: paul.hoffman@vpnc.org

Hoffman                  Expires August 15, 2014               [Page 69]