asciidoctor-rfc 0.8.0 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.hound.yml +3 -0
  3. data/.rubocop.ribose.yml +65 -0
  4. data/.rubocop.tb.yml +640 -0
  5. data/.rubocop.yml +13 -30
  6. data/.travis.yml +8 -3
  7. data/CODE_OF_CONDUCT.md +46 -0
  8. data/Gemfile +8 -1
  9. data/LICENSE +21 -17
  10. data/README.adoc +471 -52
  11. data/asciidoctor-rfc.gemspec +14 -13
  12. data/lib/asciidoctor-rfc.rb +4 -4
  13. data/lib/asciidoctor/rfc/common/base.rb +304 -58
  14. data/lib/asciidoctor/rfc/common/front.rb +3 -3
  15. data/lib/asciidoctor/rfc/v2/base.rb +71 -82
  16. data/lib/asciidoctor/rfc/v2/blocks.rb +33 -10
  17. data/lib/asciidoctor/rfc/v2/converter.rb +0 -3
  18. data/lib/asciidoctor/rfc/v2/inline_anchor.rb +35 -20
  19. data/lib/asciidoctor/rfc/v2/lists.rb +11 -13
  20. data/lib/asciidoctor/rfc/v2/table.rb +11 -9
  21. data/lib/asciidoctor/rfc/v2/validate.rb +18 -724
  22. data/lib/asciidoctor/rfc/v3/base.rb +75 -102
  23. data/lib/asciidoctor/rfc/v3/blocks.rb +7 -9
  24. data/lib/asciidoctor/rfc/v3/converter.rb +0 -1
  25. data/lib/asciidoctor/rfc/v3/front.rb +14 -7
  26. data/lib/asciidoctor/rfc/v3/inline_anchor.rb +12 -9
  27. data/lib/asciidoctor/rfc/v3/lists.rb +31 -45
  28. data/lib/asciidoctor/rfc/v3/table.rb +2 -2
  29. data/lib/asciidoctor/rfc/v3/validate.rb +19 -2153
  30. data/lib/asciidoctor/rfc/v3/validate.rng +1 -1
  31. data/lib/asciidoctor/rfc/version.rb +1 -1
  32. data/rfc2629-other.ent +61 -0
  33. data/rfc2629-xhtml.ent +165 -0
  34. data/rfc2629.dtd +312 -0
  35. data/spec/asciidoctor/rfc/v2/biblio_spec.rb +9 -0
  36. data/spec/asciidoctor/rfc/v2/comments_spec.rb +67 -1
  37. data/spec/asciidoctor/rfc/v2/crossref_spec.rb +127 -5
  38. data/spec/asciidoctor/rfc/v2/date_spec.rb +24 -28
  39. data/spec/asciidoctor/rfc/v2/dlist_spec.rb +5 -5
  40. data/spec/asciidoctor/rfc/v2/image_spec.rb +2 -2
  41. data/spec/asciidoctor/rfc/v2/inline_formatting_spec.rb +28 -0
  42. data/spec/asciidoctor/rfc/v2/listing_spec.rb +2 -2
  43. data/spec/asciidoctor/rfc/v2/literal_spec.rb +4 -4
  44. data/spec/asciidoctor/rfc/v2/preamble_spec.rb +1 -1
  45. data/spec/asciidoctor/rfc/v2/quote_spec.rb +1 -1
  46. data/spec/asciidoctor/rfc/v2/references_spec.rb +210 -3
  47. data/spec/asciidoctor/rfc/v2/section_spec.rb +33 -0
  48. data/spec/asciidoctor/rfc/v2/table_spec.rb +40 -1
  49. data/spec/asciidoctor/rfc/v2/text_spec.rb +71 -14
  50. data/spec/asciidoctor/rfc/v2/ulist_spec.rb +1 -1
  51. data/spec/asciidoctor/rfc/v3/biblio_spec.rb +13 -0
  52. data/spec/asciidoctor/rfc/v3/comments_spec.rb +71 -0
  53. data/spec/asciidoctor/rfc/v3/crossref_spec.rb +7 -0
  54. data/spec/asciidoctor/rfc/v3/dlist_spec.rb +4 -4
  55. data/spec/asciidoctor/rfc/v3/literal_spec.rb +1 -1
  56. data/spec/asciidoctor/rfc/v3/preamble_spec.rb +1 -1
  57. data/spec/asciidoctor/rfc/v3/references_spec.rb +208 -3
  58. data/spec/asciidoctor/rfc/v3/series_info_spec.rb +1 -1
  59. data/spec/asciidoctor/rfc/v3/table_spec.rb +70 -1
  60. data/spec/examples/README.adoc +42 -6
  61. data/spec/examples/biblio-insert-v2.adoc +29 -0
  62. data/spec/examples/biblio-insert-v3.adoc +30 -0
  63. data/spec/examples/davies-template-bare-06.adoc +1 -0
  64. data/spec/examples/draft-iab-html-rfc-bis.xml.adoc +2300 -0
  65. data/spec/examples/draft-iab-html-rfc-bis.xml.orig +1999 -0
  66. data/spec/examples/draft-iab-html-rfc-bis.xml.txt +2298 -0
  67. data/spec/examples/draft-iab-rfc-framework-bis.xml.adoc +662 -0
  68. data/spec/examples/draft-iab-rfc-framework-bis.xml.orig +476 -0
  69. data/spec/examples/draft-ietf-core-block-xx.mkd.adoc +8 -33
  70. data/spec/examples/hoffmanv2.xml.adoc +4 -0
  71. data/spec/examples/mib-doc-template-xml-06.adoc +6 -8
  72. data/spec/examples/refs-v2-database.xml +86 -0
  73. data/spec/examples/refs-v2.adoc +49 -0
  74. data/spec/examples/refs-v2.xml +50 -0
  75. data/spec/examples/refs-v2/AsciiDoc.xml +8 -0
  76. data/spec/examples/refs-v2/AsciiMathML.xml +8 -0
  77. data/spec/examples/refs-v2/IETF-BibXML.xml +9 -0
  78. data/spec/examples/refs-v2/MathJax.xml +8 -0
  79. data/spec/examples/refs-v2/NroffEdit.xml +8 -0
  80. data/spec/examples/refs-v2/TeX-LaTeX.xml +8 -0
  81. data/spec/examples/refs-v2/abarth +17 -0
  82. data/spec/examples/refs-v2/asciidoctor-bibliography.xml +19 -0
  83. data/spec/examples/refs-v2/asciidoctor-manual.xml +11 -0
  84. data/spec/examples/refs-v2/asciidoctor-rfc.xml +18 -0
  85. data/spec/examples/refs-v2/asciidoctor.xml +10 -0
  86. data/spec/examples/refs-v2/draftr.xml +8 -0
  87. data/spec/examples/refs-v2/kramdown-rfc2629.xml +8 -0
  88. data/spec/examples/refs-v2/lyx2rfc.xml +8 -0
  89. data/spec/examples/refs-v2/mmark.xml +9 -0
  90. data/spec/examples/refs-v2/pandoc2rfc.xml +8 -0
  91. data/spec/examples/refs-v2/reference.RFC.2119.xml +7 -0
  92. data/spec/examples/refs-v2/reference.RFC.5385.xml +7 -0
  93. data/spec/examples/refs-v2/reference.RFC.7328.xml +7 -0
  94. data/spec/examples/refs-v2/reference.RFC.7749.xml +7 -0
  95. data/spec/examples/refs-v2/reference.RFC.7763.xml +7 -0
  96. data/spec/examples/refs-v2/reference.RFC.7764.xml +7 -0
  97. data/spec/examples/refs-v2/reference.RFC.7990.xml +7 -0
  98. data/spec/examples/refs-v2/reference.RFC.7991.xml +7 -0
  99. data/spec/examples/refs-v3-database.xml +137 -0
  100. data/spec/examples/refs-v3.adoc +57 -0
  101. data/spec/examples/refs-v3.xml +90 -0
  102. data/spec/examples/refs-v3/AsciiDoc.xml +8 -0
  103. data/spec/examples/refs-v3/AsciiMathML.xml +8 -0
  104. data/spec/examples/refs-v3/IETF-BibXML.xml +9 -0
  105. data/spec/examples/refs-v3/MathJax.xml +8 -0
  106. data/spec/examples/refs-v3/NroffEdit.xml +8 -0
  107. data/spec/examples/refs-v3/TeX-LaTeX.xml +8 -0
  108. data/spec/examples/refs-v3/abarth +17 -0
  109. data/spec/examples/refs-v3/asciidoctor-bibliography.xml +19 -0
  110. data/spec/examples/refs-v3/asciidoctor-manual.xml +11 -0
  111. data/spec/examples/refs-v3/asciidoctor-rfc.xml +18 -0
  112. data/spec/examples/refs-v3/asciidoctor.xml +10 -0
  113. data/spec/examples/refs-v3/draftr.xml +8 -0
  114. data/spec/examples/refs-v3/kramdown-rfc2629.xml +8 -0
  115. data/spec/examples/refs-v3/lyx2rfc.xml +8 -0
  116. data/spec/examples/refs-v3/mathrefs.xml +19 -0
  117. data/spec/examples/refs-v3/mmark.xml +9 -0
  118. data/spec/examples/refs-v3/pandoc2rfc.xml +8 -0
  119. data/spec/examples/refs-v3/reference.RFC.2119.xml +7 -0
  120. data/spec/examples/refs-v3/reference.RFC.5385.xml +7 -0
  121. data/spec/examples/refs-v3/reference.RFC.7328.xml +7 -0
  122. data/spec/examples/refs-v3/reference.RFC.7749.xml +7 -0
  123. data/spec/examples/refs-v3/reference.RFC.7763.xml +7 -0
  124. data/spec/examples/refs-v3/reference.RFC.7764.xml +7 -0
  125. data/spec/examples/refs-v3/reference.RFC.7990.xml +7 -0
  126. data/spec/examples/refs-v3/reference.RFC.7991.xml +7 -0
  127. data/spec/examples/rfc2100.md.adoc +57 -44
  128. data/spec/examples/rfc3514.md.adoc +1 -1
  129. data/spec/examples/rfc6350.adoc +701 -695
  130. data/spec/examples/rfc6350.txt.orig +3372 -0
  131. data/spec/examples/rfc6350_refs.xml +774 -0
  132. data/spec/examples/rfc748.md.adoc +1 -1
  133. data/spec/examples/rfc7511.md.adoc +3 -3
  134. data/spec/examples/skel.mkd.adoc +1 -0
  135. data/spec/examples/stupid-s.mkd.adoc +4 -4
  136. metadata +94 -8
  137. data/spec/examples/rfc6350.bib +0 -763
@@ -38,7 +38,10 @@ output as `eref`, and in the xml2rfc output as angle brackets.
38
38
  --
39
39
 
40
40
  == RFC XML v2
41
- https://www.ietf.org/archive/id/draft-hoffman-rfcexamples-04.txt
41
+ * https://www.ietf.org/archive/id/draft-hoffman-rfcexamples-04.txt
42
+ * https://github.com/rfc-format:
43
+ ** https://github.com/rfc-format/draft-iab-rfc-framework-bis
44
+ ** https://github.com/rfc-format/draft-iab-html-rfc-bis
42
45
 
43
46
  * `hoffmanv2.xml.orig`
44
47
 
@@ -52,11 +55,44 @@ and xml2rfc output from XML generated from our asciidoc should be noted:
52
55
  `hoffmanv2.xml.adoc`::
53
56
  +
54
57
  --
55
- * The source xml has set the `subcompact` document directive; the directive cannot be set
56
- from Asciidoc.
57
58
  * Table preambles and postambles are not supported in Asciidoc.
58
59
  --
59
60
 
61
+ `https://github.com/rfc-format/draft-iab-html-rfc-bis.xml.adoc`::
62
+ +
63
+ --
64
+ * Asciidoc does not permit anchors with dots (e.g. `element.postalLine`)
65
+ * Original uses `section@numbered="no"`; that attribute is supported by xml2rfc v2,
66
+ but not by RFC XML v2 itself.
67
+ * Original applies subcompact processing instruction to a single list;
68
+ restricted processing instructions are not supported by the gem.
69
+
70
+ * Note that the references in XML need to be well-formed. In the absence of closing tags,
71
+ the gem may switch tag case to lower case, assuming it is dealing with HTML; for example
72
+
73
+ ````
74
+ <abstract>
75
+ <t>This document describes some aspects of the "prep tool" that is expected to be created when the new RFC v3 specification is deployed.</abstract>
76
+
77
+ </front>
78
+
79
+ <seriesInfo name='RFC' value='7998' />
80
+ ````
81
+
82
+ is output as
83
+
84
+ ````
85
+ <abstract>
86
+ <t>This document describes some aspects of the "prep tool" that is expected to be created when the new RFC v3 specification is deployed.</abstract>
87
+
88
+ </front>
89
+
90
+ <seriesinfo name='RFC' value='7998' />
91
+ ````
92
+
93
+ where the absence of a closing `t` tag results in `seriesInfo` being lowercased as an HTML tag. (!)
94
+ --
95
+
60
96
  == MMark
61
97
  https://github.com/miekg/mmark/tree/master/rfc
62
98
 
@@ -108,10 +144,10 @@ and definitions (`<vspace blankLines="1"/>`).
108
144
  --
109
145
  * The MMark has specified an external reference to a specific section by giving the section
110
146
  number in text: `Section 4.2 of RFC 2460 [@!RFC2460]`, rendered as
111
- `Section 4.2 of RFC 2460 <xref target="RFC2460"/>`. The asciidoc takes advantage of
147
+ `Section 4.2 of <xref target="RFC2460"/>`. The asciidoc takes advantage of
112
148
  the `relref` construction of external section references, even though `relref` is a v3
113
149
  RFC XML feature: `<<RFC2460,4.2 of>>`, which is rendered in v2 RFC XML as
114
- `<xref target="RFC2460">Section 4.2 of [RFC2460]</xref>`.
150
+ `Section 4.2 of <xref target="RFC2460"/>`.
115
151
  --
116
152
 
117
153
  == Kramdown
@@ -142,7 +178,7 @@ cross-reference, which takes up one more space for the same reference text.
142
178
  since the term delimiter itself involves colons:
143
179
  `SZX: :: `
144
180
  * Note that `**` needs to be escape in Asciidoc as `\\**`, in order not to be misinterpreted
145
- as formatting. On occasionl, the escaping is ignored, and the exponentiation operator
181
+ as formatting. On occasion, the escaping is ignored, and the exponentiation operator
146
182
  has had to be entered as `&#42;&#42;`.
147
183
  --
148
184
 
@@ -0,0 +1,29 @@
1
+ = The Holy Hand Grenade of Antioch
2
+ Arthur Pendragon
3
+ :doctype: internet-draft
4
+ :workgroup: silly
5
+ :normative: RFC2119, AsciiDoc
6
+ :biblio-insert: true
7
+ :biblio-dir: refs-v2
8
+
9
+ [[xyz]]
10
+ == Hello
11
+ Hello
12
+
13
+ * a <<RFC2119,2.3 of: See internet draft subsection>>
14
+ * b <<I-D.abarth-cake>>
15
+ * c <<xyz,format=counter: xyzzy>>
16
+ * d <<biblio>>
17
+ * e <<AsciiDoc,AsciiDoctor>>
18
+
19
+
20
+ [[biblio]]
21
+ === Biblio
22
+ See biblio
23
+
24
+ [bibliography]
25
+ == Normative References
26
+
27
+ [bibliography]
28
+ == Informative References
29
+
@@ -0,0 +1,30 @@
1
+ = The Holy Hand Grenade of Antioch
2
+ Arthur Pendragon
3
+ :doctype: internet-draft
4
+ :workgroup: silly
5
+ :normative: RFC2119, AsciiDoc
6
+ :biblio-insert: true
7
+ :biblio-dir: refs-v3
8
+
9
+ [[xyz]]
10
+ == Hello
11
+ Hello
12
+
13
+ * a <<RFC2119,2.3 of: See internet draft subsection>>
14
+ * b <<I-D.abarth-cake>>
15
+ * c <<xyz,format=counter: xyzzy>>
16
+ * d <<biblio>>
17
+ * e <<AsciiDoc,AsciiDoctor>>
18
+ * f <<mathrefs>>
19
+
20
+
21
+ [[biblio]]
22
+ === Biblio
23
+ See biblio
24
+
25
+ [bibliography]
26
+ == Normative References
27
+
28
+ [bibliography]
29
+ == Informative References
30
+
@@ -21,6 +21,7 @@ Elwyn Davies <elwynd@dial.pipex.com>
21
21
  :inline-definition-lists: true
22
22
  :compact: yes
23
23
  :subcompact: no
24
+ :rfc2629xslt: true
24
25
 
25
26
  [abstract]
26
27
  Insert an abstract: MANDATORY. This template is for creating an
@@ -0,0 +1,2300 @@
1
+ = HTML Format for RFCs
2
+ Joe Hildebrand <joe-ietf@cursive.net>; Paul Hoffman <paul.hoffman@icann.org>
3
+ :rfc2629xslt: true
4
+ :toc-include: yes
5
+ :toc-depth: 4
6
+ :sort-refs: yes
7
+ :sym-refs: yes
8
+ :compact: yes
9
+ :subcompact: no
10
+ :consensus: yes
11
+ :ipr: trust200902
12
+ :doctype: rfc
13
+ :submission-type: IAB
14
+ :name: 7992
15
+ :status: informational
16
+ :abbrev: HTML for RFCs
17
+ :forename_initials: J.
18
+ :role: editor
19
+ :organization: Mozilla
20
+ :forename_initials_2: P.
21
+ :organization_2: ICANN
22
+ :revdate: 2016-12
23
+ :keyword: html,css,rfc
24
+
25
+ In order to meet the evolving needs of the Internet community, the
26
+ canonical format for RFCs is changing from a plain-text, ASCII-only format to an
27
+ XML format that will, in turn, be rendered into several
28
+ publication formats. This document defines the HTML format that will
29
+ be rendered for an RFC or Internet-Draft.
30
+
31
+ [#introduction]
32
+ == Introduction
33
+
34
+ As described in <<RFC7990>>, the RFC
35
+ Series is changing. One of those changes includes the RFC Editor
36
+ publishing a non-canonical HTML version of RFCs.
37
+
38
+ This document describes the HTML format that will be used as one of the
39
+ publication formats for the RFC Series. It defines a strict subset of
40
+ HTML appropriate for RFC Series documents. The visual layout of the
41
+ document will be defined through a cascading style sheet (CSS)
42
+ <<W3C.REC-CSS2-20110607>>. The CSS will be included in the
43
+ HTML file but will be described in <<RFC7993>>.
44
+
45
+ The details (particularly any vocabularies) described in this document
46
+ are expected to change based on experience gained in implementing the
47
+ the new publication toolsets. Revised documents will be published
48
+ capturing those changes as the toolsets are completed. Other implementers
49
+ must not expect those changes to remain backwards compatible with the
50
+ details described in this document.
51
+
52
+ [#requirements-for-html]
53
+ == Requirements for the HTML Format
54
+
55
+ This section lists the design requirements used to create the HTML
56
+ format described in this document. These requirements build on those
57
+ found in <<RFC6949>>. Many of these requirements are
58
+ naturally fulfilled by using the output of the preparation tool
59
+ <<RFC7998>>.
60
+
61
+
62
+ * The HTML has to render correctly on a list of browser versions that
63
+ the RFC Editor will keep up to date outside of this document.
64
+ * The format will consist of a subset of HTML deemed to be widely
65
+ implemented by common browsers at the time the specification is
66
+ created, likely to continue to be widely implemented, and unlikely to
67
+ cause security issues. This will maximize the chances that future HTML
68
+ renderers (such as new web browsers) will continue to produce readable
69
+ text from the HTML format without the format needing to be changed
70
+ frequently.
71
+ * These requirements are expected to change in the future to reflect the
72
+ expectation that HTML rendering will be required for current versions of
73
+ browsers and platforms, while ideally continuing to render correctly on
74
+ recent versions of those browsers.
75
+ * The HTML documents from the RFC Editor or Internet-Drafts directory
76
+ may be re-rendered from the canonical XML format in
77
+ the future to ensure the ongoing readability of the documents. The
78
+ intent is that any re-rendering would be due to exceptional
79
+ circumstances rather than for minor annoyances.
80
+ * The HTML must display adequately in at least one text-based browser.
81
+ Some consumers of the RFC Series can only access the documents on
82
+ text-based terminals.
83
+ * The HTML document will be self-contained, without requiring external
84
+ files for images, CSS, JavaScript, or the like. This will allow
85
+ the HTML file to be moved over various non-HTTP transports (such as
86
+ email, FTP, and rsync) without breakage.
87
+ * JavaScript will be supported on a limited basis. It will not be
88
+ permitted to overwrite or change any text present in the rendered HTML.
89
+ It may, on a limited basis, add additional text that provides
90
+ post-publication metadata or pointers if warranted. All such text will
91
+ be clearly marked as additional.
92
+ * The HTML document will allow easy local override of the default CSS
93
+ formatting. This will allow users who have a different visual style
94
+ that they prefer to make RFCs display with that style without having to
95
+ alter the contents of the HTML document. This might also be valuable
96
+ for allowing people with specific accessibility needs to use a
97
+ customized CSS.
98
+ * HTML tags in documents will rarely have attributes whose only purpose
99
+ is to affect the rendered styling, and those will only be used if it
100
+ would not be possible to specify that styling in a CSS. No such attributes are known at this time.
101
+ * Both user-defined and auto-generated anchors must be supported and
102
+ linkable, with user-defined anchors appearing in an "id" attribute.
103
+ Auto-generated anchors will be generated for every heading, paragraph,
104
+ and so on, not just those that do not have user-defined anchors.
105
+ User-defined anchors may, and auto-generated anchors will, appear next to
106
+ paragraphs, figures, tables, blockquotes, and section titles.
107
+ * All sections, subsections, figures, and paragraphs should have stable
108
+ numbered link anchors. Additionally, anchors expressed in the source
109
+ XML should be exposed as anchors in the HTML output as well.
110
+ * The HTML must make it easy to separate sections along with all of their
111
+ subsections into separate files. This will make creating EPUB
112
+ documents easier in the future.
113
+ * The HTML produced for Internet-Drafts will differ from that produced
114
+ by the RFC Editor due to differences in the output from the prep tool.
115
+ * The abstract must be marked up or tagged in a way that popular search
116
+ engines will extract it as a summary.
117
+
118
+ [#accessibility]
119
+ === Requirements for Accessibility
120
+
121
+
122
+ * Normative information must be easily accessible to the following
123
+ consumers:
124
+ ** People with impaired vision, including those that use large fonts
125
+ and those that use screen readers
126
+ ** People with difficulty distinguishing between colors
127
+ ** People who use devices with small screens, such as cell phones
128
+ * Specific instances where goals for accessibility are important in the
129
+ design choices of the format have been called out in the text.
130
+ * Note: designing for these consumers does not preclude the use of
131
+ features they cannot use, but it does require that key semantic data not
132
+ be lost when read using the tools and settings that are required by a given
133
+ constituency.
134
+
135
+
136
+ [#html5]
137
+ == HTML Version
138
+
139
+ The RFC Editor will periodically determine which version of the
140
+ HTML specification will be referenced for tools generating the
141
+ format defined in this document. The starting version will be that
142
+ defined in <<W3C.REC-html5-20141028>>, commonly known as
143
+ "HTML5". Although the HTML specification mandates several of the syntax
144
+ and structure rules described in this document, they are called out here
145
+ for emphasis.
146
+
147
+ [#syntax]
148
+ == HTML Syntax
149
+
150
+ The processor emitting HTML from the XML source will follow these
151
+ rules:
152
+
153
+ * The HTML output is encoded as UTF-8, as specified in
154
+ <<RFC3629>>.
155
+ * The document is valid HTML.
156
+ * Double quotes (U+0022 QUOTATION MARK: ") are used to quote attribute
157
+ values unless the HTML specification forbids quoting a particular
158
+ attribute.
159
+ * Each logical line is terminated solely with a \n (U+000A: LINE
160
+ FEED), otherwise known as "Unix-style" line endings.
161
+ * Code points below (U+0020: SPACE) or character entity references
162
+ that generate them (e.g. &amp;#9;), other than (U+000A: LINE FEED)
163
+ may not be used. Note: this rule explicitly forbids \t (U+0009:
164
+ CHARACTER TABULATION), \f (U+000C: FORM FEED), and \r (U+000D:
165
+ CARRIAGE RETURN) from appearing in the HTML output.
166
+ * Comments in the source XML, if any, will not be copied into
167
+ the HTML.
168
+ * The HTML output will be pretty-printed, using whatever
169
+ consistent rules are deemed best by the developers of the HTML
170
+ production tools.
171
+
172
+
173
+ Note: none of these rules affect the rendered output of the HTML, but they
174
+ are intended to increase the chance that text comparison tools
175
+ (e.g., "diff") that operate on the HTML output are easier to write.
176
+
177
+ [#common]
178
+ == Common Items
179
+
180
+ This section lists items that are common across multiple parts of the HTML
181
+ document.
182
+
183
+ [#ids]
184
+ === IDs
185
+
186
+ HTML elements that are generated from XML elements that include
187
+ an "anchor" attribute will use the value of the "anchor" attribute
188
+ as the value of the "id" attribute of the corresponding HTML element.
189
+ The prep tool produces XML with "anchor" attributes in all elements that need them.
190
+ Some HTML constructs (such as
191
+ &lt;section&gt;) will use
192
+ multiple instances of these identifiers.
193
+
194
+ [#pilcrows]
195
+ === Pilcrows
196
+
197
+ Each paragraph, artwork, or sourcecode segment outside of a
198
+ &lt;figure&gt; or &lt;table&gt; element will be appended with a
199
+ space and a "pilcrow" (U+00B6: PILCROW SIGN), otherwise known as a
200
+ "paragraph sign". For the purposes of clarity in ASCII renderings
201
+ of this document, in this document pilcrows are rendered as
202
+ "&amp;para;". The pilcrow will be linked to the "id" attribute on the
203
+ XML entity to which it is associated using an &lt;a&gt; element of
204
+ class "pilcrow". For example:
205
+
206
+ ....
207
+ <p id="s-1.1-1">
208
+ Some paragraph text. <a class="pilcrow" href="#s-1.1-1">&para;</a>
209
+ </p>
210
+ ....
211
+
212
+ The pilcrow will normally be invisible unless the element it is
213
+ attached to is moused over. The pilcrow will be surrounded by a
214
+ link that points to the element it is attached to.
215
+
216
+ Pilcrows are never included inside a &lt;table&gt; or
217
+ &lt;figure&gt; element, since the figure number or table number
218
+ serves as an adequate link target.
219
+
220
+ Elements that might otherwise contain a pilcrow do not get marked
221
+ with a pilcrow if they contain one or more child elements that are
222
+ marked with a pilcrow. For example:
223
+
224
+ ....
225
+ <blockquote id="s-1.2-1">
226
+ <p id="s-1.2-2">Four score and seven years ago our fathers brought
227
+ forth on this continent, a new nation, conceived in Liberty, and
228
+ dedicated to the proposition that all men are created equal.
229
+ <a href="#s-1.2-2" class="pilcrow">&para;</a></p>
230
+ <!-- NO pilcrow here -->
231
+ </blockquote>
232
+ ....
233
+
234
+ [#front-matter]
235
+ == Front Matter
236
+
237
+ The front matter of the HTML format contains processing information,
238
+ metadata of various types, and styling information that applies to the
239
+ document as a whole. This section describes HTML that is not
240
+ necessarily a direct transform from the XML format. For more details
241
+ on each of the tags that generate content in this section,
242
+ see <<elements>>.
243
+
244
+ [#doctype]
245
+ === DOCTYPE
246
+
247
+ The DOCTYPE of the document is "html", which declares that the
248
+ document is compliant with HTML5. The document will start with
249
+ exactly this string:
250
+
251
+ ....
252
+ <!DOCTYPE html>
253
+ ....
254
+
255
+ [#root-element]
256
+ === Root Element
257
+
258
+ The root element of the document is &lt;html&gt;. This element
259
+ includes a &quot;lang&quot; attribute, whose value is a language tag, as discussed in <<RFC5646>>,
260
+ that describes the natural language of the document. The
261
+ language tag to be included is "en". The class of the &lt;html&gt;
262
+ element will be copied verbatim from the XML &lt;rfc&gt; element's
263
+ &lt;front&gt; element's &lt;seriesInfo&gt; element's "name"
264
+ attributes (separated by spaces; see Section 2.47.3 of <<RFC7991>>), allowing CSS to style RFCs and
265
+ Internet-Drafts differently from one another (if needed):
266
+
267
+ ....
268
+ <html lang="en" class="RFC">
269
+ ....
270
+
271
+ [#head-element]
272
+ === &lt;head&gt; Element
273
+
274
+ The root &lt;html&gt; will contain a &lt;head&gt; element that
275
+ contains the following elements, as needed.
276
+
277
+ [#charset-declaration]
278
+ ==== Charset Declaration
279
+
280
+ In order to be correctly processed by browsers that load the HTML
281
+ using a mechanism that does not provide a valid content-type
282
+ or charset (such as from a local file system using a "file:" URL),
283
+ the HTML &lt;head&gt; element contains a &lt;meta&gt; element,
284
+ whose &quot;charset&quot; attribute value is "utf-8":
285
+
286
+ ....
287
+ <meta charset="utf-8">
288
+ ....
289
+
290
+ [#head-title]
291
+ ==== Document Title
292
+
293
+ The contents of the &lt;title&gt; element from the XML source
294
+ will be placed inside an HTML &lt;title&gt; element in the
295
+ header.
296
+
297
+ [#meta]
298
+ ==== Document Metadata
299
+
300
+ The following &lt;meta&gt; elements will be included:
301
+
302
+ * author - one each for the each of the "fullname"s and "asciiFullname"s of
303
+ all of the &lt;author&gt;s from the &lt;front&gt; of the XML
304
+ source
305
+ * description - the &lt;abstract&gt; from the XML source
306
+ * generator - the name and version number of the software used
307
+ to create the HTML
308
+ * keywords - comma-separated &lt;keyword&gt;s from the XML
309
+ source
310
+
311
+ For example:
312
+
313
+ ....
314
+ <meta name="author" content="Joe Hildebrand">
315
+ <meta name="author" content="JOE HILDEBRAND">
316
+ <meta name="author" content="Heather Flanagan">
317
+ <meta name="description" content="This document defines...">
318
+ <meta name="generator" content="xmljade v0.2.4">
319
+ <meta name="keywords" content="html,css,rfc">
320
+ ....
321
+
322
+ Note: the HTML &lt;meta&gt; tag does not contain a closing
323
+ slash.
324
+
325
+ [#xmlsource]
326
+ ==== Link to XML Source
327
+
328
+ The &lt;head&gt; element contains a &lt;link&gt; tag, with "rel"
329
+ attribute of "alternate", "type" attribute of "application/rfc+xml",
330
+ and "href" attribute pointing to the prepared XML source that was
331
+ used to generate this document.
332
+
333
+ ....
334
+ <link rel="alternate" type="application/rfc+xml" href="source.xml">
335
+ ....
336
+
337
+ [#license]
338
+ ==== Link to License
339
+
340
+ The &lt;head&gt; element contains a &lt;link&gt; tag, with "rel"
341
+ attribute of "license" and "href" attribute pointing to the an
342
+ appropriate copyright license for the document.
343
+
344
+ ....
345
+ <link rel="license"
346
+ href="https://trustee.ietf.org/trust-legal-provisions.html">
347
+ ....
348
+
349
+ [#style]
350
+ ==== Style
351
+
352
+ The &lt;head&gt; element contains an embedded CSS in a
353
+ &lt;style&gt; element. The styles in the style sheet are to be set
354
+ consistently between documents by the RFC Editor, according to the
355
+ best practices of the day.
356
+
357
+ To ensure consistent formatting, individual style attributes should
358
+ not be used in the main portion of the document.
359
+
360
+ Different readers of a specification will desire different
361
+ formatting when reading the HTML versions of RFCs. To facilitate
362
+ this, the &lt;head&gt; element also includes a &lt;link&gt; to a
363
+ style sheet in the same directory as the HTML file, named
364
+ "rfc-local.css". Any formatting in the linked style sheet will
365
+ override the formatting in the included style sheet. For example:
366
+
367
+ ....
368
+ <style>
369
+ body {}
370
+ ...
371
+ </style>
372
+ <link rel="stylesheet" type="text/css" href="rfc-local.css">
373
+ ....
374
+
375
+ [#links]
376
+ ==== Links
377
+
378
+ Each &lt;link&gt; element from the XML source is copied into
379
+ the HTML header. Note: the HTML &lt;link&gt; element does not
380
+ include a closing slash.
381
+
382
+ [#page-headers-footers]
383
+ === Page Headers and Footers
384
+
385
+ In order to simplify printing by HTML renderers that implement
386
+ <<W3C.WD-css3-page-20130314>>, a hidden HTML
387
+ &lt;table&gt; tag of class "ears" is added at the beginning of the HTML &lt;body&gt;
388
+ tag, containing HTML &lt;thead&gt; and &lt;tfoot&gt; tags, each of
389
+ which contains an HTML &lt;tr&gt; tag, which contains three HTML
390
+ &lt;td&gt; tags with class "left", "center", and "right",
391
+ respectively.
392
+
393
+ The &lt;thead&gt; corresponds to the top of the page, the
394
+ &lt;tfoot&gt; to the bottom. The string "[Page]" can be used
395
+ as a placeholder for the page number. In practice, this must
396
+ always be in the &lt;tfoot&gt;'s right &lt;td&gt;, and no control
397
+ of the formatting of the page number is implied.
398
+
399
+ ....
400
+ <table class="ears">
401
+ <thead>
402
+ <tr>
403
+ <td class="left">Internet-Draft</td>
404
+ <td class="center">HTML RFC</td>
405
+ <td class="right">March 2016</td>
406
+ </tr>
407
+ </thead>
408
+ <tfoot>
409
+ <tr>
410
+ <td class="left">Hildebrand</td>
411
+ <td class="center">Expires September 2, 2016</td>
412
+ <td class="right">[Page]</td>
413
+ </tr>
414
+ </tfoot>
415
+ </table>
416
+ ....
417
+
418
+ [#document-information]
419
+ === Document Information
420
+
421
+
422
+ Information about the document as a whole will appear as the first child of the
423
+ HTML &lt;body&gt; element, embedded in an HTML &lt;dl&gt; element
424
+ with id="identifiers". The defined terms in the definition list
425
+ are "Workgroup:", "Series:", "Status:", "Published:", and "Author:"
426
+ or "Authors:" (as appropriate). For example:
427
+
428
+ ....
429
+ <dl id="identifiers">
430
+ <dt>Workgroup:</dt>
431
+ <dd class="workgroup">rfc-interest</dd>
432
+ <dt>Series:</dt>
433
+ <dd class="series">Internet-Draft</dd>
434
+ <dt>Status:</dt>
435
+ <dd class="status">Informational</dd>
436
+ <dt>Published:</dt>
437
+ <dd><time datetime="2014-10-25"
438
+ class="published">2014-10-25</time></dd>
439
+ <dt>Authors:</dt>
440
+ <dd class="authors">
441
+ <div class="author">
442
+ <span class="initial">J.</span>
443
+ <span class="surname">Hildebrand</span>
444
+ (<span class="organization">Cisco Systems, Inc.</span>)
445
+ <span class="editor">Ed.</span>
446
+ </div>
447
+ <div class="author">
448
+ <span class="initial">H.</span>
449
+ <span class="surname">Flanagan</span>
450
+ (<span class="organization">RFC Editor</span>)
451
+ </div>
452
+ </dd>
453
+ </dl>
454
+ ....
455
+
456
+ [#table-of-contents]
457
+ === Table of Contents
458
+
459
+ The table of contents will follow the boilerplate if the XML's &lt;rfc&gt;
460
+ element's &quot;tocInclude&quot; attribute has the value "true". An HTML &lt;h2&gt;
461
+ heading containing the text "Table of Contents" will be followed by a
462
+ &lt;nav&gt; element that contains a &lt;ul&gt; element for each depth
463
+ of the section hierarchy. Each section will be represented by a
464
+ &lt;li&gt; element containing links by the section number (from the "pn"
465
+ attribute) and by the name (from the "slugifiedName" attribute of the
466
+ &lt;name&gt; child element). Each &lt;nav&gt;, &lt;ul&gt;, and
467
+ &lt;li&gt; element will have the class "toc".
468
+
469
+ For example:
470
+
471
+ ....
472
+ <h2 id="toc">Table of Contents</h2>
473
+ <nav class="toc">
474
+ <ul class="toc">
475
+ <li class="toc">
476
+ <a href="s-1">1</a>. <a href="n-introduction">Introduction</a>
477
+ </li>
478
+ <ul class="toc">
479
+ <li class="toc">
480
+ <a href="s-1.1">1.1</a>. <a href="n-sub-intro">Sub Intro</a>
481
+ </li>
482
+ ...
483
+ ....
484
+
485
+ [#middle]
486
+ == Main Body
487
+
488
+ The main body of the HTML document is processed according to the rules in
489
+ <<elements>>.
490
+
491
+ [#back-matter]
492
+ == Back Matter
493
+
494
+
495
+ The back matter of the HTML document includes an index (if generated),
496
+ information about the authors, and further information about the
497
+ document itself.
498
+
499
+ [#index]
500
+ === Index
501
+
502
+ The index will be produced as dictated by the RFC Editor's Style
503
+ Guide <<RFC-STYLE>> if and only if the XML document's &lt;rfc&gt;
504
+ element has an &quot;indexInclude&quot; attribute with the value "true" and there
505
+ is one or more &lt;iref&gt; elements in the document.
506
+
507
+ [#index-index]
508
+ ==== Index Contents
509
+
510
+ The index section will start with an &lt;h2&gt; heading containing
511
+ the text "Index", followed by links to each of the lettered
512
+ portions of the index. Links are not generated for letters that
513
+ do not occur as the first letter of an index item.
514
+
515
+ For example:
516
+
517
+ ....
518
+ <h2>Index</h2>
519
+ <div class="index">
520
+ <div class="indexIndex">
521
+ <a href="#rfc.index.C">C</a>
522
+ <a href="#rfc.index.P">P</a>
523
+ </div>
524
+ ...
525
+ ....
526
+
527
+ [#index-letters]
528
+ ==== Index Letters
529
+
530
+ The index letter is followed by a &lt;ul&gt; tag that contains an
531
+ &lt;li&gt; tag for each first letter represented in the index. This
532
+ &lt;li&gt; tag has the class "indexChar" and contains an &lt;a&gt;
533
+ tag with the id pointed to by the index letter as well as an
534
+ &quot;href&quot; attribute to itself. The &lt;li&gt; tag also includes a &lt;ul&gt; tag
535
+ that will contain the index items.
536
+
537
+ For example:
538
+
539
+ ....
540
+ <ul>
541
+ <li class="indexChar">
542
+ <a href="#rfc.index.C" id="rfc.index.C">C</a>
543
+ <ul>
544
+ <!-- items go here -->
545
+ </ul>
546
+ </li>
547
+ ...
548
+ ....
549
+
550
+ [#index-items]
551
+ ==== Index Items
552
+
553
+ Each index item can have multiple &lt;iref&gt; elements to point to, all
554
+ with the same item attribute. Each index item is represented by an
555
+ &lt;li&gt; tag of class "indexItem" containing a &lt;span&gt; of class
556
+ "irefItem" for the item text and one of class "irefRefs" for the generated
557
+ references (if there is at least one reference to the item not having
558
+ a subitem). Each generated reference contains an &lt;a&gt; tag
559
+ containing the section number where the &lt;iref&gt; is found, with
560
+ an "href" attribute pointing to the "irefid" attribute of the &lt;iref&gt; element from the XML document. If the primary
561
+ attribute of the &lt;iref&gt; element has the value "true", the &lt;a&gt; element in the HTML document
562
+ will have the class "indexPrimary". Commas may be used to separate the
563
+ generated references.
564
+
565
+ For example:
566
+
567
+ ....
568
+ <li class="indexItem">
569
+ <span class="irefItem">Bullets</span>
570
+ <span class="irefRefs">
571
+ <a class="indexPrimary" href="#s-Bullets-1">2</a>,
572
+ <a href="#s-Bullets-2">2</a>
573
+ </span>
574
+ <!-- subitems go here -->
575
+ </li>
576
+ ...
577
+ ....
578
+
579
+ [#index-subitems]
580
+ ==== Index Subitems
581
+
582
+ If an index item has at least one subitem, the &lt;li&gt; of
583
+ that item will contain a &lt;ul&gt;, with one &lt;li&gt; for each
584
+ subitem, of class "indexSubItem". The format for each subitem is
585
+ similar to that used for items, except the class of the first &lt;span&gt;
586
+ tag is "irefSubItem".
587
+
588
+ For example:
589
+
590
+ ....
591
+ <ul>
592
+ <li class="indexSubItem">
593
+ <span class="irefSubItem">Ordered</span>
594
+ <span class="irefRefs">
595
+ <a href="#s-Bullets-Ordered-1">2</a>
596
+ </span>
597
+ </li>
598
+ </ul>
599
+ ...
600
+ ....
601
+
602
+ [#authors-addresses]
603
+ === Authors' Addresses Section
604
+
605
+ At the end of the document, author information will be included
606
+ inside an HTML &lt;section&gt; element whose &quot;id&quot; attribute is
607
+ "author-addresses". The class names of the constituent HTML tags
608
+ have been chosen to match the class names in <<HCARD>>.
609
+
610
+ The information for each author will be separated by an HTML
611
+ &lt;hr&gt; element with class "addr".
612
+
613
+ ....
614
+ <section id="author-addresses">
615
+ <h2>
616
+ <a class="selfRef" href="#author-addresses">
617
+ Authors' Addresses
618
+ </a>
619
+ </h2>
620
+ <address class="vcard">
621
+ <div class="nameRole"><span class="fn">Joe Hildebrand</span>
622
+ (<span class="role">editor</span>)</div>
623
+ <div class="org">Cisco Systems, Inc.</div>
624
+ </address>
625
+ <hr class="addr">
626
+ <address class="vcard">
627
+ <div class="nameRole"><span class="fn">Heather Flanagan</span>
628
+ (<span class="role">editor</span>)</div>
629
+ <div class="org">RFC Series Editor</div>
630
+ </address>
631
+ </section>
632
+ ....
633
+
634
+ [#docInfo]
635
+ === Document Information
636
+
637
+ A few bits of metadata about the document that are less
638
+ important to most readers are included after the author information.
639
+ These are gathered together into a &lt;div&gt; of class
640
+ "docInfo".
641
+
642
+
643
+ The finalized time is copied from the &lt;rfc&gt; element's
644
+ &quot;prepTime&quot; attribute. The rendered time is the time that this
645
+ HTML was generated.
646
+
647
+ For example:
648
+
649
+ ....
650
+ <div class="docInfo">
651
+ <span class="finalized">
652
+ Finalized: <time
653
+ datetime="2015-04-29T18:59:08Z">2015-04-29T18:59:08Z</time>
654
+ </span>
655
+ <span class="rendered">
656
+ Rendered: <time
657
+ datetime="2015-04-29T18:59:10Z">2015-04-29T18:59:10Z</time>
658
+ </span>
659
+ </div>
660
+ ....
661
+
662
+ [#elements]
663
+ == Elements
664
+
665
+ This section describes how each of the XML elements from
666
+ <<RFC7991>> is rendered to HTML.
667
+ Many of the descriptions have examples to clarify how elements will be rendered.
668
+
669
+ [#element-abstract]
670
+ === &lt;abstract&gt;
671
+
672
+ The abstract is rendered in a similar fashion to a &lt;section&gt; with anchor="abstract" and
673
+ &lt;name&gt;Abstract&lt;/name&gt;, but without a section number.
674
+
675
+ ....
676
+ <section id="abstract">
677
+ <h2><a href="#abstract" class="selfRef">Abstract</a></h2>
678
+ <p id="s-abstract-1">This document defines...
679
+ <a href="#s-abstract-1" class="pilcrow">&para;</a>
680
+ </p>
681
+ </section>
682
+ ....
683
+
684
+
685
+ [#element-address]
686
+ === &lt;address&gt;
687
+
688
+ This element is used in the Authors' Addresses section.
689
+ It is rendered
690
+ as an HTML &lt;address&gt; tag of class "vcard". If none of the
691
+ descendant XML elements has an "ascii" attribute, the &lt;address&gt;
692
+ HTML tag includes the HTML rendering of each of the descendant
693
+ XML elements. Otherwise, the &lt;address&gt; HTML tag includes
694
+ an HTML &lt;div&gt; tag of class "ascii" (containing the HTML
695
+ rendering of the ASCII variants of each of the descendant XML
696
+ elements), an HTML &lt;div&gt; tag of class "alternative-contact",
697
+ (containing the text "Alternate contact information:"), and
698
+ an HTML &lt;div&gt; tag of class "non-ascii" (containing the HTML
699
+ rendering of the non-ASCII variants of each of the descendant XML
700
+ elements).
701
+
702
+
703
+ Note: the following example shows some ASCII equivalents that are
704
+ the same as their nominal equivalents for clarity; normally, the ASCII
705
+ equivalents would not be included for these cases.
706
+
707
+ ....
708
+ <address class="vcard">
709
+ <div class="ascii">
710
+ <div class="nameRole"><span class="fn">Joe Hildebrand</span>
711
+ (<span class="role">editor</span>)</div>
712
+ <div class="org">Cisco Systems, Inc.</div>
713
+ </div>
714
+ <div class="alternative-contact">
715
+ Alternate contact information:
716
+ </div>
717
+ <div class="non-ascii">
718
+ <div class="nameRole"><span class="fn">Joe Hildebrand</span>
719
+ (<span class="role">editor</span>)</div>
720
+ <div class="org">Cisco Systems, Inc.</div>
721
+ </div>
722
+ </address>
723
+ ....
724
+
725
+ [#element-annotation]
726
+ === &lt;annotation&gt;
727
+
728
+ This element is rendered as the text ", " (a comma and a space)
729
+ followed by a &lt;span&gt; of class "annotation" at the end
730
+ of a &lt;reference&gt; element, the &lt;span&gt;
731
+ containing appropriately transformed elements from the children of
732
+ the &lt;annotation&gt; tag.
733
+
734
+ ....
735
+ <span class="annotation">Some <em>thing</em>.</span>
736
+ ....
737
+
738
+ [#element-area]
739
+ === &lt;area&gt;
740
+
741
+ Not currently rendered to HTML.
742
+
743
+ [#element-artwork]
744
+ === &lt;artwork&gt;
745
+
746
+ Artwork can consist of either inline text or SVG. If the artwork is
747
+ not inside a &lt;figure&gt; element, a
748
+ <<pilcrows,pilcrow>> is included. Inside a
749
+ &lt;figure&gt; element, the figure title serves the purpose of the
750
+ pilcrow. If the "align" attribute has the value "right", the CSS class
751
+ "alignRight" will be added. If the "align" attribute has the value
752
+ "center", the CSS class "alignCenter" will be added.
753
+
754
+ [#element-artwork-text]
755
+ ==== Text Artwork
756
+
757
+ Text artwork is rendered inside an HTML &lt;pre&gt; element, which
758
+ is contained by a &lt;div&gt; element for consistency with SVG
759
+ artwork. Note that CDATA blocks are not a part of HTML,
760
+ so angle brackets and ampersands (i.e., &lt;, &gt;, and &amp;) must be escaped as &amp;lt;, &amp;gt;,
761
+ and &amp;amp;, respectively.
762
+
763
+ The &lt;div&gt; element will have CSS classes of "artwork",
764
+ "art-text", and "art-" prepended to the value of the &lt;artwork&gt;
765
+ element's "type" attribute, if it exists.
766
+
767
+ ....
768
+ <div class="artwork art-text art-ascii-art" id="s-1-2">
769
+ <pre>
770
+ ______________
771
+ &lt; hello, world &gt;
772
+ --------------
773
+ \ ^__^
774
+ \ (oo)\_______
775
+ (__)\ )\/\
776
+ ||----w |
777
+ || ||
778
+ </pre>
779
+ <a class="pilcrow" href="#s-1-2">&para;</a>
780
+ </div>
781
+ ....
782
+
783
+ [#element-artwork-svg]
784
+ ==== SVG Artwork
785
+
786
+ SVG artwork will be included inline. The SVG is wrapped in a
787
+ &lt;div&gt; element with CSS classes "artwork" and "art-svg".
788
+
789
+ If the SVG &quot;artwork&quot; element is a child of &lt;figure&gt; and the
790
+ artwork is specified as align="right", an
791
+ empty HTML &lt;span&gt; element is added directly after the
792
+ &lt;svg&gt; element, in order to get right alignment to work correctly
793
+ in HTML rendering engines that do not support the flex-box
794
+ model.
795
+
796
+ Note: the &quot;alt&quot; attribute of &lt;artwork&gt; is not currently used
797
+ for SVG; instead, the &lt;title&gt; and &lt;desc&gt; tags are used
798
+ in the SVG.
799
+
800
+ ....
801
+ <div class="artwork art-svg" id="s-2-17">
802
+ <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
803
+ <desc>Alt text here</desc>
804
+ <circle
805
+ cx="50" cy="50" r="40"
806
+ stroke="green" stroke-width="4" fill="yellow" />
807
+ </svg>
808
+ <a href="#s-2-17" class="pilcrow">&para;</a>
809
+ </div>
810
+ ....
811
+
812
+ [#element]
813
+ ==== Other Artwork
814
+
815
+ Other artwork will have a &quot;src&quot; attribute that uses the "data" URI scheme
816
+ defined in <<RFC2397>>. Such artwork is rendered in an
817
+ HTML &lt;img&gt; element. Note: the HTML &lt;img&gt; element does
818
+ not have a closing slash.
819
+
820
+ Note: such images are not yet allowed in RFCs
821
+ even though the format supports them. A limited set of "data:" mediatypes for artwork may be allowed in the
822
+ future.
823
+
824
+ ....
825
+ <div class="artwork art-logo" id="s-2-58">
826
+ <img alt="IETF logo"
827
+ src="data:image/gif;charset=utf-8;base64,...">
828
+ <a class="pilcrow" href="#s-2-58">&para;</a>
829
+ </div>
830
+ ....
831
+
832
+ [#element-aside]
833
+ === &lt;aside&gt;
834
+
835
+ This element is rendered as an HTML &lt;aside&gt; element, with
836
+ all child content appropriately transformed.
837
+
838
+ ....
839
+ <aside id="s-2.1-2">
840
+ <p id="s-2.1-2.1">
841
+ A little more than kin, and less than kind.
842
+ <a class="pilcrow" href="#s-2.1-2.1">&para;</a>
843
+ </p>
844
+ </aside>
845
+ ....
846
+
847
+ [#element-author]
848
+ === &lt;author&gt;
849
+
850
+ The &lt;author&gt; element is used in several places in the output.
851
+ Different rendering is used for each.
852
+
853
+ ==== Authors in Document Information
854
+
855
+ As seen in the <<document-information,format=title>>
856
+ at the beginning of the HTML, each document author is rendered
857
+ as an HTML &lt;div&gt; tag of class "author".
858
+
859
+
860
+ Inside the &lt;div class="author"&gt; HTML tag, the author's
861
+ initials and surname (or the fullname, if it exists and the others
862
+ do not) will be rendered in an HTML &lt;div&gt;
863
+ tag of class "author-name". If the &lt;author&gt;
864
+ contains "asciiInitials" and "asciiSurname" attributes, or contains
865
+ as "asciiFullname" attribute, the author's name is rendered twice,
866
+ with the first being the non-ASCII version, wrapped in an HTML
867
+ &lt;span&gt; tag of class "non-ascii", followed by the ASCII
868
+ version wrapped in an HTML &lt;span&gt; tag of class "ascii",
869
+ wrapped in parentheses. If the &lt;author&gt; has a "role"
870
+ attribute of "editor", the &lt;div class="author-name"&gt; will
871
+ also contain the text ", " (comma, space), followed by an HTML
872
+ &lt;span&gt; tag of class "editor", which contains the text "Ed.".
873
+
874
+ If the &lt;author&gt; element contains an
875
+ <<element-organization,format=title>>
876
+ element, it is also rendered inside the &lt;div class="author"&gt;
877
+ HTML tag.
878
+
879
+ ....
880
+ <div class="author">
881
+ <div class="author-name">
882
+ H. Flanagan,
883
+ <span class="editor">Ed.</span></div>
884
+ <div class="org">Test Org</div>
885
+ </div>
886
+ <div class="author">
887
+ <div class="author-name">
888
+ <span class="non-ascii">Hildebrand</span>
889
+ (<span class="ascii">HILDEBRAND</span>)
890
+ </div>
891
+ <div class="org">
892
+ <span class="non-ascii">Test Org</span>
893
+ (<span class="ascii">TEST ORG</span>)
894
+ </div>
895
+ </div>
896
+ ....
897
+
898
+ ==== Authors of This Document
899
+
900
+ As seen in the Authors' Addresses section,
901
+ at the end of the HTML, each document author is rendered into an
902
+ HTML &lt;address&gt; element with the CSS class "vcard".
903
+
904
+ The HTML &lt;address&gt; element will contain an HTML &lt;div&gt;
905
+ with CSS class "nameRole". That div will contain an HTML &lt;span&gt;
906
+ element with CSS class "fn" containing the value of the "fullname"
907
+ attribute of the &lt;author&gt; XML element and an HTML &lt;span&gt;
908
+ element with CSS class "role" containing the value of the "role"
909
+ attribute of the &lt;author&gt; XML element (if there is a role).
910
+ Parentheses will surround the &lt;span class="role"&gt;, if it
911
+ exists.
912
+
913
+ ....
914
+ <address class="vcard">
915
+ <div class="nameRole">
916
+ <span class="fn">Joe Hildebrand</span>
917
+ (<span class="role">editor</span>)
918
+ </div>
919
+ ...
920
+ ....
921
+
922
+ After the name, the
923
+ <<element-organization,format=title>> and
924
+ <<element-address,format=title>> child elements of
925
+ the author are rendered inside the HTML &lt;address&gt; tag.
926
+
927
+ When the &lt;author&gt; element, or any of its descendant elements,
928
+ has any attribute that starts with "ascii", all of the author
929
+ information is displayed twice. The first version is wrapped in
930
+ an HTML &lt;div&gt; tag with class "ascii"; this version prefers
931
+ the ASCII version of information, such as "asciiFullname", but falls
932
+ back on the non-ASCII version if the ASCII version doesn't exist.
933
+ The second version is wrapped in an HTML &lt;div&gt; tag with class
934
+ "non-ascii"; this version prefers the non-ASCII version of
935
+ information, such as "fullname", but falls back on the ASCII
936
+ version if the non-ASCII version does not exist. Between these
937
+ two HTML &lt;div&gt;s, a third &lt;div&gt; is inserted, with class
938
+ "alternative-contact", containing the text "Alternate contact
939
+ information:".
940
+
941
+ ....
942
+ <address class="vcard">
943
+ <div class="ascii">
944
+ <div class="nameRole">
945
+ <span class="fn">The ASCII name</span>
946
+ </div>
947
+ </div>
948
+ <div class="alternative-contact">
949
+ Alternate contact information:
950
+ </div>
951
+ <div class="non-ascii">
952
+ <div class="nameRole">
953
+ <span class="fn">The non-ASCII name</span>
954
+ (<span class="role">editor</span>)
955
+ </div>
956
+ </div>
957
+ </address>
958
+ ....
959
+
960
+ ==== Authors of References
961
+
962
+ In the output generated from a reference element, author tags are
963
+ rendered inside an HTML &lt;span&gt; element with CSS class
964
+ "refAuthor". See Section 4.8.6.2 of <<RFC7322>> for
965
+ guidance on how author names are to appear.
966
+
967
+ ....
968
+ <span class="refAuthor">Flanagan, H.</span> and
969
+ <span class="refAuthor">N. Brownlee</span>
970
+ ....
971
+
972
+ [#element-back]
973
+ === &lt;back&gt;
974
+
975
+ If there is exactly one
976
+ <<element-references,format=title>> child, render
977
+ that child in a similar way to a <<element-section,format=title>>.
978
+ If there are more than one
979
+ <<element-references,format=title>> children, render
980
+ as a <<element-section,format=title>> whose name is
981
+ "References", containing a <<element-section,format=title>>
982
+ for each <<element-references,format=title>> child.
983
+
984
+ After any <<element-references,format=title>> sections,
985
+ render each <<element-section,format=title>> child of
986
+ <<element-back,format=title>>
987
+ as an appendix.
988
+
989
+ ....
990
+ <section id="n-references">
991
+ <h2 id="s-2">
992
+ <a class="selfRef" href="#s-2">2.</a>
993
+ <a class="selfRef" href="#n-references">References</a>
994
+ </h2>
995
+ <section id="n-normative">
996
+ <h3 id="s-2.1">
997
+ <a class="selfRef" href="#s-2.1">2.1.</a>
998
+ <a class="selfRef" href="#n-normative">Normative</a>
999
+ </h3>
1000
+ <dl class="reference"></dl>
1001
+ </section>
1002
+ <section id="n-informational">
1003
+ <h3 id="s-2.2">
1004
+ <a class="selfRef" href="#s-2.2">2.2.</a>
1005
+ <a class="selfRef" href="#n-informational">Informational</a>
1006
+ </h3>
1007
+ <dl class="reference"></dl>
1008
+ </section>
1009
+ </section>
1010
+ <section id="n-unimportant">
1011
+ <h2 id="s-A">
1012
+ <a class="selfRef" href="#s-A">Appendix A.</a>
1013
+ <a class="selfRef" href="#n-unimportant">Unimportant</a>
1014
+ </h2>
1015
+ </section>
1016
+ ....
1017
+
1018
+ [#element-bcp14]
1019
+ === &lt;bcp14&gt;
1020
+
1021
+ This element marks up words like MUST and SHOULD <<BCP14>> with an HTML
1022
+ &lt;span&gt; element with the CSS class "bcp14".
1023
+
1024
+ ....
1025
+ You <span class="bcp14">MUST</span> be joking.
1026
+ ....
1027
+
1028
+
1029
+ [#element-blockquote]
1030
+ === &lt;blockquote&gt;
1031
+
1032
+ This element renders in a way similar to the HTML &lt;blockquote&gt;
1033
+ element. If there is a "cite" attribute, it is copied
1034
+ to the HTML "cite" attribute. If there is a "quoteFrom" attribute,
1035
+ it is placed inside a &lt;cite&gt; element at the end of the quote,
1036
+ with an &lt;a&gt; element surrounding it (if there is a "cite"
1037
+ attribute), linking to the cited URL.
1038
+
1039
+ If the &lt;blockquote&gt; does not contain another element that gets a
1040
+ <<pilcrows,pilcrow>>, a pilcrow is added.
1041
+
1042
+ Note that the "&amp;mdash;" at the beginning of the &lt;cite&gt; element
1043
+ should be a proper emdash, which is difficult to show in the
1044
+ display of the current format.
1045
+
1046
+ ....
1047
+ <blockquote id="s-1.2-1"
1048
+ cite="http://...">
1049
+ <p id="s-1.2-2">Four score and seven years ago our fathers
1050
+ brought forth on this continent, a new nation, conceived
1051
+ in Liberty, and dedicated to the proposition that all men
1052
+ are created equal.
1053
+ <a href="#s-1.2-2" class="pilcrow">&para;</a>
1054
+ </p>
1055
+ <cite>&mdash; <a href="http://...">Abraham Lincoln</a></cite>
1056
+ </blockquote>
1057
+ ....
1058
+
1059
+ [#element-boilerplate]
1060
+ === &lt;boilerplate&gt;
1061
+
1062
+ The Status of This Memo and the Copyright statement, together
1063
+ commonly referred to as the document boilerplate, appear after the
1064
+ Abstract. The children of the input &lt;boilerplate&gt; element
1065
+ are treated in a similar fashion to unnumbered sections.
1066
+
1067
+ ....
1068
+ <section id="status-of-this-memo">
1069
+ <h2 id="s-boilerplate-1">
1070
+ <a href="#status-of-this-memo" class="selfRef">
1071
+ Status of this Memo</a>
1072
+ </h2>
1073
+ <p id="s-boilerplate-1-1">This Internet-Draft is submitted in full
1074
+ conformance with the provisions of BCP 78 and BCP 79.
1075
+ <a href="#s-boilerplate-1-1" class="pilcrow">&para;</a>
1076
+ </p>
1077
+ ...
1078
+ ....
1079
+
1080
+ [#element-br]
1081
+ === &lt;br&gt;
1082
+
1083
+ This element is directly rendered as its HTML counterpart. Note:
1084
+ in HTML, &lt;br&gt; does not have a closing slash.
1085
+
1086
+ [#element-city]
1087
+ === &lt;city&gt;
1088
+
1089
+ This element is rendered as a &lt;span&gt; element with CSS
1090
+ class "locality".
1091
+
1092
+ ....
1093
+ <span class="locality">Guilford</span>
1094
+ ....
1095
+
1096
+ [#element-code]
1097
+ === &lt;code&gt;
1098
+
1099
+ This element is rendered as a &lt;span&gt; element with CSS
1100
+ class "postal-code".
1101
+
1102
+ ....
1103
+ <span class="postal-code">GU16 7HF<span>
1104
+ ....
1105
+
1106
+ [#element-country]
1107
+ === &lt;country&gt;
1108
+
1109
+ This element is rendered as a &lt;div&gt; element with CSS
1110
+ class "country-name".
1111
+
1112
+ ....
1113
+ <div class="country-name">England</div>
1114
+ ....
1115
+
1116
+ [#element-cref]
1117
+ === &lt;cref&gt;
1118
+
1119
+ This element is rendered as a &lt;span&gt; element with CSS
1120
+ class "cref". Any anchor is copied to the &quot;id&quot; attribute. If there is
1121
+ a source given, it is contained inside the &quot;cref&quot; &lt;span&gt; element with another
1122
+ &lt;span&gt; element of class "crefSource".
1123
+
1124
+ ....
1125
+ <span class="cref" id="crefAnchor">Just a brief comment
1126
+ about something that we need to remember later.
1127
+ <span class="crefSource">--life</span></span>
1128
+ ....
1129
+
1130
+ [#element-date]
1131
+ === &lt;date&gt;
1132
+
1133
+
1134
+
1135
+ This element is rendered as the HTML &lt;time&gt; element. If the
1136
+ "year", "month", or "day" attribute is included on the XML element,
1137
+ an appropriate "datetime" element will be generated in HTML.
1138
+
1139
+ If this date is a child of the document's &lt;front&gt; element, it
1140
+ gets the CSS class "published".
1141
+
1142
+ If this date is inside a &lt;reference&gt; element, it gets the
1143
+ CSS class "refDate".
1144
+
1145
+ ....
1146
+ <time datetime="2014-10" class="published">October 2014</time>
1147
+ ....
1148
+
1149
+ [#element-dd]
1150
+ === &lt;dd&gt;
1151
+
1152
+ This element is directly rendered as its HTML counterpart.
1153
+
1154
+ [#element-displayreference]
1155
+ === &lt;displayreference&gt;
1156
+
1157
+ This element does not affect the HTML output, but it is used in the generation of the
1158
+ <<element-reference,format=title>>,
1159
+ <<element-referencegroup,format=title>>,
1160
+ <<element-relref,format=title>>, and
1161
+ <<element-xref,format=title>> elements.
1162
+
1163
+ [#element-dl]
1164
+ === &lt;dl&gt;
1165
+
1166
+ This element is directly rendered as its HTML counterpart.
1167
+
1168
+ If the hanging attribute is "false", add the "dlParallel" class, else
1169
+ add the "dlHanging" class.
1170
+
1171
+ If the spacing attribute is "compact", add the "dlCompact" class.
1172
+
1173
+ [#element-dt]
1174
+ === &lt;dt&gt;
1175
+
1176
+ This element is directly rendered as its HTML counterpart.
1177
+
1178
+ [#element-em]
1179
+ === &lt;em&gt;
1180
+
1181
+ This element is directly rendered as its HTML counterpart.
1182
+
1183
+ [#element-email]
1184
+ === &lt;email&gt;
1185
+
1186
+
1187
+ This element is
1188
+ rendered as an HTML &lt;div&gt; containing the string "Email:" and
1189
+ an HTML &lt;a&gt; element with the "href" attribute set to the
1190
+ equivalent "mailto:" URI, a CSS class of "email", and the contents set
1191
+ to the email address. If this is the version of the address with
1192
+ ASCII, the "ascii" attribute is preferred to the element text.
1193
+
1194
+ ....
1195
+ <div>
1196
+ <span>Email:</span>
1197
+ <a class="email" href="mailto:joe@example.com">joe@example.com</a>
1198
+ </div>
1199
+ ....
1200
+
1201
+ [#element-eref]
1202
+ === &lt;eref&gt;
1203
+
1204
+ This element is rendered as an HTML &lt;a&gt; element, with the "href"
1205
+ attribute set to the value of the "target" attribute and the CSS
1206
+ class of "eref".
1207
+
1208
+ ....
1209
+ <a href="https://..." class="eref">the text</a>
1210
+ ....
1211
+
1212
+ [#element-figure]
1213
+ === &lt;figure&gt;
1214
+
1215
+ This element renders as the HTML &lt;figure&gt; element, containing
1216
+ the artwork or sourcecode indicated and an HTML &lt;figcaption&gt;
1217
+ element. The &lt;figcaption&gt; element will contain an &lt;a&gt; element
1218
+ around the figure number. It will also
1219
+ contain another &lt;a&gt; element with CSS class "selfRef" around the
1220
+ figure name, if a name was given.
1221
+
1222
+ ....
1223
+ <figure id="f-1">
1224
+ ...
1225
+ <figcaption>
1226
+ <a href="#f-1">Figure 1.</a>
1227
+ <a href="#n-it-figures" id="n-it-figures" class="selfRef">
1228
+ It figures
1229
+ </a>
1230
+ </figcaption>
1231
+ </figure>
1232
+ ....
1233
+
1234
+ [#element-front]
1235
+ === &lt;front&gt;
1236
+
1237
+ See <<document-information,"Document Information">> for information on this element.
1238
+
1239
+ [#element-iref]
1240
+ === &lt;iref&gt;
1241
+
1242
+ This element is rendered as an empty &lt;&gt; tag of class &quot;iref&quot;, with
1243
+ an &quot;id&quot; attribute consisting of the &lt;iref&gt; element's &quot;irefid&quot; attribute:
1244
+
1245
+ ....
1246
+ <span class="iref" id="s-Paragraphs-first-1"/>
1247
+ ....
1248
+
1249
+ [#element-keyword]
1250
+ === &lt;keyword&gt;
1251
+
1252
+ Each &lt;keyword&gt; element renders its text into the &lt;meta&gt;
1253
+ keywords in the document's header, separated by commas.
1254
+
1255
+ ....
1256
+ <meta name="keywords" content="html,css,rfc">
1257
+ ....
1258
+
1259
+ [#element-li]
1260
+ === &lt;li&gt;
1261
+
1262
+ This element is rendered as its HTML counterpart. However, if there
1263
+ is no contained element that has a
1264
+ <<pilcrows,pilcrow>> attached, a pilcrow
1265
+ is added.
1266
+
1267
+ ....
1268
+ <li id="s-2-7">Item <a href="#s-2-7" class="pilcrow">&para;</a></li>
1269
+ ....
1270
+
1271
+ [#element-link]
1272
+ === &lt;link&gt;
1273
+
1274
+ This element is rendered as its HTML counterpart, in the HTML
1275
+ header.
1276
+
1277
+ [#element-middle]
1278
+ === &lt;middle&gt;
1279
+
1280
+ This element does not add any direct output to HTML.
1281
+
1282
+ [#element-name]
1283
+ === &lt;name&gt;
1284
+
1285
+ This element is never rendered directly; it is only rendered when
1286
+ considering a parent element, such as
1287
+ <<element-figure,format=title>>,
1288
+ <<element-references,format=title>>,
1289
+ <<element-section,format=title>>, or
1290
+ <<element-table,format=title>>.
1291
+
1292
+ [#element-note]
1293
+ === &lt;note&gt;
1294
+
1295
+ This element is rendered like a
1296
+ <<element-section,format=title>> element, but without
1297
+ a section number and with the CSS class of "note". If the
1298
+ "removeInRFC" attribute is set to "yes", the generated &lt;div&gt; element
1299
+ will also include the CSS class "rfcEditorRemove".
1300
+
1301
+
1302
+ ....
1303
+ <section id="s-note-1" class="note rfcEditorRemove">
1304
+ <h2>
1305
+ <a href="#n-editorial-note" class="selfRef">Editorial Note</a>
1306
+ </h2>
1307
+ <p id="s-note-1-1">
1308
+ Discussion of this draft takes place...
1309
+ <a href="#s-note-1-1" class="pilcrow">&para;</a>
1310
+ </p>
1311
+ </section>
1312
+ ....
1313
+
1314
+ [#element-ol]
1315
+ === &lt;ol&gt;
1316
+
1317
+ The output created from an &lt;ol&gt; element depends upon the &quot;style&quot;
1318
+ attribute.
1319
+
1320
+ If the &quot;spacing&quot; attribute has the value "compact", a CSS class of
1321
+ "olCompact" will be added.
1322
+
1323
+ The group attribute is not copied; the input XML should have start
1324
+ values added by a prep tool for all grouped &lt;ol&gt; elements.
1325
+
1326
+ [#ol-percent-styles]
1327
+ ==== Percent Styles
1328
+
1329
+ If the style attribute includes the character "%", the output is
1330
+ a &lt;dl&gt; tag with the class "olPercent". Each contained &lt;li&gt; element
1331
+ is emitted as a &lt;dt&gt;/&lt;dd&gt; pair, with the generated
1332
+ label in the &lt;dt&gt; and the contents of the &lt;li&gt; in the
1333
+ &lt;dd&gt;.
1334
+
1335
+ ....
1336
+ <dl class="olPercent">
1337
+ <dt>Requirement xviii:</dt>
1338
+ <dd>Wheels on a big rig</dd>
1339
+ </dl>
1340
+ ....
1341
+
1342
+ [#ol-standard-styles]
1343
+ ==== Standard Styles
1344
+
1345
+ For all other styles, an &lt;ol&gt; tag is emitted, with any
1346
+ &quot;style&quot; attribute turned into the equivalent HTML attribute.
1347
+
1348
+ ....
1349
+ <ol class="compact" type="I" start="18">
1350
+ <li>Wheels on a big rig</li>
1351
+ </ol>
1352
+ ....
1353
+
1354
+ [#element-organization]
1355
+ === &lt;organization&gt;
1356
+
1357
+ This element is
1358
+ rendered as an HTML &lt;div&gt; tag with CSS class "org".
1359
+
1360
+ If the element contains the "ascii" attribute, the organization name
1361
+ is rendered twice: once with the non-ASCII version wrapped in an
1362
+ HTML &lt;span&gt; tag of class "non-ascii" and then as the ASCII version
1363
+ wrapped in an HTML &lt;span&gt; tag of class "ascii" wrapped in
1364
+ parentheses.
1365
+
1366
+ ....
1367
+ <div class="org">
1368
+ <span class="non-ascii">Test Org</span>
1369
+ (<span class="ascii">TEST ORG</span>)
1370
+ </div>
1371
+ ....
1372
+
1373
+ [#element-phone]
1374
+ === &lt;phone&gt;
1375
+
1376
+
1377
+ This element is
1378
+ rendered as an HTML &lt;div&gt; tag containing the string "Phone:" (wrapped
1379
+ in a span), an HTML &lt;a&gt; tag with CSS class "tel" containing the
1380
+ phone number (and an href with a corresponding "tel:" URI), and an
1381
+ HTML &lt;span&gt; with CSS class "type" containing the string
1382
+ "VOICE".
1383
+
1384
+ ....
1385
+ <div>
1386
+ <span>Phone:</span>
1387
+ <a class="tel" href="tel:+1-720-555-1212">+1-720-555-1212</a>
1388
+ <span class="type">VOICE</span>
1389
+ </div>
1390
+ ....
1391
+
1392
+ [#element-postal]
1393
+ === &lt;postal&gt;
1394
+
1395
+ This element renders as an HTML &lt;div&gt; with CSS class
1396
+ "adr", unless it contains one or more &lt;postalLine&gt; child
1397
+ elements; in which case, it renders as an HTML &lt;pre&gt; element with CSS
1398
+ class "label".
1399
+
1400
+ When there is no &lt;postalLine&gt; child, the following child
1401
+ elements are rendered into the HTML:
1402
+
1403
+ * Each &lt;street&gt; is rendered
1404
+ * A &lt;div&gt; that includes:
1405
+ ** The rendering of all &lt;city&gt; elements
1406
+ ** A comma and a space: ", "
1407
+ ** The rendering of all &lt;region&gt; elements
1408
+ ** Whitespace
1409
+ ** The rendering of all &lt;code&gt; elements
1410
+ * The rendering of all &lt;country&gt; elements
1411
+
1412
+
1413
+ ....
1414
+ <div class="adr">
1415
+ <div class="street-address">1 Main Street</div>
1416
+ <div class="street-address">Suite 1</div>
1417
+ <div>
1418
+ <span class="city">Denver</span>,
1419
+ <span class="region">CO</span>
1420
+ <span class="postal-code">80212</span>
1421
+ </div>
1422
+ <div class="country-name">United States of America</div>
1423
+ </div>
1424
+ ....
1425
+
1426
+ [#element-postalLine]
1427
+ === &lt;postalLine&gt;
1428
+
1429
+ This element renders as the text contained by the element, followed
1430
+ by a newline. However, the last &lt;postalLine&gt; in a given
1431
+ &lt;postal&gt; element should not be followed by a newline. For example:
1432
+
1433
+ ....
1434
+ <postal>
1435
+ <postalLine>In care of:</postalLine>
1436
+ <postalLine>Computer Sciences Division</postalLine>
1437
+ </postal>
1438
+ ....
1439
+
1440
+ Would be rendered as:
1441
+
1442
+ ....
1443
+ <pre class="label">In care of:
1444
+ Computer Sciences Division</pre>
1445
+ ....
1446
+
1447
+ [#element-refcontent]
1448
+ === &lt;refcontent&gt;
1449
+
1450
+ This element renders as an HTML &lt;span&gt; with CSS class
1451
+ "refContent".
1452
+
1453
+
1454
+ ....
1455
+ <span class="refContent">Self-published pamphlet</span>
1456
+ ....
1457
+
1458
+ [#element-reference]
1459
+ === &lt;reference&gt;
1460
+
1461
+ If the parent of this element is not a &lt;referencegroup&gt;, this
1462
+ element will render as a &lt;dt&gt; &lt;dd&gt; pair with the
1463
+ defined term being the reference "anchor" attribute surrounded by
1464
+ square brackets and the definition including the correct set of
1465
+ bibliographic information as specified by <<RFC7322>>.
1466
+ The &lt;dt&gt; element will have an "id" attribute of the reference
1467
+ anchor.
1468
+
1469
+ ....
1470
+ <dl class="reference">
1471
+ <dt id="RFC5646">[RFC5646]</dt>
1472
+ <dd>
1473
+ <span class="refAuthor">Phillips, A.</span>
1474
+ <span>and</span>
1475
+ <span class="refAuthor">M. Davis</span>
1476
+ <span class="refTitle">"Tags for Identifying Languages"</span>,
1477
+ ...
1478
+ </dd>
1479
+ </dl>
1480
+ ....
1481
+
1482
+
1483
+
1484
+ If the child of a &lt;referencegroup&gt;, this
1485
+ element renders as a &lt;div&gt; of class "refInstance" whose
1486
+ "id" attribute is the value of the &lt;source&gt; element's "anchor"
1487
+ attribute.
1488
+
1489
+ ....
1490
+ <div class="refInstance" id="RFC5730">
1491
+ ...
1492
+ </div>
1493
+ ....
1494
+
1495
+ [#element-referencegroup]
1496
+ === &lt;referencegroup&gt;
1497
+
1498
+ A &lt;referencegroup&gt; is translated into a &lt;dt&gt; &lt;dd&gt;
1499
+ pair, with the defined term being the referencegroup "anchor"
1500
+ attribute surrounded by square brackets, and the definition containing
1501
+ the translated output of all of the child &lt;reference&gt;
1502
+ elements.
1503
+
1504
+ ....
1505
+ <dt id="STD69">[STD69]</dt>
1506
+ <dd>
1507
+ <div class="refInstance" id="RFC5730">
1508
+ <span class="refAuthor">Hollenbeck, S.</span>
1509
+ ...
1510
+ </div>
1511
+ <div class="refInstance" id="RFC5731">
1512
+ <span class="refAuthor">Hollenbeck, S.</span>
1513
+ ...
1514
+ </div>
1515
+ ...
1516
+ </dd>
1517
+ ....
1518
+
1519
+ [#element-references]
1520
+ === &lt;references&gt;
1521
+
1522
+ If there is at exactly one &lt;references&gt; element, a
1523
+ section is added to the document, continuing with the next
1524
+ section number after the last top-level &lt;section&gt; in
1525
+ &lt;middle&gt;. The &lt;name&gt; element of the &lt;references&gt;
1526
+ element is used as the section name.
1527
+
1528
+
1529
+ ....
1530
+ <section id="n-my-references">
1531
+ <h2 id="s-3">
1532
+ <a href="#s-3" class="selfRef">3.</a>
1533
+ <a href="#n-my-references class="selfRef">My References</a>
1534
+ </h2>
1535
+ ...
1536
+ </section>
1537
+ ....
1538
+
1539
+ If there is more than one &lt;references&gt; element, an HTML
1540
+ &lt;section&gt; element is created to contain a subsection for
1541
+ each of the &lt;references&gt;. The section number will be the next
1542
+ section number after the last top-level &lt;section&gt; in
1543
+ &lt;middle&gt;. The name of this section will
1544
+ be "References", and its "id" attribute will be "n-references".
1545
+
1546
+ ....
1547
+ <section id="n-references">
1548
+ <h2 id="s-3">
1549
+ <a href="#s-3" class="selfRef">3.</a>
1550
+ <a href="#n-references" class="selfRef">References</a>
1551
+ </h2>
1552
+ <section id="n-informative-references">
1553
+ <h3 id="s-3.1">
1554
+ <a href="#s-3.1" class="selfRef">3.1.</a>
1555
+ <a href="#n-informative-references" class="selfRef">
1556
+ Informative References</a></h3>
1557
+ <dl class="reference">...
1558
+ </dl>
1559
+ </section>
1560
+ ...
1561
+ </section>
1562
+ ....
1563
+
1564
+ [#element-region]
1565
+ === &lt;region&gt;
1566
+
1567
+ This element is rendered as a &lt;span&gt; tag with CSS
1568
+ class "region".
1569
+
1570
+
1571
+ ....
1572
+ <span class="region">Colorado</span>
1573
+ ....
1574
+
1575
+ [#element-relref]
1576
+ === &lt;relref&gt;
1577
+
1578
+
1579
+ This element is rendered as an HTML &lt;a&gt; tag with CSS class
1580
+ "relref" and "href" attribute of the "derivedLink" attribute of the
1581
+ element. Different values of the "displayFormat" attribute cause
1582
+ the text inside that HTML &lt;a&gt; tag to change and cause extra
1583
+ text to be generated. Some values of the "displayFormat"
1584
+ attribute also cause another HTML &lt;a&gt; tag to be rendered
1585
+ with CSS class "xref" and an "href" of "#" and the "target" attribute
1586
+ (modified by any applicable &lt;displayreference&gt; XML element)
1587
+ and text inside of the "target" attribute
1588
+ (modified by any applicable &lt;displayreference&gt; XML element).
1589
+ When used, this &lt;a class='xref'&gt; HTML tag is always surrounded
1590
+ by square brackets, for example, "[&lt;a class='xref' href='#foo'&gt;foo&lt;/a&gt;]".
1591
+
1592
+ [#element-relref-df-of]
1593
+ ==== displayFormat='of'
1594
+
1595
+ The output is an &lt;a class='relref'&gt; HTML tag, with
1596
+ contents of "Section " and the value of the "section" attribute.
1597
+ This is followed by the word "of" (surrounded by whitespace). This
1598
+ is followed by the &lt;a class='xref'&gt; HTML tag (surrounded by
1599
+ square brackets).
1600
+
1601
+ For example, with an input of:
1602
+
1603
+ ....
1604
+ See <relref section="2.3" target="RFC9999" displayFormat="of"
1605
+ derivedLink="http://www.rfc-editor.org/info/rfc9999#s-2.3"/>
1606
+ for an overview.
1607
+ ....
1608
+
1609
+
1610
+ The HTML generated will be:
1611
+
1612
+ ....
1613
+ See <a class="relref"
1614
+ href="http://www.rfc-editor.org/info/rfc9999#s-2.3">Section
1615
+ 2.3</a> of [<a class="xref" href="#RFC9999">RFC9999</a>]
1616
+ for an overview.
1617
+ ....
1618
+
1619
+ [#element-relref-df-comma]
1620
+ ==== displayFormat='comma'
1621
+
1622
+ The output is an &lt;a class='xref'&gt; HTML tag (wrapped by
1623
+ square brackets), followed by a comma (","), followed by
1624
+ whitespace, followed by an &lt;a class='relref'&gt; HTML tag, with
1625
+ contents of "Section " and the value of the "section"
1626
+ attribute.
1627
+
1628
+ For example, with an input of:
1629
+
1630
+ ....
1631
+ See <relref section="2.3" target="RFC9999" displayFormat="comma"
1632
+ derivedLink="http://www.rfc-editor.org/info/rfc9999#s-2.3"/>,
1633
+ for an overview.
1634
+ ....
1635
+
1636
+
1637
+ The HTML generated will be:
1638
+
1639
+ ....
1640
+ See [<a class="xref" href="#RFC9999">RFC9999</a>], <a class="relref"
1641
+ href="http://www.rfc-editor.org/info/rfc9999#s-2.3">Section 2.3</a>,
1642
+ for an overview.
1643
+ ....
1644
+
1645
+ [#element-relref-df-parens]
1646
+ ==== displayFormat='parens'
1647
+
1648
+ The output is an &lt;a&gt; element with "href" attribute whose value
1649
+ is the value of the "target" attribute prepended by "#", and whose
1650
+ content is the value of the "target" attribute; the entire element
1651
+ is wrapped in square brackets. This is followed by whitespace.
1652
+ This is followed by an &lt;a&gt; element whose "href" attribute is
1653
+ the value of the "derivedLink" attribute and whose content is the
1654
+ value of the "derivedRemoteContent" attribute; the entire element is
1655
+ wrapped in parentheses.
1656
+
1657
+ For example, if Section 2.3 of RFC 9999 has the title "Protocol
1658
+ Overview", for an input of:
1659
+
1660
+ ....
1661
+ See <relref section="2.3" target="RFC9999" displayFormat="parens"
1662
+ derivedLink="http://www.rfc-editor.org/info/rfc9999#s-2.3"
1663
+ derivedRemoteContent="Section 2.3"/> for an overview.
1664
+ ....
1665
+
1666
+
1667
+ The HTML generated will be:
1668
+
1669
+ ....
1670
+ See [<a class="relref" href="#RFC9999">RFC9999</a>]
1671
+ (<a class="relref"
1672
+ href="http://www.rfc-editor.org/info/rfc9999#s-2.3">Section
1673
+ 2.3</a>) for an overview.
1674
+ ....
1675
+
1676
+ [#element-relref-df-bare]
1677
+ ==== displayFormat='bare'
1678
+
1679
+ The output is an &lt;a&gt; element whose "href" attribute is
1680
+ the value of the "derivedLink" attribute and whose content is the
1681
+ value of the "derivedRemoteContent" attribute.
1682
+
1683
+ For this input:
1684
+
1685
+ ....
1686
+ See <relref section="2.3" target="RFC9999" displayFormat="bare"
1687
+ derivedLink="http://www.rfc-editor.org/info/rfc9999#s-2.3"
1688
+ derivedRemoteContent="Section 2.3"/> and ...
1689
+ ....
1690
+
1691
+
1692
+ The HTML generated will be:
1693
+
1694
+ ....
1695
+ See <a class="relref"
1696
+ href="http://www.rfc-editor.org/info/rfc9999#s-2.3">Section
1697
+ 2.3</a> and ...
1698
+ ....
1699
+
1700
+
1701
+ [#element-rfc]
1702
+ === &lt;rfc&gt;
1703
+
1704
+ Various attributes of this element are represented in different parts of the HTML
1705
+ document.
1706
+
1707
+ [#element-section]
1708
+ === &lt;section&gt;
1709
+
1710
+ This element is rendered as an HTML &lt;section&gt; element,
1711
+ containing an appropriate level HTML heading element
1712
+ (&lt;h2&gt;-&lt;h6&gt;). That heading element contains an &lt;a&gt;
1713
+ element around the part number (pn), if applicable (for instance,
1714
+ &lt;abstract&gt; does not get a section number). Another &lt;a&gt;
1715
+ element is included with the section's name.
1716
+
1717
+ ....
1718
+ <section id="intro">
1719
+ <h2 id="s-1">
1720
+ <a href="#s-1" class="selfRef">1.</a>
1721
+ <a href="#intro" class="selfRef">Introduction</a>
1722
+ </h2>
1723
+ <p id="s-1-1">Paragraph <a href="#s-1-1" class="pilcrow">&para;</a>
1724
+ </p>
1725
+ </section>
1726
+ ....
1727
+
1728
+ [#element-seriesInfo]
1729
+ === &lt;seriesInfo&gt;
1730
+
1731
+ This element is rendered in an HTML &lt;span&gt; element with CSS
1732
+ name "seriesInfo".
1733
+
1734
+ ....
1735
+ <span class="seriesInfo">RFC 5646</span>
1736
+ ....
1737
+
1738
+ [#element-sourcecode]
1739
+ === &lt;sourcecode&gt;
1740
+
1741
+ This element is rendered in an HTML &lt;pre&gt; element with a CSS class of
1742
+ "sourcecode". Note that CDATA blocks do not work consistently in
1743
+ HTML, so all &lt;, &gt;, and &amp; must be escaped as &amp;lt;,
1744
+ &amp;gt;, and &amp;amp;, respectively. If the input XML has a "type"
1745
+ attribute, another CSS class of "lang-" and the type is added.
1746
+
1747
+ If the sourcecode is not inside a &lt;figure&gt; element, a
1748
+ <<pilcrows,pilcrow>> is included. Inside a
1749
+ &lt;figure&gt; element, the figure title serves the purpose of the
1750
+ pilcrow.
1751
+
1752
+ ....
1753
+ <pre class="sourcecode lang-c">
1754
+ #include &lt;stdio.h&gt;
1755
+ int main(void)
1756
+ {
1757
+ printf(&quot;hello, world\n&quot;);
1758
+ return 0;
1759
+ }
1760
+ </pre>
1761
+ ....
1762
+
1763
+ [#element-street]
1764
+ === &lt;street&gt;
1765
+
1766
+ This element renders as an HTML &lt;div&gt; element with CSS class
1767
+ "street-address".
1768
+
1769
+ ....
1770
+ <div class="street-address">1899 Wynkoop St, Suite 600</div>
1771
+ ....
1772
+
1773
+ [#element-strong]
1774
+ === &lt;strong&gt;
1775
+
1776
+ This element is directly rendered as its HTML counterpart.
1777
+
1778
+ [#element-sub]
1779
+ === &lt;sub&gt;
1780
+
1781
+ This element is directly rendered as its HTML counterpart.
1782
+
1783
+ [#element-sup]
1784
+ === &lt;sup&gt;
1785
+
1786
+ This element is directly rendered as its HTML counterpart.
1787
+
1788
+ [#element-t]
1789
+ === &lt;t&gt;
1790
+
1791
+ This element is rendered as an HTML &lt;p&gt; element. A
1792
+ <<pilcrows,pilcrow>> is included.
1793
+
1794
+ ....
1795
+ <p id="s-1-1">A paragraph.
1796
+ <a href="#s-1-1" class="pilcrow">&para;</a></p>
1797
+ ....
1798
+
1799
+ [#element-table]
1800
+ === &lt;table&gt;
1801
+
1802
+ This element is directly rendered as its HTML counterpart.
1803
+
1804
+ [#element-tbody]
1805
+ === &lt;tbody&gt;
1806
+
1807
+ This element is directly rendered as its HTML counterpart.
1808
+
1809
+ [#element-td]
1810
+ === &lt;td&gt;
1811
+
1812
+ This element is directly rendered as its HTML counterpart.
1813
+
1814
+ [#element-tfoot]
1815
+ === &lt;tfoot&gt;
1816
+
1817
+ This element is directly rendered as its HTML counterpart.
1818
+
1819
+ [#element-th]
1820
+ === &lt;th&gt;
1821
+
1822
+ This element is directly rendered as its HTML counterpart.
1823
+
1824
+ [#element-thead]
1825
+ === &lt;thead&gt;
1826
+
1827
+ This element is directly rendered as its HTML counterpart.
1828
+
1829
+ [#element-title]
1830
+ === &lt;title&gt;
1831
+
1832
+ The title of the document appears in a &lt;title&gt; element in the
1833
+ &lt;head&gt; element, as described in <<head-title>>.
1834
+
1835
+ The title also appears in an &lt;h1&gt; element and follows directly
1836
+ after the Document Information. The &lt;h1&gt; element has an &quot;id&quot;
1837
+ attribute with value "title".
1838
+
1839
+ ....
1840
+ <h1 id="title">HyperText Markup Language Request For
1841
+ Comments Format</h1>
1842
+
1843
+ ....
1844
+
1845
+ Inside a reference, the title is rendered as an HTML &lt;span&gt;
1846
+ tag with CSS class "refTitle". The text is surrounded by quotes
1847
+ inside the &lt;span&gt;.
1848
+
1849
+ ....
1850
+ <span class="refTitle">"Tags for Identifying Languages"</span>
1851
+ ....
1852
+
1853
+ [#element-tr]
1854
+ === &lt;tr&gt;
1855
+
1856
+ This element is directly rendered as its HTML counterpart.
1857
+
1858
+ [#element-tt]
1859
+ === &lt;tt&gt;
1860
+
1861
+ This element is rendered as an HTML &lt;code&gt; element.
1862
+
1863
+ [#element-ul]
1864
+ === &lt;ul&gt;
1865
+
1866
+ This element is directly rendered as its HTML counterpart. If the
1867
+ "spacing" attribute has the value "compact", a CSS class of "ulCompact"
1868
+ will be added. If the "empty" attribute has the value "true", a CSS
1869
+ class of "ulEmpty" will be added.
1870
+
1871
+ [#element-uri]
1872
+ === &lt;uri&gt;
1873
+
1874
+
1875
+
1876
+ This element is
1877
+ rendered as an HTML &lt;div&gt; containing the string "URI:" and
1878
+ an HTML &lt;a&gt; element with the "href" attribute set to the
1879
+ linked URI, CSS class of "url" (note that the value is "url", not "uri" as one might expect), and the contents
1880
+ set to the linked URI.
1881
+
1882
+
1883
+ ....
1884
+ <div>URI:
1885
+ <a href="http://www.example.com"
1886
+ class="url">http://www.example.com</a>
1887
+ </div>
1888
+ ....
1889
+
1890
+ [#element-workgroup]
1891
+ === &lt;workgroup&gt;
1892
+
1893
+ This element does not add any direct output to HTML.
1894
+
1895
+ [#element-xref]
1896
+ === &lt;xref&gt;
1897
+
1898
+ This element is rendered as an HTML &lt;a&gt; element containing an
1899
+ appropriate local link as the "href" attribute. The value of the
1900
+ "href" attribute is taken from the "target" attribute,
1901
+ prepended by "#". The &lt;a&gt; element generated will have
1902
+ class "xref". The contents of the &lt;a&gt; element are
1903
+ the value of the "derivedContent" attribute. If the "format"
1904
+ attribute has the value "default", and the "target" attribute points
1905
+ to a &lt;reference&gt; or &lt;referencegroup&gt; element, then
1906
+ the generated &lt;a&gt; element is surrounded by square brackets
1907
+ in the output.
1908
+
1909
+ ....
1910
+ <a class="xref" href="#target">Table 2</a>
1911
+ ....
1912
+
1913
+ or
1914
+
1915
+ ....
1916
+ [<a class="xref" href="#RFC1234">RFC1234</a>]
1917
+
1918
+ ....
1919
+
1920
+ [#element-svg]
1921
+ === &lt;svg xmlns='http://www.w3.org/2000/svg'&gt;
1922
+
1923
+ This element is rendered as part of the &lt;artwork&gt; element.
1924
+ The "xmlns='http://www.w3.org/2000/svg'" namespace declaration should
1925
+ be included, and the SVG should be serialized as well-formed XML,
1926
+ even for tags that would otherwise not need closing in HTML5.
1927
+
1928
+ [#security-considerations]
1929
+ == Security Considerations
1930
+
1931
+ Since RFCs are sometimes exchanged outside the normal Web sandboxing mechanism
1932
+ (such as using the "rsync" program to a mirror site) then loaded from a local file, more care must be taken
1933
+ with the HTML than is ordinary on the web.
1934
+
1935
+ [bibliography]
1936
+ == Normative References
1937
+ ++++
1938
+ <reference anchor="RFC2397" target="https://www.rfc-editor.org/info/rfc2397">
1939
+ <front>
1940
+ <title>The "data" URL scheme</title>
1941
+ <author initials="L." surname="Masinter" fullname="L. Masinter">
1942
+ <organization/>
1943
+ </author>
1944
+ <date year="1998" month="August"/>
1945
+ <abstract>
1946
+ <t>
1947
+ A new URL scheme, "data", is defined. It allows inclusion of small data items as "immediate" data, as if it had been included externally. [STANDARDS-TRACK]
1948
+ </t>
1949
+ </abstract>
1950
+ </front>
1951
+ <seriesInfo name="RFC" value="2397"/>
1952
+ <seriesInfo name="DOI" value="10.17487/RFC2397"/>
1953
+ </reference>
1954
+
1955
+ <reference anchor="RFC3629" target="https://www.rfc-editor.org/info/rfc3629">
1956
+ <front>
1957
+ <title>UTF-8, a transformation format of ISO 10646</title>
1958
+ <author initials="F." surname="Yergeau" fullname="F. Yergeau">
1959
+ <organization/>
1960
+ </author>
1961
+ <date year="2003" month="November"/>
1962
+ <abstract>
1963
+ <t>
1964
+ ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.
1965
+ </t>
1966
+ </abstract>
1967
+ </front>
1968
+ <seriesInfo name="STD" value="63"/>
1969
+ <seriesInfo name="RFC" value="3629"/>
1970
+ <seriesInfo name="DOI" value="10.17487/RFC3629"/>
1971
+ </reference>
1972
+
1973
+ <reference anchor="RFC5646" target="https://www.rfc-editor.org/info/rfc5646">
1974
+ <front>
1975
+ <title>Tags for Identifying Languages</title>
1976
+ <author initials="A." surname="Phillips" fullname="A. Phillips" role="editor">
1977
+ <organization/>
1978
+ </author>
1979
+ <author initials="M." surname="Davis" fullname="M. Davis" role="editor">
1980
+ <organization/>
1981
+ </author>
1982
+ <date year="2009" month="September"/>
1983
+ <abstract>
1984
+ <t>
1985
+ This document describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object. It also describes how to register values for use in language tags and the creation of user-defined extensions for private interchange. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.
1986
+ </t>
1987
+ </abstract>
1988
+ </front>
1989
+ <seriesInfo name="BCP" value="47"/>
1990
+ <seriesInfo name="RFC" value="5646"/>
1991
+ <seriesInfo name="DOI" value="10.17487/RFC5646"/>
1992
+ </reference>
1993
+
1994
+ <reference anchor="RFC7322" target="https://www.rfc-editor.org/info/rfc7322">
1995
+ <front>
1996
+ <title>RFC Style Guide</title>
1997
+ <author initials="H." surname="Flanagan" fullname="H. Flanagan">
1998
+ <organization/>
1999
+ </author>
2000
+ <author initials="S." surname="Ginoza" fullname="S. Ginoza">
2001
+ <organization/>
2002
+ </author>
2003
+ <date year="2014" month="September"/>
2004
+ <abstract>
2005
+ <t>
2006
+ This document describes the fundamental and unique style conventions and editorial policies currently in use for the RFC Series. It captures the RFC Editor's basic requirements and offers guidance regarding the style and structure of an RFC. Additional guidance is captured on a website that reflects the experimental nature of that guidance and prepares it for future inclusion in the RFC Style Guide. This document obsoletes RFC 2223, "Instructions to RFC Authors".
2007
+ </t>
2008
+ </abstract>
2009
+ </front>
2010
+ <seriesInfo name="RFC" value="7322"/>
2011
+ <seriesInfo name="DOI" value="10.17487/RFC7322"/>
2012
+ </reference>
2013
+
2014
+ <reference anchor='BCP14' target='http://www.rfc-editor.org/info/bcp14'>
2015
+ <front>
2016
+ <title>Key words for use in RFCs to Indicate Requirement Levels</title>
2017
+ <author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
2018
+ <date year='1997' month='March' />
2019
+ <abstract>
2020
+ <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
2021
+ </front>
2022
+ <seriesInfo name='BCP' value='14'/>
2023
+ <seriesInfo name='RFC' value='2119'/>
2024
+ </reference>
2025
+
2026
+
2027
+ <!--&I-D.iab-rfc-css; Companion Document-->
2028
+
2029
+
2030
+ <reference anchor='RFC7993' target='http://www.rfc-editor.org/info/rfc7993'>
2031
+ <front>
2032
+ <title>Cascading Style Sheets (CSS) Requirements for RFCs</title>
2033
+
2034
+ <author initials='H' surname='Flanagan' fullname='Heather Flanagan'>
2035
+ <organization />
2036
+ </author>
2037
+
2038
+ <date month='December' year='2016' />
2039
+
2040
+ <abstract>
2041
+ <t>The HTML format for RFCs, described in [I-D.iab-html-rfc] assigns style guidance to an RFC Editor-defined Cascading Style Sheet (CSS). The embedded, default CSS as included by the RFC Editor is expected to take into account accessibility needs and be built along a responsive design model. This document describes the requirements for the default CSS used by the RFC Editor. The class names are based on the classes defined in draft-iab-html-rfc. 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.</t></abstract>
2042
+
2043
+ </front>
2044
+
2045
+ <seriesInfo name='RFC' value='7993' />
2046
+ <seriesInfo name="DOI" value="10.17487/RFC7993"/>
2047
+
2048
+ </reference>
2049
+
2050
+
2051
+ <!--&I-D.iab-xml2rfc; Companion Document-->
2052
+
2053
+ <reference anchor='RFC7991' target='http://www.rfc-editor.org/info/rfc7991'>
2054
+ <front>
2055
+ <title>The "xml2rfc" Version 3 Vocabulary</title>
2056
+
2057
+ <author initials='P' surname='Hoffman' fullname='Paul E. Hoffman'>
2058
+ <organization />
2059
+ </author>
2060
+
2061
+ <date month='December' year='2016' />
2062
+
2063
+ </front>
2064
+
2065
+ <seriesInfo name='RFC' value='7991' />
2066
+ <seriesInfo name="DOI" value="10.17487/RFC7991"/>
2067
+
2068
+ </reference>
2069
+
2070
+
2071
+ <!--&W3C.REC-html5-20141028; -->
2072
+
2073
+ <reference anchor='W3C.REC-html5-20141028'
2074
+ target='http://www.w3.org/TR/2014/REC-html5-20141028'>
2075
+ <front>
2076
+ <title>HTML5</title>
2077
+
2078
+ <author initials='I.' surname='Hickson' fullname='Ian Hickson'>
2079
+ <organization />
2080
+ </author>
2081
+
2082
+ <author initials='R.' surname='Berjon' fullname='Robin Berjon'>
2083
+ <organization />
2084
+ </author>
2085
+
2086
+ <author initials='S.' surname='Faulkner' fullname='Steve Faulkner'>
2087
+ <organization />
2088
+ </author>
2089
+
2090
+ <author initials='T.' surname='Leithead' fullname='Travis Leithead'>
2091
+ <organization />
2092
+ </author>
2093
+
2094
+ <author initials='E.' surname='Navara' fullname='Erika Doyle Navara'>
2095
+ <organization />
2096
+ </author>
2097
+
2098
+ <author initials='T.' surname='O&#039;Connor' fullname='Theresa O&#039;Connor'>
2099
+ <organization />
2100
+ </author>
2101
+
2102
+ <author initials='S.' surname='Pfeiffer' fullname='Silvia Pfeiffer'>
2103
+ <organization />
2104
+ </author>
2105
+
2106
+ <date month='October' day='28' year='2014' />
2107
+ </front>
2108
+
2109
+ <seriesInfo name='World Wide Web Consortium Recommendation' value='REC-html5-20141028' />
2110
+ <format type='HTML' target='http://www.w3.org/TR/2014/REC-html5-20141028' />
2111
+ </reference>
2112
+
2113
+
2114
+ <reference anchor="W3C.REC-CSS2-20110607" target="http://www.w3.org/TR/2011/REC-CSS2-20110607">
2115
+ <front>
2116
+ <title>Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</title>
2117
+ <author initials="B." surname="Bos" fullname="Bert Bos">
2118
+ <organization/>
2119
+ </author>
2120
+ <author initials="T." surname="Celik" fullname="Tantek Celik">
2121
+ <organization/>
2122
+ </author>
2123
+ <author initials="I." surname="Hickson" fullname="Ian Hickson">
2124
+ <organization/>
2125
+ </author>
2126
+ <author initials="H." surname="Lie" fullname="Hakon Wium Lie">
2127
+ <organization/>
2128
+ </author>
2129
+ <date month="June" day="7" year="2011"/>
2130
+ </front>
2131
+ <seriesInfo name="World Wide Web Consortium Recommendation" value="REC-CSS2-20110607"/>
2132
+ <format type="HTML" target="http://www.w3.org/TR/2011/REC-CSS2-20110607"/>
2133
+ </reference>
2134
+ ++++
2135
+
2136
+ [bibliography]
2137
+ == Informative References
2138
+ ++++
2139
+ <reference anchor="RFC-STYLE"
2140
+ target="https://www.rfc-editor.org/styleguide/">
2141
+ <front>
2142
+ <title>Style Guide</title>
2143
+ <author >
2144
+ <organization>RFC Editor</organization>
2145
+ </author>
2146
+ <date/>
2147
+ </front>
2148
+ </reference>
2149
+
2150
+
2151
+ <reference anchor="W3C.WD-css3-page-20130314" target="http://www.w3.org/TR/2013/WD-css3-page-20130314">
2152
+ <front>
2153
+ <title>CSS Paged Media Module Level 3</title>
2154
+ <author initials="M." surname="Grant" fullname="Melinda Grant">
2155
+ <organization/>
2156
+ </author>
2157
+ <author initials="E." surname="Etemad" fullname="Elika Etemad">
2158
+ <organization/>
2159
+ </author>
2160
+ <author initials="H." surname="Lie" fullname="Hakon Wium Lie">
2161
+ <organization/>
2162
+ </author>
2163
+ <author initials="S." surname="Sapin" fullname="Simon Sapin">
2164
+ <organization/>
2165
+ </author>
2166
+ <date month="March" day="14" year="2013"/>
2167
+ </front>
2168
+ <seriesInfo name="World Wide Web Consortium WD" value="WD-css3-page-20130314"/>
2169
+ <format type="HTML" target="http://www.w3.org/TR/2013/WD-css3-page-20130314"/>
2170
+ </reference>
2171
+
2172
+ <reference anchor="HCARD" target="http://microformats.org/wiki/hcard">
2173
+ <front>
2174
+ <title>hCard 1.0</title>
2175
+ <author initials="T." surname = "Celik" fullname="Tantek Celik"/>
2176
+ <date year="2015"/>
2177
+ </front>
2178
+ </reference>
2179
+
2180
+
2181
+
2182
+
2183
+ <reference anchor="RFC6949" target="https://www.rfc-editor.org/info/rfc6949">
2184
+ <front>
2185
+ <title>
2186
+ RFC Series Format Requirements and Future Development
2187
+ </title>
2188
+ <author initials="H." surname="Flanagan" fullname="H. Flanagan">
2189
+ <organization/>
2190
+ </author>
2191
+ <author initials="N." surname="Brownlee" fullname="N. Brownlee">
2192
+ <organization/>
2193
+ </author>
2194
+ <date year="2013" month="May"/>
2195
+ <abstract>
2196
+ <t>
2197
+ This document describes the current requirements and requests for enhancements for the format of the canonical version of RFCs. Terms are defined to help clarify exactly which stages of document production are under discussion for format changes. The requirements described in this document will determine what changes will be made to RFC format. This document updates RFC 2223.
2198
+ </t>
2199
+ </abstract>
2200
+ </front>
2201
+ <seriesInfo name="RFC" value="6949"/>
2202
+ <seriesInfo name="DOI" value="10.17487/RFC6949"/>
2203
+ </reference>
2204
+ <!--&I-D.iab-rfcv3-preptool; Companion Doc-->
2205
+
2206
+
2207
+
2208
+ <reference anchor='RFC7998' target='http://www.rfc-editor.org/info/rfc7998'>
2209
+ <front>
2210
+ <title>"xml2rfc" Version 3 Preparation Tool Description</title>
2211
+
2212
+ <author initials='P' surname='Hoffman' fullname='Paul E. Hoffman'>
2213
+ <organization />
2214
+ </author>
2215
+
2216
+ <author initials='J' surname='Hildebrand' fullname='Joe Hildebrand'>
2217
+ <organization />
2218
+ </author>
2219
+
2220
+ <date month='December' year='2016' />
2221
+
2222
+ <abstract>
2223
+ <t>This document describes some aspects of the "prep tool" that is expected to be created when the new RFC v3 specification is deployed.</t></abstract>
2224
+
2225
+ </front>
2226
+
2227
+ <seriesInfo name='RFC' value='7998' />
2228
+ <seriesInfo name="DOI" value="10.17487/RFC7998"/>
2229
+
2230
+ </reference>
2231
+
2232
+
2233
+ <!--&I-D.iab-rfc-framework; Companion doc-->
2234
+
2235
+
2236
+
2237
+ <reference anchor='RFC7990' target='http://www.rfc-editor.org/info/rfc7990'>
2238
+ <front>
2239
+ <title>RFC Format Framework</title>
2240
+
2241
+ <author initials='H' surname='Flanagan' fullname='Heather Flanagan'>
2242
+ <organization />
2243
+ </author>
2244
+
2245
+ <date month='December' year='2016' />
2246
+
2247
+ <abstract>
2248
+ <t>The canonical format for the RFC Series has been plain-text, ASCII-encoded for several decades. After extensive community discussion and debate, the RFC Editor will be transitioning to XML as the canonical format using the XML2RFC version 3 vocabulary. Different publication formats will be rendered from that base document. These changes are intended to increase the usability of the RFC Series by offering documents that match the needs of a wider variety of stakeholders. With these changes, however, comes an increase in complexity for authors, consumers, and the publisher of RFCs. This document serves as the framework that describes the problems being solved and summarizes the many documents that capture the specific requirements for each aspect of the change in format.</t></abstract>
2249
+
2250
+ </front>
2251
+
2252
+ <seriesInfo name='RFC' value='7990' />
2253
+ <seriesInfo name="DOI" value="10.17487/RFC7990"/>
2254
+ <format type='TXT'
2255
+ target='http://www.ietf.org/internet-drafts/draft-iab-rfc-framework-06.txt' />
2256
+ </reference>
2257
+ ++++
2258
+
2259
+ :sectnums!:
2260
+ == IAB Members at the Time of Approval
2261
+
2262
+ The IAB members at the time this memo was approved were (in alphabetical order):
2263
+
2264
+ [spacing=compact]
2265
+ * Jari Arkko
2266
+
2267
+ * Ralph Droms
2268
+
2269
+ * Ted Hardie
2270
+
2271
+ * Joe Hildebrand
2272
+
2273
+ * Russ Housley
2274
+
2275
+ * Lee Howard
2276
+
2277
+ * Erik Nordmark
2278
+
2279
+ * Robert Sparks
2280
+
2281
+ * Andrew Sullivan
2282
+
2283
+ * Dave Thaler
2284
+
2285
+ * Martin Thomson
2286
+
2287
+ * Brian Trammell
2288
+
2289
+ * Suzanne Woolf
2290
+
2291
+ [#appendix-a-acknowledgments]
2292
+ == Acknowledgments
2293
+
2294
+ Heather Flanangan was an early coauthor of this document and helped its formation.
2295
+ The authors gratefully acknowledge the contributions of: Patrick Linskey and the
2296
+ members of the RFC Format Design Team (Nevil Brownlee (ISE), Tony Hansen,
2297
+ Ted Lemon, Julian Reschke, Adam Roach, Alice Russo, Robert Sparks
2298
+ (Tools Team liaison), and
2299
+ Dave Thaler).
2300
+