Skip to main content

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

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 2015-06-17
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-20
quot;, RFC 6949,
                    DOI 10.17487/RFC6949, May 2013,
                    <http://www.rfc-editor.org/info/rfc6949>.

   [RFC7303]        Thompson, H. and C. Lilley, "XML Media Types",
                    RFC 7303, DOI 10.17487/RFC7303, July 2014,
                    <http://www.rfc-editor.org/info/rfc7303>.

   [RFC7322]        Heather, H. and S. Ginoza, "RFC Style Guide",
                    RFC 7322, DOI 10.17487/RFC7322, September 2014,
                    <http://www.rfc-editor.org/info/rfc7322>.

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

   [RNC]            Clark, J., "RELAX NG Compact Syntax", OASIS ,
                    November 2002, <http://www.oasis-open.org/
                    committees/relax-ng/compact-20021121.html>.

   [RNG]            ISO/IEC, "Information Technology - Document Schema
                    Definition Languages (DSDL) - Part 2: Regular-
                    Grammar-Based Validation - RELAX NG. Second
                    Edition.", ISO/IEC 19757-2:2008(E), December 2008.

                    A useful source of RNG-related information is
                    <http://relaxng.org/>.

   [SVGforRFCs]     Brownlee, N., "SVG Drawings for RFCs: SVG 1.2 RFC",

Hoffman                 Expires December 19, 2015              [Page 86]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

                    draft-brownlee-svg-rfc (work in progress), 2015.

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

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

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

   [UAX24]          The Unicode Consortium, "UAX #24: Unicode Script
                    Property", <http://www.unicode.org/reports/tr24/>.

   [UNICODE]        The Unicode Consortium, "The Unicode Standard".

                    For the latest version, see
                    <http://www.unicode.org/versions/latest/>.

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

   [XInclude]       Marsh, J., Orchard, D., and D. Veillard, "XML
                    Inclusions (XInclude) Version 1.0 (Second Edition)",
                    W3C Recommendation REC-xinclude-20061115,
                    November 2006, <http://www.w3.org/TR/xinclude/>.

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

   [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 ('Boilerplate') Generation

A.1.  The /rfc/@ipr Attribute

   This attribute value can take a long list of values, each of which
   describes an IPR policy for the document (Section 2.45.5).  The

Hoffman                 Expires December 19, 2015              [Page 87]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   values are not the result of a grand design, but remain simply for
   historic reasons.  Of these values, only a few are currently in use;
   all others are supported by various tools for backwards compatibility
   with old source files.

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

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

   For the current "Status Of This Memo" text, the submissionType
   attribute (Section 2.45.12) 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.1.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", which
   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 prep tool automatically produces 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.1.1.1.  trust200902

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

Hoffman                 Expires December 19, 2015              [Page 88]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

A.1.1.2.  noModificationTrust200902

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

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

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

A.1.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.1.1.4.  pre5378Trust200902

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

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

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

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

Hoffman                 Expires December 19, 2015              [Page 89]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

A.1.2.  Historic Values

A.1.2.1.  Historic Values: '*trust200811'

   The attribute values "trust200811", "noModificationTrust200811" and
   "noDerivativesTrust200811" are similar to their "trust200902"
   counterparts, except that they use text specified in <http://
   trustee.ietf.org/license-info/archive/
   IETF-Trust-License-Policy_11-10-08.pdf>.

A.1.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 Section 5 of [RFC3978].

A.1.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 Section 5 of [RFC3667].

A.1.2.4.  Historic Values: '*2026'

   The attribute values "full2026" and "noDerivativeWorks2026" are
   similar to their counterparts above, except that they use text
   specified in Section 10 of [RFC2026].

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

A.2.  The /rfc/@submissionType Attribute

   The RFC Editor publishes documents from different "document streams",
   of which the "IETF stream" is the most prominent one.  Other streams
   are the "independent stream" (used for things such as administrative
   information or April 1st RFCs), the "IAB stream" (Internet
   Architecture Board) and the "IRTF stream" (Internet Research Task
   Force).

   The values for the attribute are "IETF" (the default value),
   "independent", "IAB", and "IRTF".

   Historically, this attribute did not affect the final appearance of
   RFCs, except for subtle differences in Copyright notices.  Nowadays
   (as of [RFC5741]), the stream name appears in the first line of the
   front page, and it also affects the text in the "Status Of This Memo"
   section.

Hoffman                 Expires December 19, 2015              [Page 90]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   For current documents, setting submissionType attribute will have the
   following effect:

   o  For RFCs, the stream name appears in the upper left corner of the
      first page (in Internet Drafts, this is either "Network Working
      Group", or the value of the <workgroup> element).

   o  For RFCs, if affects the whole "Status Of This Memo" section (see
      Section 3.2.2 of [RFC5741]).

   o  For all RFCs and Internet Drafts, it determines whether the
      "Copyright Notice" mentions the Copyright on Code Components (see
      TLP, Section "Text To Be Included in IETF Documents").

A.3.  The /rfc/@consensus Attribute

   For some of the publication streams (see Appendix A.2), the "Status
   Of This Memo" section depends on whether there was a consensus to
   publish (again, see Section 3.2.2 of [RFC5741]).

   The consensus attribute can be used to supply this information.  The
   acceptable values are "true" (the default) and "false"; "yes" and
   "no" from v2 are deprecated.  The effect for the various streams is:

   o  "independent" and "IAB": none.

   o  "IETF": mention that there was an IETF consensus.

   o  "IRTF": mention that there was a research group consensus (where
      the name of the research group is extracted from the <workgroup>
      element).

Appendix B.  The v3 Format and Processing Tools

   This section describes topics that are specific to v3 processing
   tools.  Note that there is some discussion of tools in the main body
   of the document as well.  For example, some elements have
   descriptions of how a processing tool might create output from the
   element.

   The expected design of the tools that will be used with v3 documents
   includes:

   o  A "prep tool" that takes a v3 document, makes many checks, adds
      and changes many attribute values, and creates a file that is a
      "prepared document".  The prepared document is a valid v3
      document.  The prep tool is described in [PREPTOOL].

Hoffman                 Expires December 19, 2015              [Page 91]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   o  The prep tool is expected to have many modes:

      *  RFC mode -- The mode used by the RFC Editor to process the
         input from one of the RFC streams, and to process XML produced
         during the RFC editing process.  The restrictions on the
         canonical XML for RFCs, as well as how the non-canonical
         formats will look, are described at <https://
         www.rfc-editor.org/rse/wiki/
         doku.php?id=design:format-and-content-rfcs>.

      *  Draft mode -- The mode used by the Internet Draft submission
         tool.  The restrictions for the XML from this mode will be
         described later.

      *  Diagnostic mode -- A mode that can be used by document authors
         to look for errors or warnings before they submit their
         documents for publication.

      *  Consolodation mode -- Produces output where no external
         resources are required to render the file output.  This
         includes expanding the XInclude entities and DTD entities in
         place, and changing all elements that have "src" attributes
         with external links into either "data:" URI or content for the
         element, as specified in [PREPTOOL].

   o  Formatting tools that will create HTML, PDF, plain text, and
      possibly other output formats.  These formatters will be created
      by the IETF, but others can create such tools as well.  The IETF
      tools are expected to take prepared documents as input.

   There may also be processing tools that are meant to run on the
   computers of authors.  These tools may be used to produce interim
   versions of the non-canonical representations so that authors can see
   how their XML might later be rendered; to create documents in
   representations different than those supported by the RFC Editor; to
   possibly create documents that are not meant to be Internet Drafts or
   RFCs; and to convert XML that has external information into XML that
   has that external information included.

   The prep tool is expected to have clear error reporting, giving more
   context than just a line number.  For example, the error messages
   should differentiate between errors in XML and those from the v3
   format.

   In v2, the grammar was specified as a DTD.  In v3, the grammar is
   specified only as Relax Next Generation (RNG).  This means that tools
   need to work from the RNG, not from a DTD.  Some of the features of
   the v3 grammar cannot be specified as a DTD.

Hoffman                 Expires December 19, 2015              [Page 92]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

B.1.  Including External Text with XInclude

   All tools for the v3 format are expected to support XInclude
   [XInclude].  XInclude specifies a processing model and syntax for
   general purpose inclusion of information that is either on the
   Internet or local to the user's computer.

   In the v3 syntax, XInclude is expressed as the <xi:include> element.
   To use this element, you need to include the "xi" namespace in the
   <rfc> element; that is, you need to specify

   xmlns:xi="http://www.w3.org/2001/XInclude"

   as one of the attributes in the <rfc> element.

   The most common way to use <xi:include> is to pull in references that
   are already formed as XML.  Currently, this can be done from
   xml2rfc.tools.ietf.org, but later is expected to be from the RFC
   Editor.  For example, if a document has three normative references,
   all RFCs, the document might contain:

   <references>
       <xi:include href="http://xml2rfc.tools.ietf.org/public/rfc/
          bibxml/reference.RFC.2119.xml"/>
       <xi:include href="http://xml2rfc.tools.ietf.org/public/rfc/
          bibxml/reference.RFC.4869.xml"/>
       <xi:include href="http://xml2rfc.tools.ietf.org/public/rfc/
          bibxml/reference.RFC.7169.xml"/>
   </references>

   <xi:include> can be used anywhere an XML element could be used (but
   not where free text is used).  For example, if three Internet Drafts
   are all including a particular paragraph or section verbatim, that
   text can be kept either in a file or somewhere on the web, and be
   included with <xi:include>.  An example of pulling something from the
   local disk would be:

   <x:include href="file://home/chris/ietf/drafts/commontext.xml"/>

   In general, XInclude should be used instead of ENTITY references and
   XML Processor Instructions (PIs) that allow external inclusions.

B.2.  Anchors and IDs

   People writing and reading Internet Drafts and RFCs often want to
   make reference to specific locations in those documents.  In the case
   of RFC authors, it is common to want to reference another part of
   their document, such as "see Section 3.2 of this document".  Readers,

Hoffman                 Expires December 19, 2015              [Page 93]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   on the other hand, want to reference part of documents that they
   didn't write, such as "see Section 3.2 of RFC 6949".  The XML
   vocabulary in this document attempts to support both sets of people.

   Authors can leave anchors in a document that can later be used for
   references with the "anchor" attribute.  Anchors can be included in
   the following elements: <artwork>, <aside>, <blockquote>, <cref>,
   <figure>, <li>, <reference>, <referencegroup>, <section>,
   <sourcecode>, <t>, and <table>.  The author can then refer to that
   anchor in the "target" attribute of the <xref> element.

   Readers can refer to any element that has an "anchor" attribute by
   that attribute.  Note, however, that most of the time, elements won't
   have anchors.  In the common case, the reader wants to refer to an
   element that does not have an "anchor" attribute, but that element
   has "pn" attribute.

   Processing tools add the "pn" attribute to many elements during
   processing.  This attribute and its value are automatically generated
   by the tool if the attribute is not there; if the attribute is
   already there, the tool may replace the value.

B.2.1.  Overlapping Values

   In the HTML representation of this XML vocabulary, both anchors and
   "pn" attributes will be used in the "id" attributes of elements.
   Thus, there can be no overlap between the names entered in "anchor"
   attributes, in "slugifiedName" attributes, and those that are
   generated for the "pn" attributes.  Also, there are some values for
   the "anchor" values that are reserved for sections, and those
   sections can only have those anchor values.

   The following rules prevent this overlap:

   o  "pn" for regular sections always has the format "s-nnn", where
      "nnn" is the section or appendix number.  For example, this would
      be "s-2.1.3" for Section 2.1.3 and "s-a" for Appendix A.  For the
      <abstract> element, it is always "s-abstract".  For the <note>
      element, it is always "s-note-nnn", where "nnn" is a sequential
      value.  For the <boilerplate> element, it is always
      "s-boilerplate-nnn", where "nnn" is a sequential value.

   o  "pn" for <figure> elements always has the format "f-nnn", where
      "nnn" is the figure number.  For example, this would be "f-5" for
      Figure 5.

   o  "pn" for <table> elements always has the format "t-nnn", where
      "nnn" is the table number.  For example, this would be "t-5" for

Hoffman                 Expires December 19, 2015              [Page 94]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

      Table 5.

   o  "pn" for all elements not listed above always has the format
      "p-nnn-mmm", where "nnn" is the section number and "mmm" is the
      relative position in the section.  For example, this would be
      "p-2.1.3-7" for the seventh part number in Section 2.1.3.

   o  "slugifiedName" always has the format "n-ttt", where "ttt" is the
      text of the name after slugification.  For example, this would be
      "n-protocol-overview" for the name "Protocol Overview".  The
      actual conversions done in slugification will be specified at a
      later time.

   o  Anchors must never overlap with any of the above.  The easiest way
      to assure that is to not pick an anchor name that starts with a
      single letter followed by a hyphen.  If an anchor does overlap
      with one of the types of names above, the processing tool will
      reject the document.

B.3.  Attributes Controlled by the Prep Tool

   Many elements in the v3 vocabulary have new attributes whose role is
   to hold values generated by the prep tool.  These attributes can
   exist in documents that are input to the prep tool; however, any of
   these attributes might be added, removed, or changed by the prep
   tool.  Thus, it is explicitly unsafe for a document author to include
   these attributes and expect that their values will survive processing
   by the prep tool.

   The attributes that are controlled by the prep tool are:

   o  The "pn" attribute in any element -- The number for this item
      within the section.  The numbering is shared with other elements
      of a section.  The "pn" attribute is added to many block-level
      elements inside sections.

   o  <artwork> originalSrc -- This attribute is filled with the
      original value of the "src" attribute if that attribute is removed
      by the prep tool.

   o  <iref> "irefid" attribute -- This attribute is filled with an
      identifier used when creating indexes.

   o  <name> "slugifiedName" attribute -- This attribute is filled with
      a "slugified" version of the text in the element.  This attribute
      can be used in the output formats for elements that have both
      names and numbers.

Hoffman                 Expires December 19, 2015              [Page 95]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   o  <relref> "derivedLink" attribute -- This attribute is filled with
      the link that is derived from combining the URI from the reference
      and the relative part that is either a copy of the "relative"
      attribute or a section number derived from the "section"
      attribute.

   o  <relref> "derivedRemoteContent" attribute -- If the <relref>
      element has text content, this attribute is filled with that
      content; the "displayFormat" attribute is set to "bare" if that
      attribute is not already set.  If the <relref> element has no text
      content, this attribute is filled with the text for the remote
      link, such as "Section 2.3" or "Table 5".  The prep tool might
      determine this text by reading the target reference and, if it is
      a RFC or Internet-Draft in the v3 format, finding the anchor given
      in the "relative" attribute or derived from the "section"
      attribute, and using the title of that element.  If the reference
      is not an RFC or Internet-Draft in the v3 format, the text
      fragment is simply the value of the "relative" or "section"
      attribute.  This will rarely produce a good result in formatted
      output so, for these documents, the <relref> element should
      contain text content.

   o  <rfc> "expiresDate" attribute -- This attribute is filled with the
      date that an Internet Draft expires.  The date is in the format
      yyyy-mm-dd.

   o  <rfc> "scripts" attribute -- This attribute is filled with a list
      of scripts needed to render this document.  The list is comma-
      separated, with no spaces allowed.  The order is unimportant.  The
      names come from [UAX24].  For example, if the document has Chinese
      characters in it, the value might be "Common,Latin,Han".

   o  <sourcecode> "originalSrc" attribute -- This attribute is filled
      with the original value of the "src" attribute if that attribute
      is removed by the prep tool.

   o  <xref> "derivedContent" attribute -- This attribute is filled in
      if there is no content in the <xref> element.  The value for this
      attribute based on the value in the "displayFormat" attribute. [[
      More needs to be said here about the exact values based on the
      value of the "format" attribute, drawing from xref/@format ]]

   In addition, note that the contents of the <boilerplate> element is
   controlled by the prep tool.

Hoffman                 Expires December 19, 2015              [Page 96]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

Appendix C.  Relax NG Schema

   The following is the RelaxNG schema for the v3 format.

   namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
   namespace ns1 = "http://www.w3.org/2000/svg"

   # xml2rfc Version 3 grammar

   rfc =
     element rfc {
       attribute number { text }?,
       [ a:defaultValue = "" ] attribute obsoletes { text }?,
       [ a:defaultValue = "" ] attribute updates { text }?,
       attribute category { text }?,
       [ a:defaultValue = "false" ]
       attribute consensus { "no" | "yes" | "false" | "true" }?,
       attribute seriesNo { text }?,
       attribute ipr {
         "full2026"
         | "noDerivativeWorks2026"
         | "none"
         | "full3667"
         | "noModification3667"
         | "noDerivatives3667"
         | "full3978"
         | "noModification3978"
         | "noDerivatives3978"
         | "trust200811"
         | "noModificationTrust200811"
         | "noDerivativesTrust200811"
         | "trust200902"
         | "noModificationTrust200902"
         | "noDerivativesTrust200902"
         | "pre5378Trust200902"
       }?,
       attribute iprExtract { xsd:IDREF }?,
       [ a:defaultValue = "IETF" ]
       attribute submissionType {
         "IETF" | "IAB" | "IRTF" | "independent"
       }?,
       attribute docName { text }?,
       [ a:defaultValue = "false" ]
       attribute sortRefs { "true" | "false" }?,
       [ a:defaultValue = "true" ]
       attribute symRefs { "true" | "false" }?,
       [ a:defaultValue = "true" ]

Hoffman                 Expires December 19, 2015              [Page 97]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

       attribute tocInclude { "true" | "false" }?,
       [ a:defaultValue = "3" ] attribute tocDepth { text }?,
       attribute prepTime { text }?,
       [ a:defaultValue = "true" ]
       attribute indexInclude { "true" | "false" }?,
       attribute version { text }?,
       [ a:defaultValue = "Common,Latin" ] attribute scripts { text }?,
       attribute expiresDate { text }?,
       link*,
       front,
       middle,
       back?
     }

   link =
     element link {
       attribute href { text },
       attribute rel { text }?
     }

   front =
     element front {
       title,
       author+,
       date?,
       area*,
       workgroup*,
       keyword*,
       abstract?,
       seriesInfo*,
       note*,
       boilerplate?
     }

   title =
     element title {
       attribute abbrev { text }?,
       attribute ascii { text }?,
       text
     }

   author =
     element author {
       attribute initials { text }?,
       attribute asciiInitials { text }?,
       attribute surname { text }?,
       attribute asciiSurname { text }?,
       attribute fullname { text }?,

Hoffman                 Expires December 19, 2015              [Page 98]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

       attribute role { "editor" }?,
       attribute asciiFullname { text }?,
       organization?,
       address?
     }

   organization =
     element organization {
       attribute abbrev { text }?,
       attribute ascii { text }?,
       text
     }

   address =
     element address { postal?, phone?, facsimile?, email?, uri? }

   postal =
     element postal {
       (city | code | country | region | street)* | postalLine+
     }

   street =
     element street {
       attribute ascii { text }?,
       text
     }

   city =
     element city {
       attribute ascii { text }?,
       text
     }

   region =
     element region {
       attribute ascii { text }?,
       text
     }

   code =
     element code {
       attribute ascii { text }?,
       text
     }

   country =
     element country {
       attribute ascii { text }?,

Hoffman                 Expires December 19, 2015              [Page 99]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

       text
     }

   postalLine =
     element postalLine {
       attribute ascii { text }?,
       text
     }

   phone = element phone { text }

   facsimile = element facsimile { text }

   email =
     element email {
       attribute ascii { text }?,
       text
     }

   uri = element uri { text }

   date =
     element date {
       attribute day { text }?,
       attribute month { text }?,
       attribute year { text }?,
       empty
     }

   area = element area { text }

   workgroup = element workgroup { text }

   keyword = element keyword { text }

   abstract =
     element abstract {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       (dl | ol | t | ul)+
     }

   note =
     element note {
       attribute title { text }?,
       attribute pn { text }?,
       [ a:defaultValue = "false" ]
       attribute removeInRFC { "true" | "false" }?,

Hoffman                 Expires December 19, 2015             [Page 100]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

       name?,
       (dl | ol | t | ul)+
     }

   boilerplate =
     element boilerplate {
       attribute pn { text }?,
       section+
     }

   middle = element middle { section+ }

   section =
     element section {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       attribute title { text }?,
       [ a:defaultValue = "true" ]
       attribute numbered { "true" | "false" }?,
       [ a:defaultValue = "default" ]
       attribute toc { "include" | "exclude" | "default" }?,
       [ a:defaultValue = "false" ]
       attribute removeInRFC { "true" | "false" }?,
       name?,
       (artwork
        | aside
        | blockquote
        | dl
        | figure
        | iref
        | ol
        | sourcecode
        | t
        | table
        | texttable
        | ul)*,
       section*
     }

   name =
     element name {
       attribute slugifiedName { text }?,
       (text | cref | eref | relref | tt | xref)*
     }

   t =
     element t {
       attribute anchor { xsd:ID }?,

Hoffman                 Expires December 19, 2015             [Page 101]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

       attribute pn { text }?,
       attribute hangText { text }?,
       [ a:defaultValue = "false" ]
       attribute keepWithNext { "false" | "true" }?,
       [ a:defaultValue = "false" ]
       attribute keepWithPrevious { "false" | "true" }?,
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | \list
        | relref
        | spanx
        | strong
        | sub
        | sup
        | tt
        | vspace
        | xref)*
     }

   aside =
     element aside {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       (artwork | dl | figure | iref | \list | ol | t | table | ul)*
     }

   blockquote =
     element blockquote {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       attribute cite { text }?,
       attribute quotedFrom { text }?,
       ((artwork | dl | figure | ol | sourcecode | t | ul)+
        | (text
           | bcp14
           | cref
           | em
           | eref
           | iref
           | relref
           | strong
           | sub
           | sup
           | tt

Hoffman                 Expires December 19, 2015             [Page 102]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

           | xref)+)
     }

   \list =
     element list {
       [ a:defaultValue = "empty" ] attribute style { text }?,
       attribute hangIndent { text }?,
       attribute counter { text }?,
       t+
     }

   ol =
     element ol {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       [ a:defaultValue = "1" ] attribute type { text }?,
       [ a:defaultValue = "1" ] attribute start { text }?,
       attribute group { text }?,
       [ a:defaultValue = "normal" ]
       attribute spacing { "normal" | "compact" }?,
       li+
     }

   ul =
     element ul {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       [ a:defaultValue = "normal" ]
       attribute spacing { "normal" | "compact" }?,
       [ a:defaultValue = "false" ]
       attribute empty { "false" | "true" }?,
       li+
     }

   li =
     element li {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       ((artwork | dl | figure | ol | sourcecode | t | ul)+
        | (text
           | bcp14
           | cref
           | em
           | eref
           | iref
           | relref
           | strong
           | sub

Hoffman                 Expires December 19, 2015             [Page 103]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

           | sup
           | tt
           | xref)+)
     }

   dl =
     element dl {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       [ a:defaultValue = "normal" ]
       attribute spacing { "normal" | "compact" }?,
       [ a:defaultValue = "true" ]
       attribute hanging { "false" | "true" }?,
       (dt, dd)+
     }

   dt =
     element dt {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | strong
        | sub
        | sup
        | tt
        | xref)*
     }

   dd =
     element dd {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       ((artwork | dl | figure | ol | sourcecode | t | ul)+
        | (text
           | bcp14
           | cref
           | em
           | eref
           | iref
           | relref
           | strong
           | sub

Hoffman                 Expires December 19, 2015             [Page 104]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

           | sup
           | tt
           | xref)+)
     }

   xref =
     element xref {
       attribute target { xsd:IDREF },
       [ a:defaultValue = "false" ]
       attribute pageno { "true" | "false" }?,
       [ a:defaultValue = "default" ]
       attribute format { "default" | "title" | "counter" | "none" }?,
       attribute derivedContent { text }?,
       text
     }

   relref =
     element relref {
       attribute target { xsd:IDREF },
       [ a:defaultValue = "of" ]
       attribute displayFormat { "of" | "comma" | "parens" | "bare" }?,
       (attribute section { text },
        attribute relative { text }?)?,
       attribute derivedRemoteContent { text }?,
       attribute derivedLink { text }?,
       text
     }

   eref =
     element eref {
       attribute target { text },
       text
     }

   iref =
     element iref {
       attribute item { text },
       [ a:defaultValue = "" ] attribute subitem { text }?,
       [ a:defaultValue = "false" ]
       attribute primary { "true" | "false" }?,
       [ a:defaultValue = "" ] attribute irefid { text }?,
       empty
     }

   cref =
     element cref {
       attribute anchor { xsd:ID }?,
       attribute source { text }?,

Hoffman                 Expires December 19, 2015             [Page 105]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

       [ a:defaultValue = "true" ]
       attribute display { "true" | "false" }?,
       (text | em | eref | relref | strong | sub | sup | tt | xref)*
     }

   tt =
     element tt {
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | strong
        | sub
        | sup
        | xref)*
     }

   strong =
     element strong {
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | sub
        | sup
        | tt
        | xref)*
     }

   em =
     element em {
       (text
        | bcp14
        | cref
        | eref
        | iref
        | relref
        | strong
        | sub
        | sup
        | tt
        | xref)*

Hoffman                 Expires December 19, 2015             [Page 106]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

     }

   sub =
     element sub {
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | strong
        | tt
        | xref)*
     }

   sup =
     element sup {
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | strong
        | tt
        | xref)*
     }

   spanx =
     element spanx {
       [ a:defaultValue = "preserve" ]
       attribute xml:space { "default" | "preserve" }?,
       [ a:defaultValue = "emph" ] attribute style { text }?,
       text
     }

   vspace =
     element vspace {
       [ a:defaultValue = "0" ] attribute blankLines { text }?,
       empty
     }

   figure =
     element figure {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,

Hoffman                 Expires December 19, 2015             [Page 107]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

       [ a:defaultValue = "" ] attribute title { text }?,
       [ a:defaultValue = "false" ]
       attribute suppress-title { "true" | "false" }?,
       attribute src { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       [ a:defaultValue = "" ] attribute alt { text }?,
       [ a:defaultValue = "" ] attribute width { text }?,
       [ a:defaultValue = "" ] attribute height { text }?,
       name?,
       iref*,
       preamble?,
       (artwork | sourcecode)+,
       postamble?
     }

   table =
     element table {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       name?,
       iref*,
       thead?,
       tbody+,
       tfoot?
     }

   preamble =
     element preamble {
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | spanx
        | strong
        | sub
        | sup
        | tt
        | xref)*
     }

   artwork =
     element artwork {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,

Hoffman                 Expires December 19, 2015             [Page 108]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

       attribute xml:space { text }?,
       [ 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 }?,
       attribute originalSrc { text }?,
       (text* | svg)
     }

   svg =
     element ns1:svg {
       attribute * { text }*,
       anything
     }

   anything =
     element * {
       attribute * { text }*,
       anything*
     }

   sourcecode =
     element sourcecode {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       [ a:defaultValue = "" ] attribute name { text }?,
       [ a:defaultValue = "" ] attribute type { text }?,
       attribute src { text }?,
       attribute originalSrc { text }?,
       text
     }

   thead =
     element thead {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       tr+
     }

   tbody =
     element tbody {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       tr+

Hoffman                 Expires December 19, 2015             [Page 109]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

     }

   tfoot =
     element tfoot {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       tr+
     }

   tr =
     element tr {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       [ a:defaultValue = "0" ] attribute border { text }?,
       (td | th)+
     }

   td =
     element td {
       attribute anchor { xsd:ID }?,
       [ a:defaultValue = "0" ] attribute border { text }?,
       [ a:defaultValue = "0" ] attribute colspan { text }?,
       [ a:defaultValue = "0" ] attribute rowspan { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       (t+
        | (text
           | artwork
           | bcp14
           | br
           | cref
           | dl
           | em
           | eref
           | figure
           | iref
           | ol
           | relref
           | sourcecode
           | strong
           | sub
           | sup
           | tt
           | ul
           | xref)+)
     }

   th =

Hoffman                 Expires December 19, 2015             [Page 110]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

     element th {
       attribute anchor { xsd:ID }?,
       attribute pn { text }?,
       [ a:defaultValue = "0" ] attribute border { text }?,
       [ a:defaultValue = "0" ] attribute colspan { text }?,
       [ a:defaultValue = "0" ] attribute rowspan { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       (t+
        | (text
           | artwork
           | bcp14
           | br
           | cref
           | dl
           | em
           | eref
           | figure
           | iref
           | ol
           | relref
           | sourcecode
           | strong
           | sub
           | sup
           | tt
           | ul
           | xref)+)
     }

   postamble =
     element postamble { (text | cref | eref | iref | spanx | xref)* }

   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" }?,
       name?,
       preamble?,
       ttcol+,
       c*,
       postamble?

Hoffman                 Expires December 19, 2015             [Page 111]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

     }

   ttcol =
     element ttcol {
       attribute width { text }?,
       [ a:defaultValue = "left" ]
       attribute align { "left" | "center" | "right" }?,
       (cref | eref | iref | xref | text)*
     }

   c = element c { (text | cref | eref | iref | spanx | xref)* }

   bcp14 = element bcp14 { text }

   br = element br { empty }

   back = element back { displayreference*, references*, section* }

   displayreference =
     element displayreference {
       attribute target { xsd:IDREF },
       attribute to { text }
     }

   references =
     element references {
       attribute anchor { xsd:ID }?,
       attribute title { text }?,
       name?,
       (reference | referencegroup)*
     }

   reference =
     element reference {
       attribute anchor { xsd:ID },
       attribute target { text }?,
       [ a:defaultValue = "true" ]
       attribute quoteTitle { "true" | "false" }?,
       front,
       (annotation | format | refcontent | seriesInfo)*
     }

   referencegroup =
     element referencegroup {
       attribute anchor { xsd:ID },
       reference+
     }

Hoffman                 Expires December 19, 2015             [Page 112]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   seriesInfo =
     element seriesInfo {
       attribute name { text },
       attribute value { text },
       attribute asciiName { text }?,
       attribute asciiValue { text }?,
       empty
     }

   format =
     element format {
       attribute target { text }?,
       attribute type { text },
       attribute octets { text }?,
       empty
     }

   annotation =
     element annotation {
       (text
        | bcp14
        | cref
        | em
        | eref
        | iref
        | relref
        | spanx
        | strong
        | sub
        | sup
        | tt
        | xref)*
     }

   refcontent =
     element refcontent {
       (text | bcp14 | em | strong | sub | sup | tt)*
     }

   start = rfc

Appendix D.  Schema Differences from v2

   The following is a non-normative comparison of the v3 format to the
   v2 format.  A "-" indicates lines removed from the v2 schema, and a
   "+" indicates lines added to the v3 schema.

Hoffman                 Expires December 19, 2015             [Page 113]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

     namespace a =
     "http://relaxng.org/ns/compatibility/annotations/1.0"
   + namespace ns1 = "http://www.w3.org/2000/svg"

   + # xml2rfc Version 3 grammar
     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 category { text }?,
   +     [ a:defaultValue = "false" ]
   +     attribute consensus { "no" | "yes" | "false" | "true" }?,
         attribute seriesNo { text }?,
         attribute ipr {
           "full2026"
           | "noDerivativeWorks2026"
           | "none"
           | "full3667"
           | "noModification3667"
           | "noDerivatives3667"
           | "full3978"
           | "noModification3978"
           | "noDerivatives3978"
           | "trust200811"
           | "noModificationTrust200811"
           | "noDerivativesTrust200811"
           | "trust200902"
           | "noModificationTrust200902"
           | "noDerivativesTrust200902"
           | "pre5378Trust200902"
         }?,
         attribute iprExtract { xsd:IDREF }?,
         [ a:defaultValue = "IETF" ]
         attribute submissionType {
           "IETF" | "IAB" | "IRTF" | "independent"
         }?,
         attribute docName { text }?,
   -     [ a:defaultValue = "en" ] attribute xml:lang { text }?,
   +     [ a:defaultValue = "false" ]
   +     attribute sortRefs { "true" | "false" }?,
   +     [ a:defaultValue = "true" ]
   +     attribute symRefs { "true" | "false" }?,
   +     [ a:defaultValue = "true" ]
   +     attribute tocInclude { "true" | "false" }?,

Hoffman                 Expires December 19, 2015             [Page 114]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   +     [ a:defaultValue = "3" ] attribute tocDepth { text }?,
   +     attribute prepTime { text }?,
   +     [ a:defaultValue = "true" ]
   +     attribute indexInclude { "true" | "false" }?,
   +     attribute version { text }?,
   +     [ a:defaultValue = "Common,Latin" ] attribute scripts { text
   + }?,
   +     attribute expiresDate { text }?,
   +     link*,
         front,
         middle,
         back?
       }
   + link =
   +   element link {
   +     attribute href { text },
   +     attribute rel { text }?
   +   }
     front =
       element front {
   -     title, author+, date, area*, workgroup*, keyword*, abstract?,
   - note*
   +     title,
   +     author+,
   +     date?,
   +     area*,
   +     workgroup*,
   +     keyword*,
   +     abstract?,
   +     seriesInfo*,
   +     note*,
   +     boilerplate?
       }
     title =
       element title {
         attribute abbrev { text }?,
   +     attribute ascii { text }?,
         text
       }
     author =
       element author {
         attribute initials { text }?,
   +     attribute asciiInitials { text }?,
         attribute surname { text }?,
   +     attribute asciiSurname { text }?,
         attribute fullname { text }?,
         attribute role { "editor" }?,
   +     attribute asciiFullname { text }?,

Hoffman                 Expires December 19, 2015             [Page 115]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         organization?,
         address?
       }
     organization =
       element organization {
         attribute abbrev { text }?,
   +     attribute ascii { text }?,
   +     text
   +   }
   + address =
   +   element address { postal?, phone?, facsimile?, email?, uri? }
   + postal =
   +   element postal {
   +     (city | code | country | region | street)* | postalLine+
   +   }
   + street =
   +   element street {
   +     attribute ascii { text }?,
   +     text
   +   }
   + city =
   +   element city {
   +     attribute ascii { text }?,
   +     text
   +   }
   + region =
   +   element region {
   +     attribute ascii { text }?,
   +     text
   +   }
   + code =
   +   element code {
   +     attribute ascii { text }?,
   +     text
   +   }
   + country =
   +   element country {
   +     attribute ascii { text }?,
   +     text
   +   }
   + postalLine =
   +   element postalLine {
   +     attribute ascii { text }?,
         text
       }
   - address = element address { postal?, phone?, facsimile?, email?,
   - uri? }
   - postal = element postal { street+, (city | region | code |

Hoffman                 Expires December 19, 2015             [Page 116]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   - country)* }
   - street = element street { text }
   - city = element city { text }
   - region = element region { text }
   - code = element code { text }
   - country = element country { text }
     phone = element phone { text }
     facsimile = element facsimile { text }
   - email = element email { text }
   + email =
   +   element email {
   +     attribute ascii { text }?,
   +     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+ }
   + abstract =
   +   element abstract {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     (dl | ol | t | ul)+
   +   }
     note =
       element note {
   -     attribute title { text },
   -     t+
   +     attribute title { text }?,
   +     attribute pn { text }?,
   +     [ a:defaultValue = "false" ]
   +     attribute removeInRFC { "true" | "false" }?,
   +     name?,
   +     (dl | ol | t | ul)+
   +   }
   + boilerplate =
   +   element boilerplate {
   +     attribute pn { text }?,
   +     section+
       }

Hoffman                 Expires December 19, 2015             [Page 117]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

     middle = element middle { section+ }
     section =
       element section {
         attribute anchor { xsd:ID }?,
   -     attribute title { text },
   +     attribute pn { text }?,
   +     attribute title { text }?,
   +     [ a:defaultValue = "true" ]
   +     attribute numbered { "true" | "false" }?,
         [ a:defaultValue = "default" ]
         attribute toc { "include" | "exclude" | "default" }?,
   -     (t | figure | texttable | iref)*,
   +     [ a:defaultValue = "false" ]
   +     attribute removeInRFC { "true" | "false" }?,
   +     name?,
   +     (artwork
   +      | aside
   +      | blockquote
   +      | dl
   +      | figure
   +      | iref
   +      | ol
   +      | sourcecode
   +      | t
   +      | table
   +      | texttable
   +      | ul)*,
         section*
       }
   + name =
   +   element name {
   +     attribute slugifiedName { text }?,
   +     (text | cref | eref | relref | tt | xref)*
   +   }
     t =
       element t {
         attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
         attribute hangText { text }?,
   +     [ a:defaultValue = "false" ]
   +     attribute keepWithNext { "false" | "true" }?,
   +     [ a:defaultValue = "false" ]
   +     attribute keepWithPrevious { "false" | "true" }?,
         (text
   -      | \list
   -      | figure
   -      | xref
   +      | bcp14

Hoffman                 Expires December 19, 2015             [Page 118]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   +      | cref
   +      | em
          | eref
          | iref
   -      | cref
   +      | \list
   +      | relref
          | spanx
   -      | vspace)*
   +      | strong
   +      | sub
   +      | sup
   +      | tt
   +      | vspace
   +      | xref)*
   +   }
   + aside =
   +   element aside {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     (artwork | dl | figure | iref | \list | ol | t | table | ul)*
   +   }
   + blockquote =
   +   element blockquote {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     attribute cite { text }?,
   +     attribute quotedFrom { text }?,
   +     ((artwork | dl | figure | ol | sourcecode | t | ul)+
   +      | (text
   +         | bcp14
   +         | cref
   +         | em
   +         | eref
   +         | iref
   +         | relref
   +         | strong
   +         | sub
   +         | sup
   +         | tt
   +         | xref)+)
       }
     \list =
       element list {
   -     attribute style { text }?,
   +     [ a:defaultValue = "empty" ] attribute style { text }?,
         attribute hangIndent { text }?,
         attribute counter { text }?,

Hoffman                 Expires December 19, 2015             [Page 119]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         t+
       }
   + ol =
   +   element ol {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     [ a:defaultValue = "1" ] attribute type { text }?,
   +     [ a:defaultValue = "1" ] attribute start { text }?,
   +     attribute group { text }?,
   +     [ a:defaultValue = "normal" ]
   +     attribute spacing { "normal" | "compact" }?,
   +     li+
   +   }
   + ul =
   +   element ul {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     [ a:defaultValue = "normal" ]
   +     attribute spacing { "normal" | "compact" }?,
   +     [ a:defaultValue = "false" ]
   +     attribute empty { "false" | "true" }?,
   +     li+
   +   }
   + li =
   +   element li {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     ((artwork | dl | figure | ol | sourcecode | t | ul)+
   +      | (text
   +         | bcp14
   +         | cref
   +         | em
   +         | eref
   +         | iref
   +         | relref
   +         | strong
   +         | sub
   +         | sup
   +         | tt
   +         | xref)+)
   +   }
   + dl =
   +   element dl {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     [ a:defaultValue = "normal" ]
   +     attribute spacing { "normal" | "compact" }?,
   +     [ a:defaultValue = "true" ]

Hoffman                 Expires December 19, 2015             [Page 120]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   +     attribute hanging { "false" | "true" }?,
   +     (dt, dd)+
   +   }
   + dt =
   +   element dt {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | strong
   +      | sub
   +      | sup
   +      | tt
   +      | xref)*
   +   }
   + dd =
   +   element dd {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     ((artwork | dl | figure | ol | sourcecode | t | ul)+
   +      | (text
   +         | bcp14
   +         | cref
   +         | em
   +         | eref
   +         | iref
   +         | relref
   +         | strong
   +         | sub
   +         | sup
   +         | tt
   +         | xref)+)
   +   }
     xref =
       element xref {
         attribute target { xsd:IDREF },
   -     [ a:defaultValue = "false" ] attribute pageno { "true" |
   - "false" }?,
   +     [ a:defaultValue = "false" ]
   +     attribute pageno { "true" | "false" }?,
         [ a:defaultValue = "default" ]
   -     attribute format { "counter" | "title" | "none" | "default"
   +     attribute format { "default" | "title" | "counter" | "none"

Hoffman                 Expires December 19, 2015             [Page 121]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   + }?,
   +     attribute derivedContent { text }?,
   +     text
   +   }
   + relref =
   +   element relref {
   +     attribute target { xsd:IDREF },
   +     [ a:defaultValue = "of" ]
   +     attribute displayFormat { "of" | "comma" | "parens" | "bare"
     }?,
   +     (attribute section { text },
   +      attribute relative { text }?)?,
   +     attribute derivedRemoteContent { text }?,
   +     attribute derivedLink { text }?,
         text
       }
     eref =
       element eref {
         attribute target { text },
         text
       }
     iref =
       element iref {
         attribute item { text },
         [ a:defaultValue = "" ] attribute subitem { text }?,
         [ a:defaultValue = "false" ]
         attribute primary { "true" | "false" }?,
   +     [ a:defaultValue = "" ] attribute irefid { text }?,
         empty
       }
     cref =
       element cref {
         attribute anchor { xsd:ID }?,
         attribute source { text }?,
   -     text
   +     [ a:defaultValue = "true" ]
   +     attribute display { "true" | "false" }?,
   +     (text | em | eref | relref | strong | sub | sup | tt | xref)*
   +   }
   + tt =
   +   element tt {
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref

Hoffman                 Expires December 19, 2015             [Page 122]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   +      | strong
   +      | sub
   +      | sup
   +      | xref)*
   +   }
   + strong =
   +   element strong {
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | sub
   +      | sup
   +      | tt
   +      | xref)*
   +   }
   + em =
   +   element em {
   +     (text
   +      | bcp14
   +      | cref
   +      | eref
   +      | iref
   +      | relref
   +      | strong
   +      | sub
   +      | sup
   +      | tt
   +      | xref)*
   +   }
   + sub =
   +   element sub {
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | strong
   +      | tt
   +      | xref)*
   +   }
   + sup =
   +   element sup {

Hoffman                 Expires December 19, 2015             [Page 123]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | strong
   +      | tt
   +      | xref)*
       }
     spanx =
       element spanx {
         [ a:defaultValue = "preserve" ]
         attribute xml:space { "default" | "preserve" }?,
         [ a:defaultValue = "emph" ] attribute style { text }?,
         text
       }
     vspace =
       element vspace {
         [ a:defaultValue = "0" ] attribute blankLines { text }?,
         empty
       }
     figure =
       element figure {
         attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
         [ a:defaultValue = "" ] attribute title { text }?,
         [ a:defaultValue = "false" ]
         attribute suppress-title { "true" | "false" }?,
         attribute src { text }?,
         [ a:defaultValue = "left" ]
         attribute align { "left" | "center" | "right" }?,
         [ a:defaultValue = "" ] attribute alt { text }?,
         [ a:defaultValue = "" ] attribute width { text }?,
         [ a:defaultValue = "" ] attribute height { text }?,
   +     name?,
         iref*,
         preamble?,
   -     artwork,
   +     (artwork | sourcecode)+,
         postamble?
       }
   + table =
   +   element table {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     name?,

Hoffman                 Expires December 19, 2015             [Page 124]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   +     iref*,
   +     thead?,
   +     tbody+,
   +     tfoot?
   +   }
     preamble =
   -   element preamble { (text | xref | eref | iref | cref | spanx)* }
   +   element preamble {
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | spanx
   +      | strong
   +      | sub
   +      | sup
   +      | tt
   +      | xref)*
   +   }
     artwork =
       element artwork {
   -     [ a:defaultValue = "preserve" ]
   -     attribute xml:space { "default" | "preserve" }?,
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     attribute xml:space { text }?,
         [ 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 }?,
   -     text*
   +     attribute originalSrc { text }?,
   +     (text* | svg)
   +   }
   + svg =
   +   element ns1:svg {
   +     attribute * { text }*,
   +     anything
   +   }
   + anything =
   +   element * {

Hoffman                 Expires December 19, 2015             [Page 125]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   +     attribute * { text }*,
   +     anything*
   +   }
   + sourcecode =
   +   element sourcecode {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     [ a:defaultValue = "" ] attribute name { text }?,
   +     [ a:defaultValue = "" ] attribute type { text }?,
   +     attribute src { text }?,
   +     attribute originalSrc { text }?,
   +     text
   +   }
   + thead =
   +   element thead {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     tr+
   +   }
   + tbody =
   +   element tbody {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     tr+
   +   }
   + tfoot =
   +   element tfoot {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     tr+
   +   }
   + tr =
   +   element tr {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     [ a:defaultValue = "0" ] attribute border { text }?,
   +     (td | th)+
   +   }
   + td =
   +   element td {
   +     attribute anchor { xsd:ID }?,
   +     [ a:defaultValue = "0" ] attribute border { text }?,
   +     [ a:defaultValue = "0" ] attribute colspan { text }?,
   +     [ a:defaultValue = "0" ] attribute rowspan { text }?,
   +     [ a:defaultValue = "left" ]
   +     attribute align { "left" | "center" | "right" }?,
   +     (t+
   +      | (text

Hoffman                 Expires December 19, 2015             [Page 126]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   +         | artwork
   +         | bcp14
   +         | br
   +         | cref
   +         | dl
   +         | em
   +         | eref
   +         | figure
   +         | iref
   +         | ol
   +         | relref
   +         | sourcecode
   +         | strong
   +         | sub
   +         | sup
   +         | tt
   +         | ul
   +         | xref)+)
   +   }
   + th =
   +   element th {
   +     attribute anchor { xsd:ID }?,
   +     attribute pn { text }?,
   +     [ a:defaultValue = "0" ] attribute border { text }?,
   +     [ a:defaultValue = "0" ] attribute colspan { text }?,
   +     [ a:defaultValue = "0" ] attribute rowspan { text }?,
   +     [ a:defaultValue = "left" ]
   +     attribute align { "left" | "center" | "right" }?,
   +     (t+
   +      | (text
   +         | artwork
   +         | bcp14
   +         | br
   +         | cref
   +         | dl
   +         | em
   +         | eref
   +         | figure
   +         | iref
   +         | ol
   +         | relref
   +         | sourcecode
   +         | strong
   +         | sub
   +         | sup
   +         | tt
   +         | ul
   +         | xref)+)

Hoffman                 Expires December 19, 2015             [Page 127]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

       }
     postamble =
   -   element postamble { (text | xref | eref | iref | cref | spanx)*
   +   element postamble { (text | cref | eref | iref | spanx | xref)*
     }
     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" }?,
   +     name?,
         preamble?,
         ttcol+,
         c*,
         postamble?
       }
     ttcol =
       element ttcol {
         attribute width { text }?,
         [ a:defaultValue = "left" ]
         attribute align { "left" | "center" | "right" }?,
   -     text
   +     (cref | eref | iref | xref | text)*
   +   }
   + c = element c { (text | cref | eref | iref | spanx | xref)* }
   + bcp14 = element bcp14 { text }
   + br = element br { empty }
   + back = element back { displayreference*, references*, section* }
   + displayreference =
   +   element displayreference {
   +     attribute target { xsd:IDREF },
   +     attribute to { text }
       }
   - c = element c { (text | xref | eref | iref | cref | spanx)* }
   - back = element back { references*, section* }
     references =
       element references {
   -     [ a:defaultValue = "References" ] attribute title { text }?,
   -     reference+
   +     attribute anchor { xsd:ID }?,
   +     attribute title { text }?,
   +     name?,
   +     (reference | referencegroup)*

Hoffman                 Expires December 19, 2015             [Page 128]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

       }
     reference =
       element reference {
         attribute anchor { xsd:ID },
         attribute target { text }?,
   +     [ a:defaultValue = "true" ]
   +     attribute quoteTitle { "true" | "false" }?,
         front,
   -     seriesInfo*,
   -     format*,
   -     annotation*
   +     (annotation | format | refcontent | seriesInfo)*
   +   }
   + referencegroup =
   +   element referencegroup {
   +     attribute anchor { xsd:ID },
   +     reference+
       }
     seriesInfo =
       element seriesInfo {
         attribute name { text },
         attribute value { text },
   +     attribute asciiName { text }?,
   +     attribute asciiValue { text }?,
         empty
       }
     format =
       element format {
         attribute target { text }?,
         attribute type { text },
         attribute octets { text }?,
         empty
       }
     annotation =
   -   element annotation { (text | xref | eref | iref | cref |
   - spanx)* }
   +   element annotation {
   +     (text
   +      | bcp14
   +      | cref
   +      | em
   +      | eref
   +      | iref
   +      | relref
   +      | spanx
   +      | strong
   +      | sub
   +      | sup

Hoffman                 Expires December 19, 2015             [Page 129]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   +      | tt
   +      | xref)*
   +   }
   + refcontent =
   +   element refcontent {
   +     (text | bcp14 | em | strong | sub | sup | tt)*
   +   }
     start = rfc

Index

   A
      abbrev attribute
         in organization element  40
         in title element  69
      abstract element  11, 97
         anchor attribute  11
         inside front  33
      address element  11, 97
         inside author  17
      align attribute
         in artwork element  14
         in figure element  31
         in td element  66
         in texttable element  79
         in th element  68
         in ttcol element  81
      alt attribute
         in artwork element  14
         in figure element  31
      anchor attribute
         in abstract element  11
         in artwork element  14
         in aside element  17
         in blockquote element  20
         in cref element  22
         in dd element  25
         in dl element  26
         in dt element  28
         in figure element  31
         in li element  35
         in ol element  38
         in reference element  43
         in referencegroup element  44
         in references element  45
         in section element  54
         in sourcecode element  58

Hoffman                 Expires December 19, 2015             [Page 130]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         in t element  63
         in table element  64
         in tbody element  64
         in td element  66
         in texttable element  80
         in tfoot element  67
         in th element  68
         in thead element  69
         in tr element  70
         in ul element  71
      annotation element  11, 97
         inside reference  43
      anything element  97
      application/rfc+xml Media Type  82
      area element  12, 97
         inside front  32
      artwork element  13, 97
         align attribute  14
         alt attribute  14
         anchor attribute  14
         height attribute  15
         inside aside  16
         inside blockquote  19
         inside dd  24
         inside figure  31
         inside li  34
         inside section  53
         inside td  65
         inside th  67
         name attribute  15
         src attribute  15
         type attribute  15
         width attribute  16
         xml:space attribute  16
      ascii attribute
         in city element  21
         in code element  21
         in country element  22
         in email element  29
         in organization element  40
         in postalLine element  42
         in region element  45
         in street element  59
         in title element  69
      asciiFullname attribute
         in author element  17
      asciiInitials attribute
         in author element  17

Hoffman                 Expires December 19, 2015             [Page 131]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

      asciiName attribute
         in seriesInfo element  56
      asciiSurname attribute
         in author element  17
      asciiValue attribute
         in seriesInfo element  56
      aside element  16, 97
         anchor attribute  17
         inside section  53
      Attributes
         abbrev  40, 69
         align  14, 31, 66, 68, 79, 81
         alt  14, 31
         anchor  11, 14, 17, 20, 22, 25-26, 28, 31, 35, 38, 43-45, 54,
            58, 63-64, 66-71, 80
         ascii  21-22, 29, 40, 42, 45, 59, 69
         asciiFullname  17
         asciiInitials  17
         asciiName  56
         asciiSurname  17
         asciiValue  56
         blankLines  81
         border  66, 68, 70
         category  49
         cite  20
         colspan  66, 69
         consensus  49
         counter  77
         day  24
         display  23
         displayFormat  46
         docName  50
         empty  71
         format  73
         fullname  18
         group  38
         hangIndent  77
         hanging  27
         hangText  63
         height  15, 31
         href  36
         indexInclude  50
         initials  18
         ipr  50
         iprExtract  51
         item  33
         keepWithNext  63
         keepWithPrevious  63

Hoffman                 Expires December 19, 2015             [Page 132]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         month  24
         name  15, 56, 58
         number  51
         numbered  54
         obsoletes  51
         octets  76
         pageno  74
         prepTime  51
         primary  34
         quotedFrom  20
         quoteTitle  43
         rel  36
         relative  48
         removeInRFC  38, 54
         role  18
         rowspan  66, 69
         section  48
         seriesNo  51
         sortRefs  51
         source  23
         spacing  27, 39, 72
         src  15, 31, 58
         start  39
         style  77, 79-80
         subitem  34
         submissionType  52
         suppress-title  32, 80
         surname  18
         symRefs  52
         target  26, 30, 43, 49, 74, 76
         title  32, 38, 45, 55, 80
         to  26
         toc  55
         tocDepth  52
         tocInclude  52
         type  15, 39, 58, 76
         updates  53
         value  56
         version  53
         width  16, 32, 81
         xml:space  16, 79
         year  24
      author element  17, 97
         asciiFullname attribute  17
         asciiInitials attribute  17
         asciiSurname attribute  17
         fullname attribute  18
         initials attribute  18

Hoffman                 Expires December 19, 2015             [Page 133]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         inside front  32
         role attribute  18
         surname attribute  18

   B
      back element  18, 97
         inside rfc  49
      bcp14 element  18, 97
         inside annotation  12
         inside blockquote  20
         inside c  75
         inside dd  25
         inside dt  27
         inside em  28
         inside li  35
         inside postamble  77
         inside preamble  78
         inside refcontent  42
         inside strong  60
         inside sub  61
         inside sup  61
         inside t  62
         inside td  65
         inside th  67
         inside tt  70
      blankLines attribute
         in vspace element  81
      blockquote element  19, 97
         anchor attribute  20
         cite attribute  20
         inside section  53
         quotedFrom attribute  20
      boilerplate element  20, 97
         inside front  33
      border attribute
         in td element  66
         in th element  68
         in tr element  70
      br element  21, 97
         inside td  65
         inside th  67

   C
      c element  75, 97
         inside texttable  79
      category attribute
         in rfc element  49
      cite attribute

Hoffman                 Expires December 19, 2015             [Page 134]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         in blockquote element  20
      city element  21, 97
         ascii attribute  21
         inside postal  41
      code element  21, 97
         ascii attribute  21
         inside postal  41
      colspan attribute
         in td element  66
         in th element  69
      consensus attribute
         in rfc element  49
      counter attribute
         in list element  77
      country element  21, 97
         ascii attribute  22
         inside postal  41
      cref element  22, 97
         anchor attribute  22
         display attribute  23
         inside annotation  12
         inside blockquote  20
         inside c  75
         inside dd  25
         inside dt  27
         inside em  28
         inside li  35
         inside name  37
         inside postamble  77
         inside preamble  78
         inside strong  60
         inside sub  61
         inside sup  61
         inside t  62
         inside td  65
         inside th  67
         inside tt  71
         inside ttcol  80
         source attribute  23

   D
      date element  23, 97
         day attribute  24
         inside front  32
         month attribute  24
         year attribute  24
      day attribute
         in date element  24

Hoffman                 Expires December 19, 2015             [Page 135]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

      dd element  24, 97
         anchor attribute  25
         inside dl  26
      display attribute
         in cref element  23
      displayFormat attribute
         in relref element  46
      displayreference element  25, 97
         inside back  18
         target attribute  26
         to attribute  26
      dl element  26, 97
         anchor attribute  26
         hanging attribute  27
         inside abstract  11
         inside aside  16
         inside blockquote  19
         inside dd  24
         inside li  34
         inside note  38
         inside section  53
         inside td  65
         inside th  67
         spacing attribute  27
      docName attribute
         in rfc element  50
      dt element  27, 97
         anchor attribute  28
         inside dl  26

   E
      Elements
         abstract  11, 33
         address  11, 17
         annotation  11, 43
         area  12, 32
         artwork  13, 16, 19, 24, 31, 34, 53, 65, 67
         aside  16, 53
         author  17, 32
         back  18, 49
         bcp14  12, 18, 20, 25, 27-28, 35, 42, 60-62, 65, 67, 70, 75,
            77-78
         blockquote  19, 53
         boilerplate  20, 33
         br  21, 65, 67
         c  75, 79
         city  21, 41
         code  21, 41

Hoffman                 Expires December 19, 2015             [Page 136]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         country  21, 41
         cref  12, 20, 22, 25, 27-28, 35, 37, 60-62, 65, 67, 71, 75,
            77-78, 80
         date  23, 32
         dd  24, 26
         displayreference  18, 25
         dl  11, 16, 19, 24, 26, 34, 38, 53, 65, 67
         dt  26-27
         em  12, 20, 22, 25, 27-28, 35, 42, 60-62, 65, 67, 71, 75, 77-78
         email  11, 29
         eref  12, 20, 22, 25, 27-29, 35, 37, 60-62, 65, 68, 71, 75,
            77-78, 80
         facsimile  11, 76
         figure  16, 19, 24, 30, 35, 53, 65, 68
         format  43, 76
         front  32, 43, 49
         iref  12, 16, 20, 25, 27-28, 31, 33, 35, 53, 60-62, 64-65, 68,
            71, 75, 77-78, 80
         keyword  33-34
         li  34, 38, 71
         link  36, 49
         list  16, 62, 76
         middle  36, 49
         name  31, 37, 44, 53, 64, 79
         note  33, 37
         ol  11, 16, 19, 24, 35, 38, 53, 65, 68
         organization  17, 40
         phone  11, 40
         postal  11, 41
         postalLine  41
         postamble  31, 77, 79
         preamble  31, 78-79
         refcontent  42-43
         reference  43-45
         referencegroup  44-45
         references  18, 44
         region  41, 45
         relref  12, 20, 22, 25, 28, 35, 37, 45, 60-62, 65, 68, 71
         rfc  49
         section  18, 21, 37, 53-54
         seriesInfo  33, 43, 55
         sourcecode  19, 24, 31, 35, 54, 57, 65, 68
         spanx  12, 62, 75, 77-78
         street  41, 59
         strong  12, 20, 22, 25, 28-29, 35, 42, 59, 61-62, 65, 68, 71,
            75, 77-78
         sub  12, 20, 22, 25, 28-29, 35, 42, 60, 62, 65, 68, 71, 75,
            77-78

Hoffman                 Expires December 19, 2015             [Page 137]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         sup  12, 20, 22, 25, 28-29, 35, 42, 60-61, 63, 66, 68, 71, 75,
            77-78
         svg  14, 75
         t  11, 16, 19, 25, 35, 38, 54, 62, 65, 67, 76
         table  16, 54, 64
         tbody  64
         td  65, 70
         texttable  54, 79
         tfoot  64, 67
         th  67, 70
         thead  64, 69
         title  32, 69
         tr  64, 67, 69-70
         tt  12, 20, 22, 25, 28-29, 35, 37, 42, 60-63, 66, 68, 70, 75,
            77-78
         ttcol  79-80
         ul  11, 16, 19, 25, 35, 38, 54, 66, 68, 71
         uri  11, 72
         vspace  63, 81
         workgroup  33, 72
         xref  12, 20, 22, 25, 28-29, 35, 37, 60-63, 66, 68, 71-72, 76,
            78, 80
      em element  28, 97
         inside annotation  12
         inside blockquote  20
         inside c  75
         inside cref  22
         inside dd  25
         inside dt  27
         inside li  35
         inside postamble  77
         inside preamble  78
         inside refcontent  42
         inside strong  60
         inside sub  61
         inside sup  61
         inside t  62
         inside td  65
         inside th  67
         inside tt  71
      email element  29, 97
         ascii attribute  29
         inside address  11
      empty attribute
         in ul element  71
      eref element  29, 97
         inside annotation  12
         inside blockquote  20

Hoffman                 Expires December 19, 2015             [Page 138]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         inside c  75
         inside cref  22
         inside dd  25
         inside dt  27
         inside em  28
         inside li  35
         inside name  37
         inside postamble  77
         inside preamble  78
         inside strong  60
         inside sub  61
         inside sup  62
         inside t  62
         inside td  65
         inside th  68
         inside tt  71
         inside ttcol  80
         target attribute  30

   F
      facsimile element  76, 97
         inside address  11
      figure element  30, 97
         align attribute  31
         alt attribute  31
         anchor attribute  31
         height attribute  31
         inside aside  16
         inside blockquote  19
         inside dd  24
         inside li  35
         inside section  53
         inside td  65
         inside th  68
         src attribute  31
         suppress-title attribute  32
         title attribute  32
         width attribute  32
      format attribute
         in xref element  73
      format element  76, 97
         inside reference  43
         octets attribute  76
         target attribute  76
         type attribute  76
      front element  32, 97
         inside reference  43
         inside rfc  49

Hoffman                 Expires December 19, 2015             [Page 139]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

      fullname attribute
         in author element  18

   G
      group attribute
         in ol element  38

   H
      hangIndent attribute
         in list element  77
      hanging attribute
         in dl element  27
      hangText attribute
         in t element  63
      height attribute
         in artwork element  15
         in figure element  31
      href attribute
         in link element  36

   I
      indexInclude attribute
         in rfc element  50
      initials attribute
         in author element  18
      ipr attribute
         '*2026'  90
         '*3667'  90
         '*3978'  90
         '*trust200811'  90
         '*trust200902'  88
         'noDerivativesTrust200902'  89
         'noModificationTrust200902'  89
         'pre5378Trust200902'  89
         'trust200902'  88
         in rfc element  50
      iprExtract attribute
         in rfc element  51
      iref element  33, 97
         inside annotation  12
         inside aside  16
         inside blockquote  20
         inside c  75
         inside dd  25
         inside dt  27
         inside em  28
         inside figure  31
         inside li  35

Hoffman                 Expires December 19, 2015             [Page 140]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         inside postamble  77
         inside preamble  78
         inside section  53
         inside strong  60
         inside sub  61
         inside sup  62
         inside t  62
         inside table  64
         inside td  65
         inside th  68
         inside tt  71
         inside ttcol  80
         item attribute  33
         primary attribute  34
         subitem attribute  34
      item attribute
         in iref element  33

   K
      keepWithNext attribute
         in t element  63
      keepWithPrevious attribute
         in t element  63
      keyword element  34, 97
         inside front  33

   L
      li element  34, 97
         anchor attribute  35
         inside ol  38
         inside ul  71
      link element  36, 97
         href attribute  36
         inside rfc  49
         rel attribute  36
      list element  76, 97
         counter attribute  77
         hangIndent attribute  77
         inside aside  16
         inside t  62
         style attribute  77

   M
      Media Type
         application/rfc+xml  82
      middle element  36, 97
         inside rfc  49
      month attribute

Hoffman                 Expires December 19, 2015             [Page 141]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         in date element  24

   N
      name attribute
         in artwork element  15
         in seriesInfo element  56
         in sourcecode element  58
      name element  37, 97
         inside figure  31
         inside note  37
         inside references  44
         inside section  53
         inside table  64
         inside texttable  79
      note element  37, 97
         inside front  33
         removeInRFC attribute  38
         title attribute  38
      number attribute
         in rfc element  51
      numbered attribute
         in section element  54

   O
      obsoletes attribute
         in rfc element  51
      octets attribute
         in format element  76
      ol element  38, 97
         anchor attribute  38
         group attribute  38
         inside abstract  11
         inside aside  16
         inside blockquote  19
         inside dd  24
         inside li  35
         inside note  38
         inside section  53
         inside td  65
         inside th  68
         spacing attribute  39
         start attribute  39
         type attribute  39
      organization element  40, 97
         abbrev attribute  40
         ascii attribute  40
         inside author  17

Hoffman                 Expires December 19, 2015             [Page 142]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   P
      pageno attribute
         in xref element  74
      phone element  40, 97
         inside address  11
      postal element  41, 97
         inside address  11
      postalLine element  41, 97
         ascii attribute  42
         inside postal  41
      postamble element  77, 97
         inside figure  31
         inside texttable  79
      preamble element  78, 97
         inside figure  31
         inside texttable  79
      prepTime attribute
         in rfc element  51
      primary attribute
         in iref element  34

   Q
      quotedFrom attribute
         in blockquote element  20
      quoteTitle attribute
         in reference element  43

   R
      refcontent element  42, 97
         inside reference  43
      reference element  43, 97
         anchor attribute  43
         inside referencegroup  44
         inside references  45
         quoteTitle attribute  43
         target attribute  43
      referencegroup element  44, 97
         anchor attribute  44
         inside references  45
      references element  44, 97
         anchor attribute  45
         inside back  18
         title attribute  45
      region element  45, 97
         ascii attribute  45
         inside postal  41
      rel attribute
         in link element  36

Hoffman                 Expires December 19, 2015             [Page 143]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

      relative attribute
         in relref element  48
      relref element  45, 97
         displayFormat attribute  46
         inside annotation  12
         inside blockquote  20
         inside cref  22
         inside dd  25
         inside dt  28
         inside em  28
         inside li  35
         inside name  37
         inside strong  60
         inside sub  61
         inside sup  62
         inside t  62
         inside td  65
         inside th  68
         inside tt  71
         relative attribute  48
         section attribute  48
         target attribute  49
      removeInRFC attribute
         in note element  38
         in section element  54
      rfc element  49, 97
         category attribute  49
         consensus attribute  49
         docName attribute  50
         indexInclude attribute  50
         ipr attribute  50
         iprExtract attribute  51
         number attribute  51
         obsoletes attribute  51
         prepTime attribute  51
         seriesNo attribute  51
         sortRefs attribute  51
         submissionType attribute  52
         symRefs attribute  52
         tocDepth attribute  52
         tocInclude attribute  52
         updates attribute  53
         version attribute  53
      role attribute
         in author element  18
      rowspan attribute
         in td element  66
         in th element  69

Hoffman                 Expires December 19, 2015             [Page 144]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

   S
      section attribute
         in relref element  48
      section element  53, 97
         anchor attribute  54
         inside back  18
         inside boilerplate  21
         inside middle  37
         inside section  54
         numbered attribute  54
         removeInRFC attribute  54
         title attribute  55
         toc attribute  55
      seriesInfo element  55, 97
         asciiName attribute  56
         asciiValue attribute  56
         inside front  33
         inside reference  43
         name attribute  56
         value attribute  56
      seriesNo attribute
         in rfc element  51
      sortRefs attribute
         in rfc element  51
      source attribute
         in cref element  23
      sourcecode element  57, 97
         anchor attribute  58
         inside blockquote  19
         inside dd  24
         inside figure  31
         inside li  35
         inside section  54
         inside td  65
         inside th  68
         name attribute  58
         src attribute  58
         type attribute  58
      spacing attribute
         in dl element  27
         in ol element  39
         in ul element  72
      spanx element  78, 97
         inside annotation  12
         inside c  75
         inside postamble  77
         inside preamble  78
         inside t  62

Hoffman                 Expires December 19, 2015             [Page 145]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         style attribute  79
         xml:space attribute  79
      src attribute
         in artwork element  15
         in figure element  31
         in sourcecode element  58
      start attribute
         in ol element  39
      street element  59, 97
         ascii attribute  59
         inside postal  41
      strong element  59, 97
         inside annotation  12
         inside blockquote  20
         inside c  75
         inside cref  22
         inside dd  25
         inside dt  28
         inside em  29
         inside li  35
         inside postamble  77
         inside preamble  78
         inside refcontent  42
         inside sub  61
         inside sup  62
         inside t  62
         inside td  65
         inside th  68
         inside tt  71
      style attribute
         in list element  77
         in spanx element  79
         in texttable element  80
      sub element  60, 97
         inside annotation  12
         inside blockquote  20
         inside c  75
         inside cref  22
         inside dd  25
         inside dt  28
         inside em  29
         inside li  35
         inside postamble  77
         inside preamble  78
         inside refcontent  42
         inside strong  60
         inside t  62
         inside td  65

Hoffman                 Expires December 19, 2015             [Page 146]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         inside th  68
         inside tt  71
      subitem attribute
         in iref element  34
      submissionType attribute
         in rfc element  52
      sup element  61, 97
         inside annotation  12
         inside blockquote  20
         inside c  75
         inside cref  22
         inside dd  25
         inside dt  28
         inside em  29
         inside li  35
         inside postamble  77
         inside preamble  78
         inside refcontent  42
         inside strong  60
         inside t  63
         inside td  66
         inside th  68
         inside tt  71
      suppress-title attribute
         in figure element  32
         in texttable element  80
      surname attribute
         in author element  18
      svg element  75, 97
         inside artwork  14
      symRefs attribute
         in rfc element  52

   T
      t element  62, 97
         anchor attribute  63
         hangText attribute  63
         inside abstract  11
         inside aside  16
         inside blockquote  19
         inside dd  25
         inside li  35
         inside list  76
         inside note  38
         inside section  54
         inside td  65
         inside th  67
         keepWithNext attribute  63

Hoffman                 Expires December 19, 2015             [Page 147]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         keepWithPrevious attribute  63
      table element  64, 97
         anchor attribute  64
         inside aside  16
         inside section  54
      target attribute
         in displayreference element  26
         in eref element  30
         in format element  76
         in reference element  43
         in relref element  49
         in xref element  74
      tbody element  64, 97
         anchor attribute  64
         inside table  64
      td element  65, 97
         align attribute  66
         anchor attribute  66
         border attribute  66
         colspan attribute  66
         inside tr  70
         rowspan attribute  66
      texttable element  79, 97
         align attribute  79
         anchor attribute  80
         inside section  54
         style attribute  80
         suppress-title attribute  80
         title attribute  80
      tfoot element  67, 97
         anchor attribute  67
         inside table  64
      th element  67, 97
         align attribute  68
         anchor attribute  68
         border attribute  68
         colspan attribute  69
         inside tr  70
         rowspan attribute  69
      thead element  69, 97
         anchor attribute  69
         inside table  64
      title attribute
         in figure element  32
         in note element  38
         in references element  45
         in section element  55
         in texttable element  80

Hoffman                 Expires December 19, 2015             [Page 148]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

      title element  69, 97
         abbrev attribute  69
         ascii attribute  69
         inside front  32
      to attribute
         in displayreference element  26
      toc attribute
         in section element  55
      tocDepth attribute
         in rfc element  52
      tocInclude attribute
         in rfc element  52
      tr element  70, 97
         anchor attribute  70
         border attribute  70
         inside tbody  64
         inside tfoot  67
         inside thead  69
      tt element  70, 97
         inside annotation  12
         inside blockquote  20
         inside c  75
         inside cref  22
         inside dd  25
         inside dt  28
         inside em  29
         inside li  35
         inside name  37
         inside postamble  77
         inside preamble  78
         inside refcontent  42
         inside strong  60
         inside sub  61
         inside sup  62
         inside t  63
         inside td  66
         inside th  68
      ttcol element  80, 97
         align attribute  81
         inside texttable  79
         width attribute  81
      type attribute
         in artwork element  15
         in format element  76
         in ol element  39
         in sourcecode element  58

   U

Hoffman                 Expires December 19, 2015             [Page 149]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

      ul element  71, 97
         anchor attribute  71
         empty attribute  71
         inside abstract  11
         inside aside  16
         inside blockquote  19
         inside dd  25
         inside li  35
         inside note  38
         inside section  54
         inside td  66
         inside th  68
         spacing attribute  72
      updates attribute
         in rfc element  53
      uri element  72, 97
         inside address  11

   V
      value attribute
         in seriesInfo element  56
      version attribute
         in rfc element  53
      vspace element  81, 97
         blankLines attribute  81
         inside t  63

   W
      width attribute
         in artwork element  16
         in figure element  32
         in ttcol element  81
      workgroup element  72, 97
         inside front  33

   X
      xml:space attribute
         in artwork element  16
         in spanx element  79
      xref element  72, 97
         format attribute  73
         inside annotation  12
         inside blockquote  20
         inside c  76
         inside cref  22
         inside dd  25
         inside dt  28
         inside em  29

Hoffman                 Expires December 19, 2015             [Page 150]
Internet-Draft     The 'XML2RFC' version 3 Vocabulary          June 2015

         inside li  35
         inside name  37
         inside postamble  78
         inside preamble  78
         inside strong  60
         inside sub  61
         inside sup  62
         inside t  63
         inside td  66
         inside th  68
         inside tt  71
         inside ttcol  80
         pageno attribute  74
         target attribute  74
      xref formats
         counter  73
         default  73
         none  74
         title  74

   Y
      year attribute
         in date element  24

Author's Address

   Paul Hoffman
   VPN Consortium

   EMail: paul.hoffman@vpnc.org

Hoffman                 Expires December 19, 2015             [Page 151]