Internet Architecture Board (IAB)                             J. Reschke
Request for Comments: 7749                                    greenbytes
Obsoletes: 2629                                            February 2016
Category: Informational
ISSN: 2070-1721


                  The "xml2rfc" Version 2 Vocabulary

Abstract

  This document defines the "xml2rfc" version 2 vocabulary: an XML-
  based language used for writing RFCs and Internet-Drafts.

  Version 2 represents the state of the vocabulary (as implemented by
  several tools and as used by the RFC Editor) around 2014.

  This document obsoletes RFC 2629.

Status of This Memo

  This document is not an Internet Standards Track specification; it is
  published for informational purposes.

  This document is a product of the Internet Architecture Board (IAB)
  and represents information that the IAB has deemed valuable to
  provide for permanent record.  It represents the consensus of the
  Internet Architecture Board (IAB).  Documents approved for
  publication by the IAB are not a candidate for any level of Internet
  Standard; see Section 2 of RFC 5741.

  Information about the current status of this document, any errata,
  and how to provide feedback on it may be obtained at
  http://www.rfc-editor.org/info/rfc7749.

Copyright Notice

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

  This document is subject to BCP 78 and the IETF Trust's Legal
  Provisions Relating to IETF Documents
  (http://trustee.ietf.org/license-info) in effect on the date of
  publication of this document.  Please review these documents
  carefully, as they describe your rights and restrictions with respect
  to this document.





Reschke                       Informational                     [Page 1]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


Table of Contents

  1. Introduction ....................................................4
     1.1. Syntax Notation ............................................4
  2. Elements ........................................................5
     2.1. <abstract> .................................................5
     2.2. <address> ..................................................5
     2.3. <annotation> ...............................................6
     2.4. <area> .....................................................6
     2.5. <artwork> ..................................................7
     2.6. <author> ..................................................10
     2.7. <back> ....................................................11
     2.8. <c> .......................................................12
     2.9. <city> ....................................................12
     2.10. <code> ...................................................12
     2.11. <country> ................................................12
     2.12. <cref> ...................................................13
     2.13. <date> ...................................................14
     2.14. <email> ..................................................15
     2.15. <eref> ...................................................15
     2.16. <facsimile> ..............................................16
     2.17. <figure> .................................................16
     2.18. <format> .................................................18
     2.19. <front> ..................................................19
     2.20. <iref> ...................................................20
     2.21. <keyword> ................................................21
     2.22. <list> ...................................................21
     2.23. <middle> .................................................23
     2.24. <note> ...................................................24
     2.25. <organization> ...........................................24
     2.26. <phone> ..................................................24
     2.27. <postal> .................................................25
     2.28. <postamble> ..............................................25
     2.29. <preamble> ...............................................26
     2.30. <reference> ..............................................26
     2.31. <references> .............................................27
     2.32. <region> .................................................28
     2.33. <rfc> ....................................................28
     2.34. <section> ................................................32
     2.35. <seriesInfo> .............................................33
     2.36. <spanx> ..................................................34
     2.37. <street> .................................................35
     2.38. <t> ......................................................35
     2.39. <texttable> ..............................................36
     2.40. <title> ..................................................38
     2.41. <ttcol> ..................................................38
     2.42. <uri> ....................................................39




Reschke                       Informational                     [Page 2]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


     2.43. <vspace> .................................................39
     2.44. <workgroup> ..............................................39
     2.45. <xref> ...................................................40
  3. Escaping for Use in XML ........................................42
  4. Special Unicode Code Points ....................................42
  5. Including Files ................................................43
  6. Internationalization Considerations ............................44
  7. Security Considerations ........................................44
  8. IANA Considerations ............................................44
     8.1. Internet Media Type Registration ..........................44
  9. References .....................................................46
     9.1. Normative References ......................................46
     9.2. Informative References ....................................46
  Appendix A. Front-Page ("Boilerplate") Generation .................50
    A.1. The "category" Attribute ...................................50
    A.2. The "ipr" Attribute ........................................50
      A.2.1. Current Values: "*trust200902" .........................51
      A.2.2. Historic Values ........................................52
    A.3. The "submissionType" Attribute .............................54
    A.4. The "consensus" Attribute ..................................55
  Appendix B. Changes from RFC 2629 ("v1") ..........................56
    B.1. Removed Elements ...........................................56
    B.2. Changed Defaults ...........................................56
    B.3. Changed Elements ...........................................57
    B.4. New Elements ...............................................57
  Appendix C. RELAX NG Schema .......................................58
    C.1. Checking Validity ..........................................65
  IAB Members at the Time of Approval ...............................66
  Acknowledgments ...................................................66
  Index .............................................................67
  Author's Address ..................................................76




















Reschke                       Informational                     [Page 3]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


1.  Introduction

  This document describes version 2 ("v2") of the "xml2rfc" vocabulary:
  an XML-based language ("Extensible Markup Language" [XML]) used for
  writing RFCs [RFC7322] and Internet-Drafts [IDGUIDE].

  Version 2 represents the state of the vocabulary (as implemented by
  several tools and as used by the RFC Editor) around 2014.

  It obsoletes the original version ("v1") [RFC2629], which contained
  the original language definition and which was subsequently extended.
  Many of the changes leading to version 2 have been described in
  "Writing I-Ds and RFCs using XML (revised)" [V1rev], but that
  document has not been updated since 2008.

  Processing Instructions (Section 2.6 of [XML]) generally are specific
  to a given processor and thus are not considered to be part of the
  vocabulary.  See Section 4.1 of [TCLReadme] for a list of the
  Processing Instructions supported by the first implementation of an
  xml2rfc processor.

  Note that the vocabulary contains certain constructs that might not
  be used when generating the final text; however, they can provide
  useful data for other uses (such as index generation, populating a
  keyword database, or syntax checks).

1.1.  Syntax Notation

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

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
















Reschke                       Informational                     [Page 4]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.  Elements

  The sections below describe all elements and their attributes.

  Note that attributes not labeled "mandatory" are optional.

  Except inside <artwork>, horizontal whitespace and line breaks are
  collapsed into a single whitespace, and leading and trailing
  whitespace is trimmed off.

2.1.  <abstract>

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

  This element appears as a child element of <front> (Section 2.19).

  Content model:

  One or more <t> elements (Section 2.38)

2.2.  <address>

  Provides address information for the author.

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

  Content model:

  In this order:

  1.  One optional <postal> element (Section 2.27)

  2.  One optional <phone> element (Section 2.26)

  3.  One optional <facsimile> element (Section 2.16)

  4.  One optional <email> element (Section 2.14)

  5.  One optional <uri> element (Section 2.42)










Reschke                       Informational                     [Page 5]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.3.  <annotation>

  Provides additional prose augmenting a bibliographical reference.

  This element appears as a child element of <reference>
  (Section 2.30).

  Content model:

  In any order:

  o  Text

  o  <xref> elements (Section 2.45)

  o  <eref> elements (Section 2.15)

  o  <iref> elements (Section 2.20)

  o  <cref> elements (Section 2.12)

  o  <spanx> elements (Section 2.36)

2.4.  <area>

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

  The value ought to be either the full name or the abbreviation of one
  of the IETF areas as listed on <https://www.ietf.org/iesg/area.html>.
  The list at the time that this document is being published is
  "Applications and Real-Time" ("art"), "General" ("gen"), "Internet"
  ("int"), "Operations and Management" ("ops"), "Routing" ("rtg"),
  "Security" ("sec"), and "Transport" ("tsv").

  Note that the set of IETF areas can change over time; for instance,
  "Applications and Real-Time" ("art") replaced "Applications" ("app")
  and "Real-time Applications and Infrastructure" ("rai") in 2015.

  This element appears as a child element of <front> (Section 2.19).

  Content model: only text content.









Reschke                       Informational                     [Page 6]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.5.  <artwork>

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

  <artwork> is the only element in the vocabulary that provides full
  control of horizontal whitespace and line breaks; thus, it is used
  for a variety of things, such as:

  o  diagrams ("line art"),

  o  source code,

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

  o  message flow diagrams,

  o  complex tables, or

  o  protocol unit diagrams.

  Note that processors differ in the handling of horizontal TAB
  characters (some expand them, some treat them as single spaces), and
  thus these ought to be avoided.

  Alternatively, the "src" attribute allows referencing an external
  graphics file, such as a bitmap or a vector drawing, using a URI
  ("Uniform Resource Identifier") [RFC3986].  In this case, the textual
  content acts as a fallback for output formats that do not support
  graphics; thus, it ought to contain either (1) a "line art" variant
  of the graphics or (2) prose that describes the included image in
  sufficient detail.  Note that RFCs occasionally are published with
  enhanced diagrams; [RFC5598] is a recent example of an RFC that was
  published along with a PDF with images.

  This element appears as a child element of <figure> (Section 2.17).

  Content model:

  Text











Reschke                       Informational                     [Page 7]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.5.1.  "align" Attribute

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

  Allowed values:

  o  "left" (default)

  o  "center"

  o  "right"

2.5.2.  "alt" Attribute

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

2.5.3.  "height" Attribute

  The suggested height of the graphics (when it was included using the
  "src" attribute).

  This attribute is format dependent and ought to be avoided.

  When generating HTML output [HTML], current implementations copy the
  attribute "as is", thus effectively treating it as CSS (Cascading
  Style Sheets) pixels (see Section 4.3.2 of [CSS]).  For other output
  formats, it is usually ignored.

2.5.4.  "name" Attribute

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

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

2.5.5.  "src" Attribute

  The URI reference of a graphics file (Section 4.1 of [RFC3986]).

  Note that this can be a "data" URI [RFC2397] as well, in which case
  the graphics file is wholly part of the XML file.







Reschke                       Informational                     [Page 8]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.5.6.  "type" Attribute

  Specifies the type of the artwork.

  The value is either an Internet Media Type (see [RFC2046]) or a
  keyword (such as "abnf").  The set of recognized keywords varies
  across implementations.

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

2.5.7.  "width" Attribute

  The suggested width of the graphics (when it was included using the
  "src" attribute).

  This attribute is format dependent and ought to be avoided.

  When generating HTML output [HTML], current implementations copy the
  attribute "as is", thus effectively treating it as CSS pixels (see
  Section 4.3.2 of [CSS]).  For other output formats, it is usually
  ignored.

2.5.8.  "xml:space" Attribute

  Determines whitespace handling.

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

  See also Section 2.10 of [XML].

  Allowed values:

  o  "default"

  o  "preserve" (default)













Reschke                       Informational                     [Page 9]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.6.  <author>

  Provides information about a document's author.  This is used both
  for the document itself (at the beginning of the document) and for
  referenced documents (inside of <reference>).

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

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

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

  See Sections 4.10 and 4.11 of [RFC7322] for more information.

  This element appears as a child element of <front> (Section 2.19).

  Content model:

  In this order:

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

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

2.6.1.  "fullname" Attribute

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

2.6.2.  "initials" Attribute

  An abbreviated variant of the given name(s), to be used in
  conjunction with the separately specified surname.  It usually
  appears on the front page, in footers, and in references.

  Some processors will post-process the value -- for instance, when it
  only contains a single letter (in which case they might add a
  trailing dot).  Relying on this kind of post-processing can lead to
  results varying across formatters and thus ought to be avoided.




Reschke                       Informational                    [Page 10]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.6.3.  "role" Attribute

  Specifies the role the author had in creating the document.

  Allowed values:

  o  "editor"

2.6.4.  "surname" Attribute

  The author's surname, to be used in conjunction with the separately
  specified initials.  It usually appears on the front page, in
  footers, and in references.

2.7.  <back>

  Contains the "back" part of the document: the references and
  appendices.  In <back>, <section> elements indicate appendices.

  This element appears as a child element of <rfc> (Section 2.33).

  Content model:

  In this order:

  1.  Optional <references> elements (Section 2.31)

  2.  Optional <section> elements (Section 2.34)























Reschke                       Informational                    [Page 11]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.8.  <c>

  Provides the content of a cell in a table.

  This element appears as a child element of <texttable>
  (Section 2.39).

  Content model:

  In any order:

  o  Text

  o  <xref> elements (Section 2.45)

  o  <eref> elements (Section 2.15)

  o  <iref> elements (Section 2.20)

  o  <cref> elements (Section 2.12)

  o  <spanx> elements (Section 2.36)

2.9.  <city>

  Gives the city name in a postal address.

  This element appears as a child element of <postal> (Section 2.27).

  Content model: only text content.

2.10.  <code>

  Gives the postal region code.

  This element appears as a child element of <postal> (Section 2.27).

  Content model: only text content.

2.11.  <country>

  Gives the country in a postal address.

  This element appears as a child element of <postal> (Section 2.27).

  Content model: only text content.





Reschke                       Informational                    [Page 12]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.12.  <cref>

  Represents a comment.

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

  This element appears as a child element of <annotation>
  (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28),
  <preamble> (Section 2.29), and <t> (Section 2.38).

  Content model: only text content.

2.12.1.  "anchor" Attribute

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

  The value needs to be a valid XML "Name" (Section 2.3 of [XML]),
  additionally constrained to US-ASCII characters [USASCII].

2.12.2.  "source" Attribute

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
























Reschke                       Informational                    [Page 13]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.13.  <date>

  Provides information about the publication date.

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

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

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

  In the case of bibliographic references, the date information can
  have prose text for the month or year.  For example, vague dates
  (year="ca. 2000"), date ranges (year="2012-2013"), non-specific
  months (month="Second quarter") and so on are allowed.

  This element appears as a child element of <front> (Section 2.19).

  Content model: this element does not have any contents.

2.13.1.  "day" Attribute

  In the "boilerplate" case, the day of publication; this is a number.
  Otherwise, an indication of the publication day, with the format not
  being restricted.

2.13.2.  "month" Attribute

  In the "boilerplate" case, the month of publication; this is the
  English name of the month.  Otherwise, an indication of the
  publication month, with the format not being restricted.

2.13.3.  "year" Attribute

  In the "boilerplate" case, the year of publication; this is a number
  (usually four-digit).  Otherwise, an indication of the publication
  year, with the format not being restricted.





Reschke                       Informational                    [Page 14]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.14.  <email>

  Provides an email address.

  The value is expected to be an email address conforming to the
  addr-spec definition in Section 2 of [RFC6068] (so does not include
  the prefix "mailto:").

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

  Content model: only text content.

2.15.  <eref>

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

  If the element has no text content, the value of the "target"
  attribute will be inserted in angle brackets (as described in
  Appendix C of [RFC3986]) and, depending on the capabilities of the
  output format, hyperlinked.

  Otherwise, the text content will be used (and potentially
  hyperlinked).  Depending on output format and formatter, additional
  text might be inserted (such as a "URI" counter, and a "URIs" section
  in the back of the document).  Avoid this variant when consistent
  rendering across formats and formatters is desired.

  This element appears as a child element of <annotation>
  (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28),
  <preamble> (Section 2.29), and <t> (Section 2.38).

  Content model: only text content.

2.15.1.  "target" Attribute (Mandatory)

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














Reschke                       Informational                    [Page 15]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.16.  <facsimile>

  Represents the phone number of a fax machine.

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

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

  Content model: only text content.

2.17.  <figure>

  This element is used to represent a figure, consisting of an optional
  preamble, the actual figure, an optional postamble, and an optional
  title.

  This element appears as a child element of <section> (Section 2.34)
  and <t> (Section 2.38).

  Content model:

  In this order:

  1.  Optional <iref> elements (Section 2.20)

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

  3.  One <artwork> element (Section 2.5)

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

2.17.1.  "align" Attribute

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

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

  Allowed values:

  o  "left" (default)

  o  "center"

  o  "right"





Reschke                       Informational                    [Page 16]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.17.2.  "alt" Attribute

  Duplicates functionality available on <artwork>; avoid it.

2.17.3.  "anchor" Attribute

  Document-wide unique identifier for this figure.

  Furthermore, the presence of this attribute causes the figure to be
  numbered.

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

2.17.4.  "height" Attribute

  Duplicates functionality available on <artwork>; avoid it.

2.17.5.  "src" Attribute

  Duplicates functionality available on <artwork>; avoid it.

2.17.6.  "suppress-title" Attribute

  Figures that have an "anchor" attribute will automatically get an
  autogenerated title (such as "Figure 1"), even if the "title"
  attribute is absent.  Setting this attribute to "true" will prevent
  this.

  Allowed values:

  o  "true"

  o  "false" (default)

2.17.7.  "title" Attribute

  The title for the figure; this usually appears on a line after the
  figure.

2.17.8.  "width" Attribute

  Duplicates functionality available on <artwork>; avoid it.









Reschke                       Informational                    [Page 17]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.18.  <format>

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

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

  This element appears as a child element of <reference>
  (Section 2.30).

  Content model: this element does not have any contents.

2.18.1.  "octets" Attribute

  Octet length of linked-to document.

2.18.2.  "target" Attribute

  URI of document.

2.18.3.  "type" Attribute (Mandatory)

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


























Reschke                       Informational                    [Page 18]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.19.  <front>

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

  This element appears as a child element of <reference> (Section 2.30)
  and <rfc> (Section 2.33).

  Content model:

  In this order:

  1.  One <title> element (Section 2.40)

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

  3.  One <date> element (Section 2.13)

  4.  Optional <area> elements (Section 2.4)

  5.  Optional <workgroup> elements (Section 2.44)

  6.  Optional <keyword> elements (Section 2.21)

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

  8.  Optional <note> elements (Section 2.24)
























Reschke                       Informational                    [Page 19]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.20.  <iref>

  Provides terms for the document's index.

  Index entries can be either regular entries (when just the "item"
  attribute is given) or nested entries (by specifying "subitem" as
  well), grouped under a regular entry.

  In this document, for instance, every element definition appears as a
  regular index entry ("iref element 2.20").  In addition, for each use
  of that element inside another parent element, a nested entry was
  added ("iref element 2.20, ... inside annotation 2.3").

  Index entries generally refer to the exact place where the <iref>
  element occurred.  An exception is the occurrence as a child element
  of <section>, in which case the whole section is considered to be
  relevant for that index entry.  In some formats, index entries of
  this type might be displayed as ranges.

  This element appears as a child element of <annotation>
  (Section 2.3), <c> (Section 2.8), <figure> (Section 2.17),
  <postamble> (Section 2.28), <preamble> (Section 2.29), <section>
  (Section 2.34), and <t> (Section 2.38).

  Content model: this element does not have any contents.

2.20.1.  "item" Attribute (Mandatory)

  The item to include.

2.20.2.  "primary" Attribute

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

  Allowed values:

  o  "true"

  o  "false" (default)

2.20.3.  "subitem" Attribute

  The subitem to include.







Reschke                       Informational                    [Page 20]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.21.  <keyword>

  Specifies a keyword applicable to the document.

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

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

  This element appears as a child element of <front> (Section 2.19).

  Content model: only text content.

2.22.  <list>

  Delineates a text list.

  Each list item is represented by a <t> element.  The vocabulary
  currently does not directly support list items consisting of multiple
  paragraphs; if this is needed, <vspace> (Section 2.43) can be used as
  a workaround.

  This element appears as a child element of <t> (Section 2.38).

  Content model:

  One or more <t> elements (Section 2.38)

2.22.1.  "counter" Attribute

  This attribute holds a token that serves as an identifier for a
  counter.  The intended use is continuation of lists, where the
  counter will be incremented for every list item, and there is no way
  to reset the counter.

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












Reschke                       Informational                    [Page 21]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.22.2.  "hangIndent" Attribute

  For list styles with potentially wide labels, this attribute can
  override the default indentation level, measured in number of
  characters.

  Note that it only affects styles with variable-width labels
  ("format..." and "hanging"; see below), and it may not affect formats
  in which the list item text appears _below_ the label.

2.22.3.  "style" Attribute

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

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

  "empty"

     For unlabeled list items; it can also be used for indentation
     purposes (this is the default value when there is an enclosing
     list where the style is specified).

  "hanging"

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

     The label text is specified in the "hangText" attribute of the <t>
     element (Section 2.38.2).

  "letters"

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

  "numbers"

     For ordered lists using numbers as labels.

  "symbols"

     For unordered (bulleted) lists.

     The style of the bullets is chosen automatically by the processor
     (some implementations allow overriding the default using a
     Processing Instruction).



Reschke                       Informational                    [Page 22]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  And finally:

  "format ..."

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

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

     The following formats are supported:

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

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

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

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

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

     %% represents a percent sign

     Other formats are reserved for future use.

2.23.  <middle>

  Represents the main content of the document.

  This element appears as a child element of <rfc> (Section 2.33).

  Content model:

  One or more <section> elements (Section 2.34)














Reschke                       Informational                    [Page 23]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.24.  <note>

  Creates an unnumbered section that appears after the Abstract.

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

  This element appears as a child element of <front> (Section 2.19).

  Content model:

  One or more <t> elements (Section 2.38)

2.24.1.  "title" Attribute (Mandatory)

  The title of the note.

2.25.  <organization>

  Specifies the affiliation (Section 4.1.2 of [RFC7322]) of an author.

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

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

  Content model: only text content.

2.25.1.  "abbrev" Attribute

  Abbreviated variant.

2.26.  <phone>

  Represents a phone number.

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

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

  Content model: only text content.





Reschke                       Informational                    [Page 24]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.27.  <postal>

  Contains child elements providing postal information.

  Note that at least one <street> element needs to be present; however,
  formatters will handle empty values just fine.

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

  Content model:

  In this order:

  1.  One or more <street> elements (Section 2.37)

  2.  In any order:

      *  <city> elements (Section 2.9)

      *  <region> elements (Section 2.32)

      *  <code> elements (Section 2.10)

      *  <country> elements (Section 2.11)

2.28.  <postamble>

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

  This element appears as a child element of <figure> (Section 2.17)
  and <texttable> (Section 2.39).

  Content model:

  In any order:

  o  Text

  o  <xref> elements (Section 2.45)

  o  <eref> elements (Section 2.15)

  o  <iref> elements (Section 2.20)

  o  <cref> elements (Section 2.12)

  o  <spanx> elements (Section 2.36)




Reschke                       Informational                    [Page 25]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.29.  <preamble>

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

  This element appears as a child element of <figure> (Section 2.17)
  and <texttable> (Section 2.39).

  Content model:

  In any order:

  o  Text

  o  <xref> elements (Section 2.45)

  o  <eref> elements (Section 2.15)

  o  <iref> elements (Section 2.20)

  o  <cref> elements (Section 2.12)

  o  <spanx> elements (Section 2.36)

2.30.  <reference>

  Represents a bibliographical reference.

  This element appears as a child element of <references>
  (Section 2.31).

  Content model:

  In this order:

  1.  One <front> element (Section 2.19)

  2.  Optional <seriesInfo> elements (Section 2.35)

  3.  Optional <format> elements (Section 2.18)

  4.  Optional <annotation> elements (Section 2.3)










Reschke                       Informational                    [Page 26]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.30.1.  "anchor" Attribute (Mandatory)

  Document-wide unique identifier for this reference.  Usually, this
  will be used both to "label" the reference in the "References"
  section, and as an identifier in links to this reference entry.

  The value needs to be a valid XML "Name" (Section 2.3 of [XML]),
  additionally constrained to US-ASCII characters [USASCII].  Thus, the
  character repertoire consists of "A-Z", "a-z", "0-9", "_", "-", ".",
  and ":", where "0-9", ".", and "-" are disallowed as start
  characters.

2.30.2.  "target" Attribute

  Holds the URI for the reference.

  Note that, depending on the <seriesInfo> element, a URI might not be
  needed and might not be desirable, as it can be automatically
  generated (for instance, for RFCs).

2.31.  <references>

  Contains a set of bibliographical references.

  In the early days of the RFC series, there was only one "References"
  section per RFC.  This convention was later changed to group
  references into two sets -- "Normative" and "Informative" -- as
  described in Section 4.8.6 of [RFC7322].  This vocabulary supports
  the split with the "title" attribute.

  By default, the order of references is significant.  Processors,
  however, can be instructed to sort them based on their anchor names.

  This element appears as a child element of <back> (Section 2.7).

  Content model:

  One or more <reference> elements (Section 2.30)

2.31.1.  "title" Attribute

  Provides the title for the "References" section (defaulting to
  "References").

  In general, the title should be either "Normative References" or
  "Informative References".





Reschke                       Informational                    [Page 27]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.32.  <region>

  Provides the region name in a postal address.

  This element appears as a child element of <postal> (Section 2.27).

  Content model: only text content.

2.33.  <rfc>

  This is the root element of the xml2rfc vocabulary.

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

  Content model:

  In this order:

  1.  One <front> element (Section 2.19)

  2.  One <middle> element (Section 2.23)

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

2.33.1.  "category" Attribute

  Document category (see Appendix A.1).

  Allowed values:

  o  "std"

  o  "bcp"

  o  "info"

  o  "exp"

  o  "historic"








Reschke                       Informational                    [Page 28]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.33.2.  "consensus" Attribute

  Affects the generated boilerplate.

  See [RFC5741] for more information.

  Allowed values:

  o  "no"

  o  "yes"

2.33.3.  "docName" Attribute

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

  A processor should give an error if both the "docName" and "number"
  attributes are given in the <rfc> element.

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

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

  See Section 7 of [IDGUIDE] for further information.























Reschke                       Informational                    [Page 29]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.33.4.  "ipr" Attribute

  Represents the Intellectual Property status of the document.  See
  Appendix A.2 for details.

  Allowed values:

  o  "full2026"

  o  "noDerivativeWorks2026"

  o  "none"

  o  "full3667"

  o  "noModification3667"

  o  "noDerivatives3667"

  o  "full3978"

  o  "noModification3978"

  o  "noDerivatives3978"

  o  "trust200811"

  o  "noModificationTrust200811"

  o  "noDerivativesTrust200811"

  o  "trust200902"

  o  "noModificationTrust200902"

  o  "noDerivativesTrust200902"

  o  "pre5378Trust200902"

2.33.5.  "iprExtract" Attribute

  Identifies a single section within the document (by its "anchor"
  attribute) for which extraction "as is" is explicitly allowed (this
  is only relevant for historic values of the "ipr" attribute).







Reschke                       Informational                    [Page 30]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.33.6.  "number" Attribute

  The number of the RFC to be produced.

  A processor should give an error if both the "docName" and "number"
  attributes are given in the <rfc> element.

2.33.7.  "obsoletes" Attribute

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

  Processors ought to parse the attribute value, so that incorrect
  references can be detected and, depending on output format,
  hyperlinks can be generated.  Also, the value ought to be reformatted
  to insert whitespace after each comma if not already present.

2.33.8.  "seriesNo" Attribute

  Number within a document series.

  The document series is defined by the "category" attribute;
  "seriesNo" is only applicable to the values "info" ("FYI" series),
  "std" ("STD" series), and "bcp" ("BCP" series).

2.33.9.  "submissionType" Attribute

  The document stream.

  See Section 2 of [RFC5741] for details.

  Allowed values:

  o  "IETF" (default)

  o  "IAB"

  o  "IRTF"

  o  "independent"

2.33.10.  "updates" Attribute

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

  Processors ought to parse the attribute value, so that incorrect
  references can be detected and, depending on output format,
  hyperlinks can be generated.  Also, the value ought to be reformatted
  to insert whitespace after each comma if not already present.



Reschke                       Informational                    [Page 31]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.33.11.  "xml:lang" Attribute

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

  See Section 2.12 of [XML] for more information.

2.34.  <section>

  Represents a section (when inside a <middle> element) or an appendix
  (when inside a <back> element).

  Subsections are created by nesting <section> elements inside
  <section> elements.

  This element appears as a child element of <back> (Section 2.7),
  <middle> (Section 2.23), and <section> (Section 2.34).

  Content model:

  In this order:

  1.  In any order:

      *  <t> elements (Section 2.38)

      *  <figure> elements (Section 2.17)

      *  <texttable> elements (Section 2.39)

      *  <iref> elements (Section 2.20)

  2.  Optional <section> elements (Section 2.34)

2.34.1.  "anchor" Attribute

  Document-wide unique identifier for this section.

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

2.34.2.  "title" Attribute (Mandatory)

  The title of the section.









Reschke                       Informational                    [Page 32]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.34.3.  "toc" Attribute

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

  The processor usually has defaults for whether a Table of Contents
  will be produced at all, and sections of which maximal depth will be
  included (frequently: 3).  "include" and "exclude" allow overriding
  the processor's default behavior for the element they are specified
  on (they do not affect either nested or parent elements).

  Allowed values:

  o  "include"

  o  "exclude"

  o  "default" (default)

2.35.  <seriesInfo>

  Specifies the document series in which this document appears, and
  also specifies an identifier within that series.

  This element appears as a child element of <reference>
  (Section 2.30).

  Content model: this element does not have any contents.

2.35.1.  "name" Attribute (Mandatory)

  The name of the series.

  Some series names might trigger specific processing (such as for
  autogenerating links, inserting descriptions such as "work in
  progress", or additional functionality like reference diagnostics).
  Examples for IETF-related series names are "BCP", "FYI",
  "Internet-Draft", "RFC", and "STD".

2.35.2.  "value" Attribute (Mandatory)

  The identifier within the series specified by the "name" attribute.

  For BCPs, FYIs, RFCs, and STDs, this is the number within the series.

  For Internet-Drafts, it is the full draft name (ending with the
  two-digit version number).





Reschke                       Informational                    [Page 33]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.36.  <spanx>

  Wraps a piece of text, indicating special formatting styles.

  When generating plain text, processors usually emulate font changes
  using characters such as "*" and "_".

  The following styles are defined:

  emph  Simple emphasis (this is the default).

  strong  Strong emphasis.

  verb  "Verbatim" text (usually displayed using a monospaced
     font face).

  This element appears as a child element of <annotation>
  (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28),
  <preamble> (Section 2.29), and <t> (Section 2.38).

  Content model: only text content.

2.36.1.  "style" Attribute

  The style to be used (defaults to "emph").

2.36.2.  "xml:space" Attribute

  Determines whitespace handling.

  According to the DTD, the default value is "preserve".  However,
  tests show that it doesn't have any effect on processing; thus, this
  attribute will be removed in future versions of the vocabulary.

  See also Section 2.10 of [XML].

  Allowed values:

  o  "default"

  o  "preserve" (default)










Reschke                       Informational                    [Page 34]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.37.  <street>

  Provides a street address.

  This element appears as a child element of <postal> (Section 2.27).

  Content model: only text content.

2.38.  <t>

  Contains a paragraph of text.

  This element appears as a child element of <abstract> (Section 2.1),
  <list> (Section 2.22), <note> (Section 2.24), and <section>
  (Section 2.34).

  Content model:

  In any order:

  o  Text

  o  <list> elements (Section 2.22)

  o  <figure> elements (Section 2.17)

  o  <xref> elements (Section 2.45)

  o  <eref> elements (Section 2.15)

  o  <iref> elements (Section 2.20)

  o  <cref> elements (Section 2.12)

  o  <spanx> elements (Section 2.36)

  o  <vspace> elements (Section 2.43)

2.38.1.  "anchor" Attribute

  Document-wide unique identifier for this paragraph.

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

2.38.2.  "hangText" Attribute

  Holds the label ("hanging text") for items in lists using the
  "hanging" style (see Section 2.22.3).



Reschke                       Informational                    [Page 35]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.39.  <texttable>

  Contains a table, consisting of an optional preamble, a header line,
  rows, an optional postamble, and an optional title.

  The number of columns in the table is determined by the number of
  <ttcol> elements.  The number of rows in the table is determined by
  the number of <c> elements divided by the number of columns.  There
  is no requirement that the number of <c> elements be evenly divisible
  by the number of columns.

  This element appears as a child element of <section> (Section 2.34).

  Content model:

  In this order:

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

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

  3.  Optional <c> elements (Section 2.8)

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

2.39.1.  "align" Attribute

  Determines the horizontal alignment of the table.

  Allowed values:

  o  "left"

  o  "center" (default)

  o  "right"

2.39.2.  "anchor" Attribute

  Document-wide unique identifier for this table.

  Furthermore, the presence of this attribute causes the table to be
  numbered.

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






Reschke                       Informational                    [Page 36]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.39.3.  "style" Attribute

  Selects which borders should be drawn, where

  o  "all" means borders around all table cells,

  o  "full" is like "all", except no horizontal lines between table
     rows (except below the column titles),

  o  "headers" adds just a separator between column titles and
     rows, and

  o  "none" means no borders at all.

  Allowed values:

  o  "all"

  o  "none"

  o  "headers"

  o  "full" (default)

2.39.4.  "suppress-title" Attribute

  Tables that have an "anchor" attribute will automatically get an
  autogenerated title (such as "Table 1"), even if the "title"
  attribute is absent.  Setting this attribute to "true" will
  prevent this.

  Allowed values:

  o  "true"

  o  "false" (default)

2.39.5.  "title" Attribute

  The title for the table; this usually appears on a line below the
  table body.










Reschke                       Informational                    [Page 37]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.40.  <title>

  Represents the document title.

  When this element appears in the <front> element of the current
  document, the title might also appear in page headers or footers.  If
  it's long (~40 characters), the "abbrev" attribute is used to specify
  an abbreviated variant.

  This element appears as a child element of <front> (Section 2.19).

  Content model: only text content.

2.40.1.  "abbrev" Attribute

  Specifies an abbreviated variant of the document title.

2.41.  <ttcol>

  Contains a column heading in a table.

  This element appears as a child element of <texttable>
  (Section 2.39).

  Content model: only text content.

2.41.1.  "align" Attribute

  Determines the horizontal alignment within the table column.

  Allowed values:

  o  "left" (default)

  o  "center"

  o  "right"

2.41.2.  "width" Attribute

  The desired column width (as integer 0..100 followed by "%").










Reschke                       Informational                    [Page 38]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.42.  <uri>

  Contains a web address associated with the author.

  The contents should be a valid URI (see Section 3 of [RFC3986]).

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

  Content model: only text content.

2.43.  <vspace>

  This element can be used to force the inclusion of a single line
  break or multiple blank lines.

  Note that this is a purely presentational element; thus, its use
  ought to be avoided, except within a <list> as discussed in
  Section 2.22.

  This element appears as a child element of <t> (Section 2.38).

  Content model: this element does not have any contents.

2.43.1.  "blankLines" Attribute

  Number of blank lines to be inserted, where "0" indicates a single
  line break (defaults to "0").

  For paged output formats, no additional blank lines should be
  generated after a page break.

2.44.  <workgroup>

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

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

  This element appears as a child element of <front> (Section 2.19).

  Content model: only text content.




Reschke                       Informational                    [Page 39]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


2.45.  <xref>

  Inserts a cross-reference to a different part of a document.

  The generated text depends on (1) whether the <xref> is empty (in
  which case the processor will try to generate a meaningful text
  fragment), (2) the "format" attribute, and (3) the nature (XML
  element type) of the referenced document part.

  Any element that allows the "anchor" attribute can be referenced;
  however, there are restrictions with respect to the text content
  being generated.  For instance, a <t> can be a reference target;
  however, because paragraphs are not (visibly) numbered, the author
  will have to make sure that the combination of prose and contained
  text content is sufficient for a reader to understand what is being
  referred to.

  This element appears as a child element of <annotation>
  (Section 2.3), <c> (Section 2.8), <postamble> (Section 2.28),
  <preamble> (Section 2.29), and <t> (Section 2.38).

  Content model: only text content.

2.45.1.  "format" Attribute

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

  "counter"

     Inserts a counter, such as the number of a section, figure, table,
     or list item.

     For targets that are not inherently numbered, such as references
     or comments, it uses the anchor name instead.

  "default"

     Inserts a text fragment that describes the referenced part
     completely, such as "Section 2", "Table 4", or "[XML]".

  "none"

     There will be no autogenerated text.







Reschke                       Informational                    [Page 40]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  "title"

     Inserts a title for the referenced element (usually obtained from
     the referenced element's "title" attribute; some processors also
     use the <title> child element or a <reference> target).

  Not all combinations of text content, "format" attribute, and type of
  referenced part lead to predictable results across different
  formatters.  In case this matters, the following combinations need to
  be avoided:

  o  Non-empty text content with any format other than "none".

  o  Empty text content with format "counter" for any target that isn't
     inherently numbered.

  o  Empty text content with format "title" for any target that doesn't
     have a title.

  Allowed values:

  o  "counter"

  o  "title"

  o  "none"

  o  "default" (default)

2.45.2.  "pageno" Attribute

  Unused.

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

  Allowed values:

  o  "true"

  o  "false" (default)

2.45.3.  "target" Attribute (Mandatory)

  Identifies the document component being referenced.

  The value needs to match the value of the "anchor" attribute of
  another element in the document.



Reschke                       Informational                    [Page 41]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


3.  Escaping for Use in XML

  Text in XML cannot use the literal characters "<" and "&", as they
  have special meaning to the XML processor (starting entities,
  elements, etc.).  Usually, these characters will need to be
  substituted by "&lt;" and "&amp;" (see Section 4.6 of [XML]).

  ">" does not require escaping, unless it appears in the sequence
  "]]>" (which indicates the end of a CDATA section; see below).

  Escaping the individual characters can be a lot of work (when done
  manually) and also messes up alignment in artwork.  Another approach
  to escaping is to use CDATA sections (Section 2.7 of [XML]).  Within
  these, no further escaping is needed, except when the "end-of-CDATA"
  marker needs to be used (in that case, the CDATA section needs to be
  closed, and a new one needs to be started).

4.  Special Unicode Code Points

  Although the current RFC format does not allow non-ASCII Unicode
  characters [UNICODE], some of them can be used to enforce certain
  behaviors of formatters.

  For instance:

  non-breaking space (U+00A0)

     Represents a space character where no line break should happen.
     This is frequently used in titles (by excluding certain space
     characters from the line-breaking algorithm, the processor will
     use the remaining whitespace occurrences for line breaks).

  non-breaking hyphen (U+2011)

     Similarly, this represents a hyphen character where no line
     breaking ought to occur.

  word joiner (U+2060)

     Also called "zero width non-breaking space" -- can be used to
     disallow line breaking between two non-whitespace characters.










Reschke                       Informational                    [Page 42]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  Note that in order to use these characters by name, they need to be
  declared in either the Document Type Definition (DTD) or the
  "internal subset" (Section 2.8 of [XML]), like this:

  <?xml version="1.0"?>

  <!DOCTYPE rfc [

    <!-- declare nbsp and friends -->
    <!ENTITY nbsp    "&#xa0;">
    <!ENTITY nbhy    "&#x2011;">
    <!ENTITY wj      "&#x2060;">
  ]>

5.  Including Files

  This version of the vocabulary does not support an inclusion
  mechanism on its own -- thus, a document always needs to be
  self-contained.

  That being said, some processors do support file inclusion using
  Processing Instructions (Section 2.6 of [XML] and Section 4.1.2 of
  [TCLReadme]).

  Furthermore, XML itself allows inclusion of external content using
  the "internal subset" (Section 2.8 of [XML]).  Unfortunately, this
  requires declaring the external data in the DTD upfront.

  For instance:

  <?xml version="1.0"?>

  <!DOCTYPE rfc [

    <!-- allow later RFC 2629 reference using "&rfc2629;" -->
    <!-- the data will be fetched from xml2rfc.ietf.org -->
    <!ENTITY rfc2629 PUBLIC
    "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2629.xml">
  ]>

  ...declares the entity "rfc2629", which then can be used in the
  "References" section:

    <references>
      &rfc2629;
    </references>





Reschke                       Informational                    [Page 43]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  Note that this mechanism only works for well-formed XML fragments;
  thus, any plain text that would need to be escaped in XML can't be
  included as is.

6.  Internationalization Considerations

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

  However, the current canonical RFC format is restricted to US-ASCII
  characters (see [USASCII] and Section 3 of [RFC2223]).  It is
  possible that this rule will be relaxed in future revisions of the
  RFC format (for instance, to allow non-ASCII characters in examples
  and contact information).  In that case, it is expected that the
  vocabulary will be extended accordingly.

7.  Security Considerations

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

  Furthermore, the nature of XML, plus vocabulary features such as
  typed artwork, make it attractive to extract content from documents
  for further processing, such as for the purpose of checking syntax or
  computing/verifying examples.  In the latter case, care needs to be
  taken that only trusted content is processed.

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

8.  IANA Considerations

8.1.  Internet Media Type Registration

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

  This document serves as the specification for the Internet Media Type
  "application/rfc+xml".  The following has been registered with IANA.

  Type name:  application

  Subtype name:  rfc+xml

  Required parameters:  There are no required parameters.




Reschke                       Informational                    [Page 44]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  Optional parameters:  "charset": This parameter has identical
     semantics to the charset parameter of the "application/xml"
     Media Type specified in Section 9.1 of [RFC7303].

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

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

  Interoperability considerations:  Some aspects of this vocabulary
     currently cannot be used interoperably; among the reasons for this
     are that they weren't precisely defined in the first place, that
     they have been added in an ad hoc fashion later on, or that they
     are specific to certain output formats.  This specification
     attempts to identify these cases in the description of the
     individual elements/attributes.

  Published specification:  This specification.

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

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

  Additional information:

     Deprecated alias names for this type:  None.

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

     File extension(s):  .xml or .rfcxml when disambiguation from other
        XML files is needed.

     Macintosh file type code(s):  TEXT

  Person & email address to contact for further information:  See the
     Author's Address section of RFC 7749.

  Intended usage:  COMMON

  Restrictions on usage:  None.




Reschke                       Informational                    [Page 45]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  Author:  See the Author's Address section of RFC 7749.

  Change controller:  RFC Series Editor ([email protected])

9.  References

9.1.  Normative References

  [RFC2046]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
             Extensions (MIME) Part Two: Media Types", RFC 2046,
             DOI 10.17487/RFC2046, November 1996,
             <http://www.rfc-editor.org/info/rfc2046>.

  [RFC3966]  Schulzrinne, H., "The tel URI for Telephone Numbers",
             RFC 3966, DOI 10.17487/RFC3966, December 2004,
             <http://www.rfc-editor.org/info/rfc3966>.

  [RFC6068]  Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto'
             URI Scheme", RFC 6068, DOI 10.17487/RFC6068, October 2010,
             <http://www.rfc-editor.org/info/rfc6068>.

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

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

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

9.2.  Informative References

  [BCP13]    Freed, N., Klensin, J., and T. Hansen, "Media Type
             Specifications and Registration Procedures", BCP 13,
             RFC 6838, January 2013,
             <http://www.rfc-editor.org/info/bcp13>.

  [CSS]      Bos, B., Celic, T., Hickson, I., and H. Lie, "Cascading
             Style Sheets Level 2 Revision 1 (CSS 2.1) Specification",
             W3C Recommendation REC-CSS2-20110607, June 2011,
             <http://www.w3.org/TR/2011/REC-CSS2-20110607/>.

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





Reschke                       Informational                    [Page 46]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  [HTML]     Hickson, I., Berjon, R., Faulkner, S., Leithead, T., Doyle
             Navara, E., O'Connor, E., and S. Pfeiffer, "HTML5", W3C
             Recommendation REC-html5-20141028, October 2014,
             <http://www.w3.org/TR/2014/REC-html5-20141028/>.

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

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

  [JING]     Thai Open Source Software Center Ltd, "Jing - A RELAX NG
             validator in Java", 2008,
             <http://www.thaiopensource.com/relaxng/jing.html>.

             Downloads: <https://code.google.com/p/jing-trang/
             downloads/list>.

  [RFC2026]  Bradner, S., "The Internet Standards Process --
             Revision 3", BCP 9, RFC 2026, DOI 10.17487/RFC2026,
             October 1996, <http://www.rfc-editor.org/info/rfc2026>.

  [RFC2223]  Postel, J. and J. Reynolds, "Instructions to RFC Authors",
             RFC 2223, DOI 10.17487/RFC2223, October 1997,
             <http://www.rfc-editor.org/info/rfc2223>.

  [RFC2397]  Masinter, L., "The "data" URL scheme", RFC 2397,
             DOI 10.17487/RFC2397, August 1998,
             <http://www.rfc-editor.org/info/rfc2397>.

  [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
             DOI 10.17487/RFC2629, June 1999,
             <http://www.rfc-editor.org/info/rfc2629>.

  [RFC3470]  Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines for
             the Use of Extensible Markup Language (XML) within IETF
             Protocols", BCP 70, RFC 3470, DOI 10.17487/RFC3470,
             January 2003, <http://www.rfc-editor.org/info/rfc3470>.

  [RFC3667]  Bradner, S., "IETF Rights in Contributions", RFC 3667,
             DOI 10.17487/RFC3667, February 2004,
             <http://www.rfc-editor.org/info/rfc3667>.

  [RFC3978]  Bradner, S., Ed., "IETF Rights in Contributions",
             RFC 3978, DOI 10.17487/RFC3978, March 2005,
             <http://www.rfc-editor.org/info/rfc3978>.





Reschke                       Informational                    [Page 47]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
             Resource Identifier (URI): Generic Syntax", STD 66,
             RFC 3986, DOI 10.17487/RFC3986, January 2005,
             <http://www.rfc-editor.org/info/rfc3986>.

  [RFC5234]  Crocker, D., Ed., and P. Overell, "Augmented BNF for
             Syntax Specifications: ABNF", STD 68, RFC 5234,
             DOI 10.17487/RFC5234, January 2008,
             <http://www.rfc-editor.org/info/rfc5234>.

  [RFC5378]  Bradner, S., Ed., and J. Contreras, Ed., "Rights
             Contributors Provide to the IETF Trust", BCP 78, RFC 5378,
             DOI 10.17487/RFC5378, November 2008,
             <http://www.rfc-editor.org/info/rfc5378>.

  [RFC5598]  Crocker, D., "Internet Mail Architecture", RFC 5598,
             DOI 10.17487/RFC5598, July 2009,
             <http://www.rfc-editor.org/info/rfc5598>.

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

  [RFC5741]  Daigle, L., Ed., Kolkman, O., Ed., and IAB, "RFC Streams,
             Headers, and Boilerplates", RFC 5741,
             DOI 10.17487/RFC5741, December 2009,
             <http://www.rfc-editor.org/info/rfc5741>.

  [RFC6266]  Reschke, J., "Use of the Content-Disposition Header Field
             in the Hypertext Transfer Protocol (HTTP)", RFC 6266,
             DOI 10.17487/RFC6266, June 2011,
             <http://www.rfc-editor.org/info/rfc6266>.

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

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

  [TCLReadme]
             Rose, M., Fenner, B., and C. Levert, "xml2rfc v1.35pre1",
             October 2009, <http://svn.tools.ietf.org/svn/tools/
             xml2rfc/archive/README.html>.

  [TLP1.0]   IETF Trust, "Legal Provisions Relating to IETF Documents",
             November 2008,
             <http://trustee.ietf.org/license-info/IETF-TLP-1.htm>.




Reschke                       Informational                    [Page 48]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


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

  [TLP5.0]   IETF Trust, "Legal Provisions Relating to IETF Documents",
             March 2015,
             <http://trustee.ietf.org/license-info/IETF-TLP-5.htm>.

  [UNICODE]  The Unicode Consortium, "The Unicode Standard",
             <http://www.unicode.org/versions/latest/>.

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

  [V1rev]    Rose, M., "Writing I-Ds and RFCs using XML (revised)",
             February 2008,
             <http://svn.tools.ietf.org/svn/tools/xml2rfc/archive/
             draft-mrose-writing-rfcs.html>.

  [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/>.
















Reschke                       Informational                    [Page 49]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


Appendix A.  Front-Page ("Boilerplate") Generation

A.1.  The "category" Attribute

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

  For Internet-Drafts, the "category" attribute is not needed; when
  supplied, it will appear as "Intended Status".  Supplying this
  information can be useful to reviewers.

A.2.  The "ipr" Attribute

  This attribute value can take a long list of values, each of which
  describes an IPR policy for the document (Section 2.33.4).  The
  values are not the result of a grand design, but they 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.33.9) 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.












Reschke                       Informational                    [Page 50]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


A.2.1.  Current Values: "*trust200902"

  The name for these values refers to the IETF Trust's "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.

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

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

     The TLP was again updated in March 2015 ([TLP5.0]), but the
     changes made in that version do not affect the boilerplate text.

A.2.1.1.  trust200902

  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.

A.2.1.2.  noModificationTrust200902

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

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

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











Reschke                       Informational                    [Page 51]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


A.2.1.3.  noDerivativesTrust200902

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

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

     *Note:* this clause is incompatible with RFCs.

A.2.1.4.  pre5378Trust200902

  This produces the additional text from Section 6.c.iii of the TLP,
  frequently called the "pre-5378 escape clause" (referring to changes
  introduced in [RFC5378]):

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

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

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

A.2.2.  Historic Values

A.2.2.1.  Historic Values: "*trust200811"

  The attribute values "trust200811", "noModificationTrust200811", and
  "noDerivativesTrust200811" are similar to their "trust200902"
  counterparts, except that they use text specified in [TLP1.0].








Reschke                       Informational                    [Page 52]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


A.2.2.2.  Historic Values: "*3978"

  The attribute values "full3978", "noModification3978", and
  "noDerivatives3978" are similar to their counterparts above, except
  that they use text specified in Section 5 of [RFC3978].

A.2.2.3.  Historic Values: "*3667"

  The attribute values "full3667", "noModification3667", and
  "noDerivatives3667" are similar to their counterparts above, except
  that they use text specified in Section 5 of [RFC3667].

A.2.2.4.  Historic Values: "*2026"

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

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































Reschke                       Informational                    [Page 53]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


A.3.  The "submissionType" Attribute

  The RFC Editor publishes documents from different document streams,
  of which the IETF stream is the most prominent.  Other streams are
  the independent stream (used for things such as discussion of
  Internet-related technologies that are not part of the IETF agenda),
  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.

  For current documents, setting the "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, it 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
     Section 6 of the TLP ("Text to Be Included in IETF Documents")).




















Reschke                       Informational                    [Page 54]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


A.4.  The "consensus" Attribute

  For some of the publication streams (see Appendix A.3), 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 ("yes"/"no", defaulting to "yes") can be
  used to supply this information.  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).


































Reschke                       Informational                    [Page 55]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


Appendix B.  Changes from RFC 2629 ("v1")

B.1.  Removed Elements

  The <appendix> element has been removed; to generate an appendix,
  place a <section> inside <back>.

B.2.  Changed Defaults

  Many attributes have lost their "default" value; this is to avoid
  having document semantics differ based on whether a DTD was specified
  and evaluated.  Processors will handle absent values the way the
  default value was specified before.






































Reschke                       Informational                    [Page 56]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


B.3.  Changed Elements

  <artwork>: Has a set of new attributes: "name", "type", "src",
  "align", "alt", "width", and "height".  (Section 2.5)

  <author>: The <organization> element is now optional.  The "role"
  attribute was added.  (Section 2.6)

  <country>: The requirement to use ISO 3166 codes was removed.
  (Section 2.11)

  <date>: All attributes are now optional.  (Section 2.13)

  <figure>: Has a set of new attributes: "suppress-title", "src",
  "align", "alt", "width", and "height".  (Section 2.17)

  <iref>: Has a new "primary" attribute.  (Section 2.20)

  <list>: The "style" attribute isn't restricted to a set of enumerated
  values anymore.  The "hangIndent" and "counter" attributes have been
  added.  (Section 2.22)

  <reference>: <annotation> allows adding prose to a reference.  The
  "anchor" attribute has been made mandatory.  (Section 2.30)

  <references>: Can now appear multiple times and can carry a "title"
  attribute (so that normative and informative references can be
  split).  (Section 2.31)

  <rfc>: The "ipr" attribute has gained additional values.  The
  attributes "consensus", "iprExtract", "submissionType", and
  "xml:lang" have been added.  (Section 2.33)

  <section>: The new "toc" attribute controls whether it will appear in
  the Table Of Contents.  <iref> can now appear as a direct child
  element.  (Section 2.34)

  <t>: The "anchor" attribute can now be used as well; however, there
  are restrictions on how they can be referred to.  (Section 2.38)

B.4.  New Elements

  The following elements have been added: <annotation> (Section 2.3),
  <c> (Section 2.8), <cref> (Section 2.12), <format> (Section 2.18),
  <spanx> (Section 2.36), <texttable> (Section 2.39), and <ttcol>
  (Section 2.41).





Reschke                       Informational                    [Page 57]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


Appendix C.  RELAX NG Schema

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

  rfc =
    element rfc {
      attribute number { text }?,
      [ a:defaultValue = "" ] attribute obsoletes { text }?,
      [ a:defaultValue = "" ] attribute updates { text }?,
      attribute category {
        "std" | "bcp" | "info" | "exp" | "historic"
      }?,
      attribute consensus { "no" | "yes" }?,
      attribute seriesNo { text }?,
      attribute ipr {
        "full2026"
        | "noDerivativeWorks2026"
        | "none"
        | "full3667"
        | "noModification3667"
        | "noDerivatives3667"
        | "full3978"
        | "noModification3978"
        | "noDerivatives3978"
        | "trust200811"
        | "noModificationTrust200811"
        | "noDerivativesTrust200811"
        | "trust200902"
        | "noModificationTrust200902"
        | "noDerivativesTrust200902"
        | "pre5378Trust200902"
      }?,
      attribute iprExtract { xsd:IDREF }?,
      [ a:defaultValue = "IETF" ]
      attribute submissionType {
        "IETF" | "IAB" | "IRTF" | "independent"
      }?,
      attribute docName { text }?,
      [ a:defaultValue = "en" ] attribute xml:lang { text }?,
      front,
      middle,
      back?
    }








Reschke                       Informational                    [Page 58]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


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

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

  author =
    element author {
      attribute initials { text }?,
      attribute surname { text }?,
      attribute fullname { text }?,
      attribute role { "editor" }?,
      organization?,
      address?
    }

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

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

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

  street = element street { text }

  city = element city { text }

  region = element region { text }

  code = element code { text }




Reschke                       Informational                    [Page 59]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  country = element country { text }

  phone = element phone { text }

  facsimile = element facsimile { text }

  email = element email { text }

  uri = element uri { text }

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

  area = element area { text }

  workgroup = element workgroup { text }

  keyword = element keyword { text }

  abstract = element abstract { t+ }

  note =
    element note {
      attribute title { text },
      t+
    }

  middle = element middle { section+ }

  section =
    element section {
      attribute anchor { xsd:ID }?,
      attribute title { text },
      [ a:defaultValue = "default" ]
      attribute toc { "include" | "exclude" | "default" }?,
      (t | figure | texttable | iref)*,
      section*
    }








Reschke                       Informational                    [Page 60]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  t =
    element t {
      attribute anchor { xsd:ID }?,
      attribute hangText { text }?,
      (text
       | \list
       | figure
       | xref
       | eref
       | iref
       | cref
       | spanx
       | vspace)*
    }

  \list =
    element list {
      attribute style { text }?,
      attribute hangIndent { text }?,
      attribute counter { text }?,
      t+
    }

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

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

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




Reschke                       Informational                    [Page 61]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


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

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

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

  figure =
    element figure {
      attribute anchor { xsd:ID }?,
      [ a:defaultValue = "" ] attribute title { text }?,
      [ a:defaultValue = "false" ]
      attribute suppress-title { "true" | "false" }?,
      attribute src { text }?,
      [ a:defaultValue = "left" ]
      attribute align { "left" | "center" | "right" }?,
      [ a:defaultValue = "" ] attribute alt { text }?,
      [ a:defaultValue = "" ] attribute width { text }?,
      [ a:defaultValue = "" ] attribute height { text }?,
      iref*,
      preamble?,
      artwork,
      postamble?
    }

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










Reschke                       Informational                    [Page 62]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  artwork =
    element artwork {
      [ a:defaultValue = "preserve" ]
      attribute xml:space { "default" | "preserve" }?,
      [ a:defaultValue = "" ] attribute name { text }?,
      [ a:defaultValue = "" ] attribute type { text }?,
      attribute src { text }?,
      [ a:defaultValue = "left" ]
      attribute align { "left" | "center" | "right" }?,
      [ a:defaultValue = "" ] attribute alt { text }?,
      [ a:defaultValue = "" ] attribute width { text }?,
      [ a:defaultValue = "" ] attribute height { text }?,
      text*
    }

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

  texttable =
    element texttable {
      attribute anchor { xsd:ID }?,
      [ a:defaultValue = "" ] attribute title { text }?,
      [ a:defaultValue = "false" ]
      attribute suppress-title { "true" | "false" }?,
      [ a:defaultValue = "center" ]
      attribute align { "left" | "center" | "right" }?,
      [ a:defaultValue = "full" ]
      attribute style { "all" | "none" | "headers" | "full" }?,
      preamble?,
      ttcol+,
      c*,
      postamble?
    }

  ttcol =
    element ttcol {
      attribute width { text }?,
      [ a:defaultValue = "left" ]
      attribute align { "left" | "center" | "right" }?,
      text
    }

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

  back = element back { references*, section* }






Reschke                       Informational                    [Page 63]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  references =
    element references {
      [ a:defaultValue = "References" ] attribute title { text }?,
      reference+
    }

  reference =
    element reference {
      attribute anchor { xsd:ID },
      attribute target { text }?,
      front,
      seriesInfo*,
      format*,
      annotation*
    }

  seriesInfo =
    element seriesInfo {
      attribute name { text },
      attribute value { text },
      empty
    }

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

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

  start = rfc

  (This schema was derived from version 1.3.6 of the xml2rfc DTD
  ("Document Type Definition") (Section 2.8 of [XML]), available from
  <http://svn.tools.ietf.org/svn/tools/xml2rfc/vocabulary/v2/03/
  xml2rfcv2.dtd>.)











Reschke                       Informational                    [Page 64]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


C.1.  Checking Validity

  The validity of XML files can be checked with any tool that supports
  RELAX NG [RNC].  The reference implementation is the Java-based,
  open-sourced "Jing" [JING].

  To use Jing, download the latest ZIP file from the "downloads" page
  (currently <https://code.google.com/p/jing-trang/downloads/
  detail?name=jing-20091111.zip>), extract the archive, copy "jing.jar"
  from the "bin" folder, and make sure Java is installed.

  To check a file "test.xml" using the RNC file "schema.rnc", run (from
  a command-line prompt):

  java -jar jing.jar -c schema.rnc test.xml

  In good Unix tradition, no output means the file is valid.


































Reschke                       Informational                    [Page 65]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


IAB Members at the Time of Approval

  Jari Arkko (IETF Chair)
  Mary Barnes
  Marc Blanchet
  Ralph Droms
  Ted Hardie
  Joe Hildebrand
  Russ Housley
  Erik Nordmark
  Robert Sparks
  Andrew Sullivan
  Dave Thaler
  Brian Trammell
  Suzanne Woolf

Acknowledgments

  Thanks to everybody who reviewed this document and provided feedback
  and/or specification text, in particular Brian Carpenter, Elwyn
  Davies, Tony Hansen, Joe Hildebrand, Paul Hoffman, Henrik Levkowetz,
  Alice Russo, Tom Taylor, Dave Thaler, Jim Schaad, and Nico Williams.

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


























Reschke                       Informational                    [Page 66]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


Index

  A
     Attributes
        abbrev  21, 34
        align  7, 14, 32, 34
        alt  7, 15
        anchor  11, 15, 23, 28, 31-32
        blankLines  35
        category  25
        consensus  25
        counter  18
        day  12
        docName  25
        format  36
        fullname  9
        hangIndent  18
        hangText  31
        height  7, 15
        initials  9
        ipr  26
        iprExtract  26
        item  17
        month  12
        name  7, 29
        number  27
        obsoletes  27
        octets  16
        pageno  37
        primary  17
        role  9
        seriesNo  27
        source  12
        src  7, 15
        style  19, 30, 32
        subitem  17
        submissionType  27
        suppress-title  15, 33
        surname  10
        target  13, 16, 23, 37
        title  15, 21, 24, 28, 33
        toc  28
        type  8, 16
        updates  27
        value  29
        width  8, 15, 34





Reschke                       Informational                    [Page 67]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


        xml:lang  28
        xml:space  8, 30
        year  13
     abbrev attribute
        in organization element  21
        in title element  34
     abstract element  4, 50
        inside front  16
     address element  4, 50
        inside author  9
     align attribute
        in artwork element  7
        in figure element  14
        in texttable element  32
        in ttcol element  34
     alt attribute
        in artwork element  7
        in figure element  15
     anchor attribute
        in cref element  11
        in figure element  15
        in reference element  23
        in section element  28
        in t element  31
        in texttable element  32
     annotation element  5, 50
        inside reference  23
     application/rfc+xml Media Type  40
     area element  5, 50
        inside front  16
     artwork element  6, 50
        align attribute  7
        alt attribute  7
        height attribute  7
        inside figure  14
        name attribute  7
        src attribute  7
        type attribute  8
        width attribute  8
        xml:space attribute  8
     author element  8, 50
        fullname attribute  9
        initials attribute  9
        inside front  16
        role attribute  9
        surname attribute  10





Reschke                       Informational                    [Page 68]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  B
     back element  10, 50
        inside rfc  25
     blankLines attribute
        in vspace element  35
  C
     c element  10, 50
        inside texttable  32
     category attribute
        in rfc element  25
     city element  11, 50
        inside postal  22
     code element  11, 50
        inside postal  22
     consensus attribute
        in rfc element  25
     counter attribute
        in list element  18
     country element  11, 50
        inside postal  22
     cref element  11, 50
        anchor attribute  11
        inside annotation  5
        inside c  10
        inside postamble  22
        inside preamble  23
        inside t  31
        source attribute  12
  D
     date element  12, 50
        day attribute  12
        inside front  16
        month attribute  12
        year attribute  13
     day attribute
        in date element  12
     docName attribute
        in rfc element  25
  E
     Elements
        abstract  4, 16
        address  4, 9
        annotation  5, 23
        area  5, 16
        artwork  6, 14
        author  8, 16
        back  10, 25
        c  10, 32



Reschke                       Informational                    [Page 69]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


        city  11, 22
        code  11, 22
        country  11, 22
        cref  5, 10-11, 22-23, 31
        date  12, 16
        email  5, 13
        eref  5, 10, 13, 22-23, 31
        facsimile  5, 14
        figure  14, 28, 31
        format  15, 23
        front  16, 23, 25
        iref  5, 10, 14, 17, 22-23, 28, 31
        keyword  16, 18
        list  18, 31
        middle  20, 25
        note  17, 20
        organization  9, 21
        phone  5, 21
        postal  5, 21
        postamble  14, 22, 32
        preamble  14, 22, 32
        reference  23-24
        references  10, 24
        region  22, 24
        rfc  24
        section  10, 20, 28
        seriesInfo  23, 29
        spanx  5, 10, 22-23, 29, 31
        street  21, 30
        t  4, 18, 20, 28, 31
        texttable  28, 31
        title  16, 33
        ttcol  32, 34
        uri  5, 34
        vspace  31, 34
        workgroup  16, 35
        xref  5, 10, 22, 31, 35
     email element  13, 50
        inside address  5
     eref element  13, 50
        inside annotation  5
        inside c  10
        inside postamble  22
        inside preamble  23
        inside t  31
        target attribute  13





Reschke                       Informational                    [Page 70]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  F
     facsimile element  14, 50
        inside address  5
     figure element  14, 50
        align attribute  14
        alt attribute  15
        anchor attribute  15
        height attribute  15
        inside section  28
        inside t  31
        src attribute  15
        suppress-title attribute  15
        title attribute  15
        width attribute  15
     format attribute
        in xref element  36
     format element  15, 50
        inside reference  23
        octets attribute  16
        target attribute  16
        type attribute  16
     front element  16, 50
        inside reference  23
        inside rfc  25
     fullname attribute
        in author element  9
  H
     hangIndent attribute
        in list element  18
     hangText attribute
        in t element  31
     height attribute
        in artwork element  7
        in figure element  15
  I
     initials attribute
        in author element  9
     ipr attribute
        "*2026"  48
        "*3667"  48
        "*3978"  47
        "*trust200811"  47
        "*trust200902"  46
        "noDerivativesTrust200902"  47
        "noModificationTrust200902"  46
        "pre5378Trust200902"  47
        "trust200902"  46
        in rfc element  26



Reschke                       Informational                    [Page 71]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


     iprExtract attribute
        in rfc element  26
     iref element  17, 50
        inside annotation  5
        inside c  10
        inside figure  14
        inside postamble  22
        inside preamble  23
        inside section  28
        inside t  31
        item attribute  17
        primary attribute  17
        subitem attribute  17
     item attribute
        in iref element  17
  K
     keyword element  18, 50
        inside front  16
  L
     list element  18, 50
        counter attribute  18
        hangIndent attribute  18
        inside t  31
        style attribute  19
     list styles
        empty  19
        format ...  20
        hanging  19
        letters  19
        numbers  19
        symbols  19
  M
     Media Type
        application/rfc+xml  40
     middle element  20, 50
        inside rfc  25
     month attribute
        in date element  12
  N
     name attribute
        in artwork element  7
        in seriesInfo element  29
     note element  20, 50
        inside front  17
        title attribute  21
     number attribute
        in rfc element  27




Reschke                       Informational                    [Page 72]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  O
     obsoletes attribute
        in rfc element  27
     octets attribute
        in format element  16
     organization element  21, 50
        abbrev attribute  21
        inside author  9
  P
     pageno attribute
        in xref element  37
     phone element  21, 50
        inside address  5
     postal element  21, 50
        inside address  5
     postamble element  22, 50
        inside figure  14
        inside texttable  32
     preamble element  22, 50
        inside figure  14
        inside texttable  32
     primary attribute
        in iref element  17
  R
     reference element  23, 50
        anchor attribute  23
        inside references  24
        target attribute  23
     references element  24, 50
        inside back  10
        title attribute  24
     region element  24, 50
        inside postal  22
     rfc element  24, 50
        category attribute  25
        consensus attribute  25
        docName attribute  25
        ipr attribute  26
        iprExtract attribute  26
        number attribute  27
        obsoletes attribute  27
        seriesNo attribute  27
        submissionType attribute  27
        updates attribute  27
        xml:lang attribute  28
     role attribute
        in author element  9




Reschke                       Informational                    [Page 73]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  S
     section element  28, 50
        anchor attribute  28
        inside back  10
        inside middle  20
        inside section  28
        title attribute  28
        toc attribute  28
     seriesInfo element  29, 50
        inside reference  23
        name attribute  29
        value attribute  29
     seriesNo attribute
        in rfc element  27
     source attribute
        in cref element  12
     spanx element  29, 50
        inside annotation  5
        inside c  10
        inside postamble  22
        inside preamble  23
        inside t  31
        style attribute  30
        xml:space attribute  30
     src attribute
        in artwork element  7
        in figure element  15
     street element  30, 50
        inside postal  21
     style attribute
        in list element  19
        in spanx element  30
        in texttable element  32
     subitem attribute
        in iref element  17
     submissionType attribute
        in rfc element  27
     suppress-title attribute
        in figure element  15
        in texttable element  33
     surname attribute
        in author element  10









Reschke                       Informational                    [Page 74]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  T
     t element  31, 50
        anchor attribute  31
        hangText attribute  31
        inside abstract  4
        inside list  18
        inside note  20
        inside section  28
     target attribute
        in eref element  13
        in format element  16
        in reference element  23
        in xref element  37
     texttable element  31, 50
        align attribute  32
        anchor attribute  32
        inside section  28
        style attribute  32
        suppress-title attribute  33
        title attribute  33
     title attribute
        in figure element  15
        in note element  21
        in references element  24
        in section element  28
        in texttable element  33
     title element  33, 50
        abbrev attribute  34
        inside front  16
     toc attribute
        in section element  28
     ttcol element  34, 50
        align attribute  34
        inside texttable  32
        width attribute  34
     type attribute
        in artwork element  8
        in format element  16
  U
     updates attribute
        in rfc element  27
     uri element  34, 50
        inside address  5








Reschke                       Informational                    [Page 75]

RFC 7749           The "xml2rfc" Version 2 Vocabulary      February 2016


  V
     value attribute
        in seriesInfo element  29
     vspace element  34, 50
        blankLines attribute  35
        inside t  31
  W
     width attribute
        in artwork element  8
        in figure element  15
        in ttcol element  34
     workgroup element  35, 50
        inside front  16
  X
     xml:lang attribute
        in rfc element  28
     xml:space attribute
        in artwork element  8
        in spanx element  30
     xref element  35, 50
        format attribute  36
        inside annotation  5
        inside c  10
        inside postamble  22
        inside preamble  22
        inside t  31
        pageno attribute  37
        target attribute  37
     xref formats
        counter  36
        default  36
        none  36
        title  36
  Y
     year attribute
        in date element  13

Author's Address

  Julian F. Reschke
  greenbytes GmbH
  Hafenweg 16
  Muenster, NW  48155
  Germany

  Email: [email protected]
  URI:   http://greenbytes.de/tech/webdav/




Reschke                       Informational                    [Page 76]