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 "<" and "&" (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 " "> <!ENTITY nbhy "‑"> <!ENTITY wj "⁠"> ]> 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 (rse@rfc-editor.org) 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: julian.reschke@greenbytes.de URI: http://greenbytes.de/tech/webdav/ Reschke Informational [Page 76]