source: rfc2629xslt/rfc2629xslt.txt

Last change on this file was 2762, checked in by julian.reschke@…, 11 months ago

update specs and rfc2629.xslt

  • Property svn:eol-style set to native
File size: 155.9 KB
Line 
1
2
3
4
5                                                              J. Reschke
6                                                              greenbytes
7                                                         October 2, 2021
8
9
10            Transforming RFC7749-formatted XML through XSLT
11
12Table of Contents
13
14   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   4
15   2.  Supported RFC7749 elements  . . . . . . . . . . . . . . . . .   5
16     2.1.  Extension elements  . . . . . . . . . . . . . . . . . . .   5
17   3.  Processing Instructions . . . . . . . . . . . . . . . . . . .   6
18     3.1.  Supported xml2rfc-compatible PIs  . . . . . . . . . . . .   6
19     3.2.  Unsupported xml2rfc-compatible PIs  . . . . . . . . . . .   9
20     3.3.  Extension PIs . . . . . . . . . . . . . . . . . . . . . .   9
21       3.3.1.  abort-on - Log Level  . . . . . . . . . . . . . . . .   9
22       3.3.2.  allow-markup-in-artwork - Allow certain XML elements
23               inside <artwork> and <sourcecode> . . . . . . . . . .  10
24       3.3.3.  authors-section - Placement of 'Authors' Section  . .  10
25       3.3.4.  css-contents - CSS Contents . . . . . . . . . . . . .  10
26       3.3.5.  css-resource - Custom CSS Resource  . . . . . . . . .  11
27       3.3.6.  dark-mode - Switch for Enabling 'Dark Mode' Support .  11
28       3.3.7.  diff-uri - URI Template for Internet Draft Diff Links  11
29       3.3.8.  doi-uri - URI Template for DOI Links  . . . . . . . .  12
30       3.3.9.  duplex - Support Duplex Printing  . . . . . . . . . .  12
31       3.3.10. errata - Embed Errata Information . . . . . . . . . .  12
32       3.3.11. html-pretty-print - Switch for Enabling Pretty
33               Printing of Code  . . . . . . . . . . . . . . . . . .  13
34       3.3.12. include-generator - Switch for Disabling Generator
35               Information in Output . . . . . . . . . . . . . . . .  13
36       3.3.13. include-index - Switch for Disabling Index Generation  14
37       3.3.14. include-references-in-index - Generate Index Entries
38               for References  . . . . . . . . . . . . . . . . . . .  14
39       3.3.15. insert-metadata - Dynamic Metadata Insertion in HTML   14
40       3.3.16. internet-draft-base-uri - base URI for RFC reference
41               files . . . . . . . . . . . . . . . . . . . . . . . .  15
42       3.3.17. internet-draft-uri - URI Template for Interned Drafts  15
43       3.3.18. justification - Text Justification  . . . . . . . . .  15
44       3.3.19. isbn-uri - URI Template for ISBNs . . . . . . . . . .  16
45       3.3.20. log-level - Log Level . . . . . . . . . . . . . . . .  16
46       3.3.21. maxwidth - Maximal Text Width in HTML . . . . . . . .  16
47       3.3.22. parse-xml-in-artwork - Parse and Check XML in artwork  17
48       3.3.23. rfc-errata-uri - URI Template for RFC Errata  . . . .  17
49       3.3.24. rfc-erratum-uri - URI Template for a specific RFC
50               Erratum . . . . . . . . . . . . . . . . . . . . . . .  17
51       3.3.25. rfc-reference--base-uri - base URI for RFC reference
52               files . . . . . . . . . . . . . . . . . . . . . . . .  18
53
54
55
56Reschke                   Expires April 5, 2022                 [Page 1]
57
58Documentation             RFC7749 through XSLT              October 2021
59
60
61       3.3.26. rfc-uri - URI Template for HTML Version of RFCs . . .  18
62       3.3.27. sec-no-trailing-dots - Disable Trailing Dots in
63               Section Numbers . . . . . . . . . . . . . . . . . . .  18
64       3.3.28. support-rfc2731 - Support RFC 2731 Metadata . . . . .  19
65       3.3.29. ucd-file - Filename of Unicode Database . . . . . . .  19
66       3.3.30. xml2rfc-backend - Select xml2rfc Target Version . . .  20
67       3.3.31. xref-with-text-generate - Default Handling of <xref>
68               with Text Content . . . . . . . . . . . . . . . . . .  20
69   4.  Anchors . . . . . . . . . . . . . . . . . . . . . . . . . . .  20
70   5.  Supported XSLT engines  . . . . . . . . . . . . . . . . . . .  22
71     5.1.  Standalone Engines  . . . . . . . . . . . . . . . . . . .  22
72     5.2.  In-Browser Engines  . . . . . . . . . . . . . . . . . . .  22
73   6.  Transforming to HTML  . . . . . . . . . . . . . . . . . . . .  23
74     6.1.  HTML compliance . . . . . . . . . . . . . . . . . . . . .  24
75     6.2.  Standard HTML LINK elements . . . . . . . . . . . . . . .  25
76     6.3.  Standard HTML metadata  . . . . . . . . . . . . . . . . .  26
77     6.4.  Dublin Core (RFC2731) metadata  . . . . . . . . . . . . .  26
78     6.5.  Insertion of Live RFC Meta Data . . . . . . . . . . . . .  27
79     6.6.  Insertion of RFC Errata Links . . . . . . . . . . . . . .  28
80   7.  Transforming to XHTML . . . . . . . . . . . . . . . . . . . .  29
81   8.  Transforming to CHM (Microsoft Compiled Help) . . . . . . . .  29
82   9.  Transforming to PDF . . . . . . . . . . . . . . . . . . . . .  29
83     9.1.  Via XSL-FO  . . . . . . . . . . . . . . . . . . . . . . .  29
84       9.1.1.  Example: producing output for Apache FOP  . . . . . .  30
85     9.2.  Via HTML  . . . . . . . . . . . . . . . . . . . . . . . .  30
86   10. Transforming to ePub  . . . . . . . . . . . . . . . . . . . .  30
87   11. Generic Extensions  . . . . . . . . . . . . . . . . . . . . .  30
88     11.1.  <abnf-char-sequence> element . . . . . . . . . . . . . .  30
89     11.2.  <anchor-alias> element . . . . . . . . . . . . . . . . .  31
90     11.3.  <bb> element . . . . . . . . . . . . . . . . . . . . . .  31
91     11.4.  <bc> element . . . . . . . . . . . . . . . . . . . . . .  31
92     11.5.  <bcp14> element  . . . . . . . . . . . . . . . . . . . .  31
93     11.6.  <blockquote> element . . . . . . . . . . . . . . . . . .  32
94     11.7.  <bt> element . . . . . . . . . . . . . . . . . . . . . .  32
95     11.8.  <c> element  . . . . . . . . . . . . . . . . . . . . . .  32
96     11.9.  <contributor> element  . . . . . . . . . . . . . . . . .  33
97     11.10. <dfn> element  . . . . . . . . . . . . . . . . . . . . .  33
98     11.11. <feedback> element . . . . . . . . . . . . . . . . . . .  33
99     11.12. <h> element  . . . . . . . . . . . . . . . . . . . . . .  33
100     11.13. <highlight> element  . . . . . . . . . . . . . . . . . .  33
101     11.14. <length-of> element  . . . . . . . . . . . . . . . . . .  33
102     11.15. <link> element . . . . . . . . . . . . . . . . . . . . .  34
103     11.16. <lt> element . . . . . . . . . . . . . . . . . . . . . .  34
104     11.17. <note> element . . . . . . . . . . . . . . . . . . . . .  35
105     11.18. <parse-xml> element  . . . . . . . . . . . . . . . . . .  35
106     11.19. <prose> element  . . . . . . . . . . . . . . . . . . . .  35
107     11.20. <q> element  . . . . . . . . . . . . . . . . . . . . . .  35
108     11.21. <ref> element  . . . . . . . . . . . . . . . . . . . . .  35
109
110
111
112Reschke                   Expires April 5, 2022                 [Page 2]
113
114Documentation             RFC7749 through XSLT              October 2021
115
116
117     11.22. <source> element . . . . . . . . . . . . . . . . . . . .  36
118     11.23. <sup> element  . . . . . . . . . . . . . . . . . . . . .  36
119     11.24. <u-map> element  . . . . . . . . . . . . . . . . . . . .  36
120     11.25. Extensions to <artwork> element  . . . . . . . . . . . .  36
121     11.26. Extensions to <date> element . . . . . . . . . . . . . .  37
122     11.27. Extensions to <eref> element . . . . . . . . . . . . . .  37
123     11.28. Extensions to <iref> element . . . . . . . . . . . . . .  37
124     11.29. Extensions to <list> element . . . . . . . . . . . . . .  38
125     11.30. Extensions to <rfc> element  . . . . . . . . . . . . . .  38
126     11.31. Extensions to <section> element  . . . . . . . . . . . .  38
127     11.32. Extensions to <xref> element . . . . . . . . . . . . . .  38
128   12. Experimental Support for RFC7991bis Vocabulary  . . . . . . .  39
129     12.1.  artset Element . . . . . . . . . . . . . . . . . . . . .  39
130     12.2.  aside Element  . . . . . . . . . . . . . . . . . . . . .  39
131     12.3.  bcp14 Element  . . . . . . . . . . . . . . . . . . . . .  39
132     12.4.  blockquote Element . . . . . . . . . . . . . . . . . . .  39
133     12.5.  boilerplate Element  . . . . . . . . . . . . . . . . . .  40
134     12.6.  br Element . . . . . . . . . . . . . . . . . . . . . . .  40
135     12.7.  cityarea Element . . . . . . . . . . . . . . . . . . . .  40
136     12.8.  contact Element  . . . . . . . . . . . . . . . . . . . .  40
137     12.9.  displayreference Element . . . . . . . . . . . . . . . .  40
138     12.10. dd Element . . . . . . . . . . . . . . . . . . . . . . .  40
139     12.11. dl Element . . . . . . . . . . . . . . . . . . . . . . .  40
140     12.12. dt Element . . . . . . . . . . . . . . . . . . . . . . .  40
141     12.13. em Element . . . . . . . . . . . . . . . . . . . . . . .  40
142     12.14. extaddr Element  . . . . . . . . . . . . . . . . . . . .  40
143     12.15. li Element . . . . . . . . . . . . . . . . . . . . . . .  40
144     12.16. link Element . . . . . . . . . . . . . . . . . . . . . .  41
145     12.17. name Element . . . . . . . . . . . . . . . . . . . . . .  41
146     12.18. ol Element . . . . . . . . . . . . . . . . . . . . . . .  41
147     12.19. pobox Element  . . . . . . . . . . . . . . . . . . . . .  41
148     12.20. postalLine Element . . . . . . . . . . . . . . . . . . .  41
149     12.21. refcontent Element . . . . . . . . . . . . . . . . . . .  41
150     12.22. Extensions to reference Element  . . . . . . . . . . . .  41
151       12.22.1.  quoteTitle attribute  . . . . . . . . . . . . . . .  41
152     12.23. referencegroup Element . . . . . . . . . . . . . . . . .  41
153     12.24. relref Element . . . . . . . . . . . . . . . . . . . . .  41
154     12.25. Extensions to section Element  . . . . . . . . . . . . .  42
155       12.25.1.  numbered attribute  . . . . . . . . . . . . . . . .  42
156       12.25.2.  removeInRFC attribute . . . . . . . . . . . . . . .  42
157     12.26. sortingcode Element  . . . . . . . . . . . . . . . . . .  42
158     12.27. sourcecode Element . . . . . . . . . . . . . . . . . . .  42
159     12.28. strong Element . . . . . . . . . . . . . . . . . . . . .  42
160     12.29. sub Element  . . . . . . . . . . . . . . . . . . . . . .  42
161     12.30. sup Element  . . . . . . . . . . . . . . . . . . . . . .  42
162     12.31. svg Element  . . . . . . . . . . . . . . . . . . . . . .  42
163     12.32. table Element  . . . . . . . . . . . . . . . . . . . . .  42
164     12.33. tbody Element  . . . . . . . . . . . . . . . . . . . . .  42
165
166
167
168Reschke                   Expires April 5, 2022                 [Page 3]
169
170Documentation             RFC7749 through XSLT              October 2021
171
172
173     12.34. td Element . . . . . . . . . . . . . . . . . . . . . . .  43
174     12.35. tfoot Element  . . . . . . . . . . . . . . . . . . . . .  43
175     12.36. th Element . . . . . . . . . . . . . . . . . . . . . . .  43
176     12.37. thead Element  . . . . . . . . . . . . . . . . . . . . .  43
177     12.38. tr Element . . . . . . . . . . . . . . . . . . . . . . .  43
178     12.39. tt Element . . . . . . . . . . . . . . . . . . . . . . .  43
179     12.40. u Element  . . . . . . . . . . . . . . . . . . . . . . .  43
180     12.41. ul Element . . . . . . . . . . . . . . . . . . . . . . .  43
181     12.42. Extensions to xref Element . . . . . . . . . . . . . . .  43
182       12.42.1.  relative attribute  . . . . . . . . . . . . . . . .  44
183       12.42.2.  section attribute . . . . . . . . . . . . . . . . .  44
184       12.42.3.  sectionFormat attribute . . . . . . . . . . . . . .  44
185     12.43. xi:include Element . . . . . . . . . . . . . . . . . . .  44
186   13. Utilities . . . . . . . . . . . . . . . . . . . . . . . . . .  44
187     13.1.  Checking References  . . . . . . . . . . . . . . . . . .  44
188     13.2.  Generating Graphs from References  . . . . . . . . . . .  46
189     13.3.  Producing reference entries for books  . . . . . . . . .  46
190     13.4.  Down-converting to RFC 7749 Grammar  . . . . . . . . . .  47
191     13.5.  Extracting artwork . . . . . . . . . . . . . . . . . . .  48
192     13.6.  GRRDL  . . . . . . . . . . . . . . . . . . . . . . . . .  49
193     13.7.  HTML Live Refresh  . . . . . . . . . . . . . . . . . . .  49
194     13.8.  Refreshing included material in the XML source . . . . .  50
195   14. References  . . . . . . . . . . . . . . . . . . . . . . . . .  53
196     14.1.  Informative References . . . . . . . . . . . . . . . . .  53
197     14.2.  URIs . . . . . . . . . . . . . . . . . . . . . . . . . .  56
198   Appendix A.  RELAX NG Compact Schema  . . . . . . . . . . . . . .  56
199   Appendix B.  Implementation Notes . . . . . . . . . . . . . . . .  83
200     B.1.  Recognized type attributes for <artwork> element  . . . .  83
201   Appendix C.  Examples . . . . . . . . . . . . . . . . . . . . . .  84
202     C.1.  Using the 'Internal Subset' . . . . . . . . . . . . . . .  85
203     C.2.  Customization . . . . . . . . . . . . . . . . . . . . . .  85
204   Appendix D.  Producing the IETF 'Boilerplate' . . . . . . . . . .  86
205   Appendix E.  License  . . . . . . . . . . . . . . . . . . . . . .  87
206   Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  88
207   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  98
208
2091.  Introduction
210
211   This document describes a set of XSLT transformations that can be
212   used to transform "XML2RFC" XML ([RFC7749], updating [RFC2629]) to
213   various output formats, such as HTML and PDF.  The main topics are
214
215   o  compliance to the xml2rfc XML element set (Section 2),
216
217   o  support for xml2rfc processing instructions (Section 3),
218
219   o  the names of anchor elements generated in HTML and PDF output
220      (Section 4),
221
222
223
224Reschke                   Expires April 5, 2022                 [Page 4]
225
226Documentation             RFC7749 through XSLT              October 2021
227
228
229   o  various XSLT engines that can be used (Section 5),
230
231   o  outputting HTML (Section 6) and XHTML (Section 7),
232
233   o  outputting CHM (Compiled Microsoft Help, Section 8),
234
235   o  outputting PDF (Section 9),
236
237   o  outputting ePub (Section 10),
238
239   o  extensions to the xml2rfc vocabulary (Section 11),
240
241   o  selected extensions from the proposed xml2rfc V3 vocabulary
242      (Section 12),
243
244   o  various utilities (Section 13).
245
246   The full distribution is available at
247   <https://greenbytes.de/tech/webdav/rfc2629xslt.zip>.  A mirror of the
248   non-public source repository can be found at
249   <https://github.com/reschke/xml2rfc>; this is also a good place for
250   reporting issues.
251
252      _Note:_ RFC 2629 was the initial specification of the XML
253      vocabulary; that's why the "2629" lives on in various parts, such
254      as filenames.
255
2562.  Supported RFC7749 elements
257
258   "rfc2629.xslt" supports both all grammar elements defined in
259   [RFC7749], plus a subset of the new elements defined in [RFC7991bis].
260
2612.1.  Extension elements
262
263   "rfc2629.xslt" supports two kind of extension elements, using
264   different XML namespaces.
265
266   The first set contains (hopefully) generally useful extensions, see
267   Section 11.
268
269   The second set is used for change and issue tracking and currently is
270   not documented here.  Please email the author in case you're
271   interested in using these extensions.
272
273
274
275
276
277
278
279
280Reschke                   Expires April 5, 2022                 [Page 5]
281
282Documentation             RFC7749 through XSLT              October 2021
283
284
2853.  Processing Instructions
286
287   All PIs can be set as XSLT parameter as well, overriding any value
288   that is found in the source file to be transformed.
289
290   Using processing instructions:
291
292   <?rfc toc="yes"?>
293   <?rfc-ext support-rfc2731="no"?>
294
295   Using XSLT parameters (Saxon):
296
297   java -cp saxon.jar com.icl.saxon.StyleSheet source.xml rfc2629.xslt \
298     xml2rfc-toc=yes xml2rfc-ext-support-rfc2731=no > result.html
299
300   Using XSLT parameters (xsltproc):
301
302   xsltproc --param xml2rfc-toc '"yes"' \
303      --param xml2rfc-ext-support-rfc2731 '"no"' \
304      rfc2629.xslt source.xml > result.html
305
306   (note the required quoting of string parameters)
307
3083.1.  Supported xml2rfc-compatible PIs
309
310   +------+--------------+--------------------+-----------+------------+
311   | PI t | PI pseudo-   | XSLT parameter     | default   | comment    |
312   | arge | attribute    | name               |           |            |
313   | t    |              |                    |           |            |
314   +------+--------------+--------------------+-----------+------------+
315   | rfc  | authorship   | xml2rfc-authorship | "yes"     | when set   |
316   |      |              |                    |           | to "no",   |
317   |      |              |                    |           | the        |
318   |      |              |                    |           | "Authors"  |
319   |      |              |                    |           | section is |
320   |      |              |                    |           | suppressed |
321   |      |              |                    |           |            |
322   | rfc  | background   | xml2rfc-background | (not set) |            |
323   |      |              |                    |           |            |
324   | rfc  | compact      | xml2rfc-compact    | "no"      | only       |
325   |      |              |                    |           | applies to |
326   |      |              |                    |           | HTML       |
327   |      |              |                    |           | output     |
328   |      |              |                    |           | method     |
329   |      |              |                    |           | when       |
330   |      |              |                    |           | printing   |
331   |      |              |                    |           |            |
332   | rfc  | comments     | xml2rfc-comments   | "no"      |            |
333
334
335
336Reschke                   Expires April 5, 2022                 [Page 6]
337
338Documentation             RFC7749 through XSLT              October 2021
339
340
341   |      |              |                    | ("yes"    |            |
342   |      |              |                    | for v3 do |            |
343   |      |              |                    | cuments)  |            |
344   |      |              |                    |           |            |
345   | rfc  | docmapping   |                    | "yes"     | This is    |
346   |      |              |                    |           | the        |
347   |      |              |                    |           | default    |
348   |      |              |                    |           | for rfc262 |
349   |      |              |                    |           | 9.xslt     |
350   |      |              |                    |           | anyway,    |
351   |      |              |                    |           | and it can |
352   |      |              |                    |           | not be     |
353   |      |              |                    |           | changed    |
354   |      |              |                    |           |            |
355   | rfc  | editing      | xml2rfc-editing    | "no"      |            |
356   |      |              |                    |           |            |
357   | rfc  | footer       | xml2rfc-footer     | (not set) |            |
358   |      |              |                    |           |            |
359   | rfc  | header       | xml2rfc-header     | (not set) |            |
360   |      |              |                    |           |            |
361   | rfc  | include      |                    |           | only       |
362   |      |              |                    |           | partly     |
363   |      |              |                    |           | supported, |
364   |      |              |                    |           | use        |
365   |      |              |                    |           | external   |
366   |      |              |                    |           | entities   |
367   |      |              |                    |           | instead    |
368   |      |              |                    |           | (see Appen |
369   |      |              |                    |           | dix C.1)   |
370   |      |              |                    |           | or other   |
371   |      |              |                    |           | tools (Sec |
372   |      |              |                    |           | tion 13.8) |
373   |      |              |                    |           | instead    |
374   |      |              |                    |           |            |
375   | rfc  | inline       | xml2rfc-inline     | "no"      |            |
376   |      |              |                    | ("yes"    |            |
377   |      |              |                    | for v3 do |            |
378   |      |              |                    | cuments)  |            |
379   |      |              |                    |           |            |
380   | rfc  | iprnotified  | xml2rfc-           | "no"      |            |
381   |      |              | iprnotified        |           |            |
382   |      |              |                    |           |            |
383   | rfc  | linkmailto   | xml2rfc-linkmailto | "yes"     |            |
384   |      |              |                    |           |            |
385   | rfc  | multiple-    | xml2rfc-multiple-  | "no"      | determines |
386   |      | initials     | initials           |           | whether    |
387   |      |              |                    |           | the        |
388   |      |              |                    |           | processor  |
389
390
391
392Reschke                   Expires April 5, 2022                 [Page 7]
393
394Documentation             RFC7749 through XSLT              October 2021
395
396
397   |      |              |                    |           | will       |
398   |      |              |                    |           | attempt to |
399   |      |              |                    |           | truncate   |
400   |      |              |                    |           | multiple   |
401   |      |              |                    |           | initials   |
402   |      |              |                    |           | to a       |
403   |      |              |                    |           | single     |
404   |      |              |                    |           | one; can   |
405   |      |              |                    |           | be set     |
406   |      |              |                    |           | globally   |
407   |      |              |                    |           | (affecting |
408   |      |              |                    |           | the front  |
409   |      |              |                    |           | page) but  |
410   |      |              |                    |           | also as    |
411   |      |              |                    |           | child      |
412   |      |              |                    |           | element of |
413   |      |              |                    |           | <reference |
414   |      |              |                    |           | >          |
415   |      |              |                    |           |            |
416   | rfc  | private      | xml2rfc-private    | (not set) |            |
417   |      |              |                    |           |            |
418   | rfc  | refparent    | xml2rfc-private    | "Referenc | Title for  |
419   |      |              |                    | es"       | References |
420   |      |              |                    |           | sections   |
421   |      |              |                    |           | when autom |
422   |      |              |                    |           | atically   |
423   |      |              |                    |           | inserted   |
424   |      |              |                    |           |            |
425   | rfc  | rfcedstyle   | xml2rfc-rfcedstyle | (not set) | (limited   |
426   |      |              |                    |           | support)   |
427   |      |              |                    |           |            |
428   | rfc  | sortrefs     | xml2rfc-sortrefs   | "no"      |            |
429   |      |              |                    |           |            |
430   | rfc  | symrefs      | xml2rfc-symrefs    | "yes"     | The        |
431   |      |              |                    |           | default    |
432   |      |              |                    |           | has        |
433   |      |              |                    |           | changed    |
434   |      |              |                    |           | from "no"  |
435   |      |              |                    |           | to "yes"   |
436   |      |              |                    |           | as of June |
437   |      |              |                    |           | 6, 2007    |
438   |      |              |                    |           | and        |
439   |      |              |                    |           | xml2rfc    |
440   |      |              |                    |           | 1.33pre4.  |
441   |      |              |                    |           |            |
442   | rfc  | toc          | xml2rfc-toc        | "no"      |            |
443   |      |              |                    | ("yes"    |            |
444   |      |              |                    | for       |            |
445
446
447
448Reschke                   Expires April 5, 2022                 [Page 8]
449
450Documentation             RFC7749 through XSLT              October 2021
451
452
453   |      |              |                    | documents |            |
454   |      |              |                    | specifyin |            |
455   |      |              |                    | g "3" as  |            |
456   |      |              |                    | vocabular |            |
457   |      |              |                    | y         |            |
458   |      |              |                    | version)  |            |
459   |      |              |                    |           |            |
460   | rfc  | tocdepth     | xml2rfc-tocdepth   | 99        |            |
461   |      |              |                    |           |            |
462   | rfc  | topblock     | xml2rfc-topblock   | "yes"     |            |
463   +------+--------------+--------------------+-----------+------------+
464
4653.2.  Unsupported xml2rfc-compatible PIs
466
467         +-----------+---------------------+---------------------+
468         | PI target | PI pseudo-attribute | comment             |
469         +-----------+---------------------+---------------------+
470         | rfc       | needLines           |                     |
471         |           |                     |                     |
472         | rfc       | slides              |                     |
473         |           |                     |                     |
474         | rfc       | strict              |                     |
475         |           |                     |                     |
476         | rfc       | subcompact          |                     |
477         |           |                     |                     |
478         | rfc       | tocindent           | (defaults to "yes") |
479         |           |                     |                     |
480         | rfc       | tocompact           |                     |
481         +-----------+---------------------+---------------------+
482
4833.3.  Extension PIs
484
4853.3.1.  abort-on - Log Level
486
487   PI target
488      rfc-ext
489
490   PI pseudo-attribute
491      abort-on
492
493   XSLT parameter name
494      xml2rfc-ext-abort-on
495
496   default
497      "OFF"
498
499
500
501
502
503
504Reschke                   Expires April 5, 2022                 [Page 9]
505
506Documentation             RFC7749 through XSLT              October 2021
507
508
509   Controls at which log level a message causes the XSLT to be aborted
510   (one of "OFF", "FATAL", "ERROR", "WARNING", "INFO", "DEBUG",
511   "TRACE").
512
5133.3.2.  allow-markup-in-artwork - Allow certain XML elements inside
514        <artwork> and <sourcecode>
515
516   PI target
517      rfc-ext
518
519   PI pseudo-attribute
520      allow-markup-in-artwork
521
522   XSLT parameter name
523      xml2rfc-ext-allow-markup-in-artwork
524
525   default
526      "no"
527
528   Enables support for specific elements inside <artwork> and
529   <sourcecode> elements (using this extension makes the document
530   incompatible to the RFC7749 grammar; see description of conversion
531   XSLT in Section 13.4).
532
5333.3.3.  authors-section - Placement of 'Authors' Section
534
535   PI target
536      rfc-ext
537
538   PI pseudo-attribute
539      authors-section
540
541   XSLT parameter name
542      xml2rfc-ext-authors-section
543
544   default
545      "end"
546
547   When "before-appendices", place the authors section between
548   references and appendices (this ordering was used a long time ago).
549
5503.3.4.  css-contents - CSS Contents
551
552   PI target
553      rfc-ext
554
555   PI pseudo-attribute
556      css-contents
557
558
559
560Reschke                   Expires April 5, 2022                [Page 10]
561
562Documentation             RFC7749 through XSLT              October 2021
563
564
565   XSLT parameter name
566      xml2rfc-ext-css-contents
567
568   default
569      none
570
571   CSS content to use instead of the built-in (experimental).
572
5733.3.5.  css-resource - Custom CSS Resource
574
575   PI target
576      rfc-ext
577
578   PI pseudo-attribute
579      css-resource
580
581   XSLT parameter name
582      xml2rfc-ext-css-resource
583
584   default
585      none
586
587   Name of CSS resource (URI or relate reference) to use instead of the
588   built-in (experimental).
589
5903.3.6.  dark-mode - Switch for Enabling 'Dark Mode' Support
591
592   PI target
593      rfc-ext
594
595   PI pseudo-attribute
596      dark-mode
597
598   XSLT parameter name
599      xml2rfc-ext-dark-mode
600
601   default
602      "no"
603
604   Set to 'auto' to enable "dark mode" CSS support.
605
6063.3.7.  diff-uri - URI Template for Internet Draft Diff Links
607
608   PI target
609      rfc-ext
610
611   PI pseudo-attribute
612      diff-uri
613
614
615
616Reschke                   Expires April 5, 2022                [Page 11]
617
618Documentation             RFC7749 through XSLT              October 2021
619
620
621   XSLT parameter name
622      xml2rfc-ext-diff-uri
623
624   default
625      "https://www.ietf.org/rfcdiff?url2={internet-draft}"
626
627   URI template for Internet Draft Diff links.
628
6293.3.8.  doi-uri - URI Template for DOI Links
630
631   PI target
632      rfc-ext
633
634   PI pseudo-attribute
635      doi-uri
636
637   XSLT parameter name
638      xml2rfc-ext-doi-uri
639
640   default
641      "https://dx.doi.org/{doi}"
642
643   URI template for DOIs links.
644
6453.3.9.  duplex - Support Duplex Printing
646
647   PI target
648      rfc-ext
649
650   PI pseudo-attribute
651      duplex
652
653   XSLT parameter name
654      xml2rfc-ext-duplex
655
656   default
657      "no"
658
659   When set to "yes", format printed output for doublesided printing.
660
6613.3.10.  errata - Embed Errata Information
662
663   PI target
664      rfc-ext
665
666   PI pseudo-attribute
667      errata
668
669
670
671
672Reschke                   Expires April 5, 2022                [Page 12]
673
674Documentation             RFC7749 through XSLT              October 2021
675
676
677   XSLT parameter name
678      xml2rfc-ext-errata
679
680   default
681      none
682
683   Can be used to specify an errata file; output will link to individual
684   errata when possible.  See Section 6.6.
685
6863.3.11.  html-pretty-print - Switch for Enabling Pretty Printing of Code
687
688   PI target
689      rfc-ext
690
691   PI pseudo-attribute
692      html-pretty-print
693
694   XSLT parameter name
695      xml2rfc-ext-html-pretty-print
696
697   default
698      none
699
700   Used to specify a JS-based code pretty-printer; the value is the CSS
701   class name to insert, followed by a blank space, followed by the URI
702   of the JS library.  For instance: "prettyprint
703   https://cdn.rawgit.com/google/code-prettify/master/loader/
704   run_prettify.js"
705
7063.3.12.  include-generator - Switch for Disabling Generator Information
707         in Output
708
709   PI target
710      rfc-ext
711
712   PI pseudo-attribute
713      include-generator
714
715   XSLT parameter name
716      xml2rfc-ext-include-generator
717
718   default
719      "yes"
720
721   Set to 'no' in order to disable inclusion of generator version
722   information.
723
724
725
726
727
728Reschke                   Expires April 5, 2022                [Page 13]
729
730Documentation             RFC7749 through XSLT              October 2021
731
732
7333.3.13.  include-index - Switch for Disabling Index Generation
734
735   PI target
736      rfc-ext
737
738   PI pseudo-attribute
739      include-index
740
741   XSLT parameter name
742      xml2rfc-ext-include-index
743
744   default
745      "yes"
746
747   When set to "no", no index will be generated.
748
7493.3.14.  include-references-in-index - Generate Index Entries for
750         References
751
752   PI target
753      rfc-ext
754
755   PI pseudo-attribute
756      include-references-in-index
757
758   XSLT parameter name
759      xml2rfc-ext-include-references-in-index
760
761   default
762      "no"
763
764   When set to "yes", index entries are generated for all references.
765
7663.3.15.  insert-metadata - Dynamic Metadata Insertion in HTML
767
768   PI target
769      rfc-ext
770
771   PI pseudo-attribute
772      insert-metadata
773
774   XSLT parameter name
775      xml2rfc-ext-insert-metadata
776
777   default
778      "yes"
779
780
781
782
783
784Reschke                   Expires April 5, 2022                [Page 14]
785
786Documentation             RFC7749 through XSLT              October 2021
787
788
789   When set to "yes", include JS code that fetches current RFC/Internet-
790   Draft metadata and inserts it into the front page (standards track,
791   obsoletion, updates, errata, freshness of draft...).
792
7933.3.16.  internet-draft-base-uri - base URI for RFC reference files
794
795   PI target
796      rfc-ext
797
798   PI pseudo-attribute
799      internet-draft-reference-base-uri
800
801   XSLT parameter name
802      xml2rfc-ext-internet-draft-reference-base-uri
803
804   default
805      "https://xml2rfc.tools.ietf.org/public/rfc/bibxml-ids/"
806
807   Base URI for Internet-Draft referennces included using the "include"
808   processing instruction.
809
8103.3.17.  internet-draft-uri - URI Template for Interned Drafts
811
812   PI target
813      rfc-ext
814
815   PI pseudo-attribute
816      internet-draft-uri
817
818   XSLT parameter name
819      xml2rfc-ext-internet-draft-uri
820
821   default
822      "https://tools.ietf.org/html/{internet-draft}"
823
824   URI template for Internet-Draft links (can be set locally inside the
825   <reference> element as well to override the default).
826
8273.3.18.  justification - Text Justification
828
829   PI target
830      rfc-ext
831
832   PI pseudo-attribute
833      justification
834
835   XSLT parameter name
836      xml2rfc-ext-justification
837
838
839
840Reschke                   Expires April 5, 2022                [Page 15]
841
842Documentation             RFC7749 through XSLT              October 2021
843
844
845   default
846      "never"
847
848   "never": never emit justified text, "always": always emit justified
849   text, "print": only emit justified text for print media.
850
8513.3.19.  isbn-uri - URI Template for ISBNs
852
853   PI target
854      rfc-ext
855
856   PI pseudo-attribute
857      isbn-uri
858
859   XSLT parameter name
860      xml2rfc-ext-isbn-uri
861
862   default
863      "https://www.worldcat.org/search?q=isbn:{isbn}"
864
865   URI template for ISBN lookup.
866
8673.3.20.  log-level - Log Level
868
869   PI target
870      rfc-ext
871
872   PI pseudo-attribute
873      log-level
874
875   XSLT parameter name
876      xml2rfc-ext-log-level
877
878   default
879      "WARNING"
880
881   Logging level, one of "OFF", "FATAL", "ERROR", "WARNING", "INFO",
882   "DEBUG", "TRACE".
883
8843.3.21.  maxwidth - Maximal Text Width in HTML
885
886   PI target
887      rfc-ext
888
889   PI pseudo-attribute
890      maxwidth
891
892   XSLT parameter name
893
894
895
896Reschke                   Expires April 5, 2022                [Page 16]
897
898Documentation             RFC7749 through XSLT              October 2021
899
900
901      xml2rfc-ext-maxwidth
902
903   default
904      1000
905
906   For HTML output: maximal text width in CSS pixels.
907
9083.3.22.  parse-xml-in-artwork - Parse and Check XML in artwork
909
910   PI target
911      rfc-ext
912
913   PI pseudo-attribute
914      parse-xml-in-artwork
915
916   XSLT parameter name
917      xml2rfc-ext-parse-xml-in-artwork
918
919   default
920      "no"
921
922   May be used to enable parsing of XML content in figures (MSXML only).
923
9243.3.23.  rfc-errata-uri - URI Template for RFC Errata
925
926   PI target
927      rfc-ext
928
929   PI pseudo-attribute
930      rfc-errata-uri
931
932   XSLT parameter name
933      xml2rfc-ext-rfc-errata-uri
934
935   default
936      "https://www.rfc-editor.org/errata/rfc{rfc}"
937
938   URI template for all RFC Errata for a given RFC ("rfc" is the RFC
939   number).
940
9413.3.24.  rfc-erratum-uri - URI Template for a specific RFC Erratum
942
943   PI target
944      rfc-ext
945
946   PI pseudo-attribute
947      rfc-erratum-uri
948
949
950
951
952Reschke                   Expires April 5, 2022                [Page 17]
953
954Documentation             RFC7749 through XSLT              October 2021
955
956
957   XSLT parameter name
958      xml2rfc-ext-rfc-erratum-uri
959
960   default
961      "https://www.rfc-editor.org/errata/eid{eid}"
962
963   URI template for a specific RFC erratum ("eid" is the "errata id").
964
9653.3.25.  rfc-reference--base-uri - base URI for RFC reference files
966
967   PI target
968      rfc-ext
969
970   PI pseudo-attribute
971      rfc-reference-base-uri
972
973   XSLT parameter name
974      xml2rfc-ext-rfc-reference-base-uri
975
976   default
977      "https://www.rfc-editor.org/refs/bibxml/"
978
979   Base URI for RFC referennces included using the "include" processing
980   instruction.
981
9823.3.26.  rfc-uri - URI Template for HTML Version of RFCs
983
984   PI target
985      rfc-ext
986
987   PI pseudo-attribute
988      rfc-uri
989
990   XSLT parameter name
991      xml2rfc-ext-rfc-uri
992
993   default
994      "https://www.rfc-editor.org/rfc/rfc{rfc}.html" (previously
995      "https://tools.ietf.org/html/rfc{rfc}")
996
997   URI Template for HTML Version of RFCs.
998
9993.3.27.  sec-no-trailing-dots - Disable Trailing Dots in Section Numbers
1000
1001   PI target
1002      rfc-ext
1003
1004   PI pseudo-attribute
1005
1006
1007
1008Reschke                   Expires April 5, 2022                [Page 18]
1009
1010Documentation             RFC7749 through XSLT              October 2021
1011
1012
1013      sec-no-trailing-dots
1014
1015   XSLT parameter name
1016      xml2rfc-ext-sec-no-trailing-dots
1017
1018   default
1019      none
1020
1021   When set to "no", do not add trailing dots to section numbers (this
1022   was the preference in the distant past).
1023
10243.3.28.  support-rfc2731 - Support RFC 2731 Metadata
1025
1026   PI target
1027      rfc-ext
1028
1029   PI pseudo-attribute
1030      support-rfc2731
1031
1032   XSLT parameter name
1033      xml2rfc-ext-support-rfc2731
1034
1035   default
1036      "yes"
1037
1038   Decides whether the HTML transformation should generate META tags
1039   according Section 6.4.
1040
10413.3.29.  ucd-file - Filename of Unicode Database
1042
1043   PI target
1044      rfc-ext
1045
1046   PI pseudo-attribute
1047      ucd-file
1048
1049   XSLT parameter name
1050      xml2rfc-ext-ucd-file
1051
1052   default
1053      none
1054
1055   Specifies an external resource containing Unicode character database
1056   information, as described in Section 11.24.
1057
1058
1059
1060
1061
1062
1063
1064Reschke                   Expires April 5, 2022                [Page 19]
1065
1066Documentation             RFC7749 through XSLT              October 2021
1067
1068
10693.3.30.  xml2rfc-backend - Select xml2rfc Target Version
1070
1071   PI target
1072      rfc-ext
1073
1074   PI pseudo-attribute
1075      xml2rfc-backend
1076
1077   XSLT parameter name
1078      xml2rfc-ext-xml2rfc-backend
1079
1080   default
1081      based on document date
1082
1083   Used in "clean-for-DTD.xslt" (see Section 13.4).
1084
10853.3.31.  xref-with-text-generate - Default Handling of <xref> with Text
1086         Content
1087
1088   PI target
1089      rfc-ext
1090
1091   PI pseudo-attribute
1092      xref-with-text-generate
1093
1094   XSLT parameter name
1095      xml2rfc-ext-xref-with-text-generate
1096
1097   default
1098      "text"
1099
1100   Determines whether <xref> with text content generates additional text
1101   as in traditional text output ("text"), or just generates a link
1102   around the text ("nothing").  Note that the default might change in
1103   the future in order to achieve compatibility with other formatters.
1104
11054.  Anchors
1106
1107   The transformation automatically generates anchors that are supposed
1108   to be stable and predictable and that can be used to identify
1109   specific parts of the document.  Anchors are generated both in HTML
1110   and XSL-FO content (but the latter will only be used for PDF output
1111   when the XSL-FO engine supports producing PDF anchors).
1112
1113
1114
1115
1116
1117
1118
1119
1120Reschke                   Expires April 5, 2022                [Page 20]
1121
1122Documentation             RFC7749 through XSLT              October 2021
1123
1124
1125                 The following anchors get auto-generated:
1126
1127    +------------------------+---------------------------------------+
1128    | Anchor name            | Description                           |
1129    +------------------------+---------------------------------------+
1130    | rfc.abstract           | Abstract                              |
1131    |                        |                                       |
1132    | rfc.authors            | Authors section                       |
1133    |                        |                                       |
1134    | rfc.copyright          | Copyright section                     |
1135    |                        |                                       |
1136    | rfc.copyrightnotice    | Copyright notice                      |
1137    |                        |                                       |
1138    | rfc.figure._n_         | Figures (titled)                      |
1139    |                        |                                       |
1140    | rfc.figure.u._n_       | Figures (untitled)                    |
1141    |                        |                                       |
1142    | rfc.index              | Index                                 |
1143    |                        |                                       |
1144    | rfc.ipr                | Intellectual Property                 |
1145    |                        |                                       |
1146    | rfc.iref._n_           | Internal references                   |
1147    |                        |                                       |
1148    | rfc.note._n_           | Notes (from front section)            |
1149    |                        |                                       |
1150    | rfc.references         | References                            |
1151    |                        |                                       |
1152    | rfc.references._n_     | Additional references                 |
1153    |                        |                                       |
1154    | rfc.section._n_        | Section _n_                           |
1155    |                        |                                       |
1156    | rfc.section._n_.p._m_  | Section _n_, paragraph _m_            |
1157    |                        |                                       |
1158    | rfc.status             | Status of memo                        |
1159    |                        |                                       |
1160    | rfc.table._n_          | Tables (titled)                       |
1161    |                        |                                       |
1162    | rfc.table.u._n_        | Tables (untitled)                     |
1163    |                        |                                       |
1164    | rfc.toc                | Table of contents                     |
1165    |                        |                                       |
1166    | rfc.xref._name_._n_    | References to reference _n_ to _name_ |
1167    +------------------------+---------------------------------------+
1168
1169
1170
1171
1172
1173
1174
1175
1176Reschke                   Expires April 5, 2022                [Page 21]
1177
1178Documentation             RFC7749 through XSLT              October 2021
1179
1180
11815.  Supported XSLT engines
1182
1183   The transformation requires a non-standard extension function (see
1184   exsl:node-set [1]) which is however widely available.  XSLT
1185   processors that do not support this extension (or a functional
1186   equivalent, such as msxsl:node-set) currently are not supported.
1187
1188   Input documents do not always specify the date completely.  In this
1189   case, the transformation attempts to let the XSLT engine to compute
1190   the system date, using either scripting in Microsoft's XSLT engine,
1191   or the exsl:date-time [2] extension function.
1192
11935.1.  Standalone Engines
1194
1195   The following XSLT engines are believed to work well:
1196
1197   o  Windows: MSXML3 and MSXML4 (<http://msdn.microsoft.com/xml>;
1198      command line processor "msxsl" is available from Microsoft
1199      Download Center [3])
1200
1201   o  Java: Saxon (<http://saxon.sourceforge.net/>)
1202
1203   o  Java: Xalan (<http://xml.apache.org/xalan-j/>)
1204
1205   o  C/C++: xsltproc (libxslt) (<http://xmlsoft.org/XSLT/>, make sure
1206      that you have a current version, also: does not support inclusion
1207      of "https" resources -- <https://bugzilla.gnome.org/
1208      show_bug.cgi?id=791491>)
1209
12105.2.  In-Browser Engines
1211
1212   The following browsers seem to work fine:
1213
1214   o  Internet Explorer 6 and newer
1215
1216   o  Firefox 3.0 and newer
1217
1218
1219
1220      *  Be aware that XSLT execution can be suppressed using NoScript
1221         [4]
1222
1223      *  There seems to be a new problem in Firefox 4 where it
1224         occasionally does the initial rendering with the wrong width
1225         (people who can reproduce this problem please comment on
1226         <https://bugzilla.mozilla.org/show_bug.cgi?id=640390>.
1227
1228
1229
1230
1231
1232Reschke                   Expires April 5, 2022                [Page 22]
1233
1234Documentation             RFC7749 through XSLT              October 2021
1235
1236
1237      *  Date computation is available in Firefox starting with Firefox
1238         6 (see <https://bugzilla.mozilla.org/show_bug.cgi?id=603159>)
1239
1240   o  Safari 3 (starting with version 3.0.4)
1241
1242
1243
1244      *  Date computation not available (see <https://bugs.webkit.org/
1245         show_bug.cgi?id=4079>)
1246
1247   o  Google Chrome
1248
1249
1250
1251      *  Date computation not available (see
1252         <https://bugs.chromium.org/p/chromium/issues/
1253         detail?id=1006210>)
1254
1255   Note that browsers in general do not load external DTDs nor external
1256   entities (see, for instance, Mozilla Bug 22942 [5]) thus entities
1257   like &nbsp; need to be declared in the internal subset
1258   (Appendix C.1).
1259
1260   The following browsers are known not to work properly:
1261
1262   o  Firefox 1.*/2.*: (missing extension function - see change request
1263      at Mozilla BugZilla 193678 [6])
1264
1265   o  Opera 9.21: execution fails, potentially to a somewhat complex
1266      XPath expression (reported to Opera as bug 245725).
1267
1268   o  Opera 9.5 and 9.6: transformation appears to work, but CSS isn't
1269      getting applied (reported to Opera as bug 337388 on 2008-06-12).
1270
1271   o  Safari 2.* supports client-side XSLT as of MacOS X 10.4, but
1272      misses required extension functions.  A problem with stylesheets
1273      producing non-ASCII output (such as NBSP characters) has been
1274      fixed as of OSX 10.4.4.  Both problems have been reported through
1275      Apple's bug tracking system, see
1276      <http://drakken.dbc.mtview.ca.us/pipermail/
1277      xml2rfc/2005-May/002073.html> and <http://bugs.webkit.org/
1278      show_bug.cgi?id=4079>.
1279
12806.  Transforming to HTML
1281
1282   Transformation to HTML can be done inside the browser if it supports
1283   XSLT.  To enable this, add the following processing instruction to
1284   the start of the source file:
1285
1286
1287
1288Reschke                   Expires April 5, 2022                [Page 23]
1289
1290Documentation             RFC7749 through XSLT              October 2021
1291
1292
1293     <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
1294
1295   (and ensure that "rfc2629.xslt" is present).
1296
12976.1.  HTML compliance
1298
1299   The transformation result is supposed to conform to HTML5 [HTML5].
1300   This can be checked using the W3C's online validator at
1301   <http://validator.w3.org>.
1302
1303   XSLT 1.0 is not capable to directly emit the HTML doctype
1304   declaration, thus uses the SYSTEM ID "about:legacy-compat" instead
1305   (see Section 8.1.1 of [HTML5]).
1306
1307   When not run in a browser, the doctype declaration can be adjusted
1308   using a small script, such as with:
1309
1310   saxon test.xml rfc2629.xslt | awk -f html5doctype.awk
1311
1312   with
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344Reschke                   Expires April 5, 2022                [Page 24]
1345
1346Documentation             RFC7749 through XSLT              October 2021
1347
1348
1349   #!/usr/bin/awk -f
1350
1351   # waitfordoctype:
1352   # 0: wait for line starting with DOCTYPE and eat empty lines
1353   # 1: wait for line starting with <html
1354   # 2: afterwards
1355
1356   BEGIN {
1357     waitfordoctype = 0;
1358   }
1359
1360   /<!DOCTYPE .*/ {
1361     if (waitfordoctype == 0) {
1362       waitfordoctype = 1
1363     }
1364   }
1365
1366   /<html.*/ {
1367     if (waitfordoctype == 1) {
1368       waitfordoctype = 2
1369       printf("<!DOCTYPE html>\n")
1370     }
1371     else {
1372       print
1373     }
1374   }
1375
1376   {
1377     if (waitfordoctype == 0 && $0 != "") {
1378       print
1379     }
1380     else if (waitfordoctype == 2) {
1381       print
1382     }
1383   }
1384
1385
13866.2.  Standard HTML LINK elements
1387
1388   LINK elements exist since HTML 2.0.  They can be used to embed
1389   content-independant links inside the document.  Unfortunately, only
1390   few user agents support this element.  Firefox users may want to
1391   check the Link Widgets [7] extension.
1392
1393
1394
1395
1396
1397
1398
1399
1400Reschke                   Expires April 5, 2022                [Page 25]
1401
1402Documentation             RFC7749 through XSLT              October 2021
1403
1404
1405                 The following LINK elements are produced:
1406
1407   +-----------+-------------------------------------------------------+
1408   | LINK type | description                                           |
1409   +-----------+-------------------------------------------------------+
1410   | alternate | for RFCs, a link to the authorative ASCII version on  |
1411   |           | the IETF web site                                     |
1412   |           |                                                       |
1413   | appendic  | pointer to all top-level appendics                    |
1414   |           |                                                       |
1415   | author    | pointer to "authors" section                          |
1416   |           |                                                       |
1417   | chapter   | pointer to all top-level sections                     |
1418   |           |                                                       |
1419   | contents  | pointer to table of contents                          |
1420   |           |                                                       |
1421   | copyright | pointer to copyright statement                        |
1422   |           |                                                       |
1423   | index     | pointer to index                                      |
1424   +-----------+-------------------------------------------------------+
1425
1426   The figure below shows how Mozilla Firefox 1.0 displays the Site
1427   Navigation Bar for rfc2396.xml.
1428
1429   (LINK elements displayed in Mozilla Firefox for RFC2396.xml)
1430
14316.3.  Standard HTML metadata
1432
1433          The following standard HTML META elements are produced:
1434
1435      +-----------+-------------------------------------------------+
1436      | META name | description                                     |
1437      +-----------+-------------------------------------------------+
1438      | generator | from XSLT engine version and stylesheet version |
1439      |           |                                                 |
1440      | keywords  | from keyword elements in front section          |
1441      +-----------+-------------------------------------------------+
1442
14436.4.  Dublin Core (RFC2731) metadata
1444
1445   Unless turned off using the "rfc-ext support-rfc2731" processing
1446   instruction, the transformation will generate metadata according to
1447   [RFC2731] and [DC-HTML].
1448
1449
1450
1451
1452
1453
1454
1455
1456Reschke                   Expires April 5, 2022                [Page 26]
1457
1458Documentation             RFC7749 through XSLT              October 2021
1459
1460
1461                The following DCMI properties are produced:
1462
1463   +-------------------------+-----------------------------------------+
1464   | META name               | description                             |
1465   +-------------------------+-----------------------------------------+
1466   | DC.Creator              | from author information in front        |
1467   |                         | section                                 |
1468   |                         |                                         |
1469   | DC.Date.Issued          | from date information in front section  |
1470   |                         |                                         |
1471   | DC.Description.Abstract | from abstract                           |
1472   |                         |                                         |
1473   | DC.Identifier           | document URN [RFC2648] from "docName"   |
1474   |                         | attribute                               |
1475   |                         |                                         |
1476   | DC.isPartOf             | RFC ISSN (for RFCs)                     |
1477   |                         |                                         |
1478   | DC.Relation.Replaces    | from "obsoletes" attribute              |
1479   +-------------------------+-----------------------------------------+
1480
14816.5.  Insertion of Live RFC Meta Data
1482
1483   RFCs are immutable; once published, they do not change anymore.  What
1484   _does_ change though is their status, their relation to subsequent
1485   RFCs (such as when they are updated), and errata.
1486
1487   "rfc2629toXHTML.xslt" by default inserts code that will pull the
1488   relevant information from <https://tools.ietf.org>.  This can be
1489   disabled by specifying the parameter "xml2rfc-ext-insert-metadata=no"
1490   (or by inserting the equivalent processing instruction into the
1491   source code).
1492
1493   An example for the generated information can be seen at
1494   <https://greenbytes.de/tech/webdav/rfc2616.html#rfc.meta>.
1495
1496      *Note:* the status information really should be available from the
1497      RFC Editor, right now it only exists only in HTML form (such as in
1498      <https://www.rfc-editor.org/info/rfc2616>.  Furthermore, the
1499      service provided by <https://tools.ietf.org> is considered
1500      experimental, so this feature might be changed or removed without
1501      prior notice.
1502
1503      ...and no, we currently can't obtain the exact list of errata,
1504      just a flag indicating whether errata exist.
1505
1506
1507
1508
1509
1510
1511
1512Reschke                   Expires April 5, 2022                [Page 27]
1513
1514Documentation             RFC7749 through XSLT              October 2021
1515
1516
15176.6.  Insertion of RFC Errata Links
1518
1519   Unfortunately, the RFC Editor does not provide errata information in
1520   a well-defined machine readable format.  What's available is
1521   "regular" HTML (and that could be the worst currently in use in
1522   standards bodies...).
1523
1524   "parse-errata.xslt" attempts to parse useful information out of these
1525   pages.
1526
1527   It can be run like that (requires an XSLT2 processor):
1528
1529 # get the raw html and strip form feed characters
1530 curl -s https://www.rfc-editor.org/errata_search.php?rfc=2616 \
1531   | tr -d '\f' > rfc2616.rawerrata
1532 # regexps are your friend
1533 saxon97he parse-errata.xslt parse-errata.xslt doc=2616 > rfc2616.errata
1534
1535   The code tries to make sense of the HTML, in particular it tries to
1536   detect what RFC sections each erratum applies to.  The resulting XML
1537   format is work-in-progress and just contains the information that
1538   will be useful in subsequent formatting of the RFC.
1539
1540   When _formatting_ the RFC for HTML output, the errata file can be
1541   passed as stylesheet parameter ("xml2rfc-ext-errata").  The output
1542   will include errata links at the beginnings of the section they apply
1543   to, or at the beginning of Section 1 when the location is unknown.
1544
1545   For the sake of embedding, three types of errata are relevant; their
1546   type is indicated with a symbol:
1547
1548   o  "held for update": reviewed and decided to be "held for document
1549      update" (these are mostly editorial); "scissors" symbol.
1550
1551   o  "submitted": submitted, but not reviewed; "letter" symbol.
1552
1553   o  "verified": reviewed and found to be correct; "checkmark" symbol.
1554
1555   To recap: the errata information is passed into the transformation as
1556   additional parameter.  The errata information will _not_ be
1557   automatically retrieved from the RFC Editor web site.
1558
1559   Finally, here's an example for inserted errata links:
1560   <https://greenbytes.de/tech/webdav/rfc7230.html#transfer.codings>.
1561
1562
1563
1564
1565
1566
1567
1568Reschke                   Expires April 5, 2022                [Page 28]
1569
1570Documentation             RFC7749 through XSLT              October 2021
1571
1572
15737.  Transforming to XHTML
1574
1575   Transforming to XHTML requires slightly different XSLT output options
1576   and is implemented by the derived transformation script
1577   "rfc2629toXHTML.xslt".
1578
15798.  Transforming to CHM (Microsoft Compiled Help)
1580
1581   To generate a CHM file using Microsoft's HTML Help Compiler (hhc),
1582   three files are required in addition to the HTML file.
1583
1584   1.  hhc - table of contents file (HTML)
1585
1586   2.  hhk - index file (HTML)
1587
1588   3.  hhp - project file (plain text)
1589
1590   The three files are generated with three specific transformations,
1591   each requiring the additional XSLT parameter "basename" to specify
1592   the filename prefix.
1593
1594   Example:
1595
1596   saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616  > rfc2616.hhp
1597   saxon rfc2616.xml rfc2629toHhc.xslt basename=rfc2616  > rfc2616.hhc
1598   saxon rfc2616.xml rfc2629toHhk.xslt basename=rfc2616  > rfc2616.hhk
1599   hhc rfc2616.hhp
1600
16019.  Transforming to PDF
1602
16039.1.  Via XSL-FO
1604
1605   Transformation to XSL-FO [XSL-FO] format is available through
1606   "rfc2629toFO.xslt" (which includes "rfc2629.xslt", so keep both in
1607   the same folder).
1608
1609   Compared to HTML user agents, XSL-FO engines unfortunately either
1610   come as open source (for instance, Apache FOP) or feature-complete
1611   (for instance, AntennaHouse XSL Formatter), but not both at the same
1612   time.
1613
1614   As Apache FOP needs special workarounds (index generation), and some
1615   popular extensions aren't standardized yet, the translation produces
1616   a generic output (hopefully) conforming to [XSL-FO].  Specific
1617   backends ("xsl11toFop.xslt", "xsl11toXep.xslt", "xsl11toAn.xslt")
1618   then provide post-processing for the individual processors.
1619
1620      Note: the output is currently targeted at Apache FOP 1.1.
1621
1622
1623
1624Reschke                   Expires April 5, 2022                [Page 29]
1625
1626Documentation             RFC7749 through XSLT              October 2021
1627
1628
16299.1.1.  Example: producing output for Apache FOP
1630
1631   Example:
1632
1633   saxon rfc2616.xml rfc2629toFo.xslt > tmp.fo
1634   saxon tmp.fo xsl11toFop.xslt > rfc2629.fo
1635
16369.2.  Via HTML
1637
1638   PDF output can also be produced directly from (X)HTML.  One simple
1639   approach is to rely on the browser's printing function, and to use a
1640   printer driver that produces PDF.  Depending on the brower's CSS
1641   capabilities, the output will behave properly with respect to table
1642   breaks etc.
1643
1644   Alternatives are tools which can produce PDF directly from (X)HTML
1645   input, based on the CSS printing information.  For instance:
1646   "PrinceXML" (<http://www.princexml.com/>) and "WeasyPrint"
1647   (<https://weasyprint.org/>).
1648
1649   For instance, PDF output can be produced with:
1650
1651   saxon input.xml rfc2629.xslt > output.html
1652   weasyprint output.html output.pdf
1653
165410.  Transforming to ePub
1655
1656   Experimental transformation to ePub format is available through a set
1657   of stylesheets, and the Unix Shell script "mkepub.sh" (which requires
1658   that "zip" and either "saxon" or "xsltproc" are installed).
1659
1660   For instance, an epub version of rfc2616.xml can be generated like
1661   this:
1662
1663   mkepub.sh rfc2616.xml
1664
166511.  Generic Extensions
1666
1667   This section documents extensions implemented in "rfc2629.xslt",
1668   using the extension namespace "http://purl.org/net/xml2rfc/ext".
1669
167011.1.  <abnf-char-sequence> element
1671
1672   Converts the contained quoted string into a hex-encoded character
1673   sequence, for use in case-sensitive ABNF productions.
1674
1675   For instance, "<x:abnf-char-sequence>"HTTP"</x:abnf-char-sequence>"
1676   gets converted to "%x48.54.54.50".
1677
1678
1679
1680Reschke                   Expires April 5, 2022                [Page 30]
1681
1682Documentation             RFC7749 through XSLT              October 2021
1683
1684
168511.2.  <anchor-alias> element
1686
1687   Using its "value" attribute, this element allows the definition of an
1688   internal link target alias for the enclosing element.  This alias can
1689   then be used with the <ref> element for intra-document references.
1690
1691   Note that the anchor alias is not subject to the naming constraints
1692   that apply to anchor elements (which are XML names [8]).
1693
169411.3.  <bb> element
1695
1696   Marking up a string as <bb> indicates that it represents the bottom
1697   line of a box drawing, replacing the "+" and "-" characters
1698   accordingly.
1699
170011.4.  <bc> element
1701
1702   Marking up a string as <bc> indicates that it represents a center
1703   line of a box drawing, replacing the "|" character accordingly.
1704
170511.5.  <bcp14> element
1706
1707   This element marks the content as being one of the normative keywords
1708   defined in [RFC2119].
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736Reschke                   Expires April 5, 2022                [Page 31]
1737
1738Documentation             RFC7749 through XSLT              October 2021
1739
1740
1741   The DOCTYPE definition below allows using these keywords using XML
1742   entity expansion: such as in "...server &MUST; accept...".
1743
1744   <!DOCTYPE rfc [
1745    <!ENTITY MAY "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1746      >MAY</bcp14>">
1747    <!ENTITY MUST "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1748      >MUST</bcp14>">
1749    <!ENTITY MUST-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1750      >MUST NOT</bcp14>">
1751    <!ENTITY OPTIONAL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1752      >OPTIONAL</bcp14>">
1753    <!ENTITY RECOMMENDED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1754      >RECOMMENDED</bcp14>">
1755    <!ENTITY REQUIRED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1756      >REQUIRED</bcp14>">
1757    <!ENTITY SHALL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1758      >SHALL</bcp14>">
1759    <!ENTITY SHALL-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1760      >SHALL NOT</bcp14>">
1761    <!ENTITY SHOULD "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1762      >SHOULD</bcp14>">
1763    <!ENTITY SHOULD-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1764      >SHOULD NOT</bcp14>">]>
1765
176611.6.  <blockquote> element
1767
1768   This element is like the <blockquote> element defined in
1769   Section 4.4.4 of [HTML5] (note this is a block-level element!).  It
1770   should contain one or more <t> child elements.
1771
177211.7.  <bt> element
1773
1774   Marking up a string as <bt> indicates that it represents the top line
1775   of a box drawing, replacing the "+" and "-" characters accordingly.
1776
177711.8.  <c> element
1778
1779   Contains mapping information for a single Unicode code points.
1780   Attributes are "c" (the actual character), "n" (the code point), and
1781   "d" (the name/description).
1782
1783   For instance:
1784
1785   <x:u-map>
1786     <x:c n="8364" c="&#8364;" d="EURO SIGN"/>
1787   <x:u-map>
1788
1789
1790
1791
1792Reschke                   Expires April 5, 2022                [Page 32]
1793
1794Documentation             RFC7749 through XSLT              October 2021
1795
1796
1797   (The format is deliberately terse so that the size of a mapping file
1798   containing the whole Unicode character database is minimized).
1799
180011.9.  <contributor> element
1801
1802   This element can be used to include a contributor's contact
1803   information in place where a paragraph (<t>) would be allowed
1804   otherwise.
1805
1806   See Section 12.8 for a standard alternative.
1807
180811.10.  <dfn> element
1809
1810   This element is like the <dfn> element defined in Section 4.5.8 of
1811   [HTML5].
1812
181311.11.  <feedback> element
1814
1815   This elements allows declaring a feedback link for document
1816   reviewers.  The template string takes the form of a URI template,
1817   such as:
1818
1819<x:feedback template="mailto:ietf-http-wg@w3.org?subject={docname},%20%22{section}%22&amp;body=&lt;{ref}&gt;:"/>
1820
1821   where "docname" is substituted by the document name, "section" is
1822   substituted by section title (number and name), and "ref" is
1823   substituted by a URI pointing to the section being referenced.
1824
182511.12.  <h> element
1826
1827   This element is like the "h [9]" element in [XHTML2].
1828
182911.13.  <highlight> element
1830
1831   Used to highlight text passages, currently only allowed in <artwork>.
1832
1833   Note: this is stripped when generating input for xml2rfc, so please
1834   use with care.
1835
183611.14.  <length-of> element
1837
1838   This element can be used to insert the length of another formatted
1839   section (in decimal).
1840
1841
1842
1843
1844
1845
1846
1847
1848Reschke                   Expires April 5, 2022                [Page 33]
1849
1850Documentation             RFC7749 through XSLT              October 2021
1851
1852
1853   Example: computing the Content-Length header value
1854
1855   <artwork>
1856   ...
1857   Content-Length: <x:length-of target="req"/>
1858
1859   <x:span anchor="req">123456789
1860   <x:span><artwork/>
1861
1862   The lenght computation counts line ends as two characters (CRLF).
1863
1864   Note that indentation characters in artwork _will_ be counted.  The
1865   "indented" attribute allows to specify the amount of indentation to
1866   be substracted from the computed length.
1867
186811.15.  <link> element
1869
1870   This element can be added as a top-level child element below <rfc> to
1871   indicate additional link information.  It's currently used only when
1872   generating HTML output, in which case an HTML <link> [10] element
1873   with identical attributes gets generated.
1874
1875   Example: generating HTML link element
1876
1877   <x:link xmlns:x="http://purl.org/net/xml2rfc/ext"
1878       rel="Bookmark"
1879       title="IETF WEBDAV Working Group"
1880       href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/>
1881
1882   If the attribute "basename" is present, it is used to compute the
1883   target href based on the output format being generated (this is handy
1884   for "next"/"prev" links in a series of documents.  In this case, the
1885   href attribute is not required.
1886
1887   For instance:
1888
1889   <x:link xmlns:x="http://purl.org/net/xml2rfc/ext"
1890       rel="next"
1891       title="Part2"
1892       basename="draft-foobar-protocol-p2-latest"/>
1893
189411.16.  <lt> element
1895
1896   Used for grouping multiple <t> elements into a single list item.
1897
1898
1899
1900
1901
1902
1903
1904Reschke                   Expires April 5, 2022                [Page 34]
1905
1906Documentation             RFC7749 through XSLT              October 2021
1907
1908
190911.17.  <note> element
1910
1911   Can be used to add a note, usually indented by a few characters.  It
1912   should contain one or more <t> child elements.
1913
191411.18.  <parse-xml> element
1915
1916   This element instructs the processor to parse the contents as XML and
1917   to warn when there's a problem (requires either MSXML or Saxon8 or
1918   newer).
1919
192011.19.  <prose> element
1921
1922   This element can be used inside <reference> to add plain text (before
1923   the date, when present).
1924
1925   See also <refcontent> (Section 12.21).
1926
192711.20.  <q> element
1928
1929   This element is like the <q> element defined in Section 4.5.7 of
1930   [HTML5].
1931
193211.21.  <ref> element
1933
1934   This element is a simplified variant of the <xref> element, in that
1935   no "target" attribute needs to be specified, instead the text
1936   contents acts as identifier.  That in itself wouldn't be terribly
1937   useful, but together with the <anchor-alias>, it allows referring to
1938   other parts of the document with minimal additional markup.
1939
1940   For instance, given an alias definition such as
1941
1942   <section title="Test" anchor="test">
1943     <x:anchor-alias value="alias1"/>
1944     <x:anchor-alias value="alias 2"/>
1945     ...
1946   </section>
1947
1948   the following simple references
1949
1950   <x:ref>test</x:ref>
1951   <x:ref>alias1</x:ref>
1952   <x:ref>alias 2</x:ref>
1953
1954   are equivalent to...:
1955
1956
1957
1958
1959
1960Reschke                   Expires April 5, 2022                [Page 35]
1961
1962Documentation             RFC7749 through XSLT              October 2021
1963
1964
1965   <xref target="test">test</xref>
1966   <xref target="test">alias1</xref>
1967   <xref target="test">alias 2</xref>
1968
196911.22.  <source> element
1970
1971   Can be used to enhance a <reference> with information about the
1972   location for the XML source.  This can be used by the <xref>
1973   processing code to automatically extract the target section number
1974   (see Section 11.32).
1975
1976   For example:
1977
1978   ...
1979   <xref target="RFC2616" x:fmt="of" x:rel="#PUT" />
1980   ...
1981
1982   <reference target="RFC2616"/>
1983     ...
1984     <x:source href="rfc2616.xml"/>
1985     ...
1986
198711.23.  <sup> element
1988
1989   This element is like the <sup> element in Section 4.5.16 of [HTML5].
1990
1991   Note: the down conversion to RFC7749 format replaces "x^y" by "x^y".
1992
1993   See also <sup> (Section 12.30).
1994
199511.24.  <u-map> element
1996
1997   Needed for the lookup of Unicode character database information; this
1998   element can either appear in-band in the source document, or off-band
1999   as specified using the xml2rfc-ext-ucd-file parameter/PI.
2000
2001   Contains multiple <x:c> elements (see Section 11.8).
2002
2003   The utility XSLT "convert-ucd.xslt" can be used to create a mapping
2004   file based on the Unicode XML database format, as available from
2005   <https://unicode.org/ucd/#UCDinXML>.
2006
200711.25.  Extensions to <artwork> element
2008
2009   Sometimes, artwork occurs inside lists.  To get it indent properly in
2010   xml2rfc's text output, it needs to be indented in the source.  This
2011   is sub-optimal, as this whitespace will also appear in the HTML
2012   output, where it's already indented due to HTML's semantics.  As a
2013
2014
2015
2016Reschke                   Expires April 5, 2022                [Page 36]
2017
2018Documentation             RFC7749 through XSLT              October 2021
2019
2020
2021   workaround, a "x:indent-with" attribute can be specified, containing
2022   a string that will be prepended to each line when "clean-for-
2023   DTD.xslt" is run (see Section 13.4).
2024
2025   Furthermore, documents can contain code that might need to be marked
2026   as "code component" (<http://www.ietf.org/iesg/statement/
2027   copyright.html>).  This can be done using "x:is-code-component".
2028
2029   Finally, when allowing pretty-printing of code (see "html-pretty-
2030   print" in Section 3.3, the "x:lang" attribute can used to explicitly
2031   opt into pretty-printing.  If the pretty printer can figure out the
2032   code type without assistance, an empty value will be sufficient.
2033   Otherwise, the language can be specified in the attribute (such as
2034   "html"), which will in turn be coded into the CSS class as "lang-"
2035   concatenated with the language name.
2036
203711.26.  Extensions to <date> element
2038
2039   The attribute "x:include-day" ("true", "false") can be used to
2040   control whether the day-of-month should be included in the output.
2041   This can be used to adjust the rendering of dates for April-1st-RFCs
2042   to the desired special format, including the "1".
2043
2044   In particular: on the front page, the attribute defaults to "true",
2045   _unless_ when generating RFCs.  The output format also varies
2046   depending on RFC-ness: it's "day month year" for RFCs, but "month
2047   day, year" otherwise.  In references, the attribute defaults to
2048   "false", and when set to true, the day is just inserted in front of
2049   the month.
2050
2051   Furthermore, this implementation supports the extension discussed in
2052   in Section 4.1.3.2 of [V3IMPNOTES]: in absence of any attributes, a
2053   "vague" date can be given as text content (this also applies to the
2054   case where <date> appears below a <reference> element).
2055
205611.27.  Extensions to <eref> element
2057
2058   For v3 documents, angle brackets will only be produced if the
2059   attribute "brackets" is set to "angle".
2060
206111.28.  Extensions to <iref> element
2062
2063   The extension attribute below is allowed on the standard <iref>
2064   element:
2065
2066   o  x:for-anchor specifies that the <iref> will also be automatically
2067      inserted whenever the specified anchor is cross-referenced -- this
2068      may save entering lots of <iref> instances.  As a special case, a
2069
2070
2071
2072Reschke                   Expires April 5, 2022                [Page 37]
2073
2074Documentation             RFC7749 through XSLT              October 2021
2075
2076
2077      value of "" (empty string) refers to the anchor attribute of the
2078      closest ancestor.
2079
208011.29.  Extensions to <list> element
2081
2082   The extension attribute below is allowed on the standard <list>
2083   element:
2084
2085   o  x:indent specifies the amount of indentation for list items in
2086      hanging lists.  This can be useful when the output format, such as
2087      XSL-FO, does not support automatical formatting.  The value takes
2088      an XSL-FO width, such as "5em".  The default is _length of longest
2089      label in characters_ times _0.8em_.
2090
2091   Also, the <list> element can take <x:lt> child elements instead of
2092   <t>, allowing to insert multiple paragraphs into a single list item.
2093
209411.30.  Extensions to <rfc> element
2095
2096   The extension attributes below are allowed on the standard <rfc>
2097   element:
2098
2099   o  grddl:transformation can be used to reference a GRDDL transform.
2100
2101   o  x:maturity-level can be used to specify the IETF Standards Track
2102      Maturity Level of "proposed", "draft" or "internet" (see
2103      Section 4.1 of [RFC2026]).
2104
210511.31.  Extensions to <section> element
2106
2107   The extension attribute below is allowed on the standard <list>
2108   element:
2109
2110   o  x:fixed-section-number can be used to specify a fixed section
2111      number.  This can be useful when formatting historic documents
2112      that used a different numbering style.
2113
211411.32.  Extensions to <xref> element
2115
2116   Three extension attributes are allowed on the standard <xref>
2117   element:
2118
2119   1.  x:sec can be specified to point to a specific section of the
2120       referenced document,
2121
2122   2.  x:rel may specify a relative reference to use when linking into
2123       the referenced document (if linking by section number is not
2124       available),
2125
2126
2127
2128Reschke                   Expires April 5, 2022                [Page 38]
2129
2130Documentation             RFC7749 through XSLT              October 2021
2131
2132
2133   3.  x:fmt defines the text format to be used.
2134
2135   The following formats are defined for the x:fmt attribute:
2136
2137   , (Comma)  [_reference_], Section _sec_
2138
2139   () [_reference_] (Section _sec_)
2140
2141   of Section _sec_ of [_reference_]
2142
2143   number  _sec_
2144
2145   none  No output (can be used to have xrefs to references without
2146      having them rendered as such)
2147
2148   sec  Section _sec_
2149
2150   These extensions are currently only supported for <xref> elements
2151   without child nodes.
2152
2153   If the processor knows how to reference the target section, it will
2154   generate a link directly to the target section, such as in [RFC2119],
2155   Section 5.
2156
215712.  Experimental Support for RFC7991bis Vocabulary
2158
2159   "rfc2629.xslt" experimentally supports some elements from the "V3"
2160   vocabulary, defined in [RFC7991bis]. _This support is experimental,
2161   as the "v3" vocabulary is still being developed._
2162
216312.1.  artset Element
2164
2165   See Section 3.1.1 of [V3IMPNOTES].
2166
216712.2.  aside Element
2168
2169   See Section 2.7 of [RFC7991bis].
2170
217112.3.  bcp14 Element
2172
2173   See Section 2.10 of [RFC7991bis].
2174
217512.4.  blockquote Element
2176
2177   See Section 2.11 of [RFC7991bis].
2178
2179
2180
2181
2182
2183
2184Reschke                   Expires April 5, 2022                [Page 39]
2185
2186Documentation             RFC7749 through XSLT              October 2021
2187
2188
218912.5.  boilerplate Element
2190
2191   See Section 2.11 of [RFC7991bis].
2192
219312.6.  br Element
2194
219512.7.  cityarea Element
2196
2197   See Section 4.2.7 of [V3IMPNOTES].
2198
219912.8.  contact Element
2200
2201   Can be used to embed contact information in a layout _similar_ to the
2202   one used for authors; mainly for use in a "Contributors" section.
2203
2204   When used in phrase content, only the name or the organization
2205   (absent a name) will be displayed.
2206
220712.9.  displayreference Element
2208
2209   See Section 2.20 of [RFC7991bis].
2210
221112.10.  dd Element
2212
2213   See Section 2.19 of [RFC7991bis].
2214
221512.11.  dl Element
2216
2217   See Section 2.21 of [RFC7991bis].
2218
221912.12.  dt Element
2220
2221   See Section 2.22 of [RFC7991bis].
2222
222312.13.  em Element
2224
2225   See Section 2.23 of [RFC7991bis].
2226
222712.14.  extaddr Element
2228
2229   See Section 4.2.7 of [V3IMPNOTES].
2230
223112.15.  li Element
2232
2233   See Section 2.31 of [RFC7991bis].
2234
2235
2236
2237
2238
2239
2240Reschke                   Expires April 5, 2022                [Page 40]
2241
2242Documentation             RFC7749 through XSLT              October 2021
2243
2244
224512.16.  link Element
2246
2247   See Section 2.32 of [RFC7991bis].
2248
224912.17.  name Element
2250
2251   See Section 2.34 of [RFC7991bis].  _Currently only supported inside
2252   <references> and <section>_.
2253
225412.18.  ol Element
2255
2256   See Section 2.36 of [RFC7991bis].
2257
225812.19.  pobox Element
2259
2260   See Section 4.2.7 of [V3IMPNOTES].
2261
226212.20.  postalLine Element
2263
2264   See Section 2.41 of [RFC7991bis].
2265
226612.21.  refcontent Element
2267
2268   See Section 2.42 of [RFC7991bis].
2269
227012.22.  Extensions to reference Element
2271
2272   See Section 2.43 of [RFC7991bis].
2273
227412.22.1.  quoteTitle attribute
2275
2276   See Section 2.39.2 of [RFC7991bis-01].
2277
227812.23.  referencegroup Element
2279
2280   See Section 2.44 of [RFC7991bis].
2281
228212.24.  relref Element
2283
2284   See Section 2.47 of [RFC7991bis].
2285
2286   EXPERIMENTAL, might be removed again - see <https://github.com/rfc-
2287   format/draft-iab-xml2rfc-v3-bis/issues/26>.
2288
2289
2290
2291
2292
2293
2294
2295
2296Reschke                   Expires April 5, 2022                [Page 41]
2297
2298Documentation             RFC7749 through XSLT              October 2021
2299
2300
230112.25.  Extensions to section Element
2302
2303   See Section 2.49 of [RFC7991bis].
2304
230512.25.1.  numbered attribute
2306
2307   See Section 2.49.2 of [RFC7991bis].
2308
230912.25.2.  removeInRFC attribute
2310
2311   See Section 2.49.3 of [RFC7991bis].
2312
231312.26.  sortingcode Element
2314
2315   See Section 4.2.7 of [V3IMPNOTES].
2316
231712.27.  sourcecode Element
2318
2319   See Section 2.52 of [RFC7991bis].
2320
232112.28.  strong Element
2322
2323   See Section 2.54 of [RFC7991bis].
2324
232512.29.  sub Element
2326
2327   See Section 2.55 of [RFC7991bis].
2328
232912.30.  sup Element
2330
2331   See Section 2.56 of [RFC7991bis].
2332
233312.31.  svg Element
2334
2335   See Section 4 of [RFC7991bis].
2336
233712.32.  table Element
2338
2339   See Section 2.58 of [RFC7991bis].
2340
234112.33.  tbody Element
2342
2343   See Section 2.59 of [RFC7991bis].
2344
2345
2346
2347
2348
2349
2350
2351
2352Reschke                   Expires April 5, 2022                [Page 42]
2353
2354Documentation             RFC7749 through XSLT              October 2021
2355
2356
235712.34.  td Element
2358
2359   See Section 2.60 of [RFC7991bis].
2360
236112.35.  tfoot Element
2362
2363   See Section 2.61 of [RFC7991bis].
2364
236512.36.  th Element
2366
2367   See Section 2.62 of [RFC7991bis].
2368
236912.37.  thead Element
2370
2371   See Section 2.63 of [RFC7991bis].
2372
237312.38.  tr Element
2374
2375   See Section 2.65 of [RFC7991bis].
2376
237712.39.  tt Element
2378
2379   See Section 2.66 of [RFC7991bis].
2380
238112.40.  u Element
2382
2383   See Appendix A.1 of [V3IMPNOTES].
2384
2385   Note that in this implementation, this element needs mapping
2386   information in two cases:
2387
2388   1.  When in XSLT 1.0: to compute the Unicode code point of a given
2389       character (when non-ASCII),
2390
2391   2.  In any case: to lookup the Unicode name of a character.
2392
2393   The mapping information can be supplied inline using the <x:u-map>
2394   element, or in an external file.  See Section 11.24 for details.
2395
239612.41.  ul Element
2397
2398   See Section 2.67 of [RFC7991bis].
2399
240012.42.  Extensions to xref Element
2401
2402
2403
2404
2405
2406
2407
2408Reschke                   Expires April 5, 2022                [Page 43]
2409
2410Documentation             RFC7749 through XSLT              October 2021
2411
2412
241312.42.1.  relative attribute
2414
2415   See Section 11.32, "x:rel" attribute.
2416
241712.42.2.  section attribute
2418
2419   See Section 11.32, "x:sec" attribute.
2420
242112.42.3.  sectionFormat attribute
2422
2423   See Section 11.32, "x:fmt" attribute, where "bare" maps to "sec",
2424   "comma" maps to ",", "of" maps to "of", and "parens" maps to "()".
2425
242612.43.  xi:include Element
2427
2428   See Appendix B.1 of [RFC7991bis].
2429
2430   _EXPERIMENTAL and INCOMPLETE - only supported as a child element of
2431   <references>, and only supporting parse type "XML"._
2432
243313.  Utilities
2434
243513.1.  Checking References
2436
2437   "check-references.xslt" can be used to check all references to RFC-
2438   and ID-series IETF publications and to W3C publications (note this
2439   script requires local copies of <ftp://ftp.isi.edu/in-notes/rfc-
2440   index.xml> and <http://www.w3.org/2002/01/tr-automation/tr.rdf> and
2441   will use the XML status information provided at
2442   <http://tools.ietf.org/>).
2443
2444   If the document is supposed to be published on the IETF standards
2445   track, the desired level can be specified using the parameter
2446   "intended-level" as 'proposed', 'draft' or 'internet'.
2447   Alternatively, it can be specified inside the document using the
2448   attribute x:maturity-level on the <rfc> element (see Section 11.30).
2449
2450   Note: Downward references should be annotated using the <annotate>
2451   element, containing an <xref> to [BCP97].
2452
2453   When an XSLT 2.0 processor is used, links in the document can be
2454   checked as well using the "link-check" parameter ('yes' or 'no').
2455   Note that this only works for http links to documents of type text/*.
2456
2457
2458
2459
2460
2461
2462
2463
2464Reschke                   Expires April 5, 2022                [Page 44]
2465
2466Documentation             RFC7749 through XSLT              October 2021
2467
2468
2469   For instance, as of 2008-07-12, the script produces for
2470   <https://greenbytes.de/tech/webdav/rfc2518.xml>:
2471
2472   > saxon rfc2518.xml check-references.xslt intended-status=PROPOSED \
2473     link-check=yes
2474
2475   Normative References:
2476   ISO-11578: not checked
2477   ISO-639: not checked
2478   ISO-8601: not checked
2479   REC-xml-19980210: [FirstEdition] obsoleted by REC-xml-20001006
2480   REC-xml-names-19990114: [FirstEdition] obsoleted by
2481    REC-xml-names-20060816
2482   RFC1766: [PROPOSED STANDARD] obsoleted by RFC3066 RFC3282
2483   RFC2068: [PROPOSED STANDARD] obsoleted by RFC2616
2484   RFC2069: [PROPOSED STANDARD] obsoleted by RFC2617
2485   RFC2119: [BEST CURRENT PRACTICE] (-> BCP0014) ok
2486   RFC2141: [PROPOSED STANDARD] ok
2487   RFC2277: [BEST CURRENT PRACTICE] (-> BCP0018) ok
2488   RFC2396: [DRAFT STANDARD] obsoleted by RFC3986
2489   RFC2279: [DRAFT STANDARD] obsoleted by RFC3629
2490
2491   Informational References:
2492   REC-PICS-labels-961031: [REC] ok
2493   RFC1807: [INFORMATIONAL] ok
2494   RFC2026: [BEST CURRENT PRACTICE] (-> BCP0009) ok
2495   RFC2291: [INFORMATIONAL] ok
2496   RFC2376: [INFORMATIONAL] obsoleted by RFC3023
2497   RFC2413: [INFORMATIONAL] obsoleted by RFC5013
2498   USMARC: not checked
2499   WF: not checked
2500
2501   Link Targets
2502   <http://www.w3.org/TR/1998/REC-xml-19980210>: ok
2503   <http://www.w3.org/TR/1999/REC-xml-names-19990114>: ok
2504   <http://www.dlib.org/dlib/july96/lagoze/07lagoze.html>: ok
2505   <http://www.w3.org/pub/WWW/TR/REC-PICS-labels-961031.html>: ok
2506
2507   Recognized formats in the <seriesInfo> element are:
2508
2509   o  for RFCs, the name attribute must be "RFC", and the value
2510      attribute must be the number of the RFC,
2511
2512   o  for Internet Drafs, the name attribute must be "ID" or "Internet-
2513      Draft", and the value attribute must be the file name of the draft
2514      (including the two-digit running number, but excluding a file
2515      extension),
2516
2517
2518
2519
2520Reschke                   Expires April 5, 2022                [Page 45]
2521
2522Documentation             RFC7749 through XSLT              October 2021
2523
2524
2525   o  for W3C documents, the name attribute must be "W3C", must start
2526      with "W3C ", or must start with "World Wide Web Consortium ", and
2527      the value attribute must be the "shorthand" name of the
2528      specification, such as "REC-xml-19980210".
2529
2530      Note: this stylesheet will need network access to check links and
2531      status of Internet Drafts.  When running a Java-based XSLT engine,
2532      you may have to supply Java system properties specifying the HTTP
2533      proxy to be used, such as "-Dhttp.proxyHost=hostname
2534      -Dhttp.proxyPort=80".
2535
253613.2.  Generating Graphs from References
2537
2538   "gen-reference-graph.xslt" generates a graph of RFC dependencies,
2539   using the same base data as in "check-references.xslt" (see
2540   Section 13.1).  Its output is a "dot" file, to be processed by
2541   GraphViz (see <http://www.graphviz.org/>).
2542
2543   The picture below shows the RFC dependencies in RFC2629.
2544
2545   (PNG output obtained from GraphViz)
2546
254713.3.  Producing reference entries for books
2548
2549   "amazon-asin.xslt" uses the Amazon web services to generate a
2550   <reference> element for a given ASIN (ISBN).
2551
2552   For instance:
2553
2554   <?xml version="1.0" encoding="utf-8"?>
2555   <references>
2556    <reference target="urn:isbn:0134516591">
2557      <front>
2558        <title>Simple Book, The: An Introduction to Internet Management,
2559                  Revised Second Edition</title>
2560        <author surname="Rose"
2561                   fullname="Marshall T. Rose" initials="M. T. ">
2562          <organization/>
2563        </author>
2564        <author surname="Marshall"
2565                   fullname="Rose T. Marshall" initials="R. T.">
2566          <organization/>
2567        </author>
2568        <date year="1996" month="March"/>
2569      </front>
2570      <seriesInfo name="Prentice Hall" value=""/>
2571    </reference>
2572   </references>
2573
2574
2575
2576Reschke                   Expires April 5, 2022                [Page 46]
2577
2578Documentation             RFC7749 through XSLT              October 2021
2579
2580
2581   Note that the resulting XML usually requires checking, in this case
2582   Amazon's database is playing tricks with Marshall's name...
2583
258413.4.  Down-converting to RFC 7749 Grammar
2585
2586   "clean-for-DTD.xslt" can be used to down-convert some extensions to a
2587   format that is supported by the existing xml2rfc formatters, mainly
2588   for the purpose of generating plain-text output.  Note that these
2589   extensions are experimental (feedback appreciated).
2590
2591   The following mappings are done:
2592
2593   o  <iref> elements inside <artwork> elements are moved in front of
2594      the enclosing <figure> element.
2595
2596   o  <xref> elements inside <artwork> are expanded just like in regular
2597      text (that is, the markup is stripped, but the element is replaced
2598      by the applicable replacement text).
2599
2600   o  <x:anchor-alias> elements get stripped.
2601
2602   o  <x:bcp14> elements get stripped.
2603
2604   o  <x:bb>, <x:bc> and <x:bt> elements get stripped.
2605
2606   o  <x:blockquote> elements get converted to indented text (through a
2607      <list> element).
2608
2609   o  <x:dfn> elements get stripped.
2610
2611   o  <x:h> elements get stripped.
2612
2613   o  <x:link> elements get stripped.
2614
2615   o  <x:lt> elements get collapsed into a single <lt> element with
2616      added <vspace> added to simulate paragraph breaks.
2617
2618   o  <x:note> elements get converted to indented text (through a <list>
2619      element).
2620
2621   o  <x:q> elements get stripped, with apostrophes added around the
2622      text.
2623
2624   o  <x:prose> elements are transformed into <seriesInfo> elements
2625      (which is an abuse of the element and only a workaround until
2626      xml2rfc gets a matching extension).
2627
2628
2629
2630
2631
2632Reschke                   Expires April 5, 2022                [Page 47]
2633
2634Documentation             RFC7749 through XSLT              October 2021
2635
2636
2637   o  <x:ref> elements get replaced by <xref> elements, targetting
2638      either the anchor or another anchor with matching <x:anchor-alias>
2639      child element.
2640
2641      *Note:* the above list is known to be incomplete and needs work.
2642      For instance, most of the extensions described in Section 12 get
2643      some mapping as well.
2644
2645   As the output formatters evolve to support the V3 format (proposed in
2646   [RFC7991bis]), "clean-for-DTD.xslt" will start taking advantage of
2647   these changes.  Right now, it supports three modes, one of which
2648   being used for the historic TCL processor, and the other ones being
2649   used with "xml2rfc 2.5.2" and "xml2rfc 2.6.0" (see
2650   https://pypi.python.org/pypi/xml2rfc/ [11]).
2651
2652   The modes can be selected using the "xml2rfc-ext-xml2rfc-backend"
2653   parameter or the "rfc-ext/xml2rfc-backend" processing instruction.
2654   The default mode is "201610" for documents with a publication date
2655   between January and May 2017, "201706" for documents newer than May
2656   2017, and "201510" otherwise:
2657
2658   201510  For "xml2rfc.tcl" and versions of the Python formatter before
2659      version 2.5.2.
2660
2661   201610  Maps the V3 extension for unnumbered section numbers to
2662      something the 2.5.2 version of the Python formatter understands
2663      (but note https://trac.tools.ietf.org/tools/xml2rfc/trac/
2664      ticket/313 [12]).
2665
2666   201706  Copies the V3 extension for unnumbered section numbers to the
2667      output.
2668
266913.5.  Extracting artwork
2670
2671   With "extract-artwork.xslt", artwork elements named through the
2672   "name" attribute can be extracted.  This can be used to automatically
2673   check their syntax (for instance, when ABNFs appear within a figure
2674   element).
2675
2676   For instance:
2677
2678   saxon rfc3986.xml extract-artwork.xslt name=uri.abnf
2679
2680   In addition, artwork of a specific type can be extracted, such as
2681   with:
2682
2683   saxon rfc3986.xml extract-artwork.xslt type=abnf
2684
2685
2686
2687
2688Reschke                   Expires April 5, 2022                [Page 48]
2689
2690Documentation             RFC7749 through XSLT              October 2021
2691
2692
2693   When extracting by type, artwork elements with a specified name can
2694   be excluded; this can be handy when the document uses some kind of
2695   schema language, and an appendix contains the collected schema,
2696   repeating definitions from earlier on.  Example:
2697
2698   saxon rfc3986.xml extract-artwork.xslt type=abnf except-name=clschm
2699
270013.6.  GRRDL
2701
2702   "rfc2629grddl.xslt" extracts RDF information.  This is experimental
2703   work-in-progress.  See <http://www.w3.org/TR/grddl/> for more
2704   information.
2705
270613.7.  HTML Live Refresh
2707
2708   _Experimental_
2709
2710   The "HTML Live Refresh" mode allows to run a text editor and a
2711   browser side-by-side, with the browser auto-updating every few
2712   seconds, displaying the updated HTML, and automatically navigating to
2713   the part of the page that changed last.
2714
2715   The requirements for this mode are:
2716
2717   1.  A browser that supports the "DOMParser" and "XSLTProcessor" APIs.
2718
2719   2.  The ability to reload the source code and the XSLT code from
2720       within Javascript; in some browsers this is forbidden for "file:"
2721       URIs due to perceived security problems.
2722
2723   This feature is currently tested with:
2724
2725   1.  Mozilla Firefox (where, to be able to reload from the local
2726       filesystem, Firefox needs to be configured with
2727       "security.fileuri.strict_origin_policy" set to "false" in
2728       "about:config", see Mozilla documentation [13]), and
2729
2730   2.  Google Chome (where, to be able to reload from the local
2731       filesystem, Chrome needs to be started with the command line
2732       option "--allow-file-access-from-files").
2733
2734   Use of this feature requires the inclusion of a processing
2735   instruction that holds the name of the XML source, such as:
2736
2737   <?rfc-ext refresh-from="draft-foo-bar-00.xml"?>
2738
2739
2740
2741
2742
2743
2744Reschke                   Expires April 5, 2022                [Page 49]
2745
2746Documentation             RFC7749 through XSLT              October 2021
2747
2748
2749   The optional parameters "refresh-interval" and "refresh-xslt" support
2750   changing the refresh interval (in seconds, defaulting to 10), and the
2751   name of the XSLT file to use (defaulting to "rfc2629.xslt").
2752
2753   To test this feature, start with a minimal source file like this:
2754
2755   <?xml-stylesheet type='text/xsl' href='rfc2629.xslt'?>
2756   <?rfc-ext refresh-from="draft-foo-bar-00.xml"?>
2757   <rfc docName="draft-foo-bar-00" ipr="trust200902">
2758     <front>
2759       <title>Title Goes Here</title>
2760       <abstract>
2761         <t>Abstract</t>
2762       </abstract>
2763     </front>
2764   </rfc>
2765
2766   ...open it in both text editor and browser, start editing and of
2767   course ocasionally save.  And don't forget to put "rfc2629.xslt" into
2768   the same folder.
2769
277013.8.  Refreshing included material in the XML source
2771
2772   There are many methods for automatic inclusion of material in the XML
2773   source, such as the "include" processing instruction (see
2774   Section 3.1), external entities (Appendix C.1), or XInclude.  In
2775   general, those share a common problem: the XML source file isn't
2776   self-contained, which makes it harder to submit it as Internet Draft.
2777
2778   The tool "refresh-inclusions.sh" does in-place replacement: it scans
2779   the source file for inclusion directives (expressed as XML processing
2780   instructions), and refreshes the included text with data from an
2781   external file.  It will not modify the source file unless included
2782   material did actually change.  When it does modify the source file,
2783   it will copy the original source to a backup file.
2784
2785   "refresh-inclusions.sh" can include both plain text
2786   ("BEGINESCAPEDINC"/"ENDESCAPEDINC") and XML ("BEGININC"/"ENDINC").
2787   The figure below was inserted using:
2788
2789   <?BEGINESCAPEDINC refresh-inclusions.sh ?>
2790   ...
2791   <?ENDSCAPEDINC refresh-inclusions.sh ?>
2792
2793   (note that the SP character at the end of the directive is
2794   significant)
2795
2796   "refresh-inclusions.sh":
2797
2798
2799
2800Reschke                   Expires April 5, 2022                [Page 50]
2801
2802Documentation             RFC7749 through XSLT              October 2021
2803
2804
2805#!/bin/sh
2806# Refresh file inclusions based on XML processing instructions
2807#
2808# Copyright (c) 2006-2016, Julian Reschke (julian.reschke@greenbytes.de)
2809# All rights reserved.
2810#
2811# Redistribution and use in source and binary forms, with or without
2812# modification, are permitted provided that the following conditions are met:
2813#
2814# * Redistributions of source code must retain the above copyright notice,
2815#   this list of conditions and the following disclaimer.
2816# * Redistributions in binary form must reproduce the above copyright notice,
2817#   this list of conditions and the following disclaimer in the documentation
2818#   and/or other materials provided with the distribution.
2819# * Neither the name of Julian Reschke nor the names of its contributors
2820#   may be used to endorse or promote products derived from this software
2821#   without specific prior written permission.
2822#
2823# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
2824# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2825# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2826# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
2827# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2828# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2829# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2830# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2831# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2832# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2833# POSSIBILITY OF SUCH DAMAGE.
2834
2835expand() {
2836
2837  # remember whether we started with CRLF (assumes that we have dos2unix)
2838  CRLF=$(dos2unix -ic "$1" 2>/dev/null | tr -d ' ')
2839
2840  cat "$1" | awk '
2841
2842  function filecontents(filename) {
2843    while (getline < filename > 0) {
2844      fc[filename] = fc[filename] $0 "\n"
2845    }
2846    return fc[filename]
2847  }
2848
2849  BEGIN {
2850    includefile = "";
2851    includeescapedfile = "";
2852  }
2853
2854
2855
2856Reschke                   Expires April 5, 2022                [Page 51]
2857
2858Documentation             RFC7749 through XSLT              October 2021
2859
2860
2861  # start include (verbatim mode)
2862  /<\?BEGININC .* \?>$/ {
2863    print
2864    keyword = "<?BEGININC "
2865    extract = match($0, /<\?BEGININC .* \?>$/)
2866    includefile = substr($0, RSTART + length(keyword),
2867                    RLENGTH - 3 - length(keyword))
2868    output = filecontents(includefile)
2869    printf("%s", output)
2870  }
2871
2872  # start include (escape-for-XML mode)
2873  /<\?BEGINESCAPEDINC .* \?>$/ {
2874    print
2875    keyword = "<?BEGINESCAPEDINC "
2876    extract = match($0, /<\?BEGINESCAPEDINC .* \?>$/)
2877    includeescapedfile = substr($0, RSTART + length(keyword),
2878                           RLENGTH - 3 - length(keyword))
2879    output = filecontents(includeescapedfile)
2880    # escape ampersand, less-than, and greater-than
2881    # when part of a CDATA end marker
2882    gsub(/&/, "\\&amp;", output)
2883    gsub(/</, "\\&lt;", output)
2884    gsub(/]]>/, "]]\\&gt;", output)
2885    printf("%s", output)
2886  }
2887
2888  # end include (verbatim mode)
2889  /^<\?ENDINC .* \?>/ {
2890    if ($2 != includefile) {
2891      printf ("unexpected ENDINC, got %s but expected %s\n", $2,
2892        includefile) >> "/dev/stderr"
2893    }
2894    includefile = "";
2895  }
2896
2897  # end include (escape-for-XML mode)
2898  /^<\?ENDESCAPEDINC .* \?>/ {
2899    if ($2 != includeescapedfile) {
2900      printf ("unexpected ENDESCAPEDINC, got %s but expected %s\n", $2,
2901        includeescapedfile) >> "/dev/stderr"
2902    }
2903    includeescapedfile = "";
2904  }
2905
2906  #default
2907  {
2908    if (includefile == "" && includeescapedfile == "") {
2909
2910
2911
2912Reschke                   Expires April 5, 2022                [Page 52]
2913
2914Documentation             RFC7749 through XSLT              October 2021
2915
2916
2917      print
2918    }
2919  }
2920
2921  END {
2922    if (includefile != "") {
2923      printf ("missing ENDINC for %s\n",
2924        includefile) >> "/dev/stderr"
2925    }
2926    if (includeescapedfile != "") {
2927      printf ("missing ENDESCAPEDINC for %s\n",
2928        includeescapedfile) >> "/dev/stderr"
2929    }
2930  }
2931
2932  ' > $$
2933
2934  # restore CRLF if needed
2935  if [ -n "$CRLF" ]; then
2936    FNN=$(echo "$1" | tr -d ' ')
2937    [ "$FNN" = "$CRLF" ] && unix2dos -q $$
2938  fi
2939
2940  # check for changes
2941  cmp -s "$1" $$ || (
2942    cp -v "$1" "$1".ri.bak
2943    cp $$ "$1"
2944    echo "$1" updated )
2945
2946  rm -f $$
2947}
2948
2949[ $# -ne 0 ] || ( echo "refresh-inclusions.sh file..." >&2 ; exit 2 )
2950
2951for i in $*
2952do
2953  expand $i
2954done
2955
2956
295714.  References
2958
295914.1.  Informative References
2960
2961   [BCP97]    Klensin, J. and S. Hartman, "Handling Normative References
2962              to Standards-Track Documents", BCP 97, RFC 4897, June
2963              2007, <https://www.rfc-editor.org/info/bcp97>.
2964
2965
2966
2967
2968Reschke                   Expires April 5, 2022                [Page 53]
2969
2970Documentation             RFC7749 through XSLT              October 2021
2971
2972
2973   [DC-HTML]  Johnston, P. and A. Powell, "Expressing Dublin Core
2974              metadata using HTML/XHTML meta and link elements", Dublin
2975              Core Metadata Initiative , August 2008,
2976              <http://dublincore.org/documents/2008/08/04/dc-html/>.
2977
2978   [HTML5]    Hickson, I., Berjon, R., Faulkner, S., Leithead, T., Doyle
2979              Navara, E., O'Connor, E., and S. Pfeiffer, "HTML5", W3C
2980              Recommendation REC-html5-20141028, October 2014,
2981              <http://www.w3.org/TR/2014/REC-html5-20141028/>.
2982
2983              Latest version available at <http://www.w3.org/TR/html5/>.
2984
2985   [RFC2026]  Bradner, S., "The Internet Standards Process -- Revision
2986              3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996,
2987              <https://www.rfc-editor.org/info/rfc2026>.
2988
2989   [RFC2045]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
2990              Extensions (MIME) Part One: Format of Internet Message
2991              Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996,
2992              <https://www.rfc-editor.org/info/rfc2045>.
2993
2994   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
2995              Requirement Levels", BCP 14, RFC 2119,
2996              DOI 10.17487/RFC2119, March 1997,
2997              <https://www.rfc-editor.org/info/rfc2119>.
2998
2999   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Nielsen, H.,
3000              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
3001              Transfer Protocol -- HTTP/1.1", RFC 2616,
3002              DOI 10.17487/RFC2616, June 1999,
3003              <https://www.rfc-editor.org/info/rfc2616>.
3004
3005   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
3006              DOI 10.17487/RFC2629, June 1999,
3007              <https://www.rfc-editor.org/info/rfc2629>.
3008
3009   [RFC2648]  Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
3010              DOI 10.17487/RFC2648, August 1999,
3011              <https://www.rfc-editor.org/info/rfc2648>.
3012
3013   [RFC2731]  Kunze, J., "Encoding Dublin Core Metadata in HTML",
3014              RFC 2731, DOI 10.17487/RFC2731, December 1999,
3015              <https://www.rfc-editor.org/info/rfc2731>.
3016
3017   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
3018              Specifications: ABNF", STD 68, RFC 5234,
3019              DOI 10.17487/RFC5234, January 2008,
3020              <https://www.rfc-editor.org/info/rfc5234>.
3021
3022
3023
3024Reschke                   Expires April 5, 2022                [Page 54]
3025
3026Documentation             RFC7749 through XSLT              October 2021
3027
3028
3029   [RFC7230]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer
3030              Protocol (HTTP/1.1): Message Syntax and Routing",
3031              RFC 7230, DOI 10.17487/RFC7230, June 2014,
3032              <https://www.rfc-editor.org/info/rfc7230>.
3033
3034   [RFC7749]  Reschke, J., "The "xml2rfc" Version 2 Vocabulary",
3035              RFC 7749, DOI 10.17487/RFC7749, February 2016,
3036              <https://www.rfc-editor.org/info/rfc7749>.
3037
3038   [RFC7991bis]
3039              Levine, J., Ed., "The "xml2rfc" version 3 Vocabulary",
3040              draft-iab-rfc7991bis-03 (work in progress), March 2020.
3041
3042   [RFC7991bis-01]
3043              Hoffman, P., "The "xml2rfc" version 3 Vocabulary", draft-
3044              iab-rfc7991bis-01 (work in progress), October 2018.
3045
3046   [RNC]      Clark, J., "RELAX NG Compact Syntax", OASIS , Nov 2002,
3047              <http://www.oasis-open.org/committees/relax-ng/compact-
3048              20021121.html>.
3049
3050   [V3IMPNOTES]
3051              Levkowetz, H., "Implementation notes for RFC7991, "The
3052              'xml2rfc' Version 3 Vocabulary"", draft-levkowetz-xml2rfc-
3053              v3-implementation-notes-12 (work in progress), December
3054              2020.
3055
3056   [XHTML2]   Birbeck, M., Gylling, M., McCarron, S., Pemberton, S.,
3057              Axelsson, J., Dubinko, M., Epperson, B., Ishikawa, M., and
3058              A. Navarro, "XHTML(tm) 2.0", W3C Group Note NOTE-
3059              xhtml2-20101216, December 2010,
3060              <http://www.w3.org/TR/2010/NOTE-xhtml2-20101216>.
3061
3062              Latest version available at <http://www.w3.org/TR/xhtml2>.
3063
3064   [XML]      Bray, T., Paoli, J., Sperberg-McQueen, M., Maler, E., and
3065              F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth
3066              Edition)", W3C Recommendation REC-xml-20081126, November
3067              2008, <http://www.w3.org/TR/2008/REC-xml-20081126/>.
3068
3069              Latest version available at <http://www.w3.org/TR/xml>.
3070
3071   [XSL-FO]   Berglund, A., "Extensible Stylesheet Language (XSL)
3072              Version 1.1", W3C Recommendation REC-xsl11-20061205,
3073              December 2006,
3074              <http://www.w3.org/TR/2006/REC-xsl11-20061205/>.
3075
3076              Latest version available at <http://www.w3.org/TR/xsl11/>.
3077
3078
3079
3080Reschke                   Expires April 5, 2022                [Page 55]
3081
3082Documentation             RFC7749 through XSLT              October 2021
3083
3084
308514.2.  URIs
3086
3087   [1] http://www.exslt.org/exsl/functions/node-set/index.html
3088
3089   [2] http://www.exslt.org/date/functions/date-time/
3090
3091   [3] http://www.microsoft.com/downloads/
3092       details.aspx?FamilyID=2FB55371-C94E-4373-B0E9-DB4816552E41
3093
3094   [4] https://addons.mozilla.org/de/firefox/addon/722
3095
3096   [5] https://bugzilla.mozilla.org/show_bug.cgi?id=22942
3097
3098   [6] http://bugzilla.mozilla.org/show_bug.cgi?id=193678
3099
3100   [7] https://addons.mozilla.org/firefox/2933/
3101
3102   [8] http://www.w3.org/TR/REC-xml/#NT-Name
3103
3104   [9] http://www.w3.org/TR/2006/WD-xhtml2-20060726/mod-
3105       structural.html#edef_structural_h
3106
3107   [10] http://www.w3.org/TR/html4/struct/links.html#edef-LINK
3108
3109   [11] https://pypi.python.org/pypi/xml2rfc/
3110
3111   [12] https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/313
3112
3113   [13] https://developer.mozilla.org/en-US/docs/Archive/Misc_top_level/
3114        Same-origin_policy_for_file:_URIs
3115
3116   [14] http://www.thaiopensource.com/relaxng/jing.html
3117
3118Appendix A.  RELAX NG Compact Schema
3119
3120   The RelaxNG schema ([RNC]) below can be used to validate input
3121   documents (for instance, with Jing [14]).
3122
3123   _Note that this is work in progress, and doesn't yet cover all
3124   extensions completely._
3125
3126# WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.
3127
3128# Define our extension namespace
3129namespace x = "http://purl.org/net/xml2rfc/ext"
3130
3131# Define GRDDL namespace
3132namespace grddl = "http://www.w3.org/2003/g/data-view#"
3133
3134
3135
3136Reschke                   Expires April 5, 2022                [Page 56]
3137
3138Documentation             RFC7749 through XSLT              October 2021
3139
3140
3141# Define RDF namespace
3142namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
3143
3144# Define SVG namespace
3145namespace svg = "http://www.w3.org/2000/svg"
3146
3147# Define XInclude namespace
3148namespace xi = "http://www.w3.org/2001/XInclude"
3149
3150# Include rfc2629bis RNC grammar
3151include "rfc2629.rnc" {
3152
3153  # Redefine <address> to allow multiple email addresses
3154  address =
3155    element address {
3156      attlist.address,
3157      postal?,
3158      phone?,
3159      facsimile?,
3160      email*,
3161      uri?
3162  }
3163
3164  # Redefine <annotation> to allow more markup
3165  annotation =
3166    element annotation {
3167      attlist.annotation,
3168      (TEXT
3169        | xref
3170        | eref
3171        | iref
3172        | cref
3173        | spanx
3174        | v3_tt
3175        )*
3176    }
3177
3178  # Redefine <artwork> to allow markup
3179  artwork =
3180    element artwork {
3181      attlist.artwork,
3182      attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3183      ( v3_svg |
3184        (TEXT
3185          | eref
3186          | iref
3187          | spanx
3188          | xref
3189
3190
3191
3192Reschke                   Expires April 5, 2022                [Page 57]
3193
3194Documentation             RFC7749 through XSLT              October 2021
3195
3196
3197          | v3_em
3198          | v3_strong
3199          | x_abnf-char-sequence
3200          | x_bb
3201          | x_bc
3202          | x_bcp14
3203          | x_bt
3204          | x_highlight
3205          | x_length-of
3206          | x_parse-xml
3207          | x_ref
3208          | x_span
3209          | x_x)*
3210        )
3211    }
3212
3213  # Redefine <back> to allow displayreference
3214  back =
3215    element back {
3216      attlist.back,
3217      v3_displayreference*,
3218      references*,
3219      section*
3220    }
3221
3222  # Redefine <c> to allow our extension elements
3223  c =
3224    element c {
3225      attlist.c,
3226      (TEXT
3227        | xref
3228        | eref
3229        | iref
3230        | cref
3231        | spanx
3232        | v3_em
3233        | v3_strong
3234        | v3_tt
3235        | x_ref)*
3236    }
3237
3238  # Redefine <cref> to allow more child elements
3239  cref =
3240    element cref {
3241      attlist.cref,
3242      (TEXT
3243        | eref
3244        | xref
3245
3246
3247
3248Reschke                   Expires April 5, 2022                [Page 58]
3249
3250Documentation             RFC7749 through XSLT              October 2021
3251
3252
3253        | x_ref)*
3254    }
3255
3256  # Redefine <date> to allow text content (see Section 11.26)
3257  date =
3258    element date {
3259      attlist.date,
3260      TEXT?
3261    }
3262
3263  # Redefine <figure> to allow more child elements
3264  figure =
3265    element figure {
3266      attlist.figure,
3267      attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3268      v3_name?,
3269      iref*,
3270      preamble?,
3271      (artwork
3272        | v3_sourcecode
3273        | v3_artset
3274      ),
3275      postamble?
3276    }
3277
3278  # Redefine <front> to allow boilerplate
3279  front =
3280    element front {
3281      attlist.front,
3282      title,
3283      seriesInfo*,
3284      author+,
3285      date?,
3286      area*,
3287      workgroup*,
3288      keyword*,
3289      abstract?,
3290      note*,
3291      v3_boilerplate?
3292    }
3293
3294  # Redefine <list> element to allow <x:lt> child elements
3295  \list =
3296    element list {
3297      attlist.list,
3298      (t+ | x_lt+)
3299    }
3300
3301
3302
3303
3304Reschke                   Expires April 5, 2022                [Page 59]
3305
3306Documentation             RFC7749 through XSLT              October 2021
3307
3308
3309  # Redefine <note> to allow <name> and not require title attribute
3310  note =
3311    element note {
3312      attlist.x_note,
3313      v3_name?,
3314      (v3_dl
3315        | v3_ol
3316        | t
3317        | v3_ul)+
3318    }
3319
3320  # Redefine <preamble> to allow our extension elements
3321  preamble =
3322    element preamble {
3323      attlist.preamble,
3324      (TEXT
3325        | xref
3326        | eref
3327        | iref
3328        | cref
3329        | spanx
3330        | v3_em
3331        | v3_strong
3332        | v3_tt
3333        | x_anchor-alias
3334        | x_bcp14)*
3335  }
3336
3337  # Redefine <postal> to allow <postalLine> and new detail elements
3338  postal =
3339    element postal {
3340      (
3341        (city
3342          | code
3343          | country
3344          | v3_cityarea
3345          | v3_extaddr
3346          | v3_pobox
3347          | v3_sortingcode
3348          | region
3349          | street)*
3350          | (v3_postalLine+,
3351          country?
3352          ))
3353    }
3354
3355  # Redefine <postamble> to allow our extension elements
3356  postamble =
3357
3358
3359
3360Reschke                   Expires April 5, 2022                [Page 60]
3361
3362Documentation             RFC7749 through XSLT              October 2021
3363
3364
3365    element postamble {
3366      attlist.postamble,
3367      (TEXT
3368        | xref
3369        | eref
3370        | iref
3371        | cref
3372        | spanx
3373        | v3_em
3374        | v3_strong
3375        | v3_tt
3376        | x_bcp14)*
3377    }
3378
3379  # Redefine <reference> to allow our extension elements
3380  reference =
3381    element reference {
3382      attlist.reference,
3383      (
3384        (
3385          front,
3386          v3_refcontent?,
3387          seriesInfo*,
3388          x_prose?,
3389          v3_refcontent?,
3390          format*,
3391          annotation*,
3392          x_source?
3393        ) | (
3394          v3_refcontent?,
3395          seriesInfo*,
3396          x_prose?,
3397          v3_refcontent?,
3398          format*,
3399          annotation*,
3400          x_source
3401        )
3402      )
3403    }
3404
3405  # Redefine <references> to allow extension elements and attributes
3406  references =
3407    element references {
3408      attribute title { text }?,
3409      attribute anchor { xsd:ID }?,
3410      attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3411      v3_name?,
3412      (references+ # (see [V3IMPNOTES], Section 3.1.16)
3413
3414
3415
3416Reschke                   Expires April 5, 2022                [Page 61]
3417
3418Documentation             RFC7749 through XSLT              October 2021
3419
3420
3421       |
3422        (reference
3423         | v3_referencegroup
3424         | xi_include)+
3425       )
3426    }
3427
3428  # Redefine <rfc> to allow our extension elements
3429  rfc =
3430    element rfc {
3431      attribute xml:lang { text }?,
3432      attribute grddl:transformation { ATEXT }?,
3433      attribute x:maturity-level { "proposed" | "draft" | "internet" }?,
3434      attribute category { "std" | "bcp" | "info" | "exp" | "historic" }?,
3435      attribute consensus { "false" | "true" | "no" | "yes" }?,
3436      attribute docName { text }?,
3437      attribute indexInclude { "true" | "false" }?, # (see [RFC7991bis], Section 2.48.4)
3438      attribute ipr {
3439        "full2026"
3440        | "noDerivativeWorks2026"
3441        | "none"
3442        | "full3667"
3443        | "noModification3667"
3444        | "noDerivatives3667"
3445        | "full3978"
3446        | "noModification3978"
3447        | "noDerivatives3978"
3448        | "trust200811"
3449        | "noModificationTrust200811"
3450        | "noDerivativesTrust200811"
3451        | "trust200902"
3452        | "noModificationTrust200902"
3453        | "noDerivativesTrust200902"
3454        | "pre5378Trust200902"
3455      }?,
3456      attribute iprExtract { xsd:IDREF }?,
3457      attribute number { text }?,
3458      attribute obsoletes { text }?,
3459      attribute tocDepth { text }?, # (see [RFC7991bis], Section 2.48.14)
3460      attribute tocInclude { "true" | "false" }?, # (see [RFC7991bis], Section 2.48.15)
3461      attribute scripts { text }?, # (see [RFC7991bis], Appendix B.3)
3462      attribute seriesNo { text }?,
3463      attribute sortRefs { "true" | "false" }?, # (see [RFC7991bis], Section 2.48.11)
3464      attribute submissionType { "IETF" | "IAB" | "IRTF" | "independent" }?,
3465      attribute symRefs { "true" | "false" }?, # (see [RFC7991bis], Section 2.48.13)
3466      attribute updates { text }?,
3467      attribute version { text }?, # (see [RFC7991bis], Section 2.48.13)
3468      v3_link*,
3469
3470
3471
3472Reschke                   Expires April 5, 2022                [Page 62]
3473
3474Documentation             RFC7749 through XSLT              October 2021
3475
3476
3477      x_link*,
3478      x_feedback?,
3479      x_assign-section-number*,
3480      front,
3481      middle,
3482      back?
3483    }
3484
3485  # Redefine <section> to allow new elements
3486  section =
3487    element section {
3488      attlist.x_section,
3489      (t
3490       | artwork
3491       | figure
3492       | texttable
3493       | iref
3494       | section
3495       | v3_artset
3496       | v3_aside
3497       | v3_blockquote
3498       | v3_contact
3499       | v3_dl
3500       | v3_name
3501       | v3_ol
3502       | v3_sourcecode
3503       | v3_table
3504       | v3_ul
3505       | x_anchor-alias
3506       | x_blockquote
3507       | x_contributor
3508       | x_include-author
3509       | x_note
3510       | x_u-map
3511       | rdf_Description)*
3512    }
3513
3514  # Redefine <spanx> to allow some markup
3515  spanx =
3516    element spanx {
3517      attlist.spanx,
3518      (TEXT
3519        | iref
3520        | xref
3521        | x_ref)*
3522    }
3523
3524  # Redefine <t> to allow our extension elements
3525
3526
3527
3528Reschke                   Expires April 5, 2022                [Page 63]
3529
3530Documentation             RFC7749 through XSLT              October 2021
3531
3532
3533  t =
3534    element t {
3535      attlist.t,
3536      (TEXT
3537       | \list
3538       | figure
3539       | xref
3540       | eref
3541       | iref
3542       | cref
3543       | spanx
3544       | vspace
3545       | v3_bcp14
3546       | v3_br
3547       | v3_contact
3548       | v3_em
3549       | v3_relref
3550       | v3_strong
3551       | v3_sub
3552       | v3_sup
3553       | v3_tt
3554       | v3_u
3555       | x_abnf-char-sequence
3556       | x_anchor-alias
3557       | x_bcp14
3558       | x_dfn
3559       | x_h
3560       | x_q
3561       | x_ref
3562       | x_span
3563       | x_sup)*
3564    }
3565
3566  # Redefine <title> to allow <br>
3567  title =
3568    element title {
3569      attlist.title,
3570      (TEXT
3571        | v3_br)*
3572    }
3573
3574  # Redefine <xref> to allow some markup
3575  xref =
3576    element xref {
3577      attlist.xref,
3578      (TEXT
3579        | v3_em
3580        | v3_strong
3581
3582
3583
3584Reschke                   Expires April 5, 2022                [Page 64]
3585
3586Documentation             RFC7749 through XSLT              October 2021
3587
3588
3589        | v3_sub
3590        | v3_sup
3591        | v3_tt)*
3592    }
3593}
3594
3595# Extend attribute set for <abstract>
3596attlist.abstract &=
3597  attribute anchor { xsd:ID }?, # (see [RFC7991bis], Section 2.1.1)
3598  attribute pn { text }? # (see [RFC7991bis], Appendix B.2)
3599
3600# Allow extension attributes on <artwork> (Section 11.25)
3601attlist.artwork &=
3602  attribute anchor { xsd:ID }?,
3603  attribute originalSrc { text }?, # (see [RFC7991bis], Appendix B.3)
3604  attribute x:indent-with { ATEXT }?,
3605  attribute x:lang { "" }?,
3606  attribute x:is-code-component { "no" | "yes" }?
3607
3608# Allow anchor and x:annotation attributes on <author>
3609attlist.author &=
3610  attribute asciiFullname { ATEXT }?,
3611  attribute asciiInitials { ATEXT }?,
3612  attribute asciiSurname { ATEXT }?,
3613  attribute anchor { xsd:ID }?,
3614  attribute x:annotation { ATEXT }?
3615
3616# Extend attribute set for <c>
3617attlist.c &=
3618  attribute anchor { xsd:ID }?
3619
3620# Extend attribute set for <city>
3621attlist.city &=
3622  attribute ascii { ATEXT }?
3623
3624# Extend attribute set for <code>
3625attlist.code &=
3626  attribute ascii { ATEXT }?
3627
3628# Extend attribute set for <country>
3629attlist.country &=
3630  attribute ascii { ATEXT }?
3631
3632# Extend attribute set for <cref> (see Section 2.17.2 of [RFC7991bis])
3633attlist.cref &=
3634  attribute display { "false" | "true" }?
3635
3636# Extend attribute set for <date> (see Section 11.26)
3637
3638
3639
3640Reschke                   Expires April 5, 2022                [Page 65]
3641
3642Documentation             RFC7749 through XSLT              October 2021
3643
3644
3645attlist.date &=
3646  attribute x:include-day { "false" | "true" }?
3647
3648# Extend attribute set for <eref> (see Section 11.27)
3649attlist.eref &=
3650  attribute brackets { "none" | "angle" }?
3651
3652# Extend attribute set for <iref> (see Section 11.28)
3653attlist.iref &=
3654  attribute x:for-anchor { ATEXT }?
3655
3656# Extend attribute set for <list> (see Section 11.29)
3657attlist.list &=
3658  attribute x:indent { ATEXT }?
3659
3660# Extend/Relax attribute set for <note>
3661attlist.x_note &=
3662  attribute anchor { xsd:ID }?,
3663  attribute title { ATEXT }?,
3664  attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3665  attribute removeInRFC { "false" | "true" }? # see Section 12.25.2
3666
3667# Extend attribute set for <preamble>
3668attlist.preamble &=
3669  attribute anchor { xsd:ID }?
3670
3671# Extend attribute set for <organization>
3672attlist.organization &=
3673  attribute ascii { ATEXT }?,
3674  attribute showOnFrontPage { "false" | "true" }?
3675
3676# Extend attribute set for <reference>
3677attlist.reference &=
3678  attribute quoteTitle { "false" | "true" }?, # (see Section 12.22.1)
3679  attribute xml:base { text }? # (see [RFC7991bis], Section 2)
3680
3681# Extend attribute set for <references>
3682attlist.references &=
3683  attribute pn { text }? # (see [RFC7991bis], Appendix B.2)
3684
3685# Extend attribute set for <region>
3686attlist.region &=
3687  attribute ascii { ATEXT }?
3688
3689# Extend/Relax attribute set for <section> (see Section 11.31)
3690attlist.x_section &=
3691  attribute anchor { xsd:ID }?,
3692  attribute title { ATEXT }?,
3693
3694
3695
3696Reschke                   Expires April 5, 2022                [Page 66]
3697
3698Documentation             RFC7749 through XSLT              October 2021
3699
3700
3701  attribute toc { "include" | "exclude" | "default" }?,
3702  attribute numbered { "false" | "true" }?, # see Section 12.25.1
3703  attribute removeInRFC { "false" | "true" }?, # see Section 12.25.2
3704  attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3705  attribute x:fixed-section-number { ATEXT }?
3706
3707# Allow anchor attribute on <spanx>
3708attlist.spanx &=
3709  attribute anchor { xsd:ID }?
3710
3711# Extend attribute set for <street>
3712attlist.street &=
3713  attribute ascii { ATEXT }?
3714
3715# Extend attribute set for <c> (see Section 11.28)
3716attlist.t &=
3717  attribute indent { text }?,
3718  attribute keepWithNext { text }?,
3719  attribute keepWithPrevious { text }?,
3720  attribute pn { text }? # (see [RFC7991bis], Appendix B.2)
3721
3722# Extend attribute set for <texttable>
3723attlist.texttable &=
3724  attribute x:caption-side { ATEXT }?
3725
3726# Extend attribute set for <title>
3727attlist.title &=
3728  attribute ascii { ATEXT }?,
3729  attribute x:quotes { "true" | "false" }? # (deprecated, see Section 12.22.1)
3730
3731# Allow annotation attribute on <uri>
3732attlist.uri &=
3733  attribute x:annotation { ATEXT }?
3734
3735# Extend attribute set for <xref> (see Section 11.32)
3736attlist.xref &=
3737  attribute derivedContent { text }?, # (see [RFC7991bis], Appendix B.3)
3738  attribute x:fmt  { "()" | "," | "of" | "number" | "sec" |
3739                     "none" }?,
3740  attribute x:rel  { ATEXT }?,
3741  attribute x:sec  { ATEXT }?,
3742  attribute relative  { ATEXT }?,
3743  attribute section  { ATEXT }?,
3744  attribute sectionFormat  { "bare" | "comma" | "of" | "parens" }?
3745
3746
3747# Set of artwork (see Section 12.1)
3748v3_artset =
3749
3750
3751
3752Reschke                   Expires April 5, 2022                [Page 67]
3753
3754Documentation             RFC7749 through XSLT              October 2021
3755
3756
3757  element artset {
3758    attribute anchor { xsd:ID }?,
3759    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3760    artwork+
3761  }
3762
3763# Side Note (see Section 12.2)
3764v3_aside =
3765  element aside {
3766    attribute anchor { xsd:ID }?,
3767    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3768    (artwork
3769      | figure
3770      | iref
3771      | t
3772      | v3_blockquote
3773      | v3_dl
3774      | v3_ol
3775      | v3_table
3776      | v3_ul)*
3777  }
3778
3779# BCP14/RFC2119 keywords (see Section 12.3)
3780v3_bcp14 =
3781  element bcp14 {
3782    TEXT
3783  }
3784
3785# Blockquote (see Section 12.4)
3786v3_blockquote =
3787  element blockquote {
3788    attribute anchor { xsd:ID }?,
3789    attribute cite { URI }?,
3790    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3791    attribute quotedFrom { ATEXT }?,
3792    (
3793      (artwork
3794        | v3_dl
3795        | figure
3796        | v3_ol
3797        | v3_sourcecode
3798        | t
3799        | v3_ul)+
3800    |
3801      (TEXT
3802        | v3_bcp14
3803        | cref
3804        | v3_em
3805
3806
3807
3808Reschke                   Expires April 5, 2022                [Page 68]
3809
3810Documentation             RFC7749 through XSLT              October 2021
3811
3812
3813        | eref
3814        | iref
3815        | v3_strong
3816        | v3_sub
3817        | v3_sup
3818        | v3_tt
3819        | xref)+
3820    )
3821  }
3822
3823# Boilerplate (see Section 12.4)
3824v3_boilerplate =
3825  element boilerplate {
3826    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3827    section+
3828  }
3829
3830# Forced Line Break (see Section 12.6)
3831v3_br =
3832  element br {
3833    empty
3834  }
3835
3836# (see Section 12.7)
3837v3_cityarea =
3838  element cityarea {
3839    attribute ascii { ATEXT }?,
3840    TEXT
3841  }
3842
3843# (see Section 12.8)
3844v3_contact =
3845  element contact {
3846    attribute initials { text }?,
3847    attribute asciiInitials { text }?,
3848    attribute surname { text }?,
3849    attribute asciiSurname { text }?,
3850    attribute fullname { text }?,
3851    attribute asciiFullname { text }?,
3852    organization?,
3853    address?
3854  }
3855
3856# Mapping of reference names to display names (see Section 12.9)
3857v3_displayreference =
3858  element displayreference {
3859    attribute target { xsd:IDREF },
3860    attribute to { ATEXT }
3861
3862
3863
3864Reschke                   Expires April 5, 2022                [Page 69]
3865
3866Documentation             RFC7749 through XSLT              October 2021
3867
3868
3869  }
3870
3871# Definition List Description Element (see Section 12.10)
3872v3_dd =
3873  element dd {
3874    attribute anchor { xsd:ID }?,
3875    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3876    ((v3_artset
3877      | artwork
3878      | figure
3879      | t
3880      | v3_aside
3881      | v3_dl
3882      | v3_ol
3883      | v3_table
3884      | v3_sourcecode
3885      | v3_ul)+ |
3886    (TEXT
3887      | cref
3888      | eref
3889      | iref
3890      | xref
3891      | v3_bcp14
3892      | v3_br
3893      | v3_em
3894      | v3_sub
3895      | v3_sup
3896      | v3_tt
3897      | v3_strong
3898      | v3_u
3899      | x_ref)*
3900    )
3901  }
3902
3903# Definition List (see Section 12.11)
3904v3_dl =
3905  element dl {
3906    attribute anchor { xsd:ID }?, # (see [RFC7991bis], Section 2.21.1)
3907    attribute indent { text }?,
3908    attribute newline { "false" | "true" }?,
3909    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3910    attribute spacing { "normal" | "compact" }?,
3911    (v3_dt, v3_dd)+
3912  }
3913
3914# Definition List Description Term (see Section 12.12)
3915v3_dt =
3916  element dt {
3917
3918
3919
3920Reschke                   Expires April 5, 2022                [Page 70]
3921
3922Documentation             RFC7749 through XSLT              October 2021
3923
3924
3925    attribute anchor { xsd:ID }?,
3926    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3927    (TEXT
3928      | cref
3929      | eref
3930      | iref
3931      | xref
3932      | v3_em
3933      | v3_tt
3934      | v3_strong)*
3935  }
3936
3937# Emphasized Text (see Section 12.13)
3938v3_em =
3939  element em {
3940    attribute anchor { xsd:ID }?,
3941    (TEXT
3942      | eref
3943      | iref
3944      | xref
3945      | v3_strong
3946      | x_ref)*
3947  }
3948
3949# Extended Postal Address (see Section 12.14)
3950v3_extaddr =
3951  element extaddr {
3952    attribute ascii { ATEXT }?,
3953    TEXT
3954  }
3955
3956# Definition List (see Section 12.15)
3957v3_li =
3958  element li {
3959    attribute anchor { xsd:ID }?,
3960    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
3961    ((v3_artset
3962      | artwork
3963      | figure
3964      | v3_blockquote
3965      | v3_dl
3966      | v3_ol
3967      | t
3968      | v3_table
3969      | v3_sourcecode
3970      | v3_ul
3971    )+
3972      |
3973
3974
3975
3976Reschke                   Expires April 5, 2022                [Page 71]
3977
3978Documentation             RFC7749 through XSLT              October 2021
3979
3980
3981    (TEXT
3982      | cref
3983      | eref
3984      | iref
3985      | xref
3986      | v3_bcp14
3987      | v3_em
3988      | v3_strong
3989      | v3_sub
3990      | v3_sup
3991      | v3_tt
3992      | v3_u
3993      | x_dfn
3994      | x_ref)*
3995    )
3996  }
3997
3998# Container for additional links (see Section 12.16)
3999v3_link =
4000  element link {
4001    attribute href { text },
4002    attribute rel { text }?
4003  }
4004
4005# Section/Figure/Table Name (see Section 12.17)
4006v3_name =
4007  element name {
4008    attribute slugifiedName { text }?, # (see [RFC7991bis], Appendix B.2)
4009    (TEXT
4010      | cref
4011      | v3_br
4012      | v3_em
4013      | v3_sup
4014      | v3_tt
4015      | xref)*
4016  }
4017
4018# Ordered List (see Section 12.18)
4019v3_ol =
4020  element ol {
4021    attribute anchor { xsd:ID }?,
4022    attribute indent { text }?,
4023    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
4024    attribute start { TEXT }?,
4025    attribute group { TEXT }?,
4026    attribute type { TEXT }?,
4027    v3_li+
4028  }
4029
4030
4031
4032Reschke                   Expires April 5, 2022                [Page 72]
4033
4034Documentation             RFC7749 through XSLT              October 2021
4035
4036
4037# Extended Postal Address (see Section 12.19)
4038v3_pobox =
4039  element pobox {
4040    attribute ascii { ATEXT }?,
4041    TEXT
4042  }
4043
4044# Line in postal address (see Section 12.20)
4045v3_postalLine =
4046  element postalLine {
4047    attribute ascii { TEXT }?,
4048    TEXT
4049  }
4050
4051# EXPERIMENTAL DO NOT USE YET (see Section 12.24)
4052v3_relref =
4053  element relref {
4054    attribute derivedLink { text }?, # (see [RFC7991bis], Appendix B.3)
4055    attribute displayFormat { "of" | "comma" | "parens" | "bare" }?,
4056    attribute relative { text }?,
4057    attribute section { text },
4058    attribute target { xsd:IDREF },
4059    TEXT
4060  }
4061
4062# additional content for references (see Section 12.21)
4063v3_refcontent =
4064  element refcontent {
4065    (TEXT
4066      | v3_em)*
4067  }
4068
4069# reference group (see Section 12.23)
4070v3_referencegroup =
4071  element referencegroup {
4072    attribute anchor { xsd:ID },
4073    attribute target { URI }?,
4074    (reference
4075      | xi_include)+
4076  }
4077
4078# (see Section 12.26)
4079v3_sortingcode =
4080  element sortingcode {
4081    attribute ascii { ATEXT }?,
4082    TEXT
4083  }
4084
4085
4086
4087
4088Reschke                   Expires April 5, 2022                [Page 73]
4089
4090Documentation             RFC7749 through XSLT              October 2021
4091
4092
4093# Source Code (see Section 12.27)
4094v3_sourcecode =
4095  element sourcecode {
4096    attribute anchor { xsd:ID }?,
4097    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
4098    attribute markers { text }?, #(see [V3IMPNOTES], Section 3.1.22)
4099    attribute name { text }?,
4100    attribute type { text }?,
4101    attribute x:lang { "" }?,
4102    (TEXT
4103      | iref
4104      | xref
4105      | x_ref)*
4106  }
4107
4108# Emphasized Text (see Section 12.28)
4109v3_strong =
4110  element strong {
4111    attribute anchor { xsd:ID }?,
4112    (TEXT
4113      | xref
4114      | v3_em
4115      | x_ref)*
4116  }
4117
4118# Subscript (see Section 12.29)
4119v3_sub =
4120  element sub {
4121    (TEXT
4122      | v3_sup)*
4123  }
4124
4125# Superscript (see Section 12.30)
4126v3_sup =
4127  element sup {
4128    (TEXT
4129      | v3_sub)*
4130  }
4131
4132# Table (see Section 12.32)
4133v3_table =
4134  element table {
4135    attribute anchor { xsd:ID }?,
4136    attribute align { "left" | "center" | "right" }?,
4137    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
4138    v3_name?,
4139    iref*,
4140    v3_thead?,
4141
4142
4143
4144Reschke                   Expires April 5, 2022                [Page 74]
4145
4146Documentation             RFC7749 through XSLT              October 2021
4147
4148
4149    v3_tbody+,
4150    v3_tfoot?
4151  }
4152
4153# Table Body (see Section 12.33)
4154v3_tbody =
4155  element tbody {
4156    attribute anchor { xsd:ID }?,
4157    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
4158    v3_tr+
4159  }
4160
4161# Table Contents Cell (see Section 12.34)
4162v3_td =
4163  element td {
4164    attribute anchor { xsd:ID }?,
4165    attribute align { "left" | "center" | "right" }?,
4166    attribute colspan { text }?,
4167    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
4168    attribute rowspan { text }?,
4169    ( (t
4170       | v3_dl
4171       | v3_ol
4172       | v3_sourcecode
4173       | v3_ul
4174      )+
4175      | (TEXT
4176         | v3_bcp14
4177         | v3_br
4178         | cref
4179         | v3_em
4180         | eref
4181         | v3_strong
4182         | v3_sub
4183         | v3_sup
4184         | v3_tt
4185         | xref)*
4186    )
4187  }
4188
4189# Table Footer (see Section 12.35)
4190v3_tfoot =
4191  element tfoot {
4192    attribute anchor { xsd:ID }?,
4193    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
4194    v3_tr
4195  }
4196
4197
4198
4199
4200Reschke                   Expires April 5, 2022                [Page 75]
4201
4202Documentation             RFC7749 through XSLT              October 2021
4203
4204
4205# Table Header Cell (see Section 12.36)
4206v3_th =
4207  element th {
4208    attribute anchor { xsd:ID }?,
4209    attribute align { "left" | "center" | "right" }?,
4210    attribute colspan { text }?,
4211    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
4212    attribute rowspan { text }?,
4213    ( (t
4214       | v3_dl
4215       | v3_ol
4216       | v3_sourcecode
4217       | v3_ul
4218      )+
4219      | (TEXT
4220         | v3_bcp14
4221         | cref
4222         | v3_em
4223         | eref
4224         | v3_strong
4225         | v3_sub
4226         | v3_sup
4227         | v3_tt
4228         | xref)*
4229    )
4230  }
4231
4232# Table Head (see Section 12.37)
4233v3_thead =
4234  element thead {
4235    attribute anchor { xsd:ID }?,
4236    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
4237    v3_tr+
4238  }
4239
4240# Table Row (see Section 12.38)
4241v3_tr =
4242  element tr {
4243    attribute anchor { xsd:ID }?,
4244    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
4245    (
4246      v3_td
4247      | v3_th
4248    )+
4249  }
4250
4251# Monospaced Text (see Section 12.39)
4252v3_tt =
4253
4254
4255
4256Reschke                   Expires April 5, 2022                [Page 76]
4257
4258Documentation             RFC7749 through XSLT              October 2021
4259
4260
4261  element tt {
4262    (TEXT
4263      | xref
4264      | v3_em
4265      | x_ref)*
4266  }
4267
4268# Non-ASCII characters (see Section 12.40)
4269v3_u =
4270  element u {
4271    attribute ascii { text }?,
4272    attribute format { text }?,
4273    TEXT
4274  }
4275
4276# Unordered List (see Section 12.41)
4277v3_ul =
4278  element ul {
4279    attribute anchor { xsd:ID }?,
4280    attribute bare { "false" | "true" }?, # but see <https://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/547>
4281    attribute indent { text }?,
4282    attribute empty { "false" | "true" }?,
4283    attribute pn { text }?, # (see [RFC7991bis], Appendix B.2)
4284    v3_li+
4285  }
4286
4287# SVG (see Section 12.31)
4288v3_svg =
4289  element svg:svg {
4290    (attribute * { text }
4291        | text
4292        | anySVGElement)*
4293  }
4294
4295 anySVGElement =
4296    element svg:* {
4297       (attribute * { text }
4298        | text
4299        | anySVGElement)*
4300    }
4301
4302# Conversion to ABNF char sequence (see Section 11.1)
4303x_abnf-char-sequence =
4304  element x:abnf-char-sequence {
4305    TEXT
4306  }
4307
4308# Aliasing of anchors (see Section 11.2)
4309
4310
4311
4312Reschke                   Expires April 5, 2022                [Page 77]
4313
4314Documentation             RFC7749 through XSLT              October 2021
4315
4316
4317x_anchor-alias =
4318  element x:anchor-alias {
4319    attribute value { TEXT },
4320    empty
4321  }
4322
4323# Contributor information (see Section 11.9)
4324# (experimental)
4325x_contributor =
4326  element x:contributor {
4327    attlist.author,
4328    organization?,
4329    address?
4330  }
4331
4332# Supply feedback links (see Section 11.11)
4333x_feedback =
4334  element x:feedback {
4335    attribute template { TEXT },
4336    empty
4337  }
4338
4339# Including Author information
4340# (experimental)
4341x_include-author =
4342  element x:include-author {
4343    attribute target { xsd:IDREF }
4344  }
4345
4346# Setting section numbers for internally generated sections
4347# (experimental)
4348x_assign-section-number =
4349  element x:assign-section-number {
4350    attribute builtin-target { "authors" },
4351    attribute number { TEXT },
4352    empty
4353  }
4354
4355# Bottom line of box drawing (see Section 11.3)
4356x_bb =
4357  element x:bb {
4358    (TEXT
4359      | iref
4360      | xref
4361      | x_bb
4362      | x_bc
4363      | x_bt
4364      | x_ref)*
4365
4366
4367
4368Reschke                   Expires April 5, 2022                [Page 78]
4369
4370Documentation             RFC7749 through XSLT              October 2021
4371
4372
4373  }
4374
4375# Center line of box drawing (see Section 11.4)
4376x_bc =
4377  element x:bc {
4378    (TEXT
4379      | iref
4380      | spanx
4381      | xref
4382      | x_bb
4383      | x_bc
4384      | x_bt
4385      | x_ref)*
4386  }
4387
4388# BCP14/RFC2119 keywords (see Section 11.5)
4389x_bcp14 =
4390  element x:bcp14 {
4391    TEXT
4392  }
4393
4394# Blockquote (see Section 11.6)
4395x_blockquote =
4396  element x:blockquote {
4397    attribute anchor { xsd:ID }?,
4398    attribute cite { URI }?,
4399    t+
4400  }
4401
4402# Top line of box drawing (see Section 11.7)
4403x_bt =
4404  element x:bt {
4405    (TEXT
4406      | iref
4407      | xref
4408      | x_bb
4409      | x_bc
4410      | x_bt
4411      | x_ref)*
4412  }
4413
4414# Unicode character map entry (see Section 11.8)
4415x_c =
4416  element x:c {
4417    attribute c { TEXT },
4418    attribute d { TEXT }?,
4419    attribute n { TEXT }
4420  }
4421
4422
4423
4424Reschke                   Expires April 5, 2022                [Page 79]
4425
4426Documentation             RFC7749 through XSLT              October 2021
4427
4428
4429# declaration of definition in external reference
4430x_defines =
4431  element x:defines {
4432    TEXT
4433  }
4434
4435# Definition (see Section 11.10)
4436x_dfn =
4437  element x:dfn {
4438    attribute anchor { xsd:ID }?,
4439    (TEXT
4440      | iref)*
4441  }
4442
4443# Heading (see Section 11.12)
4444x_h =
4445  element x:h {
4446    TEXT
4447  }
4448
4449# declaration of anchor in external reference
4450x_has =
4451  element x:has {
4452    attribute anchor { xsd:ID }?
4453  }
4454
4455# Heading (see Section 11.13)
4456x_highlight =
4457  element x:highlight {
4458    TEXT
4459  }
4460
4461# Length Measurement (see Section 11.14)
4462x_length-of =
4463  element x:length-of {
4464    attribute indented { NUMBER }?,
4465    attribute target { xsd:IDREF },
4466    empty
4467  }
4468
4469# Link (see Section 11.15)
4470x_link =
4471  element x:link {
4472    attribute basename { URI }?,
4473    attribute href { URI }?,
4474    attribute title { TEXT }?,
4475    attribute rel { TEXT },
4476    empty
4477
4478
4479
4480Reschke                   Expires April 5, 2022                [Page 80]
4481
4482Documentation             RFC7749 through XSLT              October 2021
4483
4484
4485  }
4486
4487# Extended list item (see Section 11.16)
4488x_lt =
4489  element x:lt {
4490    attribute anchor { xsd:ID }?,
4491    attribute hangText { TEXT }?,
4492    t+
4493  }
4494
4495# Note (see Section 11.17)
4496x_note =
4497  element x:note {
4498    attribute anchor { xsd:ID }?,
4499    t+
4500  }
4501
4502# Signal XML content (see Section 11.18)
4503x_parse-xml =
4504  element x:parse-xml {
4505    (TEXT
4506      | xref)*
4507  }
4508
4509# Inline prose in a reference (see Section 11.19)
4510x_prose =
4511  element x:prose {
4512    TEXT
4513  }
4514
4515# Inline quote (see Section 11.20)
4516x_q =
4517  element x:q {
4518    TEXT
4519  }
4520
4521# Anchor reference (see Section 11.21)
4522x_ref =
4523  element x:ref {
4524    attribute anchor { xsd:ID }?,
4525    TEXT
4526  }
4527
4528# source information (see Section 11.22)
4529x_source =
4530  element x:source {
4531    attribute basename { ATEXT }?,
4532    attribute href { URI },
4533
4534
4535
4536Reschke                   Expires April 5, 2022                [Page 81]
4537
4538Documentation             RFC7749 through XSLT              October 2021
4539
4540
4541    x_defines*,
4542    x_has*
4543  }
4544
4545# superscript (see Section 11.23)
4546x_sup =
4547  element x:sup {
4548    TEXT
4549  }
4550
4551# Inline Span
4552x_span =
4553  element x:span {
4554    attribute anchor { xsd:ID }?,
4555    attribute x:lang { "" }?,
4556    (TEXT
4557      | x_parse-xml)*
4558  }
4559
4560# Unicode character map (see Section 11.24)
4561x_u-map =
4562  element x:u-map {
4563    x_c*
4564  }
4565
4566# Nop (for alignment in source)
4567x_x =
4568  element x:x {
4569    empty
4570  }
4571
4572# XInclude (see Section 12.43)
4573xi_include =
4574  element xi:include {
4575    attribute href { text },
4576    empty
4577  }
4578
4579# Embed RDF statements
4580rdf_Description =
4581  element rdf:Description {
4582    rdf_content
4583  }
4584
4585rdf_content =
4586  ( TEXT | element * { rdf_content })*
4587
4588
4589
4590
4591
4592Reschke                   Expires April 5, 2022                [Page 82]
4593
4594Documentation             RFC7749 through XSLT              October 2021
4595
4596
4597Appendix B.  Implementation Notes
4598
4599B.1.  Recognized type attributes for <artwork> element
4600
4601   Specific values in the <artwork> element's "type" attribute are
4602   recognized and cause a different visual style to be used:
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648Reschke                   Expires April 5, 2022                [Page 83]
4649
4650Documentation             RFC7749 through XSLT              October 2021
4651
4652
4653   +-------------------------------------+-----------------------------+
4654   | Type                                | Comment                     |
4655   +-------------------------------------+-----------------------------+
4656   | abnf                                | ABNF as per [RFC5234]       |
4657   |                                     |                             |
4658   | abnf2045                            | ABNF as per [RFC2045]       |
4659   |                                     |                             |
4660   | abnf2616                            | ABNF as per [RFC2616],      |
4661   |                                     | Section 2.1                 |
4662   |                                     |                             |
4663   | abnf7230                            | ABNF as per [RFC7230],      |
4664   |                                     | Section 1.2                 |
4665   |                                     |                             |
4666   | application/relax-ng-compact-syntax | Relax NG Compact Syntax as  |
4667   |                                     | per [RNC]                   |
4668   |                                     |                             |
4669   | application/xml-dtd                 | XML DTD                     |
4670   |                                     |                             |
4671   | code                                | monospaced text (with       |
4672   |                                     | outline)                    |
4673   |                                     |                             |
4674   | drawing                             | drawing (with outline)      |
4675   |                                     |                             |
4676   | example                             | monospaced text (with       |
4677   |                                     | outline)                    |
4678   |                                     |                             |
4679   | image/*                             | images (to be used with     |
4680   |                                     | "src" attribute)            |
4681   |                                     |                             |
4682   | inline                              | monospaced text (no         |
4683   |                                     | outline)                    |
4684   |                                     |                             |
4685   | message/http; msgtype="request"     | HTTP message, as per        |
4686   |                                     | [RFC7230], Section 8.3.1    |
4687   |                                     |                             |
4688   | message/http; msgtype="response"    | HTTP message, as per        |
4689   |                                     | [RFC7230], Section 8.3.1    |
4690   |                                     |                             |
4691   | pdu                                 | pdu (with outline)          |
4692   |                                     |                             |
4693   | svg and image/svg+xml               | SVG                         |
4694   +-------------------------------------+-----------------------------+
4695
4696Appendix C.  Examples
4697
4698
4699
4700
4701
4702
4703
4704Reschke                   Expires April 5, 2022                [Page 84]
4705
4706Documentation             RFC7749 through XSLT              October 2021
4707
4708
4709C.1.  Using the 'Internal Subset'
4710
4711   The prolog of the XML document can both be used to refer to an
4712   external DTD, and also to define internal entities (Section 2.8 of
4713   [XML]):
4714
4715   <?xml version="1.0"?>
4716   <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
4717
4718   <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
4719
4720     <!-- use "&MAY;" for a BCP 14 "MAY", see Section 11.5 -->
4721     <!ENTITY MAY
4722     "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>MAY</bcp14>">
4723
4724     <!-- re-declare "&nbsp;" as code point 160 (non-breaking space) -->
4725     <!-- you may need this for UAs that do not read external DTDs -->
4726     <!ENTITY nbsp
4727     "&#160;">
4728
4729     <!-- allow later RFC2616 reference using "&rfc2616;" -->
4730     <!-- the data will be fetched from xml.resource.org -->
4731     <!ENTITY rfc2616 SYSTEM
4732     "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml">
4733
4734     <!-- allow a custom reference using "&mydraft;" -->
4735     <!-- the data will be fetched from the same location as the
4736          source file -->
4737     <!ENTITY mydraft SYSTEM "reference.mydraft.xml">
4738   ]>
4739
4740   Note: including entities from a remote site will not work in browsers
4741   due to the Same-Origin policy.
4742
4743C.2.  Customization
4744
4745   The XSLT code can be customized by creating a custom XSLT file that
4746   uses <xsl:import> to include the original code, and just overrides
4747   particular rules.
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760Reschke                   Expires April 5, 2022                [Page 85]
4761
4762Documentation             RFC7749 through XSLT              October 2021
4763
4764
4765   For instance, the code below overrides several attributes in
4766   "rfc2629toFO.xslt", changing the color, spacing and font family for
4767   headers.
4768
4769   <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4770                  version="1.0">
4771
4772     <xsl:import href="rfc2629toFO.xslt"/>
4773
4774     <xsl:attribute-set name="h1">
4775       <xsl:attribute name="color">darkblue</xsl:attribute>
4776       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
4777       <xsl:attribute name="space-before">24pt</xsl:attribute>
4778     </xsl:attribute-set>
4779
4780     <xsl:attribute-set name="h2">
4781       <xsl:attribute name="color">darkblue</xsl:attribute>
4782       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
4783       <xsl:attribute name="space-before">18pt</xsl:attribute>
4784       <xsl:attribute name="space-after">3pt</xsl:attribute>
4785     </xsl:attribute-set>
4786
4787     <xsl:attribute-set name="h3">
4788       <xsl:attribute name="color">darkblue</xsl:attribute>
4789       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
4790       <xsl:attribute name="space-before">16pt</xsl:attribute>
4791       <xsl:attribute name="space-after">2pt</xsl:attribute>
4792     </xsl:attribute-set>
4793
4794   </xsl:transform>
4795
4796      Note: the name for the attribute sets may change in the future as
4797      more working is done with respect to customizability.  In any
4798      case, overriding the settings in a separate file will be easier to
4799      maintain.  Please contact the author if you find yourself trying
4800      to override style definitions that currently do not use attribute
4801      sets.
4802
4803      Note: the CSS style information used in "rfc2629.xslt" can be
4804      overriden in a similar (but less granular) way: just overwrite the
4805      template called "insertCss".  As for XSL-FO, the class names may
4806      change in future.
4807
4808Appendix D.  Producing the IETF 'Boilerplate'
4809
4810   Various attributes of the "<rfc>" element plus some child elements of
4811   "<front>" affect the automatically generated parts of the front page,
4812
4813
4814
4815
4816Reschke                   Expires April 5, 2022                [Page 86]
4817
4818Documentation             RFC7749 through XSLT              October 2021
4819
4820
4821   such as the tabular information at the beginning, the "Status Of This
4822   Memo", and the "Copyright Notice".
4823
4824   When submitting an Internet Draft, this "boilerplate" is checked by
4825   "Idnits" (<http://tools.ietf.org/tools/idnits/>) for compliance with
4826   the current Intellectual Property rules, and thus it is important to
4827   set the correct values.
4828
4829   Furthermore, the RFC Production Center uses RFC7749-based tools to
4830   generate the final RFC text, so the more accurate the supplied
4831   information is, the less additional work is left, and the risk for
4832   errors in producing the final (and immutable!) document is reduced.
4833
4834      Note: this only applies to the case when IETF documents are
4835      produced.  The "private" processing instruction allows to switch
4836      off most of the autogeneration logic.
4837
4838   The individual attributes on the "<rfc>" element are discussed in
4839   detail in Appendix A of [RFC7749].
4840
4841Appendix E.  License
4842
4843   Copyright (c) 2006-2019, Julian Reschke
4844   (julian.reschke@greenbytes.de)
4845
4846   All rights reserved.
4847
4848   Redistribution and use in source and binary forms, with or without
4849   modification, are permitted provided that the following conditions
4850   are met:
4851
4852   o  Redistributions of source code must retain the above copyright
4853      notice, this list of conditions and the following disclaimer.
4854
4855   o  Redistributions in binary form must reproduce the above copyright
4856      notice, this list of conditions and the following disclaimer in
4857      the documentation and/or other materials provided with the
4858      distribution.
4859
4860   o  Neither the name of Julian Reschke nor the names of its
4861      contributors may be used to endorse or promote products derived
4862      from this software without specific prior written permission.
4863
4864   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4865   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
4866   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
4867   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT
4868   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
4869
4870
4871
4872Reschke                   Expires April 5, 2022                [Page 87]
4873
4874Documentation             RFC7749 through XSLT              October 2021
4875
4876
4877   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
4878   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
4879   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
4880   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
4881   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
4882   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4883
4884Index
4885
4886   A
4887      Anchors
4888         rfc.abstract  21
4889         rfc.authors  21
4890         rfc.copyright  21
4891         rfc.copyrightnotice  21
4892         rfc.figure.n  21
4893         rfc.figure.u.n  21
4894         rfc.index  21
4895         rfc.ipr  21
4896         rfc.iref.n  21
4897         rfc.note.n  21
4898         rfc.references  21
4899         rfc.section.n  21
4900         rfc.section.n.p.m  21
4901         rfc.status  21
4902         rfc.toc  21
4903         rfc.xref.name.n  21
4904      AntennaHouse XSL Formatter  29
4905      Apache FOP  29
4906      abnf-char-sequence Extension Element  30, 56
4907      abort-on PI pseudo-attribute  9
4908      allow-markup-in-artwork PI pseudo-attribute  10
4909      alternate HTML LINK element  26
4910      anchor-alias Extension Element  31, 56
4911      appendix HTML LINK element  26
4912      artset V3 Extension Element  39, 56
4913      aside V3 Extension Element  39, 56
4914      assign-section-number Extension Element  56
4915      author HTML LINK element  26
4916      authors-section PI pseudo-attribute  10
4917      authorship PI pseudo-attribute  6
4918
4919   B
4920      background PI pseudo-attribute  6
4921      bb Extension Element  31, 56
4922      bc Extension Element  31, 56
4923      bcp14 Extension Element  31, 56
4924      bcp14 V3 Extension Element  39, 56
4925
4926
4927
4928Reschke                   Expires April 5, 2022                [Page 88]
4929
4930Documentation             RFC7749 through XSLT              October 2021
4931
4932
4933      blockquote Extension Element  32, 56
4934      blockquote V3 Extension Element  39, 56
4935      boilerplate V3 Extension Element  40, 56
4936      br V3 Extension Element  40
4937      bt Extension Element  32, 56
4938
4939   C
4940      CHM format  29
4941      Creator DCMI property  27
4942      c Extension Element  32, 56
4943      chapter HTML LINK element  26
4944      cityarea V3 Extension Element  40, 56
4945      comments PI pseudo-attribute  6
4946      compact PI pseudo-attribute  6
4947      contact V3 Extension Element  40, 56
4948      contents HTML LINK element  26
4949      contributor Extension Element  33, 56
4950      copyright HTML LINK element  26
4951      css-contents PI pseudo-attribute  10
4952      css-resource PI pseudo-attribute  11
4953
4954   D
4955      DCMI properties
4956         Creator  27
4957         Date.Issued  27
4958         Description.Abstract  27
4959         Identifier  27
4960         isPartOf  27
4961         Relation.Replaces  27
4962      Date.Issued DCMI property  27
4963      Description.Abstract DCMI property  27
4964      dark-mode PI pseudo-attribute  11
4965      dd V3 Extension Element  40, 56
4966      defines Extension Element  56
4967      dfn Extension Element  33, 56
4968      diff-uri PI pseudo-attribute  11
4969      displayreference V3 Extension Element  40, 56
4970      dl V3 Extension Element  40, 56
4971      docmapping PI pseudo-attribute  6
4972      doi-uri PI pseudo-attribute  12
4973      dt V3 Extension Element  40, 56
4974      duplex PI pseudo-attribute  12
4975
4976   E
4977      Extension Elements
4978         abnf-char-sequence  30, 56
4979         anchor-alias  31, 56
4980         assign-section-number  56
4981
4982
4983
4984Reschke                   Expires April 5, 2022                [Page 89]
4985
4986Documentation             RFC7749 through XSLT              October 2021
4987
4988
4989         bb  31, 56
4990         bc  31, 56
4991         bcp14  31, 56
4992         blockquote  32, 56
4993         bt  32, 56
4994         c  32, 56
4995         contributor  33, 56
4996         defines  56
4997         dfn  33, 56
4998         feedback  33, 56
4999         h  33, 56
5000         has  56
5001         highlight  33, 56
5002         include-author  56
5003         length-of  33, 56
5004         link  34, 56
5005         lt  34, 56
5006         note  35, 56
5007         parse-xml  35, 56
5008         prose  35, 56
5009         q  35, 56
5010         rdf:Description  56
5011         ref  35, 56
5012         source  36, 56
5013         span  56
5014         sup  36, 56
5015         u-map  36, 56
5016         x  56
5017      editing PI pseudo-attribute  6
5018      em V3 Extension Element  40, 56
5019      errata PI pseudo-attribute  12, 28
5020      extaddr V3 Extension Element  40, 56
5021
5022   F
5023      Firefox
5024         1.*/2.*  23
5025         3.*  22
5026      feedback Extension Element  33, 56
5027      footer PI pseudo-attribute  6
5028
5029   G
5030      Google Chrome  23
5031      Grammar  56
5032      generator HTML META element  26
5033
5034   H
5035      HTML LINK elements
5036         alternate  26
5037
5038
5039
5040Reschke                   Expires April 5, 2022                [Page 90]
5041
5042Documentation             RFC7749 through XSLT              October 2021
5043
5044
5045         appendix  26
5046         author  26
5047         chapter  26
5048         contents  26
5049         copyright  26
5050         index  26
5051      HTML META elements
5052         generator  26
5053         keywords  26
5054      HTML compliance  24
5055      h Extension Element  33, 56
5056      has Extension Element  56
5057      header PI pseudo-attribute  6
5058      highlight Extension Element  33, 56
5059      html-pretty-print PI pseudo-attribute  13
5060
5061   I
5062      Identifier DCMI property  27
5063      Internet Explorer 6  22
5064      Internet Explorer 7  22
5065      Internet Explorer 8  22
5066      Internet Explorer 9  22
5067      include PI pseudo-attribute  6, 50
5068      include-author Extension Element  56
5069      include-generator PI pseudo-attribute  13
5070      include-index PI pseudo-attribute  14
5071      include-references-in-index PI pseudo-attribute  14
5072      index HTML LINK element  26
5073      inline PI pseudo-attribute  6
5074      insert-metadata PI pseudo-attribute  14, 27
5075      internet-draft-reference-base-uri PI pseudo-attribute  15
5076      internet-draft-uri PI pseudo-attribute  15
5077      iprnotified PI pseudo-attribute  6
5078      isPartOf DCMI property  27
5079      isbn-uri PI pseudo-attribute  16
5080
5081   J
5082      justification PI pseudo-attribute  15
5083
5084   K
5085      keywords HTML META element  26
5086
5087   L
5088      length-of Extension Element  33, 56
5089      li V3 Extension Element  40, 56
5090      link Extension Element  34, 56
5091      link V3 Extension Element  41, 56
5092      linkmailto PI pseudo-attribute  6
5093
5094
5095
5096Reschke                   Expires April 5, 2022                [Page 91]
5097
5098Documentation             RFC7749 through XSLT              October 2021
5099
5100
5101      log-level PI pseudo-attribute  16
5102      lt Extension Element  34, 56
5103
5104   M
5105      MSXML3  22
5106      MSXML4  22
5107      Microsoft Help  29
5108      Mozilla  22-23
5109      maxwidth PI pseudo-attribute  16
5110      multiple-initials PI pseudo-attribute  6
5111
5112   N
5113      NoScript  22
5114      name V3 Extension Element  41, 56
5115      needLines PI pseudo-attribute  9
5116      note Extension Element  35, 56
5117
5118   O
5119      Opera  23
5120      ol V3 Extension Element  41, 56
5121
5122   P
5123      Parameters
5124         xml2rfc-authorship  6
5125         xml2rfc-background  6
5126         xml2rfc-comments  6
5127         xml2rfc-compact  6
5128         xml2rfc-editing  6
5129         xml2rfc-ext-abort-on  9
5130         xml2rfc-ext-allow-markup-in-artwork  10
5131         xml2rfc-ext-authors-section  10
5132         xml2rfc-ext-css-contents  10
5133         xml2rfc-ext-css-resource  11
5134         xml2rfc-ext-dark-mode  11
5135         xml2rfc-ext-diff-uri  11
5136         xml2rfc-ext-doi-uri  12
5137         xml2rfc-ext-duplex  12
5138         xml2rfc-ext-errata  12, 28
5139         xml2rfc-ext-html-pretty-print  13
5140         xml2rfc-ext-include-generator  13
5141         xml2rfc-ext-include-index  14
5142         xml2rfc-ext-include-references-in-index  14
5143         xml2rfc-ext-insert-metadata  14, 27
5144         xml2rfc-ext-internet-draft-uri  15
5145         xml2rfc-ext-isbn-uri  16
5146         xml2rfc-ext-justification  15
5147         xml2rfc-ext-log-level  16
5148         xml2rfc-ext-maxwidth  16
5149
5150
5151
5152Reschke                   Expires April 5, 2022                [Page 92]
5153
5154Documentation             RFC7749 through XSLT              October 2021
5155
5156
5157         xml2rfc-ext-parse-xml-in-artwork  17
5158         xml2rfc-ext-rfc-erratam-uri  17
5159         xml2rfc-ext-rfc-erratum-uri  17
5160         xml2rfc-ext-rfc-reference-base-uri  15, 18
5161         xml2rfc-ext-rfc-uri  18
5162         xml2rfc-ext-sec-no-trailing-dots  18
5163         xml2rfc-ext-support-rfc2731  19
5164         xml2rfc-ext-ucd-file  19
5165         xml2rfc-ext-xml2rfc-backend  20
5166         xml2rfc-ext-xref-with-text-generate  20
5167         xml2rfc-footer  6
5168         xml2rfc-header  6
5169         xml2rfc-inline  6
5170         xml2rfc-iprnotified  6
5171         xml2rfc-linkmailto  6
5172         xml2rfc-multiple-initials  6
5173         xml2rfc-private  6
5174         xml2rfc-refparent  6
5175         xml2rfc-rfcedstyle  6
5176         xml2rfc-sortrefs  6
5177         xml2rfc-symrefs  6
5178         xml2rfc-toc  6
5179         xml2rfc-tocdepth  6
5180         xml2rfc-topblock  6
5181      Processing Instruction pseudo attributes
5182         abort-on  9
5183         allow-markup-in-artwork  10
5184         authors-section  10
5185         authorship  6
5186         background  6
5187         comments  6
5188         compact  6
5189         css-contents  10
5190         css-resource  11
5191         dark-mode  11
5192         diff-uri  11
5193         docmapping  6
5194         doi-uri  12
5195         duplex  12
5196         editing  6
5197         errata  12, 28
5198         footer  6
5199         header  6
5200         html-pretty-print  13
5201         include  6, 50
5202         include-generator  13
5203         include-index  14
5204         include-references-in-index  14
5205
5206
5207
5208Reschke                   Expires April 5, 2022                [Page 93]
5209
5210Documentation             RFC7749 through XSLT              October 2021
5211
5212
5213         inline  6
5214         insert-metadata  14, 27
5215         internet-draft-reference-base-uri  15
5216         internet-draft-uri  15
5217         iprnotified  6
5218         isbn-uri  16
5219         justification  15
5220         linkmailto  6
5221         log-level  16
5222         maxwidth  16
5223         multiple-initials  6
5224         needLines  9
5225         parse-xml-in-artwork  17
5226         private  6, 87
5227         refparent  6
5228         rfc-errata-uri  17
5229         rfc-erratum-uri  17
5230         rfc-reference-base-uri  18
5231         rfc-uri  18
5232         rfcedstyle  6
5233         sec-no-trailing-dots  18
5234         slides  9
5235         sortrefs  6
5236         strict  9
5237         subcompact  9
5238         support-rfc2731  19
5239         symrefs  6
5240         toc  6
5241         tocdepth  6
5242         tocindent  9
5243         tocompact  9
5244         topblock  6
5245         ucd-file  19
5246         xml2rfc-backend  20
5247         xref-with-text-generate  20
5248      parse-xml Extension Element  35, 56
5249      parse-xml-in-artwork PI pseudo-attribute  17
5250      pobox V3 Extension Element  41
5251      postalLine V3 Extension Element  41, 56
5252      private PI pseudo-attribute  6, 87
5253      prose Extension Element  35, 56
5254
5255   Q
5256      q Extension Element  35, 56
5257
5258   R
5259      RELAX NG Compact Schema  56
5260      Relation.Replaces DCMI property  27
5261
5262
5263
5264Reschke                   Expires April 5, 2022                [Page 94]
5265
5266Documentation             RFC7749 through XSLT              October 2021
5267
5268
5269      rdf:Description Extension Element  56
5270      ref Extension Element  35, 56
5271      refcontent V3 Extension Element  41, 56
5272      reference V3 Extension Element  41
5273      referencegroup V3 Extension Element  41, 56
5274      refparent PI pseudo-attribute  6
5275      relref V3 Extension Element  41, 56
5276      rfc-errata-uri PI pseudo-attribute  17
5277      rfc-erratum-uri PI pseudo-attribute  17
5278      rfc-reference-base-uri PI pseudo-attribute  18
5279      rfc-uri PI pseudo-attribute  18
5280      rfc.abstract anchor  21
5281      rfc.authors anchor  21
5282      rfc.copyright anchor  21
5283      rfc.copyrightnotice anchor  21
5284      rfc.figure.n anchor  21
5285      rfc.figure.u.n anchor  21
5286      rfc.index anchor  21
5287      rfc.ipr anchor  21
5288      rfc.iref.n anchor  21
5289      rfc.note.n anchor  21
5290      rfc.references anchor  21
5291      rfc.references.n anchor  21
5292      rfc.section.n anchor  21
5293      rfc.section.n.p.m anchor  21
5294      rfc.status anchor  21
5295      rfc.toc anchor  21
5296      rfc.xref.name.n anchor  21
5297      rfcedstyle PI pseudo-attribute  6
5298
5299   S
5300      Safari  23
5301         3.*  23
5302      Saxon  22
5303      Schema  56
5304      sec-no-trailing-dots PI pseudo-attribute  18
5305      section V3 Extension Element  42
5306      slides PI pseudo-attribute  9
5307      sortingcode V3 Extension Element  42, 56
5308      sortrefs PI pseudo-attribute  6
5309      source Extension Element  36, 56
5310      sourcecode V3 Extension Element  42, 56
5311      span Extension Element  56
5312      strict PI pseudo-attribute  9
5313      strong V3 Extension Element  42, 56
5314      sub V3 Extension Element  42, 56
5315      subcompact PI pseudo-attribute  9
5316      sup Extension Element  36, 56
5317
5318
5319
5320Reschke                   Expires April 5, 2022                [Page 95]
5321
5322Documentation             RFC7749 through XSLT              October 2021
5323
5324
5325      sup V3 Extension Element  42, 56
5326      support-rfc2731 PI pseudo-attribute  19
5327      svg V3 Extension Element  42, 56
5328      symrefs PI pseudo-attribute  6
5329
5330   T
5331      table V3 Extension Element  42, 56
5332      tbody V3 Extension Element  42, 56
5333      td V3 Extension Element  43, 56
5334      tfoot V3 Extension Element  43, 56
5335      th V3 Extension Element  43, 56
5336      thead V3 Extension Element  43, 56
5337      toc PI pseudo-attribute  6
5338      tocdepth PI pseudo-attribute  6
5339      tocindent PI pseudo-attribute  9
5340      tocompact PI pseudo-attribute  9
5341      topblock PI pseudo-attribute  6
5342      tr V3 Extension Element  43
5343      tre V3 Extension Element  56
5344      tt V3 Extension Element  43, 56
5345
5346   U
5347      u V3 Extension Element  43, 56
5348      u-map Extension Element  36, 56
5349      ucd-file PI pseudo-attribute  19
5350      ul V3 Extension Element  43, 56
5351
5352   V
5353      V3 Extension Elements
5354         artset  39, 56
5355         aside  39, 56
5356         bcp14  39, 56
5357         blockquote  39, 56
5358         boilerplate  40, 56
5359         br  40, 56
5360         cityarea  40, 56
5361         contact  40, 56
5362         dd  40, 56
5363         displayreference  40, 56
5364         dl  40, 56
5365         dt  40, 56
5366         em  40, 56
5367         extaddr  40, 56
5368         li  40, 56
5369         link  41, 56
5370         name  41, 56
5371         ol  41, 56
5372         pobox  41, 56
5373
5374
5375
5376Reschke                   Expires April 5, 2022                [Page 96]
5377
5378Documentation             RFC7749 through XSLT              October 2021
5379
5380
5381         postalLine  41, 56
5382         refcontent  41, 56
5383         reference  41
5384         referencegroup  41, 56
5385         relref  41, 56
5386         section  42
5387         sortingcode  42, 56
5388         sourcecode  42, 56
5389         strong  42, 56
5390         sub  42, 56
5391         sup  42, 56
5392         svg  42, 56
5393         table  42, 56
5394         tbody  42, 56
5395         td  43, 56
5396         tfoot  43, 56
5397         th  43, 56
5398         thead  43, 56
5399         tr  43, 56
5400         tt  43, 56
5401         u  43, 56
5402         ul  43, 56
5403         xi:include  44
5404         xref  44
5405
5406   X
5407      XInclude Extension Elements
5408         include  56
5409      Xalan  22
5410      x Extension Element  56
5411      xi:include Extension Element  56
5412      xi:include V3 Extension Element  44
5413      xml-stylesheet PI  24
5414      xml2rfc-authorship parameter  6
5415      xml2rfc-backend PI pseudo-attribute  20
5416      xml2rfc-background parameter  6
5417      xml2rfc-comments parameter  6
5418      xml2rfc-editing parameter  6
5419      xml2rfc-ext-abort-on parameter  9
5420      xml2rfc-ext-allow-markup-in-artwork parameter  10
5421      xml2rfc-ext-authors-section parameter  10
5422      xml2rfc-ext-css-contents parameter  10
5423      xml2rfc-ext-css-resource parameter  11
5424      xml2rfc-ext-dark-mode parameter  11
5425      xml2rfc-ext-diff-uri parameter  11
5426      xml2rfc-ext-doi-uri parameter  12
5427      xml2rfc-ext-duplex parameter  12
5428      xml2rfc-ext-errata  28
5429
5430
5431
5432Reschke                   Expires April 5, 2022                [Page 97]
5433
5434Documentation             RFC7749 through XSLT              October 2021
5435
5436
5437      xml2rfc-ext-errata parameter  12
5438      xml2rfc-ext-html-pretty-print parameter  13
5439      xml2rfc-ext-include-generator parameter  13
5440      xml2rfc-ext-include-index parameter  14
5441      xml2rfc-ext-include-references-in-index parameter  14
5442      xml2rfc-ext-insert-metadata parameter  14, 27
5443      xml2rfc-ext-internet-draft-uri parameter  15
5444      xml2rfc-ext-isbn-uri parameter  16
5445      xml2rfc-ext-justification parameter  15
5446      xml2rfc-ext-log-level parameter  16
5447      xml2rfc-ext-maxwidth parameter  16
5448      xml2rfc-ext-parse-xml-in-artwork parameter  17
5449      xml2rfc-ext-rfc-errata-uri parameter  17
5450      xml2rfc-ext-rfc-erratum-uri parameter  17
5451      xml2rfc-ext-rfc-reference-base-uri  15, 18
5452      xml2rfc-ext-rfc-uri parameter  18
5453      xml2rfc-ext-sec-no-trailing-dots parameter  18
5454      xml2rfc-ext-support-rfc2731 parameter  19
5455      xml2rfc-ext-ucd-file parameter  19
5456      xml2rfc-ext-xml2rfc-backend parameter  20
5457      xml2rfc-ext-xref-with-text-generate parameter  20
5458      xml2rfc-footer parameter  6
5459      xml2rfc-header parameter  6
5460      xml2rfc-inline parameter  6
5461      xml2rfc-iprnotified parameter  6
5462      xml2rfc-linkmailto parameter  6
5463      xml2rfc-multiple-initials parameter  6
5464      xml2rfc-private parameter  6
5465      xml2rfc-refparent parameter  6
5466      xml2rfc-rfcedstyle parameter  6
5467      xml2rfc-sortrefs parameter  6
5468      xml2rfc-symrefs parameter  6
5469      xml2rfc-toc parameter  6
5470      xml2rfc-tocdepth parameter  6
5471      xml2rfc-topblock parameter  6
5472      xref V3 Extension Element  44
5473      xref-with-text-generate PI pseudo-attribute  20
5474      xsltproc  22
5475         passing parameters  6
5476
5477Author's Address
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488Reschke                   Expires April 5, 2022                [Page 98]
5489
5490Documentation             RFC7749 through XSLT              October 2021
5491
5492
5493   Julian F. Reschke
5494   greenbytes GmbH
5495   Hafenweg 16
5496   Muenster, NW  48155
5497   Germany
5498
5499   Email: julian.reschke@greenbytes.de
5500   URI:   https://greenbytes.de/tech/webdav/
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544Reschke                   Expires April 5, 2022                [Page 99]
Note: See TracBrowser for help on using the repository browser.