The 'XML2RFC' version 3 Vocabulary
draft-hoffman-xml2rfc-16
The information below is for an old version of the document.
Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
|
|
---|---|---|---|
Author | Paul E. Hoffman | ||
Last updated | 2015-03-04 | ||
Replaced by | draft-iab-xml2rfc, draft-iab-xml2rfc, RFC 7991 | ||
RFC stream | (None) | ||
Formats | |||
Reviews |
GENART Early review
(of
-04)
by Ben Campbell
On the Right Track
GENART Early review
(of
-04)
by Elwyn Davies
On the Right Track
|
||
Additional resources | |||
Stream | Stream state | (No stream defined) | |
Consensus boilerplate | Unknown | ||
RFC Editor Note | (None) | ||
IESG | IESG state | I-D Exists | |
Telechat date | (None) | ||
Responsible AD | (None) | ||
Send notices to | (None) |
draft-hoffman-xml2rfc-16
Network Working Group P. Hoffman Internet-Draft VPN Consortium Obsoletes: 2629 (if approved) March 4, 2015 Intended status: Informational Expires: September 5, 2015 The 'XML2RFC' version 3 Vocabulary draft-hoffman-xml2rfc-16 Abstract This document defines the "XML2RFC" version 3 vocabulary; an XML- based language used for writing RFCs and Internet-Drafts. It is heavily derived from the version 2 vocabulary that is also under discussion. This document obsoletes the v2 grammar described in RFC 2629 and its expected followup, draft-iab-xml2rfc. Editorial Note (To be removed by RFC Editor) Discussion of this draft takes place on the rfc-interest mailing list (rfc-interest@rfc-editor.org), which has its home page at <https://www.rfc-editor.org/mailman/listinfo/rfc-interest>. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on September 5, 2015. Copyright Notice Copyright (c) 2015 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 Hoffman Expires September 5, 2015 [Page 1] Internet-Draft XML2RFCv3 March 2015 (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. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1. Design Criteria for the Changes in v3 . . . . . . . . . . 5 1.2. Differences from v2 to v3 . . . . . . . . . . . . . . . . 6 1.2.1. New Elements in v3 . . . . . . . . . . . . . . . . . 6 1.2.2. New Attributes for Existing Elements . . . . . . . . 7 1.2.3. Elements and Attributes Deprecated from v2 . . . . . 8 1.2.4. Additional Changes from v2 . . . . . . . . . . . . . 9 1.3. Syntax Notation . . . . . . . . . . . . . . . . . . . . . 9 2. Elements . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1. <abstract> . . . . . . . . . . . . . . . . . . . . . . . 10 2.2. <address> . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3. <annotation> . . . . . . . . . . . . . . . . . . . . . . 11 2.4. <area> . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.5. <artwork> . . . . . . . . . . . . . . . . . . . . . . . . 12 2.6. <aside> . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.7. <author> . . . . . . . . . . . . . . . . . . . . . . . . 16 2.8. <b> . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.9. <back> . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.10. <bcp14> . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.11. <blockquote> . . . . . . . . . . . . . . . . . . . . . . 19 2.12. <boilerplate> . . . . . . . . . . . . . . . . . . . . . . 20 2.13. <br> . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.14. <city> . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.15. <code> . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.16. <country> . . . . . . . . . . . . . . . . . . . . . . . . 21 2.17. <cref> . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.18. <date> . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.19. <dd> . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.20. <displayreference> . . . . . . . . . . . . . . . . . . . 25 2.21. <dl> . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.22. <dt> . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.23. <em> . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.24. <email> . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.25. <eref> . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.26. <figure> . . . . . . . . . . . . . . . . . . . . . . . . 29 2.27. <front> . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.28. <i> . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.29. <iref> . . . . . . . . . . . . . . . . . . . . . . . . . 33 Hoffman Expires September 5, 2015 [Page 2] Internet-Draft XML2RFCv3 March 2015 2.30. <keyword> . . . . . . . . . . . . . . . . . . . . . . . . 34 2.31. <li> . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.32. <link> . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.33. <middle> . . . . . . . . . . . . . . . . . . . . . . . . 36 2.34. <name> . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.35. <note> . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.36. <ol> . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.37. <organization> . . . . . . . . . . . . . . . . . . . . . 40 2.38. <phone> . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.39. <postal> . . . . . . . . . . . . . . . . . . . . . . . . 40 2.40. <postalLine> . . . . . . . . . . . . . . . . . . . . . . 41 2.41. <refcontent> . . . . . . . . . . . . . . . . . . . . . . 41 2.42. <reference> . . . . . . . . . . . . . . . . . . . . . . . 42 2.43. <referencegroup> . . . . . . . . . . . . . . . . . . . . 43 2.44. <references> . . . . . . . . . . . . . . . . . . . . . . 44 2.45. <region> . . . . . . . . . . . . . . . . . . . . . . . . 45 2.46. <rfc> . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.47. <section> . . . . . . . . . . . . . . . . . . . . . . . . 49 2.48. <seriesInfo> . . . . . . . . . . . . . . . . . . . . . . 51 2.49. <sourcecode> . . . . . . . . . . . . . . . . . . . . . . 53 2.50. <street> . . . . . . . . . . . . . . . . . . . . . . . . 55 2.51. <strong> . . . . . . . . . . . . . . . . . . . . . . . . 55 2.52. <sub> . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.53. <sup> . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.54. <t> . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.55. <table> . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.56. <tbody> . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.57. <td> . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.58. <tfoot> . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.59. <th> . . . . . . . . . . . . . . . . . . . . . . . . . . 63 2.60. <thead> . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.61. <title> . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.62. <tr> . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.63. <tt> . . . . . . . . . . . . . . . . . . . . . . . . . . 66 2.64. <ul> . . . . . . . . . . . . . . . . . . . . . . . . . . 67 2.65. <uri> . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.66. <workgroup> . . . . . . . . . . . . . . . . . . . . . . . 68 2.67. <xref> . . . . . . . . . . . . . . . . . . . . . . . . . 68 3. Elements from v2 That Have Been Deprecated . . . . . . . . . 71 3.1. <c> . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.2. <facsimile> . . . . . . . . . . . . . . . . . . . . . . . 72 3.3. <format> . . . . . . . . . . . . . . . . . . . . . . . . 73 3.4. <list> . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.5. <postamble> . . . . . . . . . . . . . . . . . . . . . . . 74 3.6. <preamble> . . . . . . . . . . . . . . . . . . . . . . . 74 3.7. <spanx> . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.8. <texttable> . . . . . . . . . . . . . . . . . . . . . . . 76 3.9. <ttcol> . . . . . . . . . . . . . . . . . . . . . . . . . 77 Hoffman Expires September 5, 2015 [Page 3] Internet-Draft XML2RFCv3 March 2015 3.10. <vspace> . . . . . . . . . . . . . . . . . . . . . . . . 78 4. Internationalization Considerations . . . . . . . . . . . . . 78 5. Security Considerations . . . . . . . . . . . . . . . . . . . 78 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 79 6.1. Internet Media Type Registration . . . . . . . . . . . . 79 6.2. Link Relation Registration . . . . . . . . . . . . . . . 80 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 80 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.1. Normative References . . . . . . . . . . . . . . . . . . 81 8.2. Informative References . . . . . . . . . . . . . . . . . 81 Appendix A. Front Page ('Boilerplate') Generation . . . . . . . 83 A.1. The /rfc/@ipr Attribute . . . . . . . . . . . . . . . . . 84 A.1.1. Current Values: '*trust200902' . . . . . . . . . . . 84 A.1.2. Historic Values . . . . . . . . . . . . . . . . . . . 86 A.2. The /rfc/@submissionType Attribute . . . . . . . . . . . 86 A.3. The /rfc/@consensus Attribute . . . . . . . . . . . . . . 87 Appendix B. The v3 Format and Processors . . . . . . . . . . . . 87 B.1. Including External Text . . . . . . . . . . . . . . . . . 89 B.2. Anchors and IDs . . . . . . . . . . . . . . . . . . . . . 89 B.2.1. Overlapping Values . . . . . . . . . . . . . . . . . 90 Appendix C. Relax NG Schema . . . . . . . . . . . . . . . . . . 91 Appendix D. Schema Differences from v2 . . . . . . . . . . . . . 108 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Hoffman Expires September 5, 2015 [Page 4] Internet-Draft XML2RFCv3 March 2015 1. Introduction This document describes version 3 ("v3") of the "XML2RFC" vocabulary; an XML-based language ('Extensible Markup Language', [XML]) used for writing RFCs ([RFC7322]) and Internet-Drafts ([IDGUIDE]). This document obsoletes the version 2 vocabulary ("v2") [XML2RFCv2], which contains the extended language definition. That document in turn obsoletes the original version ("v1") [RFC2629]. This document directly copies the material from [XML2RFCv2] where possible; as that document makes its way toward RFC publication, this document will incorporate as many of the changes as possible. The v3 format will be used as part of the new RFC series described in [RFC6949]. The new format will be handled by one or more new processors for checking the XML and converting it to other representations. Features of the expected processors are described in Appendix B. Note that the vocabulary contains certain constructs that might not be used when generating of the final text; however, they can provide useful data for other uses (such as index generation, populating a keyword database, or syntax checks). In this document, the term "format" is used when describing types of documents, primarily XML and HTML. The term "representation" is used when talking about a specific instatiation of a format, such as an XML document or an HTML document that was created by an XML document. The following two sections are a hopefully-complete list of all the technical changes between [XML2RFCv2] and this document, as well as the design criteria for those changes. 1.1. Design Criteria for the Changes in v3 The design criteria of the changes from v2 to v3 are: o The intention is that starting and editing a v3 document will be easier than for a v2 document. o There will be good v2-to-v3 conversion tools for when an author wants to change versions. o There are no current plans to make v3 XML the required submission representation for drafts or RFCs. That might happen eventually, but it is likely to be years away. There is a desire to keep as much of the v2 grammar as makes sense Hoffman Expires September 5, 2015 [Page 5] Internet-Draft XML2RFCv3 March 2015 within the above design criteria and not to make gratuitous changes to the v2 grammar. Another way to say this is "we would rather encourage backward compatibility but not be constrained by it". Still, the goal of starting and editing a v3 document being easier than for a v2 document is more important than backwards compatibility with v2, given the latter two design criteria. v3 is upwards compatible with v2, meaning that a v2 document is meant to be a valid v3 document as well. However, some features of v2 are deprecated in v3 in favor of new elements. Deprecated features are listed in Section 1.2.3, and are described in [XML2RFCv2]. 1.2. Differences from v2 to v3 The format changes in v3 are listed in the following subsections. 1.2.1. New Elements in v3 o Add <dl>, <ul>, and <ol> as new ways to make lists. This is a significant change from v2 in that the child under these elements is <li>, not <t>. <li> has a model of either containing one or more <t> elements, or containing the flowing text normally found in <t>. These lists are children of <section>s and other lists instead of <t>. o Add <strong>, <b>, <em>, <i>, <tt>, <sub>, and <sup> for character formatting. o Add <aside> for incidental text that will be indented when displayed. o Add <sourcecode> to differentiate from <artwork>. o Add <table>, <thead>, <tbody>, <tfoot>, <tr>, <td>, and <th> to give table functionality like that in HTML. o Add <boilerplate> to hold the automatically-generated boilerplate text. o Add <blockquote> to indicate a quotation as in a paragraph-like format. o Add <name> to sections, notes, figures, and texttables to allow character formatting (fixed-width font) in their titles, and to allow references. o Add <postalLine>, free text that represents one line of the address. Hoffman Expires September 5, 2015 [Page 6] Internet-Draft XML2RFCv3 March 2015 o Add <displayreference> to allow display of more mneumonic anchor names for automatically-included references. o Add <refcontent> to allow better control of text in a reference. o Add <referencegroup> to allow referemcing multi-RFC documents such as STDs and BCPs. o Add <link> to point to a resource related to the RFC. o Add <br> to allow line breaks (but not blank lines) in the generated output for table cells. 1.2.2. New Attributes for Existing Elements o Add "sortRefs", "symRefs", "tocDepth", and "tocInclude" attributes to <rfc> to cover processor instructions (PIs) that were in v2 that are still needed in the grammar. Also add "finalizedTime" to indicate the time that the XML is published. o Add "ascii" attributes to <email>, <organization>, <street>, <city>, <region> and <code>. Also add "asciiFullname", "asciiInitials", and "asciiSurname" to <author>. This allows an author to specify their information in their native scripts as the primary entry and still allow the ASCII-equivalent values to appear in the processed documents. o Add the "section", "relative", and "sectionFormat" attributes to <xref>. o Add the "numbered" and "removeInRFC" attributes to <section>. o Add the "removeInRFC" attribute to <note>. o Add "pn" to <artwork>, <aside>, <blockquote>, <dt>, <figure>, <li>, <section> <sourcecode>, <t>, and <table> to hold automatically generated numbers for items in a section that don't have their own numbering (namely figures and tables). o Add "display" to <cref> to indicate to processors whether or not to display the comment. o Add "keepwithnext" and "keepwithprevious" to <t> as a hint to processors that do pagination that the should try to keep the paragraph with the next/previous element. Hoffman Expires September 5, 2015 [Page 7] Internet-Draft XML2RFCv3 March 2015 1.2.3. Elements and Attributes Deprecated from v2 Deprecated elements and attributes are legacy vocabulary from v2 that are supported for input to v3 processors. They are likely to be removed from those processors in the future. Instead of being listed in Section 2, they are listed in in Section 3. See Appendix B for more information on processors and how they will handle deprecated features. o Deprecate <list> in favor of <dl>, <ul>, and <ol>. o Deprecate <spanx>; replace it with <strong>, <b>, <em>, <i>, and <tt>. o Deprecate <vspace> because the major use for it, creating pseudo- paragraph-breaks in lists, is now handled properly. o Deprecate <texttable>, <ttcol>, and <c>; replace them with the new table elements (<table> and the elements that can be contained within it). o Deprecate <facsimile> because it is rarely used and is not actually useful; <email> is a much more useful way to get in touch with authors. o Deprecate <format> because it is not useful and has caused surprise for authors in the past. If the goal is to provide a single URI (Uniform Resource Identifier) for a reference, use the "target" attribute on <reference> instead. o Deprecate <preamble> and <postamble> in favor of simply using <t> before or after the figure. This also deprecates the "align" attribute in <figure>. o Deprecate the "title" attribute in <section>, <note>, <figure>, <references>, and <texttable> in favor of the new <name>. o Deprecate the "alt", and "src" attributes in <figure> because they overlap with the attributes in <artwork>. o Deprecate the "xml:space" attribute in <artwork> because there was only one useful value. Deprecate "height" and "width" attribute in both <artwork> and <figure> because they are not needed for the new output formats. o Deprecate the "pageno" attribute in <xref> because it was unused in v2. Deprecate the "none" and "title" values for the "format" attribute in <xref> because the former makes no sense semantically Hoffman Expires September 5, 2015 [Page 8] Internet-Draft XML2RFCv3 March 2015 and the latter because it has unpredictable output. 1.2.4. Additional Changes from v2 o Allow non-ASCII characters in the format; the characters that are actually allowed will be determined by the RFC Editor. o Allow <artwork> and <sourcecode> to be used on their own in <section> (no longer confine them to a figure). o Give more specifics of handling the "type" attribute in <artwork>. o Allow <strong>, <b>, <em>, <i>, <tt>, <eref>, and <xref> in <cref>. o Allow the sub-elements inside a <reference> to be in any order. o Turned off the auto-generation of anchors in <cref> because there is no use case for them that cannot be achieved in other ways. o Allow more than one <artwork>, or more than one <sourcecode>, in <figure>. o In <front>, make <date> optional. o In <postal>, allow the sub-elements to be in any order. Also allow the inclusion of the new <postalLine> instead of the older elements. o In <section>, restricted the names of the anchors that can be used on some types of sections. o Made <seriesInfo> a child of <front>, and deprecated it as a child of <reference>. This also deprecates some of the attributes from <rfc> and moves them into <seriesInfo>. o <t> now only contains non-block elements, so it no longer contains <figure> elements. o Do not generate the grammar from a DTD, but instead get it directly from the Relax Next Generation (RNG) grammar [RNG]. 1.3. 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"). Hoffman Expires September 5, 2015 [Page 9] Internet-Draft XML2RFCv3 March 2015 Note that the schema can be used for automated validity checks, but certain constraints are only described in prose (example: the conditionally required presence of the "abbrev" attribute). 2. Elements The sections below describe all elements and their attributes. Note that attributes not labeled "mandatory" are optional. Many elements have an optional "anchor" attribute. In all cases, the value of the "anchor" attribute needs to be a valid XML "Name" (Section 2.3 of [XML]), 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 character. Anchors are described in more detail in Appendix B.2. Except inside <artwork> and <sourcecode>, horizontal whitespace and linebreaks are collapsed into a single whitespace, and leading and trailing whitespace are trimmed off. Every element in the v3 vocabulary can have an "xml:lang" attribute, an "xml:base" attribute, or both. The xml:lang attribute specifies the language used in the element. This is sometimes useful for renderers which display different fonts for ideographic characters used in China and Japan. The xml:base attribute is sometimes added to an XML file when doing XML-to-XML conversion where the base file has XInclude atttributes (see Appendix B.1). These attributes are not listed in the element descriptions here, but will later be added to the RNG used for the v3 processors. 2.1. <abstract> Contains the abstract of the document. See [RFC7322] for more information on restrictions for the abstract. This element appears as a child element of: <front> (Section 2.27). Content model: One or more <t> elements (Section 2.54) 2.1.1. 'pn' attribute The name for the abstract. See Appendix B.2.1 for a description of this. Hoffman Expires September 5, 2015 [Page 10] Internet-Draft XML2RFCv3 March 2015 2.2. <address> Provides address information for the author. This element appears as a child element of: <author> (Section 2.7). Content model: In this order: 1. One optional <postal> element (Section 2.39) 2. One optional <phone> element (Section 2.38) 3. One optional <facsimile> element (Section 3.2) 4. One optional <email> element (Section 2.24) 5. One optional <uri> element (Section 2.65) 2.3. <annotation> Provides additional prose augmenting a bibliographical reference. This element appears as a child element of: <reference> (Section 2.42). Content model: In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) Hoffman Expires September 5, 2015 [Page 11] Internet-Draft XML2RFCv3 March 2015 o <spanx> elements (Section 3.7) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 2.3.1. 'ascii' attribute The ASCII equivalent of the annotation. 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 <http://www.ietf.org/iesg/area.html>. The list at the time that this document is being published is: "Applications", "app", "General", "gen", "Internet", "int", "Operations and Management", "ops", "Real-time Applications and Infrastructure", "rai", "Routing", "rtg", "Security", "sec", "Transport", "tsv". This element appears as a child element of: <front> (Section 2.27). Content model: only text content. 2.5. <artwork> This element allows the inclusion of "artwork" into the document. <artwork> provides full control of horizontal whitespace and line breaks, and thus is used for a variety of things, such as: o diagrams ("line art"), o complex tables, or o protocol unit diagrams. Alternatively, the "src" attribute allows referencing an external graphics file, such as a bitmap or a vector drawing in SVG, using a Hoffman Expires September 5, 2015 [Page 12] Internet-Draft XML2RFCv3 March 2015 URI. In this case, the textual content acts as fallback for output representations that do not support graphics, and thus ought to contain either a "line art" variant of the graphics, or otherwise prose that describes the included image in sufficient detail. If the artwork includes either "&" or "<" characters, or the string "]]>" those characters need to be encoded using escaping or CDATA block(s); see <sourcecode> for a fuller description of these solutions. In [XML2RFCv2], the <artwork> element was also used for source code and formal languages; in v3, this is now done with <sourcecode>. There are at least four ways to include SVG in artwork in Internet Drafts: o Inline, by including all of the SVG in the content of the element (such as "<artwork type="svg"><svg xmlns...">") o Inline, but using XInclude (see Appendix B.1), such as "<artwork type="svg"><xi:include href=..." o As a data: URI (such as "<artwork type="svg" src="data:image/ svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3...">") o As a URI to an external entity (such as "<artwork type="svg" src="http://www.example.com/...">") These four methods can also be used for including text artwork, but using a data: URI is probably confusing for text artwork. Output formatters that do pagination should attempt to keep artwork on a single page. This is to prevent artwork that is split across pages from looking like two separate pieces of artwork. This element appears as a child element of: <aside> (Section 2.6), <blockquote> (Section 2.11), <figure> (Section 2.26), <li> (Section 2.31), <section> (Section 2.47), <td> (Section 2.57), and <th> (Section 2.59). Content model: Text 2.5.1. 'align' attribute Controls whether the artwork appears left justified (default), centered, or right justified. Hoffman Expires September 5, 2015 [Page 13] Internet-Draft XML2RFCv3 March 2015 Allowed values: o "left" (default) o "center" o "right" 2.5.2. 'alt' attribute Alternative text description of the artwork (which is more than just a summary or caption). This is primarily used with artwork that is text-based. When the art comes from the "src" attribute, and the format of that artwork supports alternate text, the alternative text comes from the text of the artwork itself. 2.5.3. 'anchor' attribute Document-wide unique identifier for this artwork. 2.5.4. 'height' attribute Deprecated. 2.5.5. 'name' attribute A filename suitable for the contents (such as for extraction to a local file). This attribute can be helpful for other kinds of tools (such as automated syntax checkers which work by extracting the artwork). Note that the "name" attribute does not need to be unique for artwork elements in a document. If multiple artwork elements have the same name attribute, a processor might assume that the elements are all fragments of a single file, and the processor can collect those fragments for later processing. 2.5.6. 'pn' attribute The number for this artwork within the section. The numbering is shared with other elements of a section. This is described in more detail in Appendix B.2. 2.5.7. 'src' attribute The URI reference of a graphics file ([RFC3986]). Note that this can be a "data" URI ([RFC2397]). Hoffman Expires September 5, 2015 [Page 14] Internet-Draft XML2RFCv3 March 2015 2.5.8. 'type' attribute Specifies the type of the artwork. The value of this attribute is free text with certain values designated as preferred. A private processor (as described in Appendix B) might add type-specific formatting to artwork with the preferred values. If a processor encounters a value for "type" that is not one of the preferred values, it can issue a warning but should still use the artwork as if it had no "type" attribute. The preferred values for <artwork> types are: o ascii-art o call-flow o hex-dump o svg The RFC Editor will maintain a complete list of the preferred values on its web site, and that list is expected to be updated over time. Thus, a consumer of v3 XML should not cause a failure when it encounters an unexpected type. 2.5.9. 'width' attribute Deprecated. 2.5.10. 'xml:space' attribute Deprecated. 2.6. <aside> This element is a container for content that is semantically less important or tangential to the content that surrounds it. This element appears as a child element of: <section> (Section 2.47). Content model: In any order: o <artwork> elements (Section 2.5) o <dl> elements (Section 2.21) Hoffman Expires September 5, 2015 [Page 15] Internet-Draft XML2RFCv3 March 2015 o <figure> elements (Section 2.26) o <iref> elements (Section 2.29) o <list> elements (Section 3.4) o <ol> elements (Section 2.36) o <t> elements (Section 2.54) o <table> elements (Section 2.55) o <ul> elements (Section 2.64) 2.6.1. 'anchor' attribute Document-wide unique identifier for this aside. 2.6.2. 'pn' attribute The number for this aside within the section. The numbering is shared with other elements of a section. This is described in more detail in Appendix B.2. 2.7. <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. 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 [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 both on the front page and in bibliographical references. Note that this specification does not define a precise meaning for the term "editor". See Section "Authors vs. Contributors" of [RFCPOLICY] for more information. This element appears as a child element of: <front> (Section 2.27). Hoffman Expires September 5, 2015 [Page 16] Internet-Draft XML2RFCv3 March 2015 Content model: In this order: 1. One optional <organization> element (Section 2.37) 2. One optional <address> element (Section 2.2) 2.7.1. 'asciiFullname' attribute The ASCII equivalent of the author's full name. 2.7.2. 'asciiInitials' attribute The ASCII equivalent of the author's intials. 2.7.3. 'asciiSurname' attribute The ASCII equivalent of the author's surname. 2.7.4. 'fullname' attribute The full name (used in the automatically generated "Author's Address" section). 2.7.5. 'initials' attribute Author initials (used on the front page and in references). The value contains one or more initials, each followed by a period. Initials should be provided as a whitespace separated list of pairs of a letter and a dot. 2.7.6. 'role' attribute Specifies the role the author had in creating the document. Allowed values: o "editor" 2.7.7. 'surname' attribute The author's surname (used on the front page and in references). Hoffman Expires September 5, 2015 [Page 17] Internet-Draft XML2RFCv3 March 2015 2.8. <b> Causes the text to be displayed in bold. It is almost always a better idea to use the <strong> element instead. This element is in the vocabulary because people familiar with HTML are more familiar with <b> than <strong>. This element can be combined with other character formatting elements, and the formatting will be additive. This element appears as a child element of: <annotation> (Section 2.3), <blockquote> (Section 2.11), <c> (Section 3.1), <cref> (Section 2.17), <dd> (Section 2.19), <dt> (Section 2.22), <em> (Section 2.23), <i> (Section 2.28), <li> (Section 2.31), <postamble> (Section 3.5), <preamble> (Section 3.6), <refcontent> (Section 2.41), <sub> (Section 2.52), <sup> (Section 2.53), <t> (Section 2.54), <td> (Section 2.57), <th> (Section 2.59), and <tt> (Section 2.63). Content model: In any order: o Text o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 2.9. <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.46). Hoffman Expires September 5, 2015 [Page 18] Internet-Draft XML2RFCv3 March 2015 Content model: In this order: 1. Optional <displayreference> elements (Section 2.20) 2. Optional <references> elements (Section 2.44) 3. Optional <section> elements (Section 2.47) 2.10. <bcp14> Marks text that are phrases defined in BCP 14 such as "MUST", "SHOULD NOT", and so on. When shown in some of the output representations, the text in this element might be highlighted. The use of this element is optional. This element is only to be used around the actual phrase from BCP 14, not the full definition of a requirement. For example, it is correct to say "The packet <bcp14>MUST</bcp14> be dropped.", but it not correct to say "<bcp14>The packet MUST be dropped.</bcp14>". This element appears as a child element of: <annotation> (Section 2.3), <b> (Section 2.8), <blockquote> (Section 2.11), <c> (Section 3.1), <dd> (Section 2.19), <dt> (Section 2.22), <em> (Section 2.23), <i> (Section 2.28), <li> (Section 2.31), <postamble> (Section 3.5), <preamble> (Section 3.6), <refcontent> (Section 2.41), <strong> (Section 2.51), <sub> (Section 2.52), <sup> (Section 2.53), <t> (Section 2.54), <td> (Section 2.57), <th> (Section 2.59), and <tt> (Section 2.63). Content model: only text content. 2.11. <blockquote> Specifies a block of text is a quotation. This element appears as a child element of: <section> (Section 2.47). Content model: In any order: o Text o <artwork> elements (Section 2.5) Hoffman Expires September 5, 2015 [Page 19] Internet-Draft XML2RFCv3 March 2015 o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <em> elements (Section 2.23) o <figure> elements (Section 2.26) o <i> elements (Section 2.28) o <sourcecode> elements (Section 2.49) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <t> elements (Section 2.54) o <tt> elements (Section 2.63) 2.11.1. 'anchor' attribute Document-wide unique identifier for this quotation. 2.11.2. 'cite' attribute The source of the citation. This must be a URI. If the quotedFrom attribute is given, this URI will be used by processors as the link for the text of that attribute. 2.11.3. 'pn' attribute The number for this blockquote within the section. The numbering is shared with other elements of a section. This is described in more detail in Appendix B.2. 2.11.4. 'quotedFrom' attribute Name of person or document the text in this element is quoted from. This will be rendered by the processor as visible text at the end of the quotation. 2.12. <boilerplate> Holds the boilerplate text for the document. This section is filled in by the RFC Processor. Hoffman Expires September 5, 2015 [Page 20] Internet-Draft XML2RFCv3 March 2015 This element appears as a child element of: <front> (Section 2.27). Content model: One or more <section> elements (Section 2.47) 2.13. <br> Indicates that a line break should be inserted in the generated output by the processor. Multiple successive instances of this element does not cause blank lines to appear in the output, and is thus not useful. This element appears as a child element of: <td> (Section 2.57), and <th> (Section 2.59). Content model: this element does not have any contents. 2.14. <city> Gives the city name in a postal address. This element appears as a child element of: <postal> (Section 2.39). Content model: only text content. 2.14.1. 'ascii' attribute The ASCII equivalent of the city name. 2.15. <code> Gives the postal region code. This element appears as a child element of: <postal> (Section 2.39). Content model: only text content. 2.15.1. 'ascii' attribute The ASCII equivalent of the postal code. 2.16. <country> Gives the country in a postal address. This element appears as a child element of: <postal> (Section 2.39). Hoffman Expires September 5, 2015 [Page 21] Internet-Draft XML2RFCv3 March 2015 Content model: only text content. 2.17. <cref> Represents a comment. Comments can be used in a document while it is work-in-progress. They usually appear either inline and visually highlighted, at the end of the document (depending on file representation and settings of the processor), or not at all (when generating an RFC). This element appears as a child element of: <annotation> (Section 2.3), <b> (Section 2.8), <c> (Section 3.1), <dd> (Section 2.19), <dt> (Section 2.22), <em> (Section 2.23), <i> (Section 2.28), <li> (Section 2.31), <name> (Section 2.34), <postamble> (Section 3.5), <preamble> (Section 3.6), <strong> (Section 2.51), <sub> (Section 2.52), <sup> (Section 2.53), <t> (Section 2.54), <td> (Section 2.57), <th> (Section 2.59), <tt> (Section 2.63), and <ttcol> (Section 3.9). Content model: In any order: o Text o <b> elements (Section 2.8) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) Hoffman Expires September 5, 2015 [Page 22] Internet-Draft XML2RFCv3 March 2015 2.17.1. 'anchor' attribute Document-wide unique identifier for this comment. 2.17.2. 'display' attribute Says whether or not the the comment should be displayed by processors. This might be set to "false" if you want to keep a comment in a document after the contents of the comment have already been dealt with. Allowed values: o "true" (default) o "false" 2.17.3. 'source' attribute Holds the "source" of a comment, such as the name or the initials of the person who made the comment. 2.18. <date> Provides information about the publication date. Note that this element is used both for the boilerplate of the document being produced, and also inside bibliographic references that use the <front> element. In the boilerplate case, it defines the date of publication for the current document (Internet Draft or RFC). When producing Internet- Drafts, the Draft Processor uses this date to compute the expiration date (see [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. Also in the first case, that month names, if given, need to match the full English month name: "January", "February", "March", "April", "May, "June", "July", "August", "September", "October", "November", or "December". The draft processor will reject a submitted Internet Draft that has a <date> element in the boilerplate for itself that is anything other than today. That is, the draft processor will not allow a submitter to specify a date other than the day of submission. To avoid this problem, authors might simply not include a <date> element in the Hoffman Expires September 5, 2015 [Page 23] Internet-Draft XML2RFCv3 March 2015 boilerplate. 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.27). Content model: this element does not have any contents. 2.18.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.18.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.18.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. 2.19. <dd> The definition part of an entry in a definition list. This element appears as a child element of: <dl> (Section 2.21). Content model: Either: One or more <t> elements (Section 2.54) Or: In any order, but at least one of: * Text Hoffman Expires September 5, 2015 [Page 24] Internet-Draft XML2RFCv3 March 2015 * <b> elements (Section 2.8) * <bcp14> elements (Section 2.10) * <cref> elements (Section 2.17) * <em> elements (Section 2.23) * <eref> elements (Section 2.25) * <i> elements (Section 2.28) * <iref> elements (Section 2.29) * <strong> elements (Section 2.51) * <sub> elements (Section 2.52) * <sup> elements (Section 2.53) * <tt> elements (Section 2.63) * <xref> elements (Section 2.67) 2.20. <displayreference> This element gives a mapping between the anchor of a reference and a name that will be displayed instead. This allows authors to display more mneumonic anchor names for automatically-included references. For example, if the reference uses the anchor "RFC6949", the following would cause that anchor in the body of displayed documents to be "RFC-dev": <displayreference from="RFC6449" to="RFC-dev"/> If a reference section is sorted, this element changes the sort order. This element appears as a child element of: <back> (Section 2.9). Content model: this element does not have any contents. 2.20.1. 'target' attribute (mandatory) This attribute must be the name of an anchor in a <reference> element. Hoffman Expires September 5, 2015 [Page 25] Internet-Draft XML2RFCv3 March 2015 2.20.2. 'to' attribute (mandatory) This attribute is a name that will be displayed as the anchor instead of the anchor that is given in the <reference> element. The string given must start with one of the following characters: 0-9, a-z, A-Z. The other characters in the string must be 0-9, a-z, A-Z, "-", ".", and "_". 2.21. <dl> A definition list. Each entry has a pair of elements: a term (<dt>) and a definition (<dd>). (This is slightly different than the model used in HTML, whicl allows for multiple terms for a single definition.) This element appears as a child element of: <aside> (Section 2.6), <section> (Section 2.47), <td> (Section 2.57), and <th> (Section 2.59). Content model: One or more sequences of: 1. One <dt> element 2. One <dd> element 2.21.1. 'hanging' attribute The hanging attribute defines whether or not the term appears on the same line as the definition. hanging="true" indicates that the term is to the left of the definition, while hanging="false" indicates that the term will be on a separate line. Allowed values: o "false" o "true" (default) 2.21.2. 'spacing' attribute Defines whether or not there is a blank line between entries. spacing="normal" indicates a single blank line, while spacing="compact" indicates no space between. Allowed values: Hoffman Expires September 5, 2015 [Page 26] Internet-Draft XML2RFCv3 March 2015 o "normal" (default) o "compact" 2.22. <dt> The term being defined in a definition list. This element appears as a child element of: <dl> (Section 2.21). Content model: In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 2.22.1. 'anchor' attribute Document-wide unique identifier for this term. 2.22.2. 'pn' attribute The number for this term within the section. The numbering is shared with other elements of a section. This is described in more detail Hoffman Expires September 5, 2015 [Page 27] Internet-Draft XML2RFCv3 March 2015 in Appendix B.2. 2.23. <em> Indicates text that is semantically empahsized. This element will be displayed as italic after processing. This element has the same effects as <i>. This element appears as a child element of: <annotation> (Section 2.3), <b> (Section 2.8), <blockquote> (Section 2.11), <c> (Section 3.1), <cref> (Section 2.17), <dd> (Section 2.19), <dt> (Section 2.22), <li> (Section 2.31), <postamble> (Section 3.5), <preamble> (Section 3.6), <refcontent> (Section 2.41), <strong> (Section 2.51), <sub> (Section 2.52), <sup> (Section 2.53), <t> (Section 2.54), <td> (Section 2.57), <th> (Section 2.59), and <tt> (Section 2.63). Content model: In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <eref> elements (Section 2.25) o <iref> elements (Section 2.29) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 2.24. <email> Provides an email address. The value is expected to be the scheme-specific part of a "mailto" Hoffman Expires September 5, 2015 [Page 28] Internet-Draft XML2RFCv3 March 2015 URI (so does not include the prefix "mailto:"). See Section 2 of [RFC6068] for details. This element appears as a child element of: <address> (Section 2.2). Content model: only text content. 2.24.1. 'ascii' attribute The ASCII equivalent of the author's email address. This is only used if the email address has one or two internationalized components. 2.25. <eref> Represents an "external" link (as specified in the "target" attribute). This can be used for creating linked references, such as in HTML output. If the element has text content, that content will be used. Otherwise, the value of the target attribute will be inserted in angle brackets ([RFC3986], Appendix C). This element appears as a child element of: <annotation> (Section 2.3), <b> (Section 2.8), <c> (Section 3.1), <cref> (Section 2.17), <dd> (Section 2.19), <dt> (Section 2.22), <em> (Section 2.23), <i> (Section 2.28), <li> (Section 2.31), <name> (Section 2.34), <postamble> (Section 3.5), <preamble> (Section 3.6), <strong> (Section 2.51), <sub> (Section 2.52), <sup> (Section 2.53), <t> (Section 2.54), <td> (Section 2.57), <th> (Section 2.59), <tt> (Section 2.63), and <ttcol> (Section 3.9). Content model: only text content. 2.25.1. 'target' attribute (mandatory) URI of the link target (see Section 3 of [RFC3986]). 2.26. <figure> Contains a figure with a caption with the figure number. If the element contains a <name> element, the caption will also show that name. This element appears as a child element of: <aside> (Section 2.6), <blockquote> (Section 2.11), <li> (Section 2.31), <section> (Section 2.47), <td> (Section 2.57), and <th> (Section 2.59). Hoffman Expires September 5, 2015 [Page 29] Internet-Draft XML2RFCv3 March 2015 Content model: In this order: 1. One optional <name> element (Section 2.34) 2. Optional <iref> elements (Section 2.29) 3. One optional <preamble> element (Section 3.6) 4. In any order, but at least one of: * <artwork> elements (Section 2.5) * <sourcecode> elements (Section 2.49) 5. One optional <postamble> element (Section 3.5) 2.26.1. 'align' attribute Deprecated. Note: does not affect title or <artwork> alignment. Allowed values: o "left" (default) o "center" o "right" 2.26.2. 'alt' attribute Deprecated. If the goal is to provide a single URI for a reference, use the "target" attribute on <reference> instead. 2.26.3. 'anchor' attribute Document-wide unique identifier for this figure. 2.26.4. 'height' attribute Deprecated. Hoffman Expires September 5, 2015 [Page 30] Internet-Draft XML2RFCv3 March 2015 2.26.5. 'pn' attribute The number for this figure. This attribute and its value are automatically generated by the RFC Processor. 2.26.6. 'src' attribute Deprecated. 2.26.7. 'suppress-title' attribute Deprecated. Figures always now get captions. Allowed values: o "true" o "false" (default) 2.26.8. 'title' attribute Deprecated. Use <name> instead. 2.26.9. 'width' attribute Deprecated. 2.27. <front> Represent the "front matter": metadata (such as author information), abstract, and additional notes. A <front> element may have more than one <seriesInfo> elements. A <seriesInfo> element determines the document number (for RFCs) or name (for Internet-Drafts). Another <seriesInfo> element determines the "maturity level" (see Section 4 of [RFC2026]), using values of "std" for "Standards Track", "bcp" for "BCP", "info" for "Informational", "exp" for "Experimental", and "historic" for "Historic". The "name" attributes of those multiple <seriesInfo> elements interact as described in the section on <seriesInfo>. This element appears as a child element of: <reference> (Section 2.42), and <rfc> (Section 2.46). Content model: In this order: Hoffman Expires September 5, 2015 [Page 31] Internet-Draft XML2RFCv3 March 2015 1. One <title> element (Section 2.61) 2. One or more <author> elements (Section 2.7) 3. One optional <date> element (Section 2.18) 4. Optional <area> elements (Section 2.4) 5. Optional <workgroup> elements (Section 2.66) 6. Optional <keyword> elements (Section 2.30) 7. One optional <abstract> element (Section 2.1) 8. Optional <seriesInfo> elements (Section 2.48) 9. Optional <note> elements (Section 2.35) 10. One optional <boilerplate> element (Section 2.12) 2.28. <i> Causes the text to be displayed in italic. It is almost always a better idea to use the <em> element instead. This element is in the vocabulary because people familiar with HTML are more familiar with <i> than <em>. This element can be combined with other character formatting elements, and the formatting will be additive. This element appears as a child element of: <annotation> (Section 2.3), <b> (Section 2.8), <blockquote> (Section 2.11), <c> (Section 3.1), <cref> (Section 2.17), <dd> (Section 2.19), <dt> (Section 2.22), <li> (Section 2.31), <postamble> (Section 3.5), <preamble> (Section 3.6), <refcontent> (Section 2.41), <strong> (Section 2.51), <sub> (Section 2.52), <sup> (Section 2.53), <t> (Section 2.54), <td> (Section 2.57), <th> (Section 2.59), and <tt> (Section 2.63). Content model: In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) Hoffman Expires September 5, 2015 [Page 32] Internet-Draft XML2RFCv3 March 2015 o <cref> elements (Section 2.17) o <eref> elements (Section 2.25) o <iref> elements (Section 2.29) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 2.29. <iref> Provides terms for the document's index. Index entries can be either be regular entries (when just the "item" attribute is given) or nested entries (by specifying "subitem" as well), grouped under a regular entry. Index entries generally refer to the exact place where the <iref> element occured. An exception is the occurence 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 range. This element appears as a child element of: <annotation> (Section 2.3), <aside> (Section 2.6), <b> (Section 2.8), <c> (Section 3.1), <dd> (Section 2.19), <dt> (Section 2.22), <em> (Section 2.23), <figure> (Section 2.26), <i> (Section 2.28), <li> (Section 2.31), <postamble> (Section 3.5), <preamble> (Section 3.6), <section> (Section 2.47), <strong> (Section 2.51), <sub> (Section 2.52), <sup> (Section 2.53), <t> (Section 2.54), <table> (Section 2.55), <td> (Section 2.57), <th> (Section 2.59), <tt> (Section 2.63), and <ttcol> (Section 3.9). Content model: this element does not have any contents. 2.29.1. 'item' attribute (mandatory) The item to include. Hoffman Expires September 5, 2015 [Page 33] Internet-Draft XML2RFCv3 March 2015 2.29.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.29.3. 'subitem' attribute The subitem to include. 2.30. <keyword> Specifies a keyword applicable to the document. Note that each element should only contain a single keyword; for multiple keywords, the element can simply be repeated. Keywords are used both in the RFC Index and in the metadata of generated document representations. This element appears as a child element of: <front> (Section 2.27). Content model: only text content. 2.31. <li> A list element, used in <ol> and <ul>. This element appears as a child element of: <ol> (Section 2.36), and <ul> (Section 2.64). Content model: Either: In any order, but at least one of: * <t> elements (Section 2.54) * <artwork> elements (Section 2.5) * <figure> elements (Section 2.26) Hoffman Expires September 5, 2015 [Page 34] Internet-Draft XML2RFCv3 March 2015 * <sourcecode> elements (Section 2.49) Or: In any order, but at least one of: * Text * <b> elements (Section 2.8) * <bcp14> elements (Section 2.10) * <cref> elements (Section 2.17) * <em> elements (Section 2.23) * <eref> elements (Section 2.25) * <i> elements (Section 2.28) * <iref> elements (Section 2.29) * <strong> elements (Section 2.51) * <sub> elements (Section 2.52) * <sup> elements (Section 2.53) * <tt> elements (Section 2.63) * <xref> elements (Section 2.67) 2.31.1. 'anchor' attribute Document-wide unique identifier for this list item. 2.31.2. 'pn' attribute The number for this list item within the section. The numbering is shared with other elements of a section. This is described in more detail in Appendix B.2. 2.32. <link> A link to an external document that is related to the RFC. The following are the supported types of external documents that can be pointed to in a <link> element: Hoffman Expires September 5, 2015 [Page 35] Internet-Draft XML2RFCv3 March 2015 o The current ISSN for the RFC Series. The value for the "rel" attribute is "item". The link should use the form "urn:issn:". o The DOI for this document. The value for the "rel" attribute is "describedBy". The link should use the form specified in [DOI]. o The Internet Draft that was submitted to the RFC Editor to become the published RFC. The value for the "rel" attribute is "derivedFrom". The link should be to an IETF-controlled web site that retains copies of Internet Drafts. o A representation of the document offered by the document author. The value for the "rel" attribute is "alternate". The link can be to a personally-run web site. The RFC Processor needs to check the values for <link> before an RFC is published. The Draft Processor might remove some <link> elements during the draft submission process. This element appears as a child element of: <rfc> (Section 2.46). Content model: this element does not have any contents. 2.32.1. 'href' attribute (mandatory) The URI of the external document. 2.32.2. 'rel' attribute The relationship of the external document to this one. The relationships are taken from Link Relations registry maintained by IANA [LINKRELATIONS]. 2.33. <middle> Represents the main content of the document. This element appears as a child element of: <rfc> (Section 2.46). Content model: One or more <section> elements (Section 2.47) 2.34. <name> The name of the section, note, figure, or texttable. This name can have flow markup such as to make some characters use a fixed-width font, or to include references. Hoffman Expires September 5, 2015 [Page 36] Internet-Draft XML2RFCv3 March 2015 This element appears as a child element of: <figure> (Section 2.26), <note> (Section 2.35), <references> (Section 2.44), <section> (Section 2.47), <table> (Section 2.55), and <texttable> (Section 3.8). Content model: In any order: o Text o <cref> elements (Section 2.17) o <eref> elements (Section 2.25) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 2.34.1. 'slugifiedName' attribute This attribute is filled in by a processor with a "slugified" version of the text in the element. This attribute can be used in the output formats for elements that have both names and numbers. 2.35. <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.27). Content model: In this order: 1. One <name> element (Section 2.34) 2. One or more <t> elements (Section 2.54) 2.35.1. 'pn' attribute The name for this note. See Appendix B.2.1 for a description of this. Hoffman Expires September 5, 2015 [Page 37] Internet-Draft XML2RFCv3 March 2015 2.35.2. 'removeInRFC' attribute If set to "yes", this note is marked in the processor with text indicating that it should be removed before the document is published as an RFC. Allowed values: o "true" o "false" 2.35.3. 'title' attribute Deprecated. Use <name> instead. 2.36. <ol> An ordered list. The labels on the items will be either a number or a letter, depending on the value of the style attribute. This element appears as a child element of: <aside> (Section 2.6), <section> (Section 2.47), <t> (Section 2.54), <td> (Section 2.57), and <th> (Section 2.59). Content model: One or more <li> elements (Section 2.31) 2.36.1. 'group' attribute When a processor sees an <ol> element with a "group" attribute that has already been seen, the processor continues the numbering of the list from where the previous list with the same group name left off. If an <ol> element has both a "group" and "start" attribute, the group's numbering is reset to the given start value. 2.36.2. 'spacing' attribute Defines whether or not there is a blank line between entries. spacing="normal" indicates a single blank line, while spacing="compact" indicates no space between. Allowed values: o "normal" (default) Hoffman Expires September 5, 2015 [Page 38] Internet-Draft XML2RFCv3 March 2015 o "compact" 2.36.3. 'start' attribute The ordinal value to start the list at. This defaults to "1", and must be an integer of 0 or greater. 2.36.4. 'style' attribute The style of the labels on list items. If the length of the style value is 1, the meaning is the same as it is for HTML: a Lowercase letters (a, b, c, ...) A Uppercase letters (A, B, C, ...) 1 Decimal numbers (1, 2, 3, ...) i Lowercase Roman numerals (i, ii, iii, ...) I Uppercase Roman numerals (I, II, III, ...) For style "a" and "A", after the 26th entry, the numbering starts at "aa"/"AA", then "ab"/"AB", and so on. If the length of the style value is greater than 1, the value must contain a percent-encoded indicator and other text. The value is a free-form text that allows counter values to be inserted using a "percent-letter" format. For instance, "[REQ%d]" generates labels of the form "[REQ1]", where "%d" inserts the item number as decimal number. The following formats are supported: %c Lowercase letters (a, b, c, ...) %C Uppercase letters (A, B, C, ...) %d Decimal numbers (1, 2, 3, ...) %i Lowercase Roman numerals (i, ii, iii, ...) %I Uppercase Roman numerals (I, II, III, ...) %% Represents a percent sign Other formats are reserved for future use. Hoffman Expires September 5, 2015 [Page 39] Internet-Draft XML2RFCv3 March 2015 It is an error for the style string to be empty, and processors will reject documents with an element that has such a style. For bulleted lists, you use the <ul> element. For lists that have neither bullets nor numbers, use the <ul> element with the 'empty="true"' attribute. If no "style" attribute is given, the default style is the same as "style='%d.'". 2.37. <organization> Specifies the affiliation of an author. This information appears in both the "Author's Address" section and on the front page (see [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.7). Content model: only text content. 2.37.1. 'abbrev' attribute Abbreviated variant. 2.37.2. 'ascii' attribute The ASCII equivalent of the organization's name. 2.38. <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. 2.39. <postal> Contains optional child elements providing postal information. These elements will be displayed in an order that is processor-specific. A postal address can contain only a set of <street>, <city>, <region>, <code>, and <country> elements, or only an ordered set of <postalLine> elements, but not both. Hoffman Expires September 5, 2015 [Page 40] Internet-Draft XML2RFCv3 March 2015 This element appears as a child element of: <address> (Section 2.2). Content model: Either: In any order: * <city> elements (Section 2.14) * <code> elements (Section 2.15) * <country> elements (Section 2.16) * <region> elements (Section 2.45) * <street> elements (Section 2.50) Or: One or more <postalLine> elements (Section 2.40) 2.40. <postalLine> Represents one line of a postal address. When more than one <postalLine> is given, the processor emits them in the order given. This element appears as a child element of: <postal> (Section 2.39). Content model: only text content. 2.40.1. 'ascii' attribute The ASCII equivalent of the text in the address line. 2.41. <refcontent> Text that should appear between the title and the date of a reference. The purpose of this element is to prevent the need to abuse <seriesInfo> to get such text in a reference. For example: Hoffman Expires September 5, 2015 [Page 41] Internet-Draft XML2RFCv3 March 2015 <reference anchor="April1"> <front> <title>On Being A Fool</title> <author initials="K." surname="Phunny" fullname="Knot Phunny"/> <date year="2000" month="April"/> </front> <refcontent>Self-published pamphlet</refcontent> </reference> would render as: [April1] Phunny, K., "On Being A Fool", Self-published pamphlet, April 2000. This element appears as a child element of: <reference> (Section 2.42). Content model: In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <em> elements (Section 2.23) o <i> elements (Section 2.28) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) 2.41.1. 'ascii' attribute The ASCII equivalent of the added text. 2.42. <reference> Represents a bibliographical reference. This element appears as a child element of: <referencegroup> Hoffman Expires September 5, 2015 [Page 42] Internet-Draft XML2RFCv3 March 2015 (Section 2.43), and <references> (Section 2.44). Content model: In this order: 1. One <front> element (Section 2.27) 2. In any order: * <annotation> elements (Section 2.3) * <format> elements (Section 3.3) * <refcontent> elements (Section 2.41) * <seriesInfo> elements (Section 2.48; deprecated in this context) 2.42.1. 'anchor' attribute (mandatory) Document-wide unique identifier for this reference. Usually, this will be used both to "label" the reference in the references section, and as an identifier in links to this reference entry. 2.42.2. 'quote-title' attribute Specifies whether or not the title in the reference should be quoted. This can be used to prevent quoting, such as on errata. Allowed values: o "true" (default) o "false" 2.42.3. 'target' attribute Holds the URI for the reference. 2.43. <referencegroup> Represents a list of bibliographic references that will be represented as a single reference. This is most often used for references in the STD and BCP series, where a single reference (such as "BCP 9") encompasses more than one RFC. This element appears as a child element of: <references> Hoffman Expires September 5, 2015 [Page 43] Internet-Draft XML2RFCv3 March 2015 (Section 2.44). Content model: One or more <reference> elements (Section 2.42) 2.43.1. 'anchor' attribute (mandatory) Document-wide unique identifier for this reference group. Usually, this will be used both to "label" the reference group in the references section, and as an identifier in links to this reference entry. 2.44. <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 [RFC7322]). This vocabulary supports the split with the <name> child element. In general, the title should be either "Normative References" or "Informative References". 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.9). Content model: In this order: 1. One optional <name> element (Section 2.34) 2. In any order: * <reference> elements (Section 2.42) * <referencegroup> elements (Section 2.43) 2.44.1. 'anchor' attribute The number for this section. This attribute and its value are automatically generated by the RFC Processor, and are ignored by other processors. Hoffman Expires September 5, 2015 [Page 44] Internet-Draft XML2RFCv3 March 2015 2.44.2. 'pn' attribute The number for this reference section. This attribute and its value are automatically generated by the RFC Processor, and are ignored by other processors. 2.44.3. 'title' attribute Deprecated. Use <name> instead. Processors will flag reference sections that have no <name> element as errors because all sections need a name. 2.45. <region> Provides the region name in a postal address. This element appears as a child element of: <postal> (Section 2.39). Content model: only text content. 2.45.1. 'ascii' attribute The ASCII equivalent of the region name. 2.46. <rfc> This is the root element of the xml2rfc vocabulary. Content model: In this order: 1. Optional <link> elements (Section 2.32) 2. One <front> element (Section 2.27) 3. One <middle> element (Section 2.33) 4. One optional <back> element (Section 2.9) 2.46.1. 'category' attribute Deprecated; instead, use the "name" attribute in <seriesInfo>. 2.46.2. 'consensus' attribute Affects the generated boilerplate. Hoffman Expires September 5, 2015 [Page 45] Internet-Draft XML2RFCv3 March 2015 See [RFC5741] for more information. Allowed values: o "no" o "yes" o "false" o "true" 2.46.3. 'docName' attribute Deprecated; instead, use the "value" attribute in <seriesInfo>. 2.46.4. 'finalizedTime' attribute The date that the XML was finalized by the RFC Editor when publising an RFC. This is included in the XML file just before publication, and is stripped by processors from all other XML files. The value is formatted using the format from [RFC3339]. 2.46.5. 'ipr' attribute Represents the Intellectual Property status of the document. See Appendix A.1 for details. Allowed values: o "full2026" o "noDerivativeWorks2026" o "none" o "full3667" o "noModification3667" o "noDerivatives3667" o "full3978" o "noModification3978" o "noDerivatives3978" Hoffman Expires September 5, 2015 [Page 46] Internet-Draft XML2RFCv3 March 2015 o "trust200811" o "noModificationTrust200811" o "noDerivativesTrust200811" o "trust200902" o "noModificationTrust200902" o "noDerivativesTrust200902" o "pre5378Trust200902" 2.46.6. 'iprExtract' attribute Identifies a single section within the document for which extraction "as-is" is explicitly allowed (only relevant for historic values of the "ipr" attribute). 2.46.7. 'number' attribute Deprecated; instead, use the "value" attribute in <seriesInfo>. 2.46.8. '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 representation, hyperlinks can be generated. Also, the value ought to be reformatted to insert whitespace after each comma if not already present. 2.46.9. 'seriesNo' attribute Deprecated; instead, use the "value" attribute in <seriesInfo>. 2.46.10. 'sortRefs' attribute Specifies whether or not a processor will sort the references in each reference section. Allowed values: o "true" o "false" Hoffman Expires September 5, 2015 [Page 47] Internet-Draft XML2RFCv3 March 2015 2.46.11. 'submissionType' attribute The document stream. See Section 2 of [RFC5741] for details. Allowed values: o "IETF" (default) o "IAB" o "IRTF" o "independent" 2.46.12. 'symRefs' attribute Specifies whether or not a processor will use symbolic references (such as "[RFC2119]"). If the value for this is "no", the references come out as numbers (such as "[3]"). Allowed values: o "true" o "false" 2.46.13. 'tocDepth' attribute Specifies number of levels of heading for a processor to include in the table of contents; the default is "3". 2.46.14. 'tocInclude' attribute Specifies whether or not a processor will include a table of contents in generated files. Allowed values: o "true" o "false" Hoffman Expires September 5, 2015 [Page 48] Internet-Draft XML2RFCv3 March 2015 2.46.15. '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 representation, hyperlinks can be generated. Also, the value ought to be reformatted to insert whitespace after each comma if not already present. 2.47. <section> Represents a section (when inside a <middle> element) or an appendix (when inside a <back> element). Sub-sections are created by nesting <section> elements inside <section> elements. Sections are allowed to be empty. This element appears as a child element of: <back> (Section 2.9), <boilerplate> (Section 2.12), <middle> (Section 2.33), and <section> (Section 2.47). Content model: In this order: 1. One optional <name> element (Section 2.34) 2. In any order: * <artwork> elements (Section 2.5) * <aside> elements (Section 2.6) * <blockquote> elements (Section 2.11) * <dl> elements (Section 2.21) * <figure> elements (Section 2.26) * <iref> elements (Section 2.29) * <ol> elements (Section 2.36) * <sourcecode> elements (Section 2.49) * <t> elements (Section 2.54) Hoffman Expires September 5, 2015 [Page 49] Internet-Draft XML2RFCv3 March 2015 * <table> elements (Section 2.55) * <texttable> elements (Section 3.8) * <ul> elements (Section 2.64) 3. Optional <section> elements (Section 2.47) 2.47.1. 'anchor' attribute Document-wide unique identifier for this section. 2.47.2. 'numbered' attribute If set to "no", this section does not get a section number. Processors will verify that such a section is not followed by a numbered section in a part, and will verify that the section is a top-level section. Allowed values: o "true" o "false" 2.47.3. 'pn' attribute The number for this section, if one is generated by the processor. This attribute and its value are automatically generated by the RFC Processor, and are ignored by other processors. 2.47.4. 'removeInRFC' attribute If set to "yes", this section is marked in the processor with a paragraph at the beginning of the section indicating that it should be removed before the document is published as an RFC. Allowed values: o "true" o "false" 2.47.5. 'title' attribute Deprecated. Use <name> instead. Processors will flag sections that have no <name> element as errors because all sections need a name. Hoffman Expires September 5, 2015 [Page 50] Internet-Draft XML2RFCv3 March 2015 2.47.6. 'toc' attribute Indicates to a processor whether or not the section is to be included in the table of contents. This only takes effect if the level of the section would have appeared in the table of contents based on the "tocDepth" attribute of the <rfc> element, and of course only if the table of contents is being created based on the "tocInclude" attribute of the <rfc> element. If this is set to "exclude", any section below this one will be excluded as well. The "default" value indicates to include the section if it would be included by the tocDepth attribute of the <rfc> element. Allowed values: o "include" o "exclude" o "default" (default) 2.48. <seriesInfo> Specifies the document series in which this document appears, and also specifies an identifier within that series. A processor determines if it is working on an RFC or an Internet- Draft by inspecting the "name" attribute of a <seriesInfo> element inside the <front> element inside the <rfc> element, looking for "rfc" or "Internet-Draft". (Specifying neither value in any of the <seriesInfo> elements can be useful for producing other types of documents, but is out-of-scope for this specification.) It is invalid to have multiple <seriesInfo> elements inside the <front> element inside the <rfc> element that have "name" values of "rfc", or that have "name" values of "Internet-Draft", or that have both "rfc" and "Internet-Draft". This element appears as a child element of: <front> (Section 2.27), and <reference> (Section 2.42; deprecated in this context). Content model: this element does not have any contents. 2.48.1. 'asciiname' attribute The ASCII equivalent of the name field. Hoffman Expires September 5, 2015 [Page 51] Internet-Draft XML2RFCv3 March 2015 2.48.2. 'asciivalue' attribute The ASCII equivalent of the value field. 2.48.3. 'name' attribute (mandatory) The name of the series. Some of the values for "name" interact as follows: o If a <front> element contains a <seriesInfo> element with a name of "Internet-Draft", it can also have at most one additional <seriesInfo> element with a name of "std", "bcp", "fyi", "exp", or "historic" to indicate the intended status of this Internet Draft, if it were to be later published as an RFC. If such an additional <seriesInfo> element has one of those names, the value attribute for that name MUST be "". o If a <front> element contains a <seriesInfo> element with a name of "rfc", it can also have at most one additional <seriesInfo> element with a name of "std", "bcp", or "fyi" to indicate the current status of this RFC. If such an additional <seriesInfo> element has one of those names, the value attribute for that name MUST be the number within that series. That <front> element might also contain an additional <seriesInfo> with the name "exp" or "historic" and a value of "" to indicate the status of the RFC. o A <front> element that has a <seriesInfo> element that has the name "Internet-Draft" MUST NOT also have a <seriesInfo> element that has the name "rfc". o The DOI for the referenced document. This MUST NOT be used when <seriesInfo> element is an eventual child element of a <rfc> element, only as an enventual child of a <reference> element. The value attribute should use the form specified in [DOI]. Other values might be added at a later time by the RFC Editor. 2.48.4. '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). For DOIs, the value is given such as "10.123456/rfc1149", (the actual value will be specified later in [DOI]). Hoffman Expires September 5, 2015 [Page 52] Internet-Draft XML2RFCv3 March 2015 The name in the value should be the document name without any file extension. For Internet Drafts, the value for this attribute should be "draft-ietf-somewg-someprotocol-07", not "draft-ietf-somewg-someprotocol-07.txt". 2.49. <sourcecode> This element allows the inclusion of sourcecode into the document. <sourcecode> provides full control of horizontal whitespace and line breaks. It is thus useful for source code and formal languages (such as ABNF or the RNC notation used in this document). When rendered, sourcecode is always shown in a monospace font. For artwork such as character-based art, diagrams of message layouts, and so on, use the <artwork> element instead. A common problem authors have with <sourcecode> is that the XML processor returns errors if the text in the artwork contains either the "&" or "<" character, or the string "]]>". To avoid these problems, the "&" and "<" characters may be escaped using the strings "&" and "<", respectively; the "]]>" string can be represented as "]]>". Alternatively, they may be surrounded in a CDATA structure: "<![CDATA[]]>". For example: Desired output: allowed-chars = "." | "," | "&" | "<" | ">" | "|" Using escaping: <sourcecode> allowed-chars = "." | "," | "&" | "<" | ">" | "|" </sourcecode> Using CDATA: <sourcecode> <![CDATA[ allowed-chars = "." | "," | "&" | "<" | ">" | "|"]]> </sourcecode> Using CDATA is not a panacea, but it does help prevent having to use escapes in places where using using escapes can cause other problems, such as difficulty of inclusion from other documents. Output formatters that do pagination should attempt to keep source code on a single page. This is to prevent source code that is split across pages from looking like two separate pieces of code. This element appears as a child element of: <blockquote> (Section 2.11), <figure> (Section 2.26), <li> (Section 2.31), Hoffman Expires September 5, 2015 [Page 53] Internet-Draft XML2RFCv3 March 2015 <section> (Section 2.47), <td> (Section 2.57), and <th> (Section 2.59). Content model: only text content. 2.49.1. 'anchor' attribute Document-wide unique identifier for this sourcecode. 2.49.2. 'name' attribute A filename suitable for the contents (such as for extraction to a local file). This attribute can be helpful for other kinds of tools (such as automated syntax checkers which work by extracting the source code). Note that the "name" attribute does not need to be unique for artwork elements in a document. If multiple sourcecode elements have the same name attribute, a processor might assume that the elements are all fragments of a single file, and the processor can collect those fragments for later processing. 2.49.3. 'pn' attribute The number for this sourceode within the section. The numbering is shared with other elements of a section. This is described in more detail in Appendix B.2. 2.49.4. 'src' attribute The URI reference of a source file ([RFC3986]). 2.49.5. 'type' attribute Specifies the type of the sourcecode. The value of this attribute is free text with certain values designated as preferred. A private processor (as described in Appendix B) might add type-specific formatting to sourcecode with the preferred values. If a processor encounters a value for "type" that is not one of the preferred values, it can issue a warning but should still use the artwork as if it had no "type" attribute. The preferred values for <sourcecode> types are: o abnf o asn.1 o bash Hoffman Expires September 5, 2015 [Page 54] Internet-Draft XML2RFCv3 March 2015 o c++ o c o cbor o dtd o java o javascript o json o mib o perl o pseudocode o python o rnc o xml The RFC Editor will maintain a complete list of the preferred values on its web site, and that list is expected to be updated over time. Thus, a consumer of v3 XML should not cause a failure when it encounters an unexpected type. 2.50. <street> Provides a street address. This element appears as a child element of: <postal> (Section 2.39). Content model: only text content. 2.50.1. 'ascii' attribute The ASCII equivalent of the street address. 2.51. <strong> Indicates text that is semantically strong. This element will be displayed as bold after processing. This element has the same effects as <b>. This element can be combined with other character Hoffman Expires September 5, 2015 [Page 55] Internet-Draft XML2RFCv3 March 2015 formatting elements, and the formatting will be additive. This element appears as a child element of: <annotation> (Section 2.3), <blockquote> (Section 2.11), <c> (Section 3.1), <cref> (Section 2.17), <dd> (Section 2.19), <dt> (Section 2.22), <em> (Section 2.23), <i> (Section 2.28), <li> (Section 2.31), <postamble> (Section 3.5), <preamble> (Section 3.6), <refcontent> (Section 2.41), <sub> (Section 2.52), <sup> (Section 2.53), <t> (Section 2.54), <td> (Section 2.57), <th> (Section 2.59), and <tt> (Section 2.63). Content model: In any order: o Text o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 2.52. <sub> Causes the text to be displayed as subscript, approximately half a letter-height lower than normal text. This element can be combined with other character formatting elements, and the formatting will be additive. This element appears as a child element of: <annotation> (Section 2.3), <b> (Section 2.8), <blockquote> (Section 2.11), <c> (Section 3.1), <cref> (Section 2.17), <dd> (Section 2.19), <dt> (Section 2.22), <em> (Section 2.23), <i> (Section 2.28), <li> (Section 2.31), <postamble> (Section 3.5), <preamble> (Section 3.6), Hoffman Expires September 5, 2015 [Page 56] Internet-Draft XML2RFCv3 March 2015 <refcontent> (Section 2.41), <strong> (Section 2.51), <t> (Section 2.54), <td> (Section 2.57), <th> (Section 2.59), and <tt> (Section 2.63). Content model: In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) o <strong> elements (Section 2.51) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 2.53. <sup> Causes the text to be displayed as superscript, approximately half a letter-height higher than normal text. This element can be combined with other character formatting elements, and the formatting will be additive. This element appears as a child element of: <annotation> (Section 2.3), <b> (Section 2.8), <blockquote> (Section 2.11), <c> (Section 3.1), <cref> (Section 2.17), <dd> (Section 2.19), <dt> (Section 2.22), <em> (Section 2.23), <i> (Section 2.28), <li> (Section 2.31), <postamble> (Section 3.5), <preamble> (Section 3.6), <refcontent> (Section 2.41), <strong> (Section 2.51), <t> (Section 2.54), <td> (Section 2.57), <th> (Section 2.59), and <tt> (Section 2.63). Content model: Hoffman Expires September 5, 2015 [Page 57] Internet-Draft XML2RFCv3 March 2015 In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) o <strong> elements (Section 2.51) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 2.54. <t> Contains a paragraph of text. This element appears as a child element of: <abstract> (Section 2.1), <aside> (Section 2.6), <blockquote> (Section 2.11), <dd> (Section 2.19), <li> (Section 2.31), <list> (Section 3.4), <note> (Section 2.35), <section> (Section 2.47), <td> (Section 2.57), and <th> (Section 2.59). Content model: In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) Hoffman Expires September 5, 2015 [Page 58] Internet-Draft XML2RFCv3 March 2015 o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) o <list> elements (Section 3.4) o <ol> elements (Section 2.36) o <spanx> elements (Section 3.7) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <vspace> elements (Section 3.10) o <xref> elements (Section 2.67) 2.54.1. 'anchor' attribute Document-wide unique identifier for this paragraph. 2.54.2. 'hangText' attribute Deprecated. Instead use <dd> inside of a definition list (<dl>). 2.54.3. 'keepwithnext' attribute Acts as a hint to the output formatters that do pagination to do a best effort attempt to keep the paragraph with the next element, whatever that happens to be. For example, the HTML output @media print CSS might translate this to page-break-after: avoid. For PDF, the paginator could attempt to keep the paragraph with the next element. Note: this attribute is strictly a hint and not always actionable. Allowed values: o "false" (default) o "true" Hoffman Expires September 5, 2015 [Page 59] Internet-Draft XML2RFCv3 March 2015 2.54.4. 'keepwithprevious' attribute Acts as a hint to the output formatters that do pagination to do a best effort attempt to keep the paragraph with the previous element, whatever that happens to be. For example, the HTML output @media print CSS might translate this to page-break-before: avoid. For PDF, the paginator could attempt to keep the paragraph with the previous element. Note: this attribute is strictly a hint and not always actionable. Allowed values: o "false" (default) o "true" 2.54.5. 'pn' attribute The number for this paragraph within the section. The numbering is shared with other elements of a section. This is described in more detail in Appendix B.2. 2.55. <table> Contains a table with a caption with the table number. If the element contains a <name> element, the caption will also show that name. Insde the <table> element is optionlly a <thead> element to contain the rows that will be the table's heading and optionally a <tfoot> element to contain the rows of the table's footer. If the XML is converted to a representation that has page breaks (such as PDFs, or printed HTML), the header and footer are meant to appear on each page. This element appears as a child element of: <aside> (Section 2.6), and <section> (Section 2.47). Content model: In this order: 1. One optional <name> element (Section 2.34) 2. Optional <iref> elements (Section 2.29) 3. One optional <thead> element (Section 2.60) Hoffman Expires September 5, 2015 [Page 60] Internet-Draft XML2RFCv3 March 2015 4. One or more <tbody> elements (Section 2.56) 5. One optional <tfoot> element (Section 2.58) 2.55.1. 'anchor' attribute Document-wide unique identifier for this table. 2.55.2. 'pn' attribute The number for this table. This attribute and its value are automatically generated by the RFC Processor. 2.56. <tbody> A container for a set of body rows for a table. This element appears as a child element of: <table> (Section 2.55). Content model: One or more <tr> elements (Section 2.62) 2.57. <td> A cell in a table row. This element appears as a child element of: <tr> (Section 2.62). Content model: Either: One or more <t> elements (Section 2.54) Or: In any order, but at least one of: * Text * <artwork> elements (Section 2.5) * <b> elements (Section 2.8) * <bcp14> elements (Section 2.10) Hoffman Expires September 5, 2015 [Page 61] Internet-Draft XML2RFCv3 March 2015 * <br> elements (Section 2.13) * <cref> elements (Section 2.17) * <dl> elements (Section 2.21) * <em> elements (Section 2.23) * <eref> elements (Section 2.25) * <figure> elements (Section 2.26) * <i> elements (Section 2.28) * <iref> elements (Section 2.29) * <ol> elements (Section 2.36) * <sourcecode> elements (Section 2.49) * <strong> elements (Section 2.51) * <sub> elements (Section 2.52) * <sup> elements (Section 2.53) * <tt> elements (Section 2.63) * <ul> elements (Section 2.64) * <xref> elements (Section 2.67) 2.57.1. 'align' attribute Controls whether the content of the cell appears left justified (default), centered, or right justified. Note that "center" or "right" probably only work well in cells with plain text; any other elements might make the contents render badly. Allowed values: o "left" (default) o "center" o "right" Hoffman Expires September 5, 2015 [Page 62] Internet-Draft XML2RFCv3 March 2015 2.57.2. 'border' attribute The width of the border for this cell. The default is 0, meaning no border. 2.57.3. 'colspan' attribute The number of columns that the cell to span. For example, setting "colspan='3'" indicates that the cell occupies the same horizontal space as three cells in the row above or below this one. 2.57.4. 'rowspan' attribute The number of rows that the cell to span. For example, setting "rowspan='3'" indicates that the cell occupies the same vertical space as three rows. 2.58. <tfoot> A container for a set of footer rows for a table. This element appears as a child element of: <table> (Section 2.55). Content model: One or more <tr> elements (Section 2.62) 2.59. <th> A cell in a table row. When rendered, this will normally come out in boldface; other than that, there is no difference between this and the <td> element. This element appears as a child element of: <tr> (Section 2.62). Content model: Either: One or more <t> elements (Section 2.54) Or: In any order, but at least one of: * Text Hoffman Expires September 5, 2015 [Page 63] Internet-Draft XML2RFCv3 March 2015 * <artwork> elements (Section 2.5) * <b> elements (Section 2.8) * <bcp14> elements (Section 2.10) * <br> elements (Section 2.13) * <cref> elements (Section 2.17) * <dl> elements (Section 2.21) * <em> elements (Section 2.23) * <eref> elements (Section 2.25) * <figure> elements (Section 2.26) * <i> elements (Section 2.28) * <iref> elements (Section 2.29) * <ol> elements (Section 2.36) * <sourcecode> elements (Section 2.49) * <strong> elements (Section 2.51) * <sub> elements (Section 2.52) * <sup> elements (Section 2.53) * <tt> elements (Section 2.63) * <ul> elements (Section 2.64) * <xref> elements (Section 2.67) 2.59.1. 'align' attribute Controls whether the content of the cell appears left justified (default), centered, or right justified. Note that "center" or "right" probably only work well in cells with plain text; any other elements might make the contents render badly. Allowed values: Hoffman Expires September 5, 2015 [Page 64] Internet-Draft XML2RFCv3 March 2015 o "left" (default) o "center" o "right" 2.59.2. 'border' attribute The width of the border for this cell. The default is 0, meaning no border. 2.59.3. 'colspan' attribute The number of columns that the cell to span. For example, setting "colspan='3'" indicates that the cell occupies the same horizontal space as three cells in the row above or below this one. 2.59.4. 'rowspan' attribute The number of rows that the cell to span. For example, setting "rowspan='3'" indicates that the cell occupies the same vertical space as three rows. 2.60. <thead> A container for a set of header rows for a table. This element appears as a child element of: <table> (Section 2.55). Content model: One or more <tr> elements (Section 2.62) 2.61. <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 is long (~40 characters), the "abbrev" attribute is used to specify an abbreviated variant. This element appears as a child element of: <front> (Section 2.27). Content model: only text content. Hoffman Expires September 5, 2015 [Page 65] Internet-Draft XML2RFCv3 March 2015 2.61.1. 'abbrev' attribute Specifies an abbreviated variant of the document title. 2.61.2. 'ascii' attribute The ASCII equivalent of the title. 2.62. <tr> A row of a table. This element appears as a child element of: <tbody> (Section 2.56), <tfoot> (Section 2.58), and <thead> (Section 2.60). Content model: One or more sequences of: 1. One <td> element 2. One <th> element 2.62.1. 'border' attribute The width of the border for this row. The default is 0, meaning no border. If the cells in this row also have "border" attributes, those values override this value for those cells. 2.63. <tt> Causes the text to be displayed in a constant-width font. This element can be combined with other character formatting elements, and the formatting will be additive. This element appears as a child element of: <annotation> (Section 2.3), <b> (Section 2.8), <blockquote> (Section 2.11), <c> (Section 3.1), <cref> (Section 2.17), <dd> (Section 2.19), <dt> (Section 2.22), <em> (Section 2.23), <i> (Section 2.28), <li> (Section 2.31), <name> (Section 2.34), <postamble> (Section 3.5), <preamble> (Section 3.6), <refcontent> (Section 2.41), <strong> (Section 2.51), <sub> (Section 2.52), <sup> (Section 2.53), <t> (Section 2.54), <td> (Section 2.57), and <th> (Section 2.59). Content model: In any order: Hoffman Expires September 5, 2015 [Page 66] Internet-Draft XML2RFCv3 March 2015 o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <xref> elements (Section 2.67) 2.64. <ul> An unordered list. The labels on the items will be symbols picked by the processor. This element appears as a child element of: <aside> (Section 2.6), <section> (Section 2.47), <td> (Section 2.57), and <th> (Section 2.59). Content model: One or more <li> elements (Section 2.31) 2.64.1. 'empty' attribute Defines whether or not the label is empty. empty="true" indicates that no label be shown. Allowed values: o "false" (default) o "true" Hoffman Expires September 5, 2015 [Page 67] Internet-Draft XML2RFCv3 March 2015 2.64.2. 'spacing' attribute Defines whether or not there is a blank line between entries. spacing="normal" indicates a single blank line, while spacing="compact" indicates no space between. Allowed values: o "normal" (default) o "compact" 2.65. <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.66. <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 "Network Working Group" string. Formatting software can append the words "Working Group" or "Research Group", depending on the "submissionType" property on the <rfc> element (Section 2.46.11). This element appears as a child element of: <front> (Section 2.27). Content model: only text content. 2.67. <xref> Inserts a reference to a different part of a document. The generated text depends on whether the <xref> is empty (in which case the processor will try to generate a meaningful text fragment), and the nature of the referenced document part. If the element is empty, a converter must invent text to show for the Hoffman Expires September 5, 2015 [Page 68] Internet-Draft XML2RFCv3 March 2015 reference. If the element is filled in and the format being converted to supports links, the text from the element is surrounded by a link to the reference. Any element that allows the "anchor" attribute can be referenced; however, there are restrictions with respect to the text content being generated. For instance, a <t> can be a reference target, however, because paragraphs are not (visibly) numbered, the author will have to make sure that the prose is sufficient for a reader to understand what is being referred to. This element appears as a child element of: <annotation> (Section 2.3), <b> (Section 2.8), <c> (Section 3.1), <cref> (Section 2.17), <dd> (Section 2.19), <dt> (Section 2.22), <em> (Section 2.23), <i> (Section 2.28), <li> (Section 2.31), <name> (Section 2.34), <postamble> (Section 3.5), <preamble> (Section 3.6), <strong> (Section 2.51), <sub> (Section 2.52), <sup> (Section 2.53), <t> (Section 2.54), <td> (Section 2.57), <th> (Section 2.59), <tt> (Section 2.63), and <ttcol> (Section 3.9). Content model: only text content. 2.67.1. 'format' attribute This attribute is used to control the format of the generated reference text. "counter" Inserts just a counter; this is used for the number of a section, figure, or table. For example: <section anchor="overview">Protocol Overview</section> . . . See Section <xref target="overview" format="counter"/> for an overview. might generate See Section 1.7 for an overview. "default" Inserts a text fragment that describes the referenced part completely, such as "Section 2" or "Table 4" for internal links, or "[XML]" for links to references. For example: Hoffman Expires September 5, 2015 [Page 69] Internet-Draft XML2RFCv3 March 2015 <section anchor="overview">Protocol Overview</section> . . . See <xref target="overview"/> for an overview. might generate See Section 1.7 for an overview. "none" There will be no auto-generated text. This is useful for creating a link that will appear in the processed text. "title" Inserts a title for the referenced element (usually obtained from the referenced element's <name> child element. If the target is a reference, then the <title> element inside the <front> element is used. Allowed values: o "counter" o "title" o "none" o "default" (default) 2.67.2. 'pageno' attribute Deprecated. Allowed values: o "true" o "false" (default) 2.67.3. 'relative' attribute Specifies a relative reference from the main target. Rendering relative references is based on the format for the converted document. Hoffman Expires September 5, 2015 [Page 70] Internet-Draft XML2RFCv3 March 2015 2.67.4. 'section' attribute Specifies a section for the generated reference. For example, See <xref section="2.3" target="RFC6949"/> for more information. would generate See Section 2.3 of [RFC6949] for more information. 2.67.5. 'sectionFormat' attribute The format that the section reference will be displayed in. The acceptable values are: o "of" (default) o "comma" o "parens" For example: See <xref target="RFC6949" section="2.3" sectionFormat="of"/> for more information. See <xref target="RFC6949" section="2.4" sectionFormat="comma"/> for more information. See <xref target="RFC6949" section="2.5" sectionFormat="parens"/> for more information. would generate See Section 2.3 of [RFC6949] for more information. See [RFC6949], Section 2.4 for more information. See [RFC6949] (Section 2.5) for more information. 2.67.6. 'target' attribute (mandatory) Identifies the document component being referenced. The value needs to match the value of the "anchor" attribute of another element in the document. 3. Elements from v2 That Have Been Deprecated This section lists the elements from v2 that have been deprecated. Note that some elements in v3 have attributes from v2 that are deprecated; those are not listed here. Hoffman Expires September 5, 2015 [Page 71] Internet-Draft XML2RFCv3 March 2015 3.1. <c> Deprecated. Instead, use <tr>, <td>, and <th>. This element appears as a child element of: <texttable> (Section 3.8). Content model: In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) o <spanx> elements (Section 3.7) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 3.2. <facsimile> Deprecated. The <email> element is a much more useful way to get in touch with authors. This element appears as a child element of: <address> (Section 2.2). Content model: only text content. Hoffman Expires September 5, 2015 [Page 72] Internet-Draft XML2RFCv3 March 2015 3.3. <format> Deprecated. If the goal is to provide a single URI for a reference, use the "target" attribute on <reference> instead. This element appears as a child element of: <reference> (Section 2.42). Content model: this element does not have any contents. 3.3.1. 'octets' attribute Deprecated. 3.3.2. 'target' attribute Deprecated. 3.3.3. 'type' attribute (mandatory) Deprecated. 3.4. <list> Deprecated. Instead, use <dl> for list/@style "hanging"; <ul> for list/@style "empty" or "symbols"; and <ol> for list/@style "letters", "numbers", "counter", or "format". This element appears as a child element of: <t> (Section 2.54). Content model: One or more <t> elements (Section 2.54) 3.4.1. 'counter' attribute Deprecated. The functionality of this attribute has been replaced with <ol>/@start. 3.4.2. 'hangIndent' attribute Deprecated. Use <dl> instead. 3.4.3. 'style' attribute Deprecated. Hoffman Expires September 5, 2015 [Page 73] Internet-Draft XML2RFCv3 March 2015 3.5. <postamble> Deprecated. Instead, use a regular paragraph after the figure or table. This element appears as a child element of: <figure> (Section 2.26), and <texttable> (Section 3.8). Content model: In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) o <spanx> elements (Section 3.7) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 3.6. <preamble> Deprecated. Instead, use a regular paragraph before the figure or table. This element appears as a child element of: <figure> (Section 2.26), and <texttable> (Section 3.8). Hoffman Expires September 5, 2015 [Page 74] Internet-Draft XML2RFCv3 March 2015 Content model: In any order: o Text o <b> elements (Section 2.8) o <bcp14> elements (Section 2.10) o <cref> elements (Section 2.17) o <em> elements (Section 2.23) o <eref> elements (Section 2.25) o <i> elements (Section 2.28) o <iref> elements (Section 2.29) o <spanx> elements (Section 3.7) o <strong> elements (Section 2.51) o <sub> elements (Section 2.52) o <sup> elements (Section 2.53) o <tt> elements (Section 2.63) o <xref> elements (Section 2.67) 3.7. <spanx> Deprecated. This element appears as a child element of: <annotation> (Section 2.3), <c> (Section 3.1), <postamble> (Section 3.5), <preamble> (Section 3.6), and <t> (Section 2.54). Content model: only text content. 3.7.1. 'style' attribute Deprecated. Instead of <spanx style="emph">, use <b> instead of <spanx style="strong">, use <i>; instead of <spanx style="verb">, use <tt>. Hoffman Expires September 5, 2015 [Page 75] Internet-Draft XML2RFCv3 March 2015 3.7.2. 'xml:space' attribute Deprecated. Allowed values: o "default" o "preserve" (default) 3.8. <texttable> Deprecated. Use <table> instead. This element appears as a child element of: <aside> (Section 2.6), and <section> (Section 2.47). Content model: In this order: 1. One optional <name> element (Section 2.34) 2. One optional <preamble> element (Section 3.6) 3. One or more <ttcol> elements (Section 3.9) 4. Optional <c> elements (Section 3.1) 5. One optional <postamble> element (Section 3.5) 3.8.1. 'align' attribute Deprecated Allowed values: o "left" o "center" (default) o "right" 3.8.2. 'anchor' attribute Deprecated Hoffman Expires September 5, 2015 [Page 76] Internet-Draft XML2RFCv3 March 2015 3.8.3. 'style' attribute Deprecated. 3.8.4. 'suppress-title' attribute Deprecated. Allowed values: o "true" o "false" (default) 3.8.5. 'title' attribute Deprecated. 3.9. <ttcol> Deprecated. Instead, use <tr>, <td>, and <th>. This element appears as a child element of: <texttable> (Section 3.8). Content model: In any order: o <cref> elements (Section 2.17) o <eref> elements (Section 2.25) o <iref> elements (Section 2.29) o <xref> elements (Section 2.67) o Text 3.9.1. 'align' attribute Deprecated. Allowed values: o "left" (default) Hoffman Expires September 5, 2015 [Page 77] Internet-Draft XML2RFCv3 March 2015 o "center" o "right" 3.9.2. 'width' attribute Deprecated. 3.10. <vspace> Deprecated. In earlier versions of this format, <vspace> was often used to get an extra blank line in a list element; in the v3 vocabulary, that can be done instead by using multiple <t> elements inside the <li> element. Other uses have no direct replacement. This element appears as a child element of: <t> (Section 2.54). Content model: this element does not have any contents. 3.10.1. 'blankLines' attribute Deprecated. 4. Internationalization Considerations This format is based on [XML], thus does not have any issues representing arbitrary Unicode [UNICODE] characters in text content. The RFC Editor may restrict some of the characters that can be used in a particular RFC; the rules for such restrictions are covered in [NONASCII]. 5. Security Considerations The "name" attribute on the <artwork> element (Section 2.5.5) 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. The "type" attribute of the <artwork> and <sourcecode> elements is meant to encourage processors to automatically extract known types of content from an RFC or Internet Draft. While extraction is probably safe, those processors might also think that they could further process the extracted content such as by rendering artwork or executing code. Doing so without first sanity-checking the extracted content is clearly a terrible idea from a security perspective. More generally, a processor that is reading RFCs or Internet Drafts needs to be suspicious of any content that it intends to post-process. Hoffman Expires September 5, 2015 [Page 78] Internet-Draft XML2RFCv3 March 2015 All security considerations related to XML processing are relevant as well (see Section 7 of [RFC3470]). 6. IANA Considerations 6.1. Internet Media Type Registration IANA maintains the registry of Internet media types [BCP13] at <http://www.iana.org/assignments/media-types>. This document updates the specification for the Internet media type "application/rfc+xml" from the one in [XML2RFCv2]. The following is to be registered with IANA. Type name: application Subtype name: rfc+xml Required parameters: There are no required parameters. Optional parameters: "charset": This parameter has identical semantics as the charset parameter of the "application/xml" media type specified in 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 5. In addition, as this media type uses the "+xml" convention, it inherits the security considerations described in Section 10 of [RFC7303]. Interoperability considerations: N/A Published specification: This specification. Applications that use this media type: Applications that transform xml2rfc to output representations 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 2.8 of [XPOINTER]. Additional information: Hoffman Expires September 5, 2015 [Page 79] Internet-Draft XML2RFCv3 March 2015 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 Authors Section. Intended usage: COMMON Restrictions on usage: N/A Author: See Authors Section. Change controller: RFC Series Editor (rse@rfc-editor.org) 6.2. Link Relation Registration The following is a proposed addition to [LINKRELATIONS]. Relation Name: convertedFrom Description: The document linked to was later converted to the document that contains this link relation. For example, an RFC can have a link to the Internet Draft that became the RFC; in that case, the link relation would be "convertedFrom". Reference: This document. Notes: This relation is different than "predecessor-version" in that "predecessor-version" is for items in a version control system. It is also different that "previous" in that this relation is used for converted resources, not those that are part of a sequence of resources. Application Data: none 7. Acknowledgments Thanks to everybody who reviewed this document and provided feedback and/or specification text. Thanks especially go to Julian Reschke for editing [XML2RFCv2] and those who provided feedback on that document. Hoffman Expires September 5, 2015 [Page 80] Internet-Draft XML2RFCv3 March 2015 We also thank Marshall T. Rose for both the original design and the reference implementation of the "xml2rfc" processor. 8. References 8.1. Normative References [XML] Maler, E., Yergeau, F., Paoli, J., Sperberg-McQueen, M., and T. Bray, "Extensible Markup Language (XML) 1.0 (Fifth Edition)", W3C Recommendation REC-xml- 20081126, November 2008, <http://www.w3.org/TR/2008/REC-xml-20081126/>. Latest version available at <http://www.w3.org/TR/xml>. [XML2RFCv2] Reschke, J., "The 'XML2RFC' version 2 Vocabulary", draft-iab-xml2rfc (work in progress), 2014. 8.2. Informative References [BCP13] Freed, N., Klensin, J., and T. Hansen, "Media Type Specifications and Registration Procedures", BCP 13, RFC 6838, January 2013. [DOI] Levine, J., "Assigning Digital Object Identifiers to RFCs", draft-iab-doi (work in progress), 2014. [IDGUIDE] Housley, R., "Guidelines to Authors of Internet- Drafts", <http://www.ietf.org/id-info/guidelines.html>. [LINKRELATIONS] IANA, "Link Relations", <http://www.iana.org/ assignments/link-relations/link-relations.xhtml>. [NONASCII] Flanagan, H., "The Use of Non-ASCII Characters in RFCs", draft-flanagan-nonascii (work in progress), 2014. [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. [RFC2397] Masinter, L., "The "data" URL scheme", RFC 2397, August 1998. [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, June 1999. Hoffman Expires September 5, 2015 [Page 81] Internet-Draft XML2RFCv3 March 2015 [RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, July 2002. [RFC3470] Hollenbeck, S., Rose, M., and L. Masinter, "Guidelines for the Use of Extensible Markup Language (XML) within IETF Protocols", BCP 70, RFC 3470, January 2003. [RFC3667] Bradner, S., "IETF Rights in Contributions", RFC 3667, February 2004. [RFC3966] Schulzrinne, H., "The tel URI for Telephone Numbers", RFC 3966, December 2004. [RFC3978] Bradner, S., "IETF Rights in Contributions", RFC 3978, March 2005. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005. [RFC5741] Daigle, L. and O. Kolkman, "RFC Streams, Headers, and Boilerplates", RFC 5741, December 2009. [RFC6068] Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto' URI Scheme", RFC 6068, October 2010. [RFC6266] Reschke, J., "Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)", RFC 6266, June 2011. [RFC6949] Flanagan, H. and N. Brownlee, "RFC Series Format Requirements and Future Development", RFC 6949, May 2013. [RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303, July 2014. [RFC7322] Heather, H. and S. Ginoza, "RFC Style Guide", RFC 7322, September 2014. [RFCPOLICY] RFC Editor, "RFC Editorial Guidelines and Procedures", <http://www.rfc-editor.org/policy.html>. [RNC] Clark, J., "RELAX NG Compact Syntax", OASIS , November 2002, <http://www.oasis-open.org/ committees/relax-ng/compact-20021121.html>. Hoffman Expires September 5, 2015 [Page 82] Internet-Draft XML2RFCv3 March 2015 [RNG] ISO/IEC, "Information Technology - Document Schema Definition Languages (DSDL) - Part 2: Regular- Grammar-Based Validation - RELAX NG. Second Edition.", ISO/IEC 19757-2:2008(E), December 2008. A useful source of RNG-related information is <http://relaxng.org/>. [TLP2.0] IETF Trust, "Legal Provisions Relating to IETF Documents", February 2009, <http://trustee.ietf.org/ license-info/IETF-TLP-2.htm>. [TLP3.0] IETF Trust, "Legal Provisions Relating to IETF Documents", September 2009, <http:// trustee.ietf.org/license-info/IETF-TLP-3.htm>. [TLP4.0] IETF Trust, "Legal Provisions Relating to IETF Documents", December 2009, <http://trustee.ietf.org/ license-info/IETF-TLP-4.htm>. [UNICODE] The Unicode Consortium, "The Unicode Standard, Version 6.3.0", September 2013, <http://www.unicode.org/versions/Unicode6.3.0/>. [USASCII] American National Standards Institute, "Coded Character Set -- 7-bit American Standard Code for Information Interchange", ANSI X3.4, 1986. [XInclude] Marsh, J., Orchard, D., and D. Veillard, "XML Inclusions (XInclude) Version 1.0 (Second Edition)", W3C Recommendation REC-xinclude-20061115, November 2006, <http://www.w3.org/TR/xinclude/>. Latest version available at <http://www.w3.org/TR/xinclude/>. [XPOINTER] Grosso, P., Maler, E., Marsh, J., and N. Walsh, "XPointer Framework", W3C Recommendation REC-xptr- framework-20030325, March 2003, <http://www.w3.org/ TR/2003/REC-xptr-framework-20030325/>. Latest version available at <http://www.w3.org/TR/xptr-framework/>. Appendix A. Front Page ('Boilerplate') Generation Hoffman Expires September 5, 2015 [Page 83] Internet-Draft XML2RFCv3 March 2015 A.1. The /rfc/@ipr Attribute This attribute value can take a long list of values, each of which describes an IPR policy for the document (Section 2.46.5). The values are not the result of a grand design, but remain simply for historic reasons. Of these values, only a few are currently in use; all others are supported by various tools for backwards compatibility with old source files. *Note:* some variations of the boilerplate are selected based on the document's date; therefore it is important to specify the "year", "month" and "day" attributes of the <date> element when archiving the XML source of an Internet-Draft on the day of submission. _Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION. IF YOU NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER._ For further information, refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>. For the current "Status Of This Memo" text, the submissionType attribute (Section 2.46.11) determines whether a statement about "Code Components" is inserted (which is the case for the value "IETF", which is the default). Other values, such as "independent", suppress this part of the text. A.1.1. Current Values: '*trust200902' The name for these values refers to the "IETF TRUST Legal Provisions Relating to IETF Documents", sometimes simply called the "TLP", which went into effect on February 15, 2009 ([TLP2.0]). Updates to this document were published on September 12, 2009 ([TLP3.0]) and on December 28, 2009 ([TLP4.0]), modifying the license for code components (see <http://trustee.ietf.org/license-info/> for further information). The actual text is located in Section 6 ("Text To Be Included in IETF Documents") of these documents. 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 | +----------+--------------------------------+ Hoffman Expires September 5, 2015 [Page 84] Internet-Draft XML2RFCv3 March 2015 A.1.1.1. trust200902 This value should be used unless one of the more specific '*trust200902' values is a better fit. It produces the text in Sections 6.a and 6.b of the TLP. A.1.1.2. noModificationTrust200902 This produces additional text from Section 6.c.i of the TLP: This document may not be modified, and derivative works of it may not be created, except to format it for publication as an RFC or to translate it into languages other than English. *Note:* this clause is incompatible with RFCs that are published on the Standards Track. A.1.1.3. noDerivativesTrust200902 This produces the additional text from Section 6.c.ii of the TLP: This document may not be modified, and derivative works of it may not be created, and it may not be published except as an Internet- Draft. *Note:* this clause is incompatible with RFCs. A.1.1.4. pre5378Trust200902 This produces the additional text from Section 6.c.iii of the TLP, frequently called the "pre-5378 escape clause": This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. See Section 4 of <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further information about when to use this value. Hoffman Expires September 5, 2015 [Page 85] Internet-Draft XML2RFCv3 March 2015 *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.1.2. Historic Values A.1.2.1. Historic Values: '*trust200811' The attribute values "trust200811", "noModificationTrust200811" and "noDerivativesTrust200811" are similar to their "trust200902" counterparts, except that they use text specified in <http:// trustee.ietf.org/license-info/archive/ IETF-Trust-License-Policy_11-10-08.pdf>. A.1.2.2. Historic Values: '*3978' The attribute values "full3978", "noModification3978" and "noDerivatives3978" are similar to their counterparts above, except that they use text specified in Section 5 of [RFC3978]. A.1.2.3. Historic Values: '*3667' The attribute values "full3667", "noModification3667" and "noDerivatives3667" are similar to their counterparts above, except that they use text specified in Section 5 of [RFC3667]. A.1.2.4. Historic Values: '*2026' The attribute values "full2026" and "noDerivativeWorks2026" are similar to their counterparts above, except that they use text specified in Section 10 of [RFC2026]. The special value "none" was also used back then, and denied the IETF any rights beyond publication as Internet-Draft. A.2. The /rfc/@submissionType Attribute The RFC Editor publishes documents from different "document streams", of which the "IETF stream" is the most prominent one. Other streams are the "independent stream" (used for things such as administrative information or April 1st RFCs), the "IAB stream" (Internet Architecture Board) and the "IRTF stream" (Internet Research Task Force). The values for the attribute are "IETF" (the default value), "independent", "IAB", and "IRTF". Historically, this attribute did not affect the final appearance of Hoffman Expires September 5, 2015 [Page 86] Internet-Draft XML2RFCv3 March 2015 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 submissionType attribute will have the following effect: o For RFCs, the stream name appears in the upper left corner of the first page (in Internet Drafts, this is either "Network Working Group", or the value of the <workgroup> element). o For RFCs, if affects the whole "Status Of This Memo" section (see Section 3.2.2 of [RFC5741]). o For all RFCs and Internet Drafts, it determines whether the "Copyright Notice" mentions the Copyright on Code Components (see TLP, Section "Text To Be Included in IETF Documents"). A.3. The /rfc/@consensus Attribute For some of the publication streams (see Appendix A.2), the "Status Of This Memo" section depends on whether there was a consensus to publish (again, see Section 3.2.2 of [RFC5741]). The consensus attribute ("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). Appendix B. The v3 Format and Processors This section describes topics that are specific to processors. Note that there is some discussion of processors in the main body of the document as well. For example, some elements have descriptions of how a processor might create output from the element. A processor has multiple roles. The processor checks whether or not the input is valid XML; it also checks whether or not the input XML matches this format. It may have one or more outputs, depending on the way that it is invoked. It might convert the XML to different XML, or to a different representation such as HTML or plain text, or Hoffman Expires September 5, 2015 [Page 87] Internet-Draft XML2RFCv3 March 2015 do no conversion at all. It also might give diagnostic warnings about how to improve the input. In v2, the grammar was specified as a DTD. In v3, the grammar is specified only as Relax Next Generation (RNG). This means that processors need to work from the RNG, not from a DTD. Some of the features of the v3 grammar cannot be specified as a DTD. This section differentiates between three types of processors: o RFC Processor -- The processor used by the RFC Editor to process the input from one of the RFC streams, and to process XML produced during the RFC editing process. o Draft Processor -- The processor used by the Internet Draft submission tool. This processor will be defined in a different document. o Private Processors -- There may be processors that are meant to run on the computers of authors. These processors may be used to produce interim versions of the non-canonical representations so that authors can see how their XML might later be rendered; to create documents in representations different than those supported by the RFC Editor; to possibly create documents that are not meant to be Internet Drafts or RFCs; and to convert XML that has external information into XML that has that external information included. It is expected that a single piece of software will be used for both the RFC Processor and the Draft Processor, with different application settings to differentiate between them. It is also expected that the same software could be used as a Private Processor; others might create Private Processors independently, or using parts of, the software used by the RFC Editor. The RFC Processor and Draft Processor must have clear error reporting, giving more context than just a line number. For example, the error messages will differentiate between errors in XML and those from the v3 format. It is expected that both the RFC Processor and the Draft Processor will have options to produce different types of output. For example, they might have a "convert XML to XML" option that expands the XML entities in the output. The restrictions on the canonical XML for RFCs, as well as how the non-canonical formats will look, are described at <https:// www.rfc-editor.org/rse/wiki/ Hoffman Expires September 5, 2015 [Page 88] Internet-Draft XML2RFCv3 March 2015 doku.php?id=design:format-and-content-rfcs>. B.1. Including External Text All XML processors for v3 are expected to support XInclude [XInclude]. XInclude specifies a processing model and syntax for general purpose inclusion of information that is either on the Internet or local to the user's computer. In the v3 syntax, XInclude is expressed as the <xi:include> element. To use this element, you need to include the "xi" namespace in the <rfc> element; that is, you need to specify xmlns:xi="http://www.w3.org/2001/XInclude" as one of the attributes in the <rfc> element. The most common way to use <xi:include> is to pull in references that are already formed as XML. Currently, this can be done from xml2rfc.tools.ietf.org, but later is expected to be from the RFC Editor. For example, if a document has three normative references, all RFCs, the document might contain: <references> <xi:include href="http://xml2rfc.tools.ietf.org/public/rfc/ bibxml/reference.RFC.2119.xml"/> <xi:include href="http://xml2rfc.tools.ietf.org/public/rfc/ bibxml/reference.RFC.4869.xml"/> <xi:include href="http://xml2rfc.tools.ietf.org/public/rfc/ bibxml/reference.RFC.7169.xml"/> </references> <xi:include> can be used anywhere an XML element could be used (but not where free text is used). For example, if three Internet Drafts are all including a particular paragraph or section verbatim, that text can be kept either in a file or somewhere on the web, and be included with <xi:include>. An example of pulling something from the local disk would be: <x:include href="file://home/chris/ietf/drafts/commontext.xml"/> In general, XInclude should be used instead of ENTITY references and XML Processor Instructions (PIs) that allow external inclusions. B.2. Anchors and IDs People writing and reading Internet Drafts and RFCs often want to make reference to specific locations in those documents. In the case Hoffman Expires September 5, 2015 [Page 89] Internet-Draft XML2RFCv3 March 2015 of RFC authors, it is common to want to reference another part of their document, such as "see Section 3.2 of this document". Readers, on the other hand, want to reference part of documents that they didn't write, such as "see Section 3.2 of RFC 6949". The XML vocabulary in this document attempts to support both sets of people. Authors can leave anchors in a document that can later be used for references with the "anchor" attribute. Anchors can be included in the following elements: <artwork>, <aside>, <blockquote>, <cref>, <figure>, <li>, <reference>, <referencegroup>, <section>, <sourcecode>, <t>, and <table>. The author can then refer to that anchor in the "target" attribute of the <xref> element. Readers can refer to any element that has an "anchor" attribute by that attribute. Note, however, that most of the time, elements won't have anchors. In the common case, the reader wants to refer to an element that does not have an "anchor" attribute, but that element has "pn" attribute. Processors add the "pn" attribute to many elements during processing. This attribute and its value are automatically generated by the processor if the attribute is not there; if the attribute is already there, the processor may replace the value. B.2.1. Overlapping Values In the HTML representation of this XML vocabulary, both anchors and "pn" attributes will be used in the "id" attributes of elements. Thus, there can be no overlap between the names entered in "anchor" attributes, in "slugifiedName" attributes, and those that are generated for the "pn" attributes. Also, there are some values for the "anchor" values that are reserved for sections, and those sections can only have those anchor values. The following rules prevent this overlap: o "pn" for regular sections always has the format "s-nnn", where "nnn" is the section or appendix number. For example, this would be "s-2.1.3" for Section 2.1.3 and "s-a" for Appendix A. For the <abstract> element, it is always "s-abstract". For the <note> element, it is always "s-note-nnn", where "nnn" is a sequential value. o "pn" for <figure> elements always has the format "f-nnn", where "nnn" is the figure number. For example, this would be "f-5" for Figure 5. Hoffman Expires September 5, 2015 [Page 90] Internet-Draft XML2RFCv3 March 2015 o "pn" for <table> elements always has the format "t-nnn", where "nnn" is the figure number. For example, this would be "t-5" for Table 5. o "pn" for all elements not listed above always has the format "p-nnn-mmm", where "nnn" is the section number and "mmm" is the relative position in the section. For example, this would be "p-2.1.3-7" for the seventh part number in Section 2.1.3. o "slugifiedName" always has the format "n-ttt", where "ttt" is the text of the name after slugification. For example, this would be "n-protocol-overview" for the name "Protocol Overview". The actual conversions done in slugification will be specified at a later time. o Anchors must never overlap with any of the above. The easiest way to assure that is to not pick an anchor name that starts with a single letter followed by a hyphen. If an anchor does overlap with one of the types of names above, the processor will reject the document. Appendix C. Relax NG Schema The following is the RelaxNG schema for the v3 format. namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" # xml2rfc Version 3 grammar rfc = element rfc { attribute number { text }?, [ a:defaultValue = "" ] attribute obsoletes { text }?, [ a:defaultValue = "" ] attribute updates { text }?, attribute category { text }?, attribute consensus { "no" | "yes" | "false" | "true" }?, attribute seriesNo { text }?, attribute ipr { "full2026" | "noDerivativeWorks2026" | "none" | "full3667" | "noModification3667" | "noDerivatives3667" | "full3978" | "noModification3978" | "noDerivatives3978" Hoffman Expires September 5, 2015 [Page 91] Internet-Draft XML2RFCv3 March 2015 | "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 = "no" ] attribute sortRefs { "true" | "false" }?, [ a:defaultValue = "yes" ] attribute symRefs { "true" | "false" }?, [ a:defaultValue = "yes" ] attribute tocInclude { "true" | "false" }?, [ a:defaultValue = "3" ] attribute tocDepth { text }?, attribute finalizedTime { text }?, link*, front, middle, back? } link = element link { attribute href { text }, attribute rel { text }? } front = element front { title, author+, date?, area*, workgroup*, keyword*, abstract?, seriesInfo*, note*, boilerplate? } Hoffman Expires September 5, 2015 [Page 92] Internet-Draft XML2RFCv3 March 2015 title = element title { attribute abbrev { text }?, attribute ascii { text }?, text } author = element author { attribute initials { text }?, attribute asciiInitials { text }?, attribute surname { text }?, attribute asciiSurname { text }?, attribute fullname { text }?, attribute role { "editor" }?, attribute asciiFullname { text }?, organization?, address? } organization = element organization { attribute abbrev { text }?, attribute ascii { text }?, text } address = element address { postal?, phone?, facsimile?, email?, uri? } postal = element postal { (city | code | country | region | street)* | postalLine+ } street = element street { attribute ascii { text }?, text } city = element city { attribute ascii { text }?, text } region = Hoffman Expires September 5, 2015 [Page 93] Internet-Draft XML2RFCv3 March 2015 element region { attribute ascii { text }?, text } code = element code { attribute ascii { text }?, text } country = element country { text } postalLine = element postalLine { attribute ascii { text }?, text } phone = element phone { text } facsimile = element facsimile { text } email = element email { attribute ascii { text }?, text } uri = element uri { text } date = element date { attribute day { text }?, attribute month { text }?, attribute year { text }?, empty } area = element area { text } workgroup = element workgroup { text } keyword = element keyword { text } abstract = element abstract { attribute pn { text }?, Hoffman Expires September 5, 2015 [Page 94] Internet-Draft XML2RFCv3 March 2015 t+ } note = element note { attribute title { text }?, name, attribute pn { text }?, [ a:defaultValue = "no" ] attribute removeInRFC { "true" | "false" }?, t+ } boilerplate = element boilerplate { section+ } middle = element middle { section+ } section = element section { attribute anchor { xsd:ID }?, attribute title { text }?, [ a:defaultValue = "yes" ] attribute numbered { "true" | "false" }?, [ a:defaultValue = "default" ] attribute toc { "include" | "exclude" | "default" }?, [ a:defaultValue = "no" ] attribute removeInRFC { "true" | "false" }?, attribute pn { text }?, name?, (artwork | aside | blockquote | dl | figure | iref | ol | sourcecode | t | table | texttable | ul)*, section* } name = element name { attribute slugifiedName { text }?, (text | cref | eref | tt | xref)* Hoffman Expires September 5, 2015 [Page 95] Internet-Draft XML2RFCv3 March 2015 } t = element t { attribute anchor { xsd:ID }?, attribute hangText { text }?, attribute pn { text }?, [ a:defaultValue = "false" ] attribute keepwithnext { "false" | "true" }?, [ a:defaultValue = "false" ] attribute keepwithprevious { "false" | "true" }?, (text | b | bcp14 | cref | em | eref | i | iref | \list | ol | spanx | strong | sub | sup | tt | vspace | xref)* } aside = element aside { attribute anchor { xsd:ID }?, attribute pn { text }?, (artwork | dl | figure | iref | \list | ol | t | table | ul)* } blockquote = element blockquote { attribute anchor { xsd:ID }?, attribute pn { text }?, attribute cite { text }?, attribute quotedFrom { text }?, (text | artwork | b | bcp14 | em Hoffman Expires September 5, 2015 [Page 96] Internet-Draft XML2RFCv3 March 2015 | figure | i | sourcecode | strong | sub | sup | t | tt)* } \list = element list { [ a:defaultValue = "empty" ] attribute style { text }?, attribute hangIndent { text }?, attribute counter { text }?, t+ } ol = element ol { [ a:defaultValue = "1" ] attribute style { text }?, [ a:defaultValue = "1" ] attribute start { text }?, attribute group { text }?, [ a:defaultValue = "normal" ] attribute spacing { "normal" | "compact" }?, li+ } ul = element ul { [ a:defaultValue = "normal" ] attribute spacing { "normal" | "compact" }?, [ a:defaultValue = "false" ] attribute empty { "false" | "true" }?, li+ } li = element li { attribute anchor { xsd:ID }?, attribute pn { text }?, ((t | artwork | figure | sourcecode)+ | (text | b | bcp14 | cref | em | eref Hoffman Expires September 5, 2015 [Page 97] Internet-Draft XML2RFCv3 March 2015 | i | iref | strong | sub | sup | tt | xref)+) } dl = element dl { [ a:defaultValue = "normal" ] attribute spacing { "normal" | "compact" }?, [ a:defaultValue = "true" ] attribute hanging { "false" | "true" }?, (dt, dd)+ } dt = element dt { attribute anchor { xsd:ID }?, attribute pn { text }?, (text | b | bcp14 | cref | em | eref | i | iref | strong | sub | sup | tt | xref)* } dd = element dd { t+ | (text | b | bcp14 | cref | em | eref | i | iref Hoffman Expires September 5, 2015 [Page 98] Internet-Draft XML2RFCv3 March 2015 | strong | sub | sup | tt | xref)+ } xref = element xref { attribute target { xsd:IDREF }, [ a:defaultValue = "false" ] attribute pageno { "true" | "false" }?, [ a:defaultValue = "default" ] attribute format { "counter" | "title" | "none" | "default" }?, (attribute section { text }, attribute relative { text }?, attribute sectionFormat { text }?)?, text } eref = element eref { attribute target { text }, text } iref = element iref { attribute item { text }, [ a:defaultValue = "" ] attribute subitem { text }?, [ a:defaultValue = "false" ] attribute primary { "true" | "false" }?, empty } cref = element cref { attribute anchor { xsd:ID }?, attribute source { text }?, [ a:defaultValue = "true" ] attribute display { "true" | "false" }?, (text | b | em | eref | i | strong | sub | sup | tt | xref)* } tt = element tt { (text | b Hoffman Expires September 5, 2015 [Page 99] Internet-Draft XML2RFCv3 March 2015 | bcp14 | cref | em | eref | i | iref | strong | sub | sup | xref)* } b = element b { (text | bcp14 | cref | em | eref | i | iref | sub | sup | tt | xref)* } strong = element strong { (text | bcp14 | cref | em | eref | i | iref | sub | sup | tt | xref)* } i = element i { (text | b | bcp14 | cref Hoffman Expires September 5, 2015 [Page 100] Internet-Draft XML2RFCv3 March 2015 | eref | iref | strong | sub | sup | tt | xref)* } em = element em { (text | b | bcp14 | cref | eref | iref | strong | sub | sup | tt | xref)* } sub = element sub { (text | b | bcp14 | cref | em | eref | i | iref | strong | tt | xref)* } sup = element sup { (text | b | bcp14 | cref | em | eref | i Hoffman Expires September 5, 2015 [Page 101] Internet-Draft XML2RFCv3 March 2015 | iref | strong | tt | xref)* } spanx = element spanx { [ a:defaultValue = "preserve" ] attribute xml:space { "default" | "preserve" }?, [ a:defaultValue = "emph" ] attribute style { text }?, text } vspace = element vspace { [ a:defaultValue = "0" ] attribute blankLines { text }?, empty } figure = element figure { attribute anchor { xsd:ID }?, [ 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 }?, attribute pn { text }?, name?, iref*, preamble?, (artwork | sourcecode)+, postamble? } table = element table { attribute anchor { xsd:ID }?, attribute pn { text }?, name?, iref*, thead?, tbody+, Hoffman Expires September 5, 2015 [Page 102] Internet-Draft XML2RFCv3 March 2015 tfoot? } preamble = element preamble { (text | b | bcp14 | cref | em | eref | i | iref | spanx | strong | sub | sup | tt | xref)* } artwork = element artwork { attribute xml:space { text }?, [ a:defaultValue = "" ] attribute name { text }?, [ a:defaultValue = "" ] attribute type { text }?, attribute src { text }?, [ a:defaultValue = "left" ] attribute align { "left" | "center" | "right" }?, [ a:defaultValue = "" ] attribute alt { text }?, [ a:defaultValue = "" ] attribute width { text }?, [ a:defaultValue = "" ] attribute height { text }?, attribute anchor { xsd:ID }?, attribute pn { text }?, text* } sourcecode = element sourcecode { [ a:defaultValue = "" ] attribute name { text }?, [ a:defaultValue = "" ] attribute type { text }?, attribute src { text }?, attribute anchor { xsd:ID }?, attribute pn { text }?, text } thead = element thead { tr+ } Hoffman Expires September 5, 2015 [Page 103] Internet-Draft XML2RFCv3 March 2015 tbody = element tbody { tr+ } tfoot = element tfoot { tr+ } tr = element tr { [ a:defaultValue = "0" ] attribute border { text }?, (td, th)+ } td = element td { [ a:defaultValue = "0" ] attribute border { text }?, [ a:defaultValue = "0" ] attribute colspan { text }?, [ a:defaultValue = "0" ] attribute rowspan { text }?, [ a:defaultValue = "left" ] attribute align { "left" | "center" | "right" }?, (t+ | (text | artwork | b | bcp14 | br | cref | dl | em | eref | figure | i | iref | ol | sourcecode | strong | sub | sup | tt | ul | xref)+) } th = element th { [ a:defaultValue = "0" ] attribute border { text }?, [ a:defaultValue = "0" ] attribute colspan { text }?, [ a:defaultValue = "0" ] attribute rowspan { text }?, [ a:defaultValue = "left" ] attribute align { "left" | "center" | "right" }?, (t+ Hoffman Expires September 5, 2015 [Page 104] Internet-Draft XML2RFCv3 March 2015 | (text | artwork | b | bcp14 | br | cref | dl | em | eref | figure | i | iref | ol | sourcecode | strong | sub | sup | tt | ul | xref)+) } postamble = element postamble { (text | b | bcp14 | cref | em | eref | i | iref | spanx | strong | sub | sup | tt | xref)* } texttable = element texttable { attribute anchor { xsd:ID }?, [ a:defaultValue = "" ] attribute title { text }?, [ a:defaultValue = "false" ] attribute suppress-title { "true" | "false" }?, [ a:defaultValue = "center" ] attribute align { "left" | "center" | "right" }?, Hoffman Expires September 5, 2015 [Page 105] Internet-Draft XML2RFCv3 March 2015 [ a:defaultValue = "full" ] attribute style { "all" | "none" | "headers" | "full" }?, name?, preamble?, ttcol+, c*, postamble? } ttcol = element ttcol { attribute width { text }?, [ a:defaultValue = "left" ] attribute align { "left" | "center" | "right" }?, (cref | eref | iref | xref | text)* } c = element c { (text | b | bcp14 | cref | em | eref | i | iref | spanx | strong | sub | sup | tt | xref)* } bcp14 = element bcp14 { text } br = element br { empty } back = element back { displayreference*, references*, section* } displayreference = element displayreference { attribute target { xsd:IDREF }, attribute to { text } } references = Hoffman Expires September 5, 2015 [Page 106] Internet-Draft XML2RFCv3 March 2015 element references { attribute anchor { xsd:ID }?, attribute title { text }?, attribute pn { text }?, name?, (reference | referencegroup)* } reference = element reference { attribute anchor { xsd:ID }, attribute target { text }?, [ a:defaultValue = "true" ] attribute quote-title { "true" | "false" }?, front, (annotation | format | refcontent | seriesInfo)* } referencegroup = element referencegroup { attribute anchor { xsd:ID }, reference+ } seriesInfo = element seriesInfo { attribute name { text }, attribute value { text }, attribute asciiname { text }?, attribute asciivalue { text }?, empty } format = element format { attribute target { text }?, attribute type { text }, attribute octets { text }?, empty } annotation = element annotation { attribute ascii { text }?, (text | b | bcp14 | cref Hoffman Expires September 5, 2015 [Page 107] Internet-Draft XML2RFCv3 March 2015 | em | eref | i | iref | spanx | strong | sub | sup | tt | xref)* } refcontent = element refcontent { attribute ascii { text }?, (text | b | bcp14 | em | i | strong | sub | sup | tt)* } start = rfc Appendix D. Schema Differences from v2 The following is a non-normative comparison of the v3 format to the v2 format. A "-" indicates lines removed from the v2 schema, and a "+" indicates lines added to the v3 schema. namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + # xml2rfc Version 3 grammar rfc = element rfc { attribute number { text }?, [ a:defaultValue = "" ] attribute obsoletes { text }?, [ a:defaultValue = "" ] attribute updates { text }?, - attribute category { "std" | "bcp" | "info" | "exp" | - "historic" }?, - attribute consensus { "no" | "yes" }?, + attribute category { text }?, + attribute consensus { "no" | "yes" | "false" | "true" }?, attribute seriesNo { text }?, attribute ipr { "full2026" | "noDerivativeWorks2026" | "none" | "full3667" Hoffman Expires September 5, 2015 [Page 108] Internet-Draft XML2RFCv3 March 2015 | "noModification3667" | "noDerivatives3667" | "full3978" | "noModification3978" | "noDerivatives3978" | "trust200811" | "noModificationTrust200811" | "noDerivativesTrust200811" | "trust200902" | "noModificationTrust200902" | "noDerivativesTrust200902" | "pre5378Trust200902" }?, attribute iprExtract { xsd:IDREF }?, [ a:defaultValue = "IETF" ] attribute submissionType { "IETF" | "IAB" | "IRTF" | "independent" }?, attribute docName { text }?, - [ a:defaultValue = "en" ] attribute xml:lang { text }?, + [ a:defaultValue = "no" ] + attribute sortRefs { "true" | "false" }?, + [ a:defaultValue = "yes" ] + attribute symRefs { "true" | "false" }?, + [ a:defaultValue = "yes" ] + attribute tocInclude { "true" | "false" }?, + [ a:defaultValue = "3" ] attribute tocDepth { text }?, + attribute finalizedTime { text }?, + link*, front, middle, back? } + link = + element link { + attribute href { text }, + attribute rel { text }? + } front = element front { - title, author+, date, area*, workgroup*, keyword*, abstract?, - note* + title, + author+, + date?, + area*, + workgroup*, + keyword*, Hoffman Expires September 5, 2015 [Page 109] Internet-Draft XML2RFCv3 March 2015 + abstract?, + seriesInfo*, + note*, + boilerplate? } title = element title { attribute abbrev { text }?, + attribute ascii { text }?, text } author = element author { attribute initials { text }?, + attribute asciiInitials { text }?, attribute surname { text }?, + attribute asciiSurname { text }?, attribute fullname { text }?, attribute role { "editor" }?, + attribute asciiFullname { text }?, organization?, address? } organization = element organization { attribute abbrev { text }?, + attribute ascii { text }?, + text + } + address = + element address { postal?, phone?, facsimile?, email?, uri? } + postal = + element postal { + (city | code | country | region | street)* | postalLine+ + } + street = + element street { + attribute ascii { text }?, + text + } + city = + element city { + attribute ascii { text }?, + text + } + region = + element region { + attribute ascii { text }?, Hoffman Expires September 5, 2015 [Page 110] Internet-Draft XML2RFCv3 March 2015 + text + } + code = + element code { + attribute ascii { 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 } country = element country { text } + postalLine = + element postalLine { + attribute ascii { text }?, + text + } phone = element phone { text } facsimile = element facsimile { text } - email = element email { text } + email = + element email { + attribute ascii { text }?, + text + } uri = element uri { text } date = element date { attribute day { text }?, attribute month { text }?, attribute year { text }?, empty } area = element area { text } workgroup = element workgroup { text } keyword = element keyword { text } - abstract = element abstract { t+ } + abstract = + element abstract { + attribute pn { text }?, + t+ + } note = element note { Hoffman Expires September 5, 2015 [Page 111] Internet-Draft XML2RFCv3 March 2015 - attribute title { text }, + attribute title { text }?, + name, + attribute pn { text }?, + [ a:defaultValue = "no" ] + attribute removeInRFC { "true" | "false" }?, t+ } + boilerplate = element boilerplate { section+ } middle = element middle { section+ } section = element section { attribute anchor { xsd:ID }?, - attribute title { text }, + attribute title { text }?, + [ a:defaultValue = "yes" ] + attribute numbered { "true" | "false" }?, [ a:defaultValue = "default" ] attribute toc { "include" | "exclude" | "default" }?, - (t | figure | texttable | iref)*, + [ a:defaultValue = "no" ] + attribute removeInRFC { "true" | "false" }?, + attribute pn { text }?, + name?, + (artwork + | aside + | blockquote + | dl + | figure + | iref + | ol + | sourcecode + | t + | table + | texttable + | ul)*, section* } + name = + element name { + attribute slugifiedName { text }?, + (text | cref | eref | tt | xref)* + } t = element t { attribute anchor { xsd:ID }?, attribute hangText { text }?, + attribute pn { text }?, Hoffman Expires September 5, 2015 [Page 112] Internet-Draft XML2RFCv3 March 2015 + [ a:defaultValue = "false" ] + attribute keepwithnext { "false" | "true" }?, + [ a:defaultValue = "false" ] + attribute keepwithprevious { "false" | "true" }?, (text - | \list - | figure - | xref + | b + | bcp14 + | cref + | em | eref + | i | iref - | cref + | \list + | ol | spanx - | vspace)* + | strong + | sub + | sup + | tt + | vspace + | xref)* + } + aside = + element aside { + attribute anchor { xsd:ID }?, + attribute pn { text }?, + (artwork | dl | figure | iref | \list | ol | t | table | ul)* + } + blockquote = + element blockquote { + attribute anchor { xsd:ID }?, + attribute pn { text }?, + attribute cite { text }?, + attribute quotedFrom { text }?, + (text + | artwork + | b + | bcp14 + | em + | figure + | i + | sourcecode + | strong Hoffman Expires September 5, 2015 [Page 113] Internet-Draft XML2RFCv3 March 2015 + | sub + | sup + | t + | tt)* } \list = element list { - attribute style { text }?, + [ a:defaultValue = "empty" ] attribute style { text }?, attribute hangIndent { text }?, attribute counter { text }?, t+ } + ol = + element ol { + [ a:defaultValue = "1" ] attribute style { text }?, + [ a:defaultValue = "1" ] attribute start { text }?, + attribute group { text }?, + [ a:defaultValue = "normal" ] + attribute spacing { "normal" | "compact" }?, + li+ + } + ul = + element ul { + [ a:defaultValue = "normal" ] + attribute spacing { "normal" | "compact" }?, + [ a:defaultValue = "false" ] + attribute empty { "false" | "true" }?, + li+ + } + li = + element li { + attribute anchor { xsd:ID }?, + attribute pn { text }?, + ((t | artwork | figure | sourcecode)+ + | (text + | b + | bcp14 + | cref + | em + | eref + | i + | iref + | strong + | sub + | sup + | tt + | xref)+) Hoffman Expires September 5, 2015 [Page 114] Internet-Draft XML2RFCv3 March 2015 + } + dl = + element dl { + [ a:defaultValue = "normal" ] + attribute spacing { "normal" | "compact" }?, + [ a:defaultValue = "true" ] + attribute hanging { "false" | "true" }?, + (dt, dd)+ + } + dt = + element dt { + attribute anchor { xsd:ID }?, + attribute pn { text }?, + (text + | b + | bcp14 + | cref + | em + | eref + | i + | iref + | strong + | sub + | sup + | tt + | xref)* + } + dd = + element dd { + t+ + | (text + | b + | bcp14 + | cref + | em + | eref + | i + | iref + | strong + | sub + | sup + | tt + | xref)+ + } xref = element xref { attribute target { xsd:IDREF }, - [ a:defaultValue = "false" ] attribute pageno { "true" | Hoffman Expires September 5, 2015 [Page 115] Internet-Draft XML2RFCv3 March 2015 - "false" }?, + [ a:defaultValue = "false" ] + attribute pageno { "true" | "false" }?, [ a:defaultValue = "default" ] attribute format { "counter" | "title" | "none" | "default" }?, + (attribute section { text }, + attribute relative { text }?, + attribute sectionFormat { text }?)?, text } eref = element eref { attribute target { text }, text } iref = element iref { attribute item { text }, [ a:defaultValue = "" ] attribute subitem { text }?, [ a:defaultValue = "false" ] attribute primary { "true" | "false" }?, empty } cref = element cref { attribute anchor { xsd:ID }?, attribute source { text }?, - text + [ a:defaultValue = "true" ] + attribute display { "true" | "false" }?, + (text | b | em | eref | i | strong | sub | sup | tt | xref)* + } + tt = + element tt { + (text + | b + | bcp14 + | cref + | em + | eref + | i + | iref + | strong + | sub + | sup + | xref)* + } Hoffman Expires September 5, 2015 [Page 116] Internet-Draft XML2RFCv3 March 2015 + b = + element b { + (text + | bcp14 + | cref + | em + | eref + | i + | iref + | sub + | sup + | tt + | xref)* + } + strong = + element strong { + (text + | bcp14 + | cref + | em + | eref + | i + | iref + | sub + | sup + | tt + | xref)* + } + i = + element i { + (text + | b + | bcp14 + | cref + | eref + | iref + | strong + | sub + | sup + | tt + | xref)* + } + em = + element em { + (text + | b + | bcp14 + | cref Hoffman Expires September 5, 2015 [Page 117] Internet-Draft XML2RFCv3 March 2015 + | eref + | iref + | strong + | sub + | sup + | tt + | xref)* + } + sub = + element sub { + (text + | b + | bcp14 + | cref + | em + | eref + | i + | iref + | strong + | tt + | xref)* + } + sup = + element sup { + (text + | b + | bcp14 + | cref + | em + | eref + | i + | iref + | strong + | tt + | xref)* } spanx = element spanx { [ a:defaultValue = "preserve" ] attribute xml:space { "default" | "preserve" }?, [ a:defaultValue = "emph" ] attribute style { text }?, text } vspace = element vspace { [ a:defaultValue = "0" ] attribute blankLines { text }?, empty } Hoffman Expires September 5, 2015 [Page 118] Internet-Draft XML2RFCv3 March 2015 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 }?, + attribute pn { text }?, + name?, iref*, preamble?, - artwork, + (artwork | sourcecode)+, postamble? } + table = + element table { + attribute anchor { xsd:ID }?, + attribute pn { text }?, + name?, + iref*, + thead?, + tbody+, + tfoot? + } preamble = - element preamble { (text | xref | eref | iref | cref | spanx)* } + element preamble { + (text + | b + | bcp14 + | cref + | em + | eref + | i + | iref + | spanx + | strong + | sub + | sup + | tt + | xref)* + } Hoffman Expires September 5, 2015 [Page 119] Internet-Draft XML2RFCv3 March 2015 artwork = element artwork { - [ a:defaultValue = "preserve" ] - attribute xml:space { "default" | "preserve" }?, + attribute xml:space { text }?, [ a:defaultValue = "" ] attribute name { text }?, [ a:defaultValue = "" ] attribute type { text }?, attribute src { text }?, [ a:defaultValue = "left" ] attribute align { "left" | "center" | "right" }?, [ a:defaultValue = "" ] attribute alt { text }?, [ a:defaultValue = "" ] attribute width { text }?, [ a:defaultValue = "" ] attribute height { text }?, + attribute anchor { xsd:ID }?, + attribute pn { text }?, text* } + sourcecode = + element sourcecode { + [ a:defaultValue = "" ] attribute name { text }?, + [ a:defaultValue = "" ] attribute type { text }?, + attribute src { text }?, + attribute anchor { xsd:ID }?, + attribute pn { text }?, + text + } + thead = element thead { tr+ } + tbody = element tbody { tr+ } + tfoot = element tfoot { tr+ } + tr = + element tr { + [ a:defaultValue = "0" ] attribute border { text }?, + (td, th)+ + } + td = + element td { + [ a:defaultValue = "0" ] attribute border { text }?, + [ a:defaultValue = "0" ] attribute colspan { text }?, + [ a:defaultValue = "0" ] attribute rowspan { text }?, + [ a:defaultValue = "left" ] + attribute align { "left" | "center" | "right" }?, + (t+ + | (text + | artwork + | b + | bcp14 + | br + | cref Hoffman Expires September 5, 2015 [Page 120] Internet-Draft XML2RFCv3 March 2015 + | dl + | em + | eref + | figure + | i + | iref + | ol + | sourcecode + | strong + | sub + | sup + | tt + | ul + | xref)+) + } + th = + element th { + [ a:defaultValue = "0" ] attribute border { text }?, + [ a:defaultValue = "0" ] attribute colspan { text }?, + [ a:defaultValue = "0" ] attribute rowspan { text }?, + [ a:defaultValue = "left" ] + attribute align { "left" | "center" | "right" }?, + (t+ + | (text + | artwork + | b + | bcp14 + | br + | cref + | dl + | em + | eref + | figure + | i + | iref + | ol + | sourcecode + | strong + | sub + | sup + | tt + | ul + | xref)+) + } postamble = - element postamble { (text | xref | eref | iref | cref | spanx)* + element postamble { + (text Hoffman Expires September 5, 2015 [Page 121] Internet-Draft XML2RFCv3 March 2015 + | b + | bcp14 + | cref + | em + | eref + | i + | iref + | spanx + | strong + | sub + | sup + | tt + | xref)* } texttable = element texttable { attribute anchor { xsd:ID }?, [ a:defaultValue = "" ] attribute title { text }?, [ a:defaultValue = "false" ] attribute suppress-title { "true" | "false" }?, [ a:defaultValue = "center" ] attribute align { "left" | "center" | "right" }?, [ a:defaultValue = "full" ] attribute style { "all" | "none" | "headers" | "full" }?, + name?, preamble?, ttcol+, c*, postamble? } ttcol = element ttcol { attribute width { text }?, [ a:defaultValue = "left" ] attribute align { "left" | "center" | "right" }?, - text + (cref | eref | iref | xref | text)* + } + c = + element c { + (text + | b + | bcp14 + | cref + | em + | eref + | i + | iref Hoffman Expires September 5, 2015 [Page 122] Internet-Draft XML2RFCv3 March 2015 + | spanx + | strong + | sub + | sup + | tt + | xref)* + } + bcp14 = element bcp14 { text } + br = element br { empty } + back = element back { displayreference*, references*, section* } + displayreference = + element displayreference { + attribute target { xsd:IDREF }, + attribute to { text } } - c = element c { (text | xref | eref | iref | cref | spanx)* } - back = element back { references*, section* } references = element references { - [ a:defaultValue = "References" ] attribute title { text }?, - reference+ + attribute anchor { xsd:ID }?, + attribute title { text }?, + attribute pn { text }?, + name?, + (reference | referencegroup)* } reference = element reference { attribute anchor { xsd:ID }, attribute target { text }?, + [ a:defaultValue = "true" ] + attribute quote-title { "true" | "false" }?, front, - seriesInfo*, - format*, - annotation* + (annotation | format | refcontent | seriesInfo)* + } + referencegroup = + element referencegroup { + attribute anchor { xsd:ID }, + reference+ } seriesInfo = element seriesInfo { attribute name { text }, attribute value { text }, Hoffman Expires September 5, 2015 [Page 123] Internet-Draft XML2RFCv3 March 2015 + attribute asciiname { text }?, + attribute asciivalue { text }?, empty } format = element format { attribute target { text }?, attribute type { text }, attribute octets { text }?, empty } annotation = - element annotation { (text | xref | eref | iref | cref | - spanx)* } + element annotation { + attribute ascii { text }?, + (text + | b + | bcp14 + | cref + | em + | eref + | i + | iref + | spanx + | strong + | sub + | sup + | tt + | xref)* + } + refcontent = + element refcontent { + attribute ascii { text }?, + (text | b | bcp14 | em | i | strong | sub | sup | tt)* + } start = rfc Index A abbrev attribute in organization element 40 in title element 66 abstract element 10, 91 inside front 32 pn attribute 10 Hoffman Expires September 5, 2015 [Page 124] Internet-Draft XML2RFCv3 March 2015 address element 11, 91 inside author 17 align attribute in artwork element 13 in figure element 30 in td element 62 in texttable element 76 in th element 64 in ttcol element 77 alt attribute in artwork element 14 in figure element 30 anchor attribute in artwork element 14 in aside element 16 in blockquote element 20 in cref element 23 in dt element 27 in figure element 30 in li element 35 in reference element 43 in referencegroup element 44 in references element 44 in section element 50 in sourcecode element 54 in t element 59 in table element 61 in texttable element 76 annotation element 11, 91 ascii attribute 12 inside reference 43 application/rfc+xml Media Type 79 area element 12, 91 inside front 32 artwork element 12, 91 align attribute 13 alt attribute 14 anchor attribute 14 height attribute 14 inside aside 15 inside blockquote 19 inside figure 30 inside li 34 inside section 49 inside td 61 inside th 64 name attribute 14 pn attribute 14 Hoffman Expires September 5, 2015 [Page 125] Internet-Draft XML2RFCv3 March 2015 src attribute 14 type attribute 15 width attribute 15 xml:space attribute 15 ascii attribute in annotation element 12 in city element 21 in code element 21 in email element 29 in organization element 40 in postalLine element 41 in refcontent element 42 in region element 45 in street element 55 in title element 66 asciiFullname attribute in author element 17 asciiInitials attribute in author element 17 asciiname attribute in seriesInfo element 51 asciiSurname attribute in author element 17 asciivalue attribute in seriesInfo element 52 aside element 15, 91 anchor attribute 16 inside section 49 pn attribute 16 Attributes abbrev 40, 66 align 13, 30, 62, 64, 76-77 alt 14, 30 anchor 14, 16, 20, 23, 27, 30, 35, 43-44, 50, 54, 59, 61, 76 ascii 12, 21, 29, 40-42, 45, 55, 66 asciiFullname 17 asciiInitials 17 asciiname 51 asciiSurname 17 asciivalue 52 blankLines 78 border 63, 65-66 category 45 cite 20 colspan 63, 65 consensus 45 counter 73 day 24 Hoffman Expires September 5, 2015 [Page 126] Internet-Draft XML2RFCv3 March 2015 display 23 docName 46 empty 67 finalizedTime 46 format 69 fullname 17 group 38 hangIndent 73 hanging 26 hangText 59 height 14, 30 href 36 initials 17 ipr 46 iprExtract 47 item 33 keepwithnext 59 keepwithprevious 60 month 24 name 14, 52, 54 number 47 numbered 50 obsoletes 47 octets 73 pageno 70 pn 10, 14, 16, 20, 27, 31, 35, 37, 45, 50, 54, 60-61 primary 34 quote-title 43 quotedFrom 20 rel 36 relative 70 removeInRFC 38, 50 role 17 rowspan 63, 65 section 71 sectionFormat 71 seriesNo 47 slugifiedName 37 sortRefs 47 source 23 spacing 26, 38, 68 src 14, 31, 54 start 39 style 39, 73, 75, 77 subitem 34 submissionType 48 suppress-title 31, 77 surname 17 Hoffman Expires September 5, 2015 [Page 127] Internet-Draft XML2RFCv3 March 2015 symRefs 48 target 25, 29, 43, 71, 73 title 31, 38, 45, 50, 77 to 26 toc 51 tocDepth 48 tocInclude 48 type 15, 54, 73 updates 49 value 52 width 15, 31, 78 xml:space 15, 76 year 24 author element 16, 91 asciiFullname attribute 17 asciiInitials attribute 17 asciiSurname attribute 17 fullname attribute 17 initials attribute 17 inside front 32 role attribute 17 surname attribute 17 B b element 18, 91 inside annotation 11 inside blockquote 20 inside c 72 inside cref 22 inside dd 25 inside dt 27 inside em 28 inside i 32 inside li 35 inside postamble 74 inside preamble 75 inside refcontent 42 inside sub 57 inside sup 58 inside t 58 inside td 61 inside th 64 inside tt 67 back element 18, 91 inside rfc 45 bcp14 element 19, 91 inside annotation 11 inside b 18 Hoffman Expires September 5, 2015 [Page 128] Internet-Draft XML2RFCv3 March 2015 inside blockquote 20 inside c 72 inside dd 25 inside dt 27 inside em 28 inside i 32 inside li 35 inside postamble 74 inside preamble 75 inside refcontent 42 inside strong 56 inside sub 57 inside sup 58 inside t 58 inside td 61 inside th 64 inside tt 67 blankLines attribute in vspace element 78 blockquote element 19, 91 anchor attribute 20 cite attribute 20 inside section 49 pn attribute 20 quotedFrom attribute 20 boilerplate element 20, 91 inside front 32 border attribute in td element 63 in th element 65 in tr element 66 br element 21, 91 inside td 62 inside th 64 C c element 72, 91 inside texttable 76 category attribute in rfc element 45 cite attribute in blockquote element 20 city element 21, 91 ascii attribute 21 inside postal 41 code element 21, 91 ascii attribute 21 inside postal 41 Hoffman Expires September 5, 2015 [Page 129] Internet-Draft XML2RFCv3 March 2015 colspan attribute in td element 63 in th element 65 consensus attribute in rfc element 45 counter attribute in list element 73 country element 21, 91 inside postal 41 cref element 22, 91 anchor attribute 23 display attribute 23 inside annotation 11 inside b 18 inside c 72 inside dd 25 inside dt 27 inside em 28 inside i 33 inside li 35 inside name 37 inside postamble 74 inside preamble 75 inside strong 56 inside sub 57 inside sup 58 inside t 58 inside td 62 inside th 64 inside tt 67 inside ttcol 77 source attribute 23 D date element 23, 91 day attribute 24 inside front 32 month attribute 24 year attribute 24 day attribute in date element 24 dd element 24, 91 inside dl 26 display attribute in cref element 23 displayreference element 25, 91 inside back 19 target attribute 25 Hoffman Expires September 5, 2015 [Page 130] Internet-Draft XML2RFCv3 March 2015 to attribute 26 dl element 26, 91 hanging attribute 26 inside aside 15 inside section 49 inside td 62 inside th 64 spacing attribute 26 docName attribute in rfc element 46 dt element 27, 91 anchor attribute 27 inside dl 26 pn attribute 27 E Elements abstract 10, 32 address 11, 17 annotation 11, 43 area 12, 32 artwork 12, 15, 19, 30, 34, 49, 61, 64 aside 15, 49 author 16, 32 b 11, 18, 20, 22, 25, 27-28, 32, 35, 42, 57-58, 61, 64, 67, 72, 74-75 back 18, 45 bcp14 11, 18-20, 25, 27-28, 32, 35, 42, 56-58, 61, 64, 67, 72, 74-75 blockquote 19, 49 boilerplate 20, 32 br 21, 62, 64 c 72, 76 city 21, 41 code 21, 41 country 21, 41 cref 11, 18, 22, 25, 27-28, 33, 35, 37, 56-58, 62, 64, 67, 72, 74-75, 77 date 23, 32 dd 24, 26 displayreference 19, 25 dl 15, 26, 49, 62, 64 dt 26-27 em 11, 18, 20, 22, 25, 27-28, 35, 42, 56-58, 62, 64, 67, 72, 74-75 email 11, 28 eref 11, 18, 22, 25, 27-29, 33, 35, 37, 56-59, 62, 64, 67, 72, 74-75, 77 Hoffman Expires September 5, 2015 [Page 131] Internet-Draft XML2RFCv3 March 2015 facsimile 11, 72 figure 16, 20, 29, 34, 49, 62, 64 format 43, 73 front 31, 43, 45 i 11, 18, 20, 22, 25, 27, 32, 35, 42, 56-59, 62, 64, 67, 72, 74-75 iref 11, 16, 18, 25, 27-28, 30, 33, 35, 49, 56-60, 62, 64, 67, 72, 74-75, 77 keyword 32, 34 li 34, 38, 67 link 35, 45 list 16, 59, 73 middle 36, 45 name 30, 36-37, 44, 49, 60, 76 note 32, 37 ol 16, 38, 49, 59, 62, 64 organization 17, 40 phone 11, 40 postal 11, 40 postalLine 41 postamble 30, 74, 76 preamble 30, 74, 76 refcontent 41, 43 reference 42, 44 referencegroup 43-44 references 19, 44 region 41, 45 rfc 45 section 19, 21, 36, 49-50 seriesInfo 32, 43, 51 sourcecode 20, 30, 35, 49, 53, 62, 64 spanx 12, 59, 72, 74-75 street 41, 55 strong 12, 20, 22, 25, 27-28, 33, 35, 42, 55, 57-59, 62, 64, 67, 72, 74-75 sub 12, 18, 20, 22, 25, 27-28, 33, 35, 42, 56, 59, 62, 64, 67, 72, 74-75 sup 12, 18, 20, 22, 25, 27-28, 33, 35, 42, 56-57, 59, 62, 64, 67, 72, 74-75 t 10, 16, 20, 24, 34, 37, 49, 58, 61, 63, 73 table 16, 50, 60 tbody 61 td 61, 66 texttable 50, 76 tfoot 61, 63 th 63, 66 thead 60, 65 title 32, 65 Hoffman Expires September 5, 2015 [Page 132] Internet-Draft XML2RFCv3 March 2015 tr 61, 63, 65-66 tt 12, 18, 20, 22, 25, 27-28, 33, 35, 37, 42, 56-59, 62, 64, 66, 72, 74-75 ttcol 76-77 ul 16, 50, 62, 64, 67 uri 11, 68 vspace 59, 78 workgroup 32, 68 xref 12, 18, 22, 25, 27-28, 33, 35, 37, 56-59, 62, 64, 67-68, 72, 74-75, 77 em element 28, 91 inside annotation 11 inside b 18 inside blockquote 20 inside c 72 inside cref 22 inside dd 25 inside dt 27 inside li 35 inside postamble 74 inside preamble 75 inside refcontent 42 inside strong 56 inside sub 57 inside sup 58 inside t 58 inside td 62 inside th 64 inside tt 67 email element 28, 91 ascii attribute 29 inside address 11 empty attribute in ul element 67 eref element 29, 91 inside annotation 11 inside b 18 inside c 72 inside cref 22 inside dd 25 inside dt 27 inside em 28 inside i 33 inside li 35 inside name 37 inside postamble 74 inside preamble 75 inside strong 56 Hoffman Expires September 5, 2015 [Page 133] Internet-Draft XML2RFCv3 March 2015 inside sub 57 inside sup 58 inside t 59 inside td 62 inside th 64 inside tt 67 inside ttcol 77 target attribute 29 F facsimile element 72, 91 inside address 11 figure element 29, 91 align attribute 30 alt attribute 30 anchor attribute 30 height attribute 30 inside aside 16 inside blockquote 20 inside li 34 inside section 49 inside td 62 inside th 64 pn attribute 31 src attribute 31 suppress-title attribute 31 title attribute 31 width attribute 31 finalizedTime attribute in rfc element 46 format attribute in xref element 69 format element 73, 91 inside reference 43 octets attribute 73 target attribute 73 type attribute 73 front element 31, 91 inside reference 43 inside rfc 45 fullname attribute in author element 17 G group attribute in ol element 38 H Hoffman Expires September 5, 2015 [Page 134] Internet-Draft XML2RFCv3 March 2015 hangIndent attribute in list element 73 hanging attribute in dl element 26 hangText attribute in t element 59 height attribute in artwork element 14 in figure element 30 href attribute in link element 36 I i element 32, 91 inside annotation 11 inside b 18 inside blockquote 20 inside c 72 inside cref 22 inside dd 25 inside dt 27 inside li 35 inside postamble 74 inside preamble 75 inside refcontent 42 inside strong 56 inside sub 57 inside sup 58 inside t 59 inside td 62 inside th 64 inside tt 67 initials attribute in author element 17 ipr attribute '*2026' 86 '*3667' 86 '*3978' 86 '*trust200811' 86 '*trust200902' 84 'noDerivativesTrust200902' 85 'noModificationTrust200902' 85 'pre5378Trust200902' 85 'trust200902' 85 in rfc element 46 iprExtract attribute in rfc element 47 iref element 33, 91 Hoffman Expires September 5, 2015 [Page 135] Internet-Draft XML2RFCv3 March 2015 inside annotation 11 inside aside 16 inside b 18 inside c 72 inside dd 25 inside dt 27 inside em 28 inside figure 30 inside i 33 inside li 35 inside postamble 74 inside preamble 75 inside section 49 inside strong 56 inside sub 57 inside sup 58 inside t 59 inside table 60 inside td 62 inside th 64 inside tt 67 inside ttcol 77 item attribute 33 primary attribute 34 subitem attribute 34 item attribute in iref element 33 K keepwithnext attribute in t element 59 keepwithprevious attribute in t element 60 keyword element 34, 91 inside front 32 L li element 34, 91 anchor attribute 35 inside ol 38 inside ul 67 pn attribute 35 link element 35, 91 href attribute 36 inside rfc 45 rel attribute 36 list element 73, 91 counter attribute 73 Hoffman Expires September 5, 2015 [Page 136] Internet-Draft XML2RFCv3 March 2015 hangIndent attribute 73 inside aside 16 inside t 59 style attribute 73 M Media Type application/rfc+xml 79 middle element 36, 91 inside rfc 45 month attribute in date element 24 N name attribute in artwork element 14 in seriesInfo element 52 in sourcecode element 54 name element 36, 91 inside figure 30 inside note 37 inside references 44 inside section 49 inside table 60 inside texttable 76 slugifiedName attribute 37 note element 37, 91 inside front 32 pn attribute 37 removeInRFC attribute 38 title attribute 38 number attribute in rfc element 47 numbered attribute in section element 50 O obsoletes attribute in rfc element 47 octets attribute in format element 73 ol element 38, 91 group attribute 38 inside aside 16 inside section 49 inside t 59 inside td 62 inside th 64 Hoffman Expires September 5, 2015 [Page 137] Internet-Draft XML2RFCv3 March 2015 spacing attribute 38 start attribute 39 style attribute 39 organization element 40, 91 abbrev attribute 40 ascii attribute 40 inside author 17 P pageno attribute in xref element 70 phone element 40, 91 inside address 11 pn attribute in abstract element 10 in artwork element 14 in aside element 16 in blockquote element 20 in dt element 27 in figure element 31 in li element 35 in note element 37 in references element 45 in section element 50 in sourcecode element 54 in t element 60 in table element 61 postal element 40, 91 inside address 11 postalLine element 41, 91 ascii attribute 41 inside postal 41 postamble element 74, 91 inside figure 30 inside texttable 76 preamble element 74, 91 inside figure 30 inside texttable 76 primary attribute in iref element 34 Q quote-title attribute in reference element 43 quotedFrom attribute in blockquote element 20 R Hoffman Expires September 5, 2015 [Page 138] Internet-Draft XML2RFCv3 March 2015 refcontent element 41, 91 ascii attribute 42 inside reference 43 reference element 42, 91 anchor attribute 43 inside referencegroup 44 inside references 44 quote-title attribute 43 target attribute 43 referencegroup element 43, 91 anchor attribute 44 inside references 44 references element 44, 91 anchor attribute 44 inside back 19 pn attribute 45 title attribute 45 region element 45, 91 ascii attribute 45 inside postal 41 rel attribute in link element 36 relative attribute in xref element 70 removeInRFC attribute in note element 38 in section element 50 rfc element 45, 91 category attribute 45 consensus attribute 45 docName attribute 46 finalizedTime attribute 46 ipr attribute 46 iprExtract attribute 47 number attribute 47 obsoletes attribute 47 seriesNo attribute 47 sortRefs attribute 47 submissionType attribute 48 symRefs attribute 48 tocDepth attribute 48 tocInclude attribute 48 updates attribute 49 role attribute in author element 17 rowspan attribute in td element 63 in th element 65 Hoffman Expires September 5, 2015 [Page 139] Internet-Draft XML2RFCv3 March 2015 S section attribute in xref element 71 section element 49, 91 anchor attribute 50 inside back 19 inside boilerplate 21 inside middle 36 inside section 50 numbered attribute 50 pn attribute 50 removeInRFC attribute 50 title attribute 50 toc attribute 51 sectionFormat attribute in xref element 71 seriesInfo element 51, 91 asciiname attribute 51 asciivalue attribute 52 inside front 32 inside reference 43 name attribute 52 value attribute 52 seriesNo attribute in rfc element 47 slugifiedName attribute in name element 37 sortRefs attribute in rfc element 47 source attribute in cref element 23 sourcecode element 53, 91 anchor attribute 54 inside blockquote 20 inside figure 30 inside li 35 inside section 49 inside td 62 inside th 64 name attribute 54 pn attribute 54 src attribute 54 type attribute 54 spacing attribute in dl element 26 in ol element 38 in ul element 68 spanx element 75, 91 Hoffman Expires September 5, 2015 [Page 140] Internet-Draft XML2RFCv3 March 2015 inside annotation 12 inside c 72 inside postamble 74 inside preamble 75 inside t 59 style attribute 75 xml:space attribute 76 src attribute in artwork element 14 in figure element 31 in sourcecode element 54 start attribute in ol element 39 street element 55, 91 ascii attribute 55 inside postal 41 strong element 55, 91 inside annotation 12 inside blockquote 20 inside c 72 inside cref 22 inside dd 25 inside dt 27 inside em 28 inside i 33 inside li 35 inside postamble 74 inside preamble 75 inside refcontent 42 inside sub 57 inside sup 58 inside t 59 inside td 62 inside th 64 inside tt 67 style attribute in list element 73 in ol element 39 in spanx element 75 in texttable element 77 sub element 56, 91 inside annotation 12 inside b 18 inside blockquote 20 inside c 72 inside cref 22 inside dd 25 inside dt 27 Hoffman Expires September 5, 2015 [Page 141] Internet-Draft XML2RFCv3 March 2015 inside em 28 inside i 33 inside li 35 inside postamble 74 inside preamble 75 inside refcontent 42 inside strong 56 inside t 59 inside td 62 inside th 64 inside tt 67 subitem attribute in iref element 34 submissionType attribute in rfc element 48 sup element 57, 91 inside annotation 12 inside b 18 inside blockquote 20 inside c 72 inside cref 22 inside dd 25 inside dt 27 inside em 28 inside i 33 inside li 35 inside postamble 74 inside preamble 75 inside refcontent 42 inside strong 56 inside t 59 inside td 62 inside th 64 inside tt 67 suppress-title attribute in figure element 31 in texttable element 77 surname attribute in author element 17 symRefs attribute in rfc element 48 T t element 58, 91 anchor attribute 59 hangText attribute 59 inside abstract 10 inside aside 16 Hoffman Expires September 5, 2015 [Page 142] Internet-Draft XML2RFCv3 March 2015 inside blockquote 20 inside dd 24 inside li 34 inside list 73 inside note 37 inside section 49 inside td 61 inside th 63 keepwithnext attribute 59 keepwithprevious attribute 60 pn attribute 60 table element 60, 91 anchor attribute 61 inside aside 16 inside section 50 pn attribute 61 target attribute in displayreference element 25 in eref element 29 in format element 73 in reference element 43 in xref element 71 tbody element 61, 91 inside table 61 td element 61, 91 align attribute 62 border attribute 63 colspan attribute 63 inside tr 66 rowspan attribute 63 texttable element 76, 91 align attribute 76 anchor attribute 76 inside section 50 style attribute 77 suppress-title attribute 77 title attribute 77 tfoot element 63, 91 inside table 61 th element 63, 91 align attribute 64 border attribute 65 colspan attribute 65 inside tr 66 rowspan attribute 65 thead element 65, 91 inside table 60 title attribute Hoffman Expires September 5, 2015 [Page 143] Internet-Draft XML2RFCv3 March 2015 in figure element 31 in note element 38 in references element 45 in section element 50 in texttable element 77 title element 65, 91 abbrev attribute 66 ascii attribute 66 inside front 32 to attribute in displayreference element 26 toc attribute in section element 51 tocDepth attribute in rfc element 48 tocInclude attribute in rfc element 48 tr element 66, 91 border attribute 66 inside tbody 61 inside tfoot 63 inside thead 65 tt element 66, 91 inside annotation 12 inside b 18 inside blockquote 20 inside c 72 inside cref 22 inside dd 25 inside dt 27 inside em 28 inside i 33 inside li 35 inside name 37 inside postamble 74 inside preamble 75 inside refcontent 42 inside strong 56 inside sub 57 inside sup 58 inside t 59 inside td 62 inside th 64 ttcol element 77, 91 align attribute 77 inside texttable 76 width attribute 78 type attribute Hoffman Expires September 5, 2015 [Page 144] Internet-Draft XML2RFCv3 March 2015 in artwork element 15 in format element 73 in sourcecode element 54 U ul element 67, 91 empty attribute 67 inside aside 16 inside section 50 inside td 62 inside th 64 spacing attribute 68 updates attribute in rfc element 49 uri element 68, 91 inside address 11 V value attribute in seriesInfo element 52 vspace element 78, 91 blankLines attribute 78 inside t 59 W width attribute in artwork element 15 in figure element 31 in ttcol element 78 workgroup element 68, 91 inside front 32 X xml:space attribute in artwork element 15 in spanx element 76 xref element 68, 91 format attribute 69 inside annotation 12 inside b 18 inside c 72 inside cref 22 inside dd 25 inside dt 27 inside em 28 inside i 33 inside li 35 inside name 37 Hoffman Expires September 5, 2015 [Page 145] Internet-Draft XML2RFCv3 March 2015 inside postamble 74 inside preamble 75 inside strong 56 inside sub 57 inside sup 58 inside t 59 inside td 62 inside th 64 inside tt 67 inside ttcol 77 pageno attribute 70 relative attribute 70 section attribute 71 sectionFormat attribute 71 target attribute 71 xref formats counter 69 default 69 none 70 title 70 Y year attribute in date element 24 Author's Address Paul Hoffman VPN Consortium EMail: paul.hoffman@vpnc.org Hoffman Expires September 5, 2015 [Page 146]