source: rfc2629xslt/rfc2629xslt.txt @ 2738

Last change on this file since 2738 was 2738, checked in by julian.reschke@…, 7 years ago

update rfc2629.xslt

  • Property svn:eol-style set to native
File size: 119.3 KB
Line 
1
2
3
4RFC2629 through XSLT                                          J. Reschke
5                                                              greenbytes
6                                                            May 19, 2015
7
8
9            Transforming RFC2629-formatted XML through XSLT
10
11
12
13Table of Contents
14
15   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
16   2.  Supported RFC2629 elements . . . . . . . . . . . . . . . . . .  5
17     2.1.   Extension elements  . . . . . . . . . . . . . . . . . . .  5
18   3.  Processing Instructions  . . . . . . . . . . . . . . . . . . .  6
19     3.1.   Supported xml2rfc-compatible PIs  . . . . . . . . . . . .  7
20     3.2.   Unsupported xml2rfc-compatible PIs  . . . . . . . . . . .  8
21     3.3.   Extension PIs . . . . . . . . . . . . . . . . . . . . . .  9
22   4.  Anchors  . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
23   5.  Supported XSLT engines . . . . . . . . . . . . . . . . . . . . 14
24     5.1.   Standalone Engines  . . . . . . . . . . . . . . . . . . . 14
25     5.2.   In-Browser Engines  . . . . . . . . . . . . . . . . . . . 14
26   6.  Transforming to HTML . . . . . . . . . . . . . . . . . . . . . 16
27     6.1.   HTML compliance . . . . . . . . . . . . . . . . . . . . . 16
28     6.2.   Standard HTML LINK elements . . . . . . . . . . . . . . . 16
29     6.3.   Standard HTML metadata  . . . . . . . . . . . . . . . . . 17
30     6.4.   Dublin Core (RFC2731) metadata  . . . . . . . . . . . . . 17
31   7.  Transforming to XHTML  . . . . . . . . . . . . . . . . . . . . 18
32   8.  Transforming to CHM (Microsoft Compiled Help)  . . . . . . . . 19
33   9.  Transforming to PDF  . . . . . . . . . . . . . . . . . . . . . 20
34     9.1.   Via XSL-FO  . . . . . . . . . . . . . . . . . . . . . . . 20
35       9.1.1.   Example: producing output for Apache FOP  . . . . . . 20
36     9.2.   Via X(HTML) . . . . . . . . . . . . . . . . . . . . . . . 20
37   10. Transforming to ePub . . . . . . . . . . . . . . . . . . . . . 21
38   11. Generic Extensions . . . . . . . . . . . . . . . . . . . . . . 22
39     11.1.  <abnf-char-sequence> element  . . . . . . . . . . . . . . 22
40     11.2.  <anchor-alias> element  . . . . . . . . . . . . . . . . . 22
41     11.3.  <bcp14> element . . . . . . . . . . . . . . . . . . . . . 22
42     11.4.  <bb> element  . . . . . . . . . . . . . . . . . . . . . . 23
43     11.5.  <bc> element  . . . . . . . . . . . . . . . . . . . . . . 23
44     11.6.  <blockquote> element  . . . . . . . . . . . . . . . . . . 23
45     11.7.  <boilerplate> element . . . . . . . . . . . . . . . . . . 23
46     11.8.  <bt> element  . . . . . . . . . . . . . . . . . . . . . . 24
47     11.9.  <dfn> element . . . . . . . . . . . . . . . . . . . . . . 24
48     11.10. <feedback> element  . . . . . . . . . . . . . . . . . . . 24
49     11.11. <h> element . . . . . . . . . . . . . . . . . . . . . . . 24
50     11.12. <highlight> element . . . . . . . . . . . . . . . . . . . 24
51     11.13. <length-of> element . . . . . . . . . . . . . . . . . . . 24
52
53
54
55Reschke                                                         [Page 1]
56
57Documentation             RFC2629 through XSLT                  May 2015
58
59
60     11.14. <link> element  . . . . . . . . . . . . . . . . . . . . . 25
61     11.15. <lt> element  . . . . . . . . . . . . . . . . . . . . . . 25
62     11.16. <note> element  . . . . . . . . . . . . . . . . . . . . . 26
63     11.17. <parse-xml> element . . . . . . . . . . . . . . . . . . . 26
64     11.18. <prose> element . . . . . . . . . . . . . . . . . . . . . 26
65     11.19. <q> element . . . . . . . . . . . . . . . . . . . . . . . 26
66     11.20. <ref> element . . . . . . . . . . . . . . . . . . . . . . 26
67     11.21. <source> element  . . . . . . . . . . . . . . . . . . . . 27
68     11.22. <sup> element . . . . . . . . . . . . . . . . . . . . . . 27
69     11.23. Extensions to Xml2rfc <artwork> element . . . . . . . . . 27
70     11.24. Extensions to Xml2rfc <iref> element  . . . . . . . . . . 27
71     11.25. Extensions to Xml2rfc <list> element  . . . . . . . . . . 28
72     11.26. Extensions to Xml2rfc <rfc> element . . . . . . . . . . . 28
73     11.27. Extensions to Xml2rfc <section> element . . . . . . . . . 28
74     11.28. Extensions to Xml2rfc <xref> element  . . . . . . . . . . 28
75   12. Experimental Support for XML2RFCv3 Vocabulary  . . . . . . . . 30
76     12.1.  aside Element . . . . . . . . . . . . . . . . . . . . . . 30
77     12.2.  bcp14 Element . . . . . . . . . . . . . . . . . . . . . . 30
78     12.3.  blockquote Element  . . . . . . . . . . . . . . . . . . . 30
79     12.4.  displayreference Element  . . . . . . . . . . . . . . . . 30
80     12.5.  dd Element  . . . . . . . . . . . . . . . . . . . . . . . 30
81     12.6.  dl Element  . . . . . . . . . . . . . . . . . . . . . . . 30
82     12.7.  dt Element  . . . . . . . . . . . . . . . . . . . . . . . 30
83     12.8.  em Element  . . . . . . . . . . . . . . . . . . . . . . . 30
84     12.9.  li Element  . . . . . . . . . . . . . . . . . . . . . . . 30
85     12.10. name Element  . . . . . . . . . . . . . . . . . . . . . . 30
86     12.11. ol Element  . . . . . . . . . . . . . . . . . . . . . . . 31
87     12.12. postalLine Element  . . . . . . . . . . . . . . . . . . . 31
88     12.13. refcontent Element  . . . . . . . . . . . . . . . . . . . 31
89     12.14. Extensions to reference Element . . . . . . . . . . . . . 31
90       12.14.1. quoteTitle attribute  . . . . . . . . . . . . . . . . 31
91     12.15. Extensions to section Element . . . . . . . . . . . . . . 31
92       12.15.1. numbered attribute  . . . . . . . . . . . . . . . . . 31
93       12.15.2. removeInRFC attribute . . . . . . . . . . . . . . . . 31
94     12.16. strong Element  . . . . . . . . . . . . . . . . . . . . . 31
95     12.17. sub Element . . . . . . . . . . . . . . . . . . . . . . . 31
96     12.18. sup Element . . . . . . . . . . . . . . . . . . . . . . . 31
97     12.19. tt Element  . . . . . . . . . . . . . . . . . . . . . . . 31
98     12.20. ul Element  . . . . . . . . . . . . . . . . . . . . . . . 32
99     12.21. Extensions to xref Element  . . . . . . . . . . . . . . . 32
100       12.21.1. relative attribute  . . . . . . . . . . . . . . . . . 32
101       12.21.2. section attribute . . . . . . . . . . . . . . . . . . 32
102       12.21.3. sectionFormat attribute . . . . . . . . . . . . . . . 32
103   13. Utilities  . . . . . . . . . . . . . . . . . . . . . . . . . . 33
104     13.1.  Checking References . . . . . . . . . . . . . . . . . . . 33
105     13.2.  Generating Graphs from References . . . . . . . . . . . . 35
106     13.3.  Producing reference entries for books . . . . . . . . . . 35
107     13.4.  Down-converting to RFC2629bis DTD . . . . . . . . . . . . 36
108
109
110
111Reschke                                                         [Page 2]
112
113Documentation             RFC2629 through XSLT                  May 2015
114
115
116     13.5.  Extracting artwork  . . . . . . . . . . . . . . . . . . . 37
117     13.6.  GRRDL . . . . . . . . . . . . . . . . . . . . . . . . . . 37
118     13.7.  HTML Live Refresh . . . . . . . . . . . . . . . . . . . . 37
119   14. Informative References . . . . . . . . . . . . . . . . . . . . 39
120   Appendix A.  RELAX NG Compact Schema . . . . . . . . . . . . . . . 42
121   Appendix B.  Implementation Notes  . . . . . . . . . . . . . . . . 57
122     B.1.   Recognized type attributes for <artwork> element  . . . . 57
123   Appendix C.  Examples  . . . . . . . . . . . . . . . . . . . . . . 58
124     C.1.   Using the 'Internal Subset' . . . . . . . . . . . . . . . 58
125     C.2.   Customization . . . . . . . . . . . . . . . . . . . . . . 58
126   Appendix D.  Producing the IETF 'Boilerplate'  . . . . . . . . . . 60
127     D.1.   The /rfc/@ipr Attribute . . . . . . . . . . . . . . . . . 60
128       D.1.1.   Current Values: '*trust200902'  . . . . . . . . . . . 61
129       D.1.2.   Historic Values . . . . . . . . . . . . . . . . . . . 62
130     D.2.   The /rfc/@category Attribute  . . . . . . . . . . . . . . 63
131     D.3.   The /rfc/@submissionType Attribute  . . . . . . . . . . . 63
132     D.4.   The /rfc/@consensus Attribute . . . . . . . . . . . . . . 64
133     D.5.   The /rfc/@number Attribute  . . . . . . . . . . . . . . . 64
134     D.6.   The /rfc/@docName Attribute . . . . . . . . . . . . . . . 65
135     D.7.   The /rfc/@obsoletes Attribute . . . . . . . . . . . . . . 65
136     D.8.   The /rfc/@updates Attribute . . . . . . . . . . . . . . . 65
137   Appendix E.  License . . . . . . . . . . . . . . . . . . . . . . . 66
138   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
139   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 77
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167Reschke                                                         [Page 3]
168
169Documentation             RFC2629 through XSLT                  May 2015
170
171
1721.  Introduction
173
174   This document describes a set of XSLT transformations that can be
175   used to transform "XML2RFC" XML ([XML2RFCV2], updating [RFC2629]) to
176   various output formats, such as HTML and PDF.  The main topics are
177
178   o  compliance to the xml2rfc XML element set (Section 2),
179
180   o  support for xml2rfc processing instructions (Section 3),
181
182   o  the names of anchor elements generated in HTML and PDF output
183      (Section 4),
184
185   o  various XSLT engines that can be used (Section 5),
186
187   o  outputting HTML (Section 6) and XHTML (Section 7),
188
189   o  outputting CHM (Compiled Microsoft Help, Section 8),
190
191   o  outputting PDF (Section 9),
192
193   o  outputting ePub (Section 10),
194
195   o  extensions to the xml2rfc vocabulary (Section 11).
196
197   o  various utilities (Section 13).
198
199   The full distribution is available at
200   <http://greenbytes.de/tech/webdav/rfc2629xslt.zip>.
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223Reschke                                                         [Page 4]
224
225Documentation             RFC2629 through XSLT                  May 2015
226
227
2282.  Supported RFC2629 elements
229
230   "rfc2629.xslt" supports both all RFC2629 grammar elements and the
231   extensions implemented in xml2rfc 1.36.
232
2332.1.  Extension elements
234
235   "rfc2629.xslt" supports two kind of extension elements, using
236   different XML namespaces.
237
238   The first set contains (hopefully) generally useful extensions, see
239   Section 11.
240
241   The second set is used for change and issue tracking and currently is
242   not documented here.  Please email the author in case you're
243   interested in using these extensions.
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279Reschke                                                         [Page 5]
280
281Documentation             RFC2629 through XSLT                  May 2015
282
283
2843.  Processing Instructions
285
286   All PIs can be set as XSLT parameter as well, overriding any value
287   that is found in the source file to be transformed.
288
289   Using processing instructions:
290
291   <?rfc toc="yes"?>
292   <?rfc-ext support-rfc2731="no"?>
293
294   Using XSLT parameters (Saxon):
295
296   java -cp saxon.jar com.icl.saxon.StyleSheet source.xml rfc2629.xslt \
297     xml2rfc-toc=yes xml2rfc-ext-support-rfc2731=no > result.html
298
299   Using XSLT parameters (xsltproc):
300
301   xsltproc --param xml2rfc-toc '"yes"' \
302      --param xml2rfc-ext-support-rfc2731 '"no"' \
303      rfc2629.xslt source.xml > result.html
304
305   (note the required quoting of string parameters)
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335Reschke                                                         [Page 6]
336
337Documentation             RFC2629 through XSLT                  May 2015
338
339
3403.1.  Supported xml2rfc-compatible PIs
341
342   +------+--------------+------------------+------------+-------------+
343   | PI   | PI           | XSLT parameter   | default    | comment     |
344   | targ | pseudo-attri | name             |            |             |
345   | et   | bute         |                  |            |             |
346   +------+--------------+------------------+------------+-------------+
347   | rfc  | background   | xml2rfc-backgrou | (not set)  |             |
348   |      |              | nd               |            |             |
349   |      |              |                  |            |             |
350   | rfc  | compact      | xml2rfc-compact  | "no"       | only        |
351   |      |              |                  |            | applies to  |
352   |      |              |                  |            | HTML output |
353   |      |              |                  |            | method when |
354   |      |              |                  |            | printing    |
355   |      |              |                  |            |             |
356   | rfc  | comments     | xml2rfc-comments | (not set)  |             |
357   |      |              |                  |            |             |
358   | rfc  | editing      | xml2rfc-editing  | "no"       |             |
359   |      |              |                  |            |             |
360   | rfc  | footer       | xml2rfc-footer   | (not set)  |             |
361   |      |              |                  |            |             |
362   | rfc  | header       | xml2rfc-header   | (not set)  |             |
363   |      |              |                  |            |             |
364   | rfc  | inline       | xml2rfc-inline   | (not set)  |             |
365   |      |              |                  |            |             |
366   | rfc  | iprnotified  | xml2rfc-iprnotif | "no"       |             |
367   |      |              | ied              |            |             |
368   |      |              |                  |            |             |
369   | rfc  | linkmailto   | xml2rfc-linkmail | "yes"      |             |
370   |      |              | to               |            |             |
371   |      |              |                  |            |             |
372   | rfc  | private      | xml2rfc-private  | (not set)  |             |
373   |      |              |                  |            |             |
374   | rfc  | refparent    | xml2rfc-private  | "Reference | Title for   |
375   |      |              |                  | s"         | References  |
376   |      |              |                  |            | sections    |
377   |      |              |                  |            | when        |
378   |      |              |                  |            | automatical |
379   |      |              |                  |            | ly inserted |
380   |      |              |                  |            |             |
381   | rfc  | rfcedstyle   | xml2rfc-rfcedsty | (not set)  | (limited    |
382   |      |              | le               |            | support)    |
383   |      |              |                  |            |             |
384   | rfc  | sortrefs     | xml2rfc-sortrefs | "no"       |             |
385   |      |              |                  |            |             |
386
387
388
389
390
391Reschke                                                         [Page 7]
392
393Documentation             RFC2629 through XSLT                  May 2015
394
395
396   | rfc  | symrefs      | xml2rfc-symrefs  | "yes"      | The default |
397   |      |              |                  |            | has changed |
398   |      |              |                  |            | from "no"   |
399   |      |              |                  |            | to "yes" as |
400   |      |              |                  |            | of June 6,  |
401   |      |              |                  |            | 2007 and    |
402   |      |              |                  |            | xml2rfc     |
403   |      |              |                  |            | 1.33pre4.   |
404   |      |              |                  |            |             |
405   | rfc  | toc          | xml2rfc-toc      | "no"       |             |
406   |      |              |                  |            |             |
407   | rfc  | tocdepth     | xml2rfc-tocdepth | 99         |             |
408   |      |              |                  |            |             |
409   | rfc  | topblock     | xml2rfc-topblock | "yes"      |             |
410   +------+--------------+------------------+------------+-------------+
411
4123.2.  Unsupported xml2rfc-compatible PIs
413
414   +--------+------------------+---------------------------------------+
415   | PI     | PI               | comment                               |
416   | target | pseudo-attribute |                                       |
417   +--------+------------------+---------------------------------------+
418   | rfc    | include          | incompatible with XML/XSLT processing |
419   |        |                  | model, please use external entities   |
420   |        |                  | instead (see Appendix C.1)            |
421   |        |                  |                                       |
422   | rfc    | needLines        |                                       |
423   |        |                  |                                       |
424   | rfc    | slides           |                                       |
425   |        |                  |                                       |
426   | rfc    | strict           |                                       |
427   |        |                  |                                       |
428   | rfc    | subcompact       |                                       |
429   |        |                  |                                       |
430   | rfc    | tocindent        | (defaults to "yes")                   |
431   |        |                  |                                       |
432   | rfc    | tocompact        |                                       |
433   +--------+------------------+---------------------------------------+
434
435
436
437
438
439
440
441
442
443
444
445
446
447Reschke                                                         [Page 8]
448
449Documentation             RFC2629 through XSLT                  May 2015
450
451
4523.3.  Extension PIs
453
454   +------+----------------+----------------------+------+-------------+
455   | PI   | PI             | XSLT parameter name  | defa | description |
456   | targ | pseudo-attribu |                      | ult  |             |
457   | et   | te             |                      |      |             |
458   +------+----------------+----------------------+------+-------------+
459   | rfc- | allow-markup-i | xml2rfc-allow-markup | "no" | Enables     |
460   | ext  | n-artwork      | -in-artwork          |      | support for |
461   |      |                |                      |      | specific    |
462   |      |                |                      |      | elements    |
463   |      |                |                      |      | inside      |
464   |      |                |                      |      | abstract    |
465   |      |                |                      |      | elements    |
466   |      |                |                      |      | (using this |
467   |      |                |                      |      | extension   |
468   |      |                |                      |      | makes the   |
469   |      |                |                      |      | document    |
470   |      |                |                      |      | incompatibl |
471   |      |                |                      |      | e to the    |
472   |      |                |                      |      | RFC2629bis  |
473   |      |                |                      |      | DTD; see    |
474   |      |                |                      |      | description |
475   |      |                |                      |      | of          |
476   |      |                |                      |      | conversion  |
477   |      |                |                      |      | XSLT in     |
478   |      |                |                      |      | Section 13. |
479   |      |                |                      |      | 4).         |
480   |      |                |                      |      |             |
481   | rfc- | authors-sectio | xml2rfc-ext-authors- | "end | When        |
482   | ext  | n              | section              | "    | "before-app |
483   |      |                |                      |      | endices",   |
484   |      |                |                      |      | place the   |
485   |      |                |                      |      | authors     |
486   |      |                |                      |      | section     |
487   |      |                |                      |      | between     |
488   |      |                |                      |      | references  |
489   |      |                |                      |      | and         |
490   |      |                |                      |      | appendices  |
491   |      |                |                      |      | (this       |
492   |      |                |                      |      | ordering    |
493   |      |                |                      |      | was used a  |
494   |      |                |                      |      | long time   |
495   |      |                |                      |      | ago).       |
496   |      |                |                      |      |             |
497
498
499
500
501
502
503Reschke                                                         [Page 9]
504
505Documentation             RFC2629 through XSLT                  May 2015
506
507
508   | rfc- | duplex         | xml2rfc-ext-duplex   | "no" | When set to |
509   | ext  |                |                      |      | "yes",      |
510   |      |                |                      |      | format the  |
511   |      |                |                      |      | PDF output  |
512   |      |                |                      |      | for         |
513   |      |                |                      |      | doublesided |
514   |      |                |                      |      | printing.   |
515   |      |                |                      |      |             |
516   | rfc- | include-index  | xml2rfc-ext-include- | "yes | When set to |
517   | ext  |                | index                | "    | "no", no    |
518   |      |                |                      |      | index will  |
519   |      |                |                      |      | be          |
520   |      |                |                      |      | generated.  |
521   |      |                |                      |      |             |
522   | rfc- | include-refere | xml2rfc-ext-include- | "no" | When set to |
523   | ext  | nces-in-index  | references-in-index  |      | "yes",      |
524   |      |                |                      |      | index       |
525   |      |                |                      |      | entries are |
526   |      |                |                      |      | generated   |
527   |      |                |                      |      | for all     |
528   |      |                |                      |      | references. |
529   |      |                |                      |      |             |
530   | rfc- | insert-metadat | xml2rfc-ext-insert-m | "yes | When set to |
531   | ext  | a              | etadata              | "    | "yes",      |
532   |      |                |                      |      | include JS  |
533   |      |                |                      |      | code that   |
534   |      |                |                      |      | fetches     |
535   |      |                |                      |      | current RFC |
536   |      |                |                      |      | metadata    |
537   |      |                |                      |      | and inserts |
538   |      |                |                      |      | it into the |
539   |      |                |                      |      | front page  |
540   |      |                |                      |      | (standards  |
541   |      |                |                      |      | track,      |
542   |      |                |                      |      | obsoletion, |
543   |      |                |                      |      | updates,    |
544   |      |                |                      |      | errata).    |
545   |      |                |                      |      |             |
546
547
548
549
550
551
552
553
554
555
556
557
558
559Reschke                                                        [Page 10]
560
561Documentation             RFC2629 through XSLT                  May 2015
562
563
564   | rfc- | justification  | xml2rfc-ext-justific | "nev | "never":    |
565   | ext  |                | ation                | er"  | never emit  |
566   |      |                |                      |      | justified   |
567   |      |                |                      |      | text,       |
568   |      |                |                      |      | "always":   |
569   |      |                |                      |      | always emit |
570   |      |                |                      |      | justified   |
571   |      |                |                      |      | text,       |
572   |      |                |                      |      | "print":    |
573   |      |                |                      |      | only emit   |
574   |      |                |                      |      | justified   |
575   |      |                |                      |      | text for    |
576   |      |                |                      |      | print       |
577   |      |                |                      |      | media.      |
578   |      |                |                      |      |             |
579   | rfc- | parse-xml-in-a | xml2rfc-parse-xml-in | "no" | May be used |
580   | ext  | rtwork         | -artwork             |      | to enable   |
581   |      |                |                      |      | parsing of  |
582   |      |                |                      |      | XML content |
583   |      |                |                      |      | in figures  |
584   |      |                |                      |      | (MSXML      |
585   |      |                |                      |      | only).      |
586   |      |                |                      |      |             |
587   | rfc- | sec-no-trailin | xml2rfc-ext-sec-no-t |      | When set to |
588   | ext  | g-dots         | railing-dots         |      | "yes", add  |
589   |      |                |                      |      | trailing    |
590   |      |                |                      |      | dots to     |
591   |      |                |                      |      | section     |
592   |      |                |                      |      | numbers.    |
593   |      |                |                      |      | This seems  |
594   |      |                |                      |      | to be the   |
595   |      |                |                      |      | preferred   |
596   |      |                |                      |      | format in   |
597   |      |                |                      |      | the newest  |
598   |      |                |                      |      | RFCs.       |
599   |      |                |                      |      |             |
600   | rfc- | support-rfc273 | xml2rfc-ext-support- | "yes | Decides     |
601   | ext  | 1              | rfc2731              | "    | whether the |
602   |      |                |                      |      | HTML        |
603   |      |                |                      |      | transformat |
604   |      |                |                      |      | ion should  |
605   |      |                |                      |      | generate    |
606   |      |                |                      |      | META tags   |
607   |      |                |                      |      | according   |
608   |      |                |                      |      | Section 6.4 |
609   |      |                |                      |      | .           |
610   +------+----------------+----------------------+------+-------------+
611
612
613
614
615Reschke                                                        [Page 11]
616
617Documentation             RFC2629 through XSLT                  May 2015
618
619
6204.  Anchors
621
622   The transformation automatically generates anchors that are supposed
623   to be stable and predictable and that can be used to identify
624   specific parts of the document.  Anchors are generated both in HTML
625   and XSL-FO content (but the latter will only be used for PDF output
626   when the XSL-FO engine supports producing PDF anchors).
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671Reschke                                                        [Page 12]
672
673Documentation             RFC2629 through XSLT                  May 2015
674
675
676                 The following anchors get auto-generated:
677
678     +-----------------------+---------------------------------------+
679     | Anchor name           | Description                           |
680     +-----------------------+---------------------------------------+
681     | rfc.abstract          | Abstract                              |
682     |                       |                                       |
683     | rfc.authors           | Authors section                       |
684     |                       |                                       |
685     | rfc.copyright         | Copyright section                     |
686     |                       |                                       |
687     | rfc.copyrightnotice   | Copyright notice                      |
688     |                       |                                       |
689     | rfc.figure._n_        | Figures (titled)                      |
690     |                       |                                       |
691     | rfc.figure.u._n_      | Figures (untitled)                    |
692     |                       |                                       |
693     | rfc.index             | Index                                 |
694     |                       |                                       |
695     | rfc.ipr               | Intellectual Property                 |
696     |                       |                                       |
697     | rfc.iref._n_          | Internal references                   |
698     |                       |                                       |
699     | rfc.note._n_          | Notes (from front section)            |
700     |                       |                                       |
701     | rfc.references        | References                            |
702     |                       |                                       |
703     | rfc.references._n_    | Additional references                 |
704     |                       |                                       |
705     | rfc.section._n_       | Section _n_                           |
706     |                       |                                       |
707     | rfc.section._n_.p._m_ | Section _n_, paragraph _m_            |
708     |                       |                                       |
709     | rfc.status            | Status of memo                        |
710     |                       |                                       |
711     | rfc.table._n_         | Tables (titled)                       |
712     |                       |                                       |
713     | rfc.table.u._n_       | Tables (untitled)                     |
714     |                       |                                       |
715     | rfc.toc               | Table of contents                     |
716     |                       |                                       |
717     | rfc.xref._name_._n_   | References to reference _n_ to _name_ |
718     +-----------------------+---------------------------------------+
719
720
721
722
723
724
725
726
727Reschke                                                        [Page 13]
728
729Documentation             RFC2629 through XSLT                  May 2015
730
731
7325.  Supported XSLT engines
733
734   The transformation requires a non-standard extension function (see
735   exsl:node-set [1]) which is however widely available.  XSLT
736   processors that do not support this extension (or a functional
737   equivalent, such as msxsl:node-set) currently are not supported.
738
739   Input documents do not always specify the date completely.  In this
740   case, the transformation attempts to let the XSLT engine to compute
741   the system date, using either scripting in Microsoft's XSLT engine,
742   or the exsl:date-time [2] extension function.
743
7445.1.  Standalone Engines
745
746   The following XSLT engines are believed to work well:
747
748   o  Windows: MSXML3 and MSXML4 (<http://msdn.microsoft.com/xml>;
749      command line processor "msxsl" is available from Microsoft
750      Download Center [3])
751
752   o  Java: Saxon (<http://saxon.sourceforge.net/>)
753
754   o  Java: Xalan (<http://xml.apache.org/xalan-j/>)
755
756   o  C/C++: xsltproc (libxslt) (<http://xmlsoft.org/XSLT/>, make sure
757      that you have a current version)
758
7595.2.  In-Browser Engines
760
761   The following browsers seem to work fine:
762
763   o  Internet Explorer 5.5 (Windows version, if MSXML3 is installed)
764
765   o  Internet Explorer 6 and newer
766
767   o  Firefox 3.0 and newer
768
769
770      *  Be aware that XSLT execution can be suppressed using
771         NoScript [4]
772
773      *  Firefox does not load external DTDs nor external entities, see
774         Mozilla Bug 22942 [5], thus entities like &nbsp; need to be
775         declared in the internal subset (Appendix C.1)
776
777      *  There seems to be a new problem in Firefox 4 where it
778         occasionally does the initial rendering with the wrong width
779         (people who can reproduce this problem please comment on
780
781
782
783Reschke                                                        [Page 14]
784
785Documentation             RFC2629 through XSLT                  May 2015
786
787
788         <https://bugzilla.mozilla.org/show_bug.cgi?id=640390>.
789
790      *  Date computation is available in Firefox starting with Firefox
791         6 (see <https://bugzilla.mozilla.org/show_bug.cgi?id=603159>)
792
793   o  Safari 3 (starting with version 3.0.4)
794
795
796      *  Date computation not available (see
797         <https://bugs.webkit.org/show_bug.cgi?id=4079>)
798
799   o  Google Chrome
800
801
802      *  Date computation not available (see
803         <https://bugs.webkit.org/show_bug.cgi?id=4079>)
804
805   o  Opera (starting with version 10)
806
807
808      *  Date computation not available
809
810   The following browsers are known not to work properly:
811
812   o  Firefox 1.*/2.*: (missing extension function - see change request
813      at Mozilla BugZilla 193678 [6])
814
815   o  Opera 9.21: execution fails, potentially to a somewhat complex
816      XPath expression (reported to Opera as bug 245725).
817
818   o  Opera 9.5 and 9.6: transformation appears to work, but CSS isn't
819      getting applied (reported to Opera as bug 337388 on 2008-06-12).
820
821   o  Safari 2.* supports client-side XSLT as of MacOS X 10.4, but
822      misses required extension functions.  A problem with stylesheets
823      producing non-ASCII output (such as NBSP characters) has been
824      fixed as of OSX 10.4.4.  Both problems have been reported through
825      Apple's bug tracking system, see <http://drakken.dbc.mtview.ca.us/
826      pipermail/xml2rfc/2005-May/002073.html> and
827      <http://bugs.webkit.org/show_bug.cgi?id=4079>.
828
829
830
831
832
833
834
835
836
837
838
839Reschke                                                        [Page 15]
840
841Documentation             RFC2629 through XSLT                  May 2015
842
843
8446.  Transforming to HTML
845
846   Transformation to HTML can be done inside the browser if it supports
847   XSLT.  To enable this, add the following processing instruction to
848   the start of the source file:
849
850     <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
851
852   (and ensure that "rfc2629.xslt" is present).
853
8546.1.  HTML compliance
855
856   The transformation result is supposed to conform to the HTML 4.01
857   strict DTD [HTML].  This can be checked using the W3C's online
858   validator at <http://validator.w3.org>.
859
8606.2.  Standard HTML LINK elements
861
862   LINK elements exist since HTML 2.0.  They can be used to embed
863   content-independant links inside the document.  Unfortunately, only
864   few user agents support this element.  Firefox users may want to
865   check the Link Widgets [7] extension.
866
867                 The following LINK elements are produced:
868
869   +-----------+-------------------------------------------------------+
870   | LINK type | description                                           |
871   +-----------+-------------------------------------------------------+
872   | alternate | for RFCs, a link to the authorative ASCII version on  |
873   |           | the IETF web site                                     |
874   |           |                                                       |
875   | appendic  | pointer to all top-level appendics                    |
876   |           |                                                       |
877   | author    | pointer to "authors" section                          |
878   |           |                                                       |
879   | chapter   | pointer to all top-level sections                     |
880   |           |                                                       |
881   | contents  | pointer to table of contents                          |
882   |           |                                                       |
883   | copyright | pointer to copyright statement                        |
884   |           |                                                       |
885   | index     | pointer to index                                      |
886   +-----------+-------------------------------------------------------+
887
888   The figure below shows how Mozilla Firefox 1.0 displays the Site
889   Navigation Bar for rfc2396.xml.
890
891
892
893
894
895Reschke                                                        [Page 16]
896
897Documentation             RFC2629 through XSLT                  May 2015
898
899
9006.3.  Standard HTML metadata
901
902          The following standard HTML META elements are produced:
903
904      +-----------+-------------------------------------------------+
905      | META name | description                                     |
906      +-----------+-------------------------------------------------+
907      | generator | from XSLT engine version and stylesheet version |
908      |           |                                                 |
909      | keywords  | from keyword elements in front section          |
910      +-----------+-------------------------------------------------+
911
9126.4.  Dublin Core (RFC2731) metadata
913
914   Unless turned off using the "rfc-ext support-rfc2731" processing
915   instruction, the transformation will generate metadata according to
916   [RFC2731] and [DC-HTML].
917
918                The following DCMI properties are produced:
919
920   +-------------------------+-----------------------------------------+
921   | META name               | description                             |
922   +-------------------------+-----------------------------------------+
923   | DC.Creator              | from author information in front        |
924   |                         | section                                 |
925   |                         |                                         |
926   | DC.Date.Issued          | from date information in front section  |
927   |                         |                                         |
928   | DC.Description.Abstract | from abstract                           |
929   |                         |                                         |
930   | DC.Identifier           | document URN [RFC2648] from "docName"   |
931   |                         | attribute                               |
932   |                         |                                         |
933   | DC.isPartOf             | RFC ISSN (for RFCs)                     |
934   |                         |                                         |
935   | DC.Relation.Replaces    | from "obsoletes" attribute              |
936   +-------------------------+-----------------------------------------+
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951Reschke                                                        [Page 17]
952
953Documentation             RFC2629 through XSLT                  May 2015
954
955
9567.  Transforming to XHTML
957
958   Transforming to XHTML requires slightly different XSLT output options
959   and is implemented by the derived transformation script
960   "rfc2629toXHTML.xslt".
961
962      Note: Microsoft Internet Explorer does _not_ support XHTML.
963      Therefore it usually makes more sense to generate plain old HTML.
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007Reschke                                                        [Page 18]
1008
1009Documentation             RFC2629 through XSLT                  May 2015
1010
1011
10128.  Transforming to CHM (Microsoft Compiled Help)
1013
1014   To generate a CHM file using Microsoft's HTML Help Compiler (hhc),
1015   three files are required in addition to the HTML file.
1016
1017   1.  hhc - table of contents file (HTML)
1018
1019   2.  hhk - index file (HTML)
1020
1021   3.  hhp - project file (plain text)
1022
1023   The three files are generated with three specific transformations,
1024   each requiring the additional XSLT parameter "basename" to specify
1025   the filename prefix.
1026
1027   Example:
1028
1029   saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616  > rfc2616.hhp
1030   saxon rfc2616.xml rfc2629toHhc.xslt basename=rfc2616  > rfc2616.hhc
1031   saxon rfc2616.xml rfc2629toHhk.xslt basename=rfc2616  > rfc2616.hhk
1032   hhc rfc2616.hhp
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063Reschke                                                        [Page 19]
1064
1065Documentation             RFC2629 through XSLT                  May 2015
1066
1067
10689.  Transforming to PDF
1069
10709.1.  Via XSL-FO
1071
1072   Transformation to XSL-FO [XSL-FO] format is available through
1073   "rfc2629toFO.xslt" (which includes "rfc2629.xslt", so keep both in
1074   the same folder).
1075
1076   Compared to HTML user agents, XSL-FO engines unfortunately either
1077   come as open source (for instance, Apache FOP) or feature-complete
1078   (for instance, AntennaHouse XSL Formatter), but not both at the same
1079   time.
1080
1081   As Apache FOP needs special workarounds (index generation), and some
1082   popular extensions aren't standardized yet, the translation produces
1083   a generic output (hopefully) conforming to [XSL-FO].  Specific
1084   backends ("xsl11toFop.xslt", "xsl11toXep.xslt", "xsl11toAn.xslt")
1085   then provide post-processing for the individual processors.
1086
1087      Note: the output is currently targeted at Apache FOP 1.1.
1088
10899.1.1.  Example: producing output for Apache FOP
1090
1091   Example:
1092
1093   saxon rfc2616.xml rfc2629toFo.xslt > tmp.fo
1094   saxon tmp.fo xsl11toFop.xslt > rfc2629.fo
1095
10969.2.  Via X(HTML)
1097
1098   PDF output can also be produced directly from (X)HTML.  One simple
1099   approach is to rely on the browser's printing function, and to use a
1100   printer driver that produces PDF.  Depending on the brower's CSS
1101   capabilities, the output will behave properly with respect to table
1102   breaks etc.
1103
1104   An alternative is PrinceXML (see <http://www.princexml.com/>), which
1105   can produce PDF directly from (X)HTML input, based on the CSS
1106   printing information.
1107
1108   For instance, PDF output with text justification turned on can be
1109   produced with:
1110
1111   saxon input.xml rfc2629toXHTML.xslt xml2rfc-ext-justification=print \
1112     > output.xhtml
1113   prince output.xhtml output.pdf
1114
1115
1116
1117
1118
1119Reschke                                                        [Page 20]
1120
1121Documentation             RFC2629 through XSLT                  May 2015
1122
1123
112410.  Transforming to ePub
1125
1126   Experimental transformation to ePub format is available through a set
1127   of stylesheets, and the Unix Shell script "mkepub.sh" (which requires
1128   that "zip" and either "saxon" or "xsltproc" are installed).
1129
1130   For instance, an epub version of rfc2616.xml can be generated like
1131   this:
1132
1133   mkepub.sh rfc2616.xml
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175Reschke                                                        [Page 21]
1176
1177Documentation             RFC2629 through XSLT                  May 2015
1178
1179
118011.  Generic Extensions
1181
1182   This section documents extensions implemented in "rfc2629.xslt",
1183   using the extension namespace "http://purl.org/net/xml2rfc/ext".
1184
118511.1.  <abnf-char-sequence> element
1186
1187   Converts the contained quoted string into a hex-encoded character
1188   sequence, for use in case-sensitive ABNF productions.
1189
1190   For instance, "<x:abnf-char-sequence>"HTTP"</x:abnf-char-sequence>"
1191   gets converted to "%x48.54.54.50".
1192
119311.2.  <anchor-alias> element
1194
1195   Using its "value" attribute, this element allows the definition of an
1196   internal link target alias for the enclosing element.  This alias can
1197   then be used with the <ref> element for intra-document references.
1198
1199   Note that the anchor alias is not subject to the naming constraints
1200   that apply to anchor elements (which are XML names).
1201
120211.3.  <bcp14> element
1203
1204   This element marks the content as being one of the normative keywords
1205   defined in [RFC2119].
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231Reschke                                                        [Page 22]
1232
1233Documentation             RFC2629 through XSLT                  May 2015
1234
1235
1236   The DOCTYPE definition below allows using these keywords using XML
1237   entity expansion: such as in "...server &MUST; accept...".
1238
1239   <!DOCTYPE rfc [
1240    <!ENTITY MAY "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1241      >MAY</bcp14>">
1242    <!ENTITY MUST "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1243      >MUST</bcp14>">
1244    <!ENTITY MUST-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1245      >MUST NOT</bcp14>">
1246    <!ENTITY OPTIONAL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1247      >OPTIONAL</bcp14>">
1248    <!ENTITY RECOMMENDED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1249      >RECOMMENDED</bcp14>">
1250    <!ENTITY REQUIRED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1251      >REQUIRED</bcp14>">
1252    <!ENTITY SHALL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1253      >SHALL</bcp14>">
1254    <!ENTITY SHALL-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1255      >SHALL NOT</bcp14>">
1256    <!ENTITY SHOULD "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1257      >SHOULD</bcp14>">
1258    <!ENTITY SHOULD-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1259      >SHOULD NOT</bcp14>">]>
1260
126111.4.  <bb> element
1262
1263   Marking up a string as <bb> indicates that it represents the bottom
1264   line of a box drawing, replacing the "+" and "-" characters
1265   accordingly.
1266
126711.5.  <bc> element
1268
1269   Marking up a string as <bc> indicates that it represents a center
1270   line of a box drawing, replacing the "|" character accordingly.
1271
127211.6.  <blockquote> element
1273
1274   This element is like the <blockquote> element defined in Section
1275   9.2.2 of [HTML] (note this is a block-level element!).  It should
1276   contain one or more <t> child elements.
1277
127811.7.  <boilerplate> element
1279
1280   Can be used to include boilerplate (status, copyright, ...) into the
1281   front or back section. <section> elements within <x:boilerplate>
1282   appear as unnumbered sections in the output.
1283
1284
1285
1286
1287Reschke                                                        [Page 23]
1288
1289Documentation             RFC2629 through XSLT                  May 2015
1290
1291
1292   _This element currently can not be "down-translated" for use in
1293   xml2rfc!_
1294
129511.8.  <bt> element
1296
1297   Marking up a string as <bt> indicates that it represents the top line
1298   of a box drawing, replacing the "+" and "-" characters accordingly.
1299
130011.9.  <dfn> element
1301
1302   This element is like the <dfn> element defined in Section 9.2.1 of
1303   [HTML].
1304
130511.10.  <feedback> element
1306
1307   This elements allows declaring a feedback link for document
1308   reviewers.  The template string takes the form of a URI template,
1309   such as:
1310
1311<x:feedback template="mailto:ietf-http-wg@w3.org?subject={docname},%20%22{section}%22&amp;body=&lt;{ref}&gt;:"/>
1312
1313   where "docname" is substituted by the document name, "section" is
1314   substituted by section title (number and name), and "ref" is
1315   substituted by a URI pointing to the section being referenced.
1316
131711.11.  <h> element
1318
1319   This element is like the "h" element in [XHTML2].
1320
132111.12.  <highlight> element
1322
1323   Used to highlight text passages, currently only allowed in <artwork>.
1324
1325   Note: this is stripped when generating input for xml2rfc, so please
1326   use with care.
1327
132811.13.  <length-of> element
1329
1330   This element can be used to insert the length of another formatted
1331   section (in decimal).
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343Reschke                                                        [Page 24]
1344
1345Documentation             RFC2629 through XSLT                  May 2015
1346
1347
1348   Example: computing the Content-Length header value
1349
1350   <artwork>
1351   ...
1352   Content-Length: <x:length-of target="req"/>
1353
1354   <x:span anchor="req">123456789
1355   <x:span><artwork/>
1356
1357   The lenght computation counts line ends as two characters (CRLF).
1358
1359   Note that indentation characters in artwork _will_ be counted.  The
1360   "indented" attribute allows to specify the amount of indentation to
1361   be substracted from the computed length.
1362
136311.14.  <link> element
1364
1365   This element can be added as a top-level child element below <rfc> to
1366   indicate additional link information.  It's currently used only when
1367   generating HTML output, in which case an HTML <link> element with
1368   identical attributes gets generated.
1369
1370   Example: generating HTML link element
1371
1372           <x:link xmlns:x="http://purl.org/net/xml2rfc/ext"
1373               rel="Bookmark"
1374               title="IETF WEBDAV Working Group"
1375               href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/>
1376
1377   If the attribute "basename" is present, it is used to compute the
1378   target href based on the output format being generated (this is handy
1379   for "next"/"prev" links in a series of documents.  In this case, the
1380   href attribute is not required.
1381
1382   For instance:
1383
1384           <x:link xmlns:x="http://purl.org/net/xml2rfc/ext"
1385               rel="next"
1386               title="Part2"
1387               basename="draft-foobar-protocol-p2-latest"/>
1388
138911.15.  <lt> element
1390
1391   Used for grouping multiple <t> elements into a single list item.
1392
1393
1394
1395
1396
1397
1398
1399Reschke                                                        [Page 25]
1400
1401Documentation             RFC2629 through XSLT                  May 2015
1402
1403
140411.16.  <note> element
1405
1406   Can be used to add a note, usually indented by a few characters.  It
1407   should contain one or more <t> child elements.
1408
140911.17.  <parse-xml> element
1410
1411   This element instructs the processor to parse the contents as XML and
1412   to warn when there's a problem (requires either MSXML or Saxon8 or
1413   newer).
1414
141511.18.  <prose> element
1416
1417   This element can be used inside <reference> to add plain text (before
1418   the date, when present).
1419
1420   See also <refcontent> (Section 12.13).
1421
142211.19.  <q> element
1423
1424   This element is like the <q> element defined in Section 9.2.2 of
1425   [HTML].
1426
142711.20.  <ref> element
1428
1429   This element is a simplified variant of the <xref> element, in that
1430   no "target" attribute needs to be specified, instead the text
1431   contents acts as identifier.  That in itself wouldn't be terribly
1432   useful, but together with the <anchor-alias>, it allows referring to
1433   other parts of the document with minimal additional markup.
1434
1435   For instance, given an alias definition such as
1436
1437         <section title="Test" anchor="test">
1438           <x:anchor-alias value="alias1"/>
1439           <x:anchor-alias value="alias 2"/>
1440           ...
1441         </section>
1442
1443   the following simple references
1444
1445         <x:ref>test</x:ref>
1446         <x:ref>alias1</x:ref>
1447         <x:ref>alias 2</x:ref>
1448
1449   are equivalent to...:
1450
1451
1452
1453
1454
1455Reschke                                                        [Page 26]
1456
1457Documentation             RFC2629 through XSLT                  May 2015
1458
1459
1460         <xref target="test">test</xref>
1461         <xref target="test">alias1</xref>
1462         <xref target="test">alias 2</xref>
1463
146411.21.  <source> element
1465
1466   Can be used to enhance a <reference> with information about the
1467   location for the XML source.  This can be used by the <xref>
1468   processing code to automatically extract the target section number.
1469
1470   For example:
1471
1472         ...
1473         <xref target="RFC2616" x:fmt="of" x:rel="#PUT" />
1474         ...
1475
1476         <reference target="RFC2616"/>
1477           ...
1478           <x:source href="rfc2616.xml"/>
1479           ...
1480
148111.22.  <sup> element
1482
1483   This element is like the <sup> element in Section 9.2.3 of [HTML].
1484
1485   Note: the down conversion to RFC2629 format replaces "x^y" by "x^y".
1486
1487   See also <refcontent> (Section 12.18).
1488
148911.23.  Extensions to Xml2rfc <artwork> element
1490
1491   Sometimes, artwork occurs inside lists.  To get it indent properly in
1492   xml2rfc's text output, it needs to be indented in the source.  This
1493   is sub-optimal, as this whitespace will also appear in the HTML
1494   output, where it's already indented due to HTML's semantics.  As a
1495   workaround, a "x:indent-with" attribute can be specified, containing
1496   a string that will be prepended to each line when
1497   "clean-for-DTD.xslt" is run (see Section 13.4).
1498
1499   Furthermore, documents can contain code that might need to be marked
1500   as "code component"
1501   (<http://www.ietf.org/iesg/statement/copyright.html>).  This can be
1502   done using "x:is-code-component".
1503
150411.24.  Extensions to Xml2rfc <iref> element
1505
1506   The extension attribute below is allowed on the standard <iref>
1507   element:
1508
1509
1510
1511Reschke                                                        [Page 27]
1512
1513Documentation             RFC2629 through XSLT                  May 2015
1514
1515
1516   o  x:for-anchor specifies that the <iref> will also be automatically
1517      inserted whenever the specified anchor is cross-referenced -- this
1518      may save entering lots of <iref> instances.  As a special case, a
1519      value of "" (empty string) refers to the anchor attribute of the
1520      closest ancestor.
1521
152211.25.  Extensions to Xml2rfc <list> element
1523
1524   The extension attribute below is allowed on the standard <list>
1525   element:
1526
1527   o  x:indent specifies the amount of indentation for list items in
1528      hanging lists.  This can be useful when the output format, such as
1529      XSL-FO, does not support automatical formatting.  The value takes
1530      an XSL-FO width, such as "5em".  The default is _length of longest
1531      label in characters_ times _0.8em_.
1532
1533   Also, the <list> element can take <x:lt> child elements instead of
1534   <t>, allowing to insert multiple paragraphs into a single list item.
1535
153611.26.  Extensions to Xml2rfc <rfc> element
1537
1538   The extension attributes below are allowed on the standard <rfc>
1539   element:
1540
1541   o  grddl:transformation can be used to reference a GRDDL transform.
1542
1543   o  x:maturity-level can be used to specify the IETF Standards Track
1544      Maturity Level of "proposed", "draft" or "internet" (see Section
1545      4.1 of [RFC2026]).
1546
154711.27.  Extensions to Xml2rfc <section> element
1548
1549   The extension attribute below is allowed on the standard <list>
1550   element:
1551
1552   o  x:fixed-section-number can be used to specify a fixed section
1553      number.  This can be useful when formatting historic documents
1554      that used a different numbering style.
1555
155611.28.  Extensions to Xml2rfc <xref> element
1557
1558   Three extension attributes are allowed on the standard <xref>
1559   element:
1560
1561   1.  x:sec can be specified to point to a specific section of the
1562       referenced document,
1563
1564
1565
1566
1567Reschke                                                        [Page 28]
1568
1569Documentation             RFC2629 through XSLT                  May 2015
1570
1571
1572   2.  x:rel may specify a relative reference to use when linking into
1573       the referenced document (if linking by section number is not
1574       available),
1575
1576   3.  x:fmt defines the text format to be used.
1577
1578   The following formats are defined for the x:fmt attribute:
1579
1580   , (Comma)  [_reference_], Section _sec_
1581
1582   () [_reference_] (Section _sec_)
1583
1584   of Section _sec_ of [_reference_]
1585
1586   number  _sec_
1587
1588   none  No output (can be used to have xrefs to references without
1589      having them rendered as such)
1590
1591   sec  Section _sec_
1592
1593   These extensions are currently only supported for <xref> elements
1594   without child nodes.
1595
1596   If the processor knows how to reference the target section, it will
1597   generate a link directly to the target section, such as in [RFC2119],
1598   Section 5.
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623Reschke                                                        [Page 29]
1624
1625Documentation             RFC2629 through XSLT                  May 2015
1626
1627
162812.  Experimental Support for XML2RFCv3 Vocabulary
1629
1630   "rfc2629.xslt" experimentally supports some elements from the "V3"
1631   vocabulary, defined in [XML2RFCV3]. _This support is experimental, as
1632   the "v3" vocabulary is still being developed._
1633
163412.1.  aside Element
1635
1636   See Section 2.6 of [XML2RFCV3].
1637
163812.2.  bcp14 Element
1639
1640   See Section 2.9 of [XML2RFCV3].
1641
164212.3.  blockquote Element
1643
1644   See Section 2.10 of [XML2RFCV3].
1645
164612.4.  displayreference Element
1647
1648   See Section 2.19 of [XML2RFCV3].
1649
165012.5.  dd Element
1651
1652   See Section 2.18 of [XML2RFCV3].
1653
165412.6.  dl Element
1655
1656   See Section 2.20 of [XML2RFCV3].
1657
165812.7.  dt Element
1659
1660   See Section 2.21 of [XML2RFCV3].
1661
166212.8.  em Element
1663
1664   See Section 2.22 of [XML2RFCV3].
1665
166612.9.  li Element
1667
1668   See Section 2.29 of [XML2RFCV3].
1669
167012.10.  name Element
1671
1672   See Section 2.32 of [XML2RFCV3]. _Currently only supported inside
1673   <references> and <section>_.
1674
1675
1676
1677
1678
1679Reschke                                                        [Page 30]
1680
1681Documentation             RFC2629 through XSLT                  May 2015
1682
1683
168412.11.  ol Element
1685
1686   See Section 2.34 of [XML2RFCV3].
1687
168812.12.  postalLine Element
1689
1690   See Section 2.38 of [XML2RFCV3].
1691
169212.13.  refcontent Element
1693
1694   See Section 2.39 of [XML2RFCV3].
1695
169612.14.  Extensions to reference Element
1697
1698   See Section 2.40 of [XML2RFCV3].
1699
170012.14.1.  quoteTitle attribute
1701
1702   See Section 2.40.2 of [XML2RFCV3].
1703
170412.15.  Extensions to section Element
1705
1706   See Section 2.45 of [XML2RFCV3].
1707
170812.15.1.  numbered attribute
1709
1710   See Section 2.45.2 of [XML2RFCV3].
1711
171212.15.2.  removeInRFC attribute
1713
1714   See Section 2.45.4 of [XML2RFCV3].
1715
171612.16.  strong Element
1717
1718   See Section 2.49 of [XML2RFCV3].
1719
172012.17.  sub Element
1721
1722   See Section 2.50 of [XML2RFCV3].
1723
172412.18.  sup Element
1725
1726   See Section 2.51 of [XML2RFCV3].
1727
172812.19.  tt Element
1729
1730   See Section 2.61 of [XML2RFCV3].
1731
1732
1733
1734
1735Reschke                                                        [Page 31]
1736
1737Documentation             RFC2629 through XSLT                  May 2015
1738
1739
174012.20.  ul Element
1741
1742   See Section 2.62 of [XML2RFCV3].
1743
174412.21.  Extensions to xref Element
1745
174612.21.1.  relative attribute
1747
1748   See Section 2.65.3 of [XML2RFCV3].
1749
175012.21.2.  section attribute
1751
1752   See Section 2.65.4 of [XML2RFCV3].
1753
175412.21.3.  sectionFormat attribute
1755
1756   See Section 2.65.5 of [XML2RFCV3].
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791Reschke                                                        [Page 32]
1792
1793Documentation             RFC2629 through XSLT                  May 2015
1794
1795
179613.  Utilities
1797
179813.1.  Checking References
1799
1800   "check-references.xslt" can be used to check all references to RFC-
1801   and ID-series IETF publications and to W3C publications (note this
1802   script requires local copies of
1803   <ftp://ftp.isi.edu/in-notes/rfc-index.xml> and
1804   <http://www.w3.org/2002/01/tr-automation/tr.rdf> and will use the XML
1805   status information provided at <http://tools.ietf.org/>).
1806
1807   If the document is supposed to be published on the IETF standards
1808   track, the desired level can be specified using the parameter
1809   "intended-level" as 'proposed', 'draft' or 'internet'.
1810   Alternatively, it can be specified inside the document using the
1811   attribute x:maturity-level on the <rfc> element (see Section 11.26).
1812
1813   Note: Downward references should be annotated using the <annotate>
1814   element, containing an <xref> to [BCP97].
1815
1816   When an XSLT 2.0 processor is used, links in the document can be
1817   checked as well using the "link-check" parameter ('yes' or 'no').
1818   Note that this only works for http links to documents of type text/*.
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847Reschke                                                        [Page 33]
1848
1849Documentation             RFC2629 through XSLT                  May 2015
1850
1851
1852   For instance, as of 2008-07-12, the script produces for
1853   <http://greenbytes.de/tech/webdav/rfc2518.xml>:
1854
1855   > saxon rfc2518.xml check-references.xslt intended-status=PROPOSED \
1856     link-check=yes
1857
1858   Normative References:
1859   ISO-11578: not checked
1860   ISO-639: not checked
1861   ISO-8601: not checked
1862   REC-xml-19980210: [FirstEdition] obsoleted by REC-xml-20001006
1863   REC-xml-names-19990114: [FirstEdition] obsoleted by
1864    REC-xml-names-20060816
1865   RFC1766: [PROPOSED STANDARD] obsoleted by RFC3066 RFC3282
1866   RFC2068: [PROPOSED STANDARD] obsoleted by RFC2616
1867   RFC2069: [PROPOSED STANDARD] obsoleted by RFC2617
1868   RFC2119: [BEST CURRENT PRACTICE] (-> BCP0014) ok
1869   RFC2141: [PROPOSED STANDARD] ok
1870   RFC2277: [BEST CURRENT PRACTICE] (-> BCP0018) ok
1871   RFC2396: [DRAFT STANDARD] obsoleted by RFC3986
1872   RFC2279: [DRAFT STANDARD] obsoleted by RFC3629
1873
1874   Informational References:
1875   REC-PICS-labels-961031: [REC] ok
1876   RFC1807: [INFORMATIONAL] ok
1877   RFC2026: [BEST CURRENT PRACTICE] (-> BCP0009) ok
1878   RFC2291: [INFORMATIONAL] ok
1879   RFC2376: [INFORMATIONAL] obsoleted by RFC3023
1880   RFC2413: [INFORMATIONAL] obsoleted by RFC5013
1881   USMARC: not checked
1882   WF: not checked
1883
1884   Link Targets
1885   <http://www.w3.org/TR/1998/REC-xml-19980210>: ok
1886   <http://www.w3.org/TR/1999/REC-xml-names-19990114>: ok
1887   <http://www.dlib.org/dlib/july96/lagoze/07lagoze.html>: ok
1888   <http://www.w3.org/pub/WWW/TR/REC-PICS-labels-961031.html>: ok
1889
1890   Recognized formats in the <seriesInfo> element are:
1891
1892   o  for RFCs, the name attribute must be "RFC", and the value
1893      attribute must be the number of the RFC,
1894
1895   o  for Internet Drafs, the name attribute must be "ID" or "Internet-
1896      Draft", and the value attribute must be the file name of the draft
1897      (including the two-digit running number, but excluding a file
1898      extension),
1899
1900
1901
1902
1903Reschke                                                        [Page 34]
1904
1905Documentation             RFC2629 through XSLT                  May 2015
1906
1907
1908   o  for W3C documents, the name attribute must be "W3C", must start
1909      with "W3C ", or must start with "World Wide Web Consortium ", and
1910      the value attribute must be the "shorthand" name of the
1911      specification, such as "REC-xml-19980210".
1912
1913      Note: this stylesheet will need network access to check links and
1914      status of Internet Drafts.  When running a Java-based XSLT engine,
1915      you may have to supply Java system properties specifying the HTTP
1916      proxy to be used, such as "-Dhttp.proxyHost=hostname
1917      -Dhttp.proxyPort=80".
1918
191913.2.  Generating Graphs from References
1920
1921   "gen-reference-graph.xslt" generates a graph of RFC dependencies,
1922   using the same base data as in "check-references.xslt" (see
1923   Section 13.1).  Its output is a "dot" file, to be processed by
1924   GraphViz (see <http://www.graphviz.org/>).
1925
1926   The picture below shows the RFC dependencies in RFC2629.
1927
1928
192913.3.  Producing reference entries for books
1930
1931   "amazon-asin.xslt" uses the Amazon web services to generate a
1932   <reference> element for a given ASIN (ISBN).
1933
1934   For instance:
1935
1936   <?xml version="1.0" encoding="utf-8"?>
1937   <references>
1938    <reference target="urn:isbn:0134516591">
1939      <front>
1940        <title>Simple Book, The: An Introduction to Internet Management,
1941                  Revised Second Edition</title>
1942        <author surname="Rose"
1943                   fullname="Marshall T. Rose" initials="M. T. ">
1944          <organization/>
1945        </author>
1946        <author surname="Marshall"
1947                   fullname="Rose T. Marshall" initials="R. T.">
1948          <organization/>
1949        </author>
1950        <date year="1996" month="March"/>
1951      </front>
1952      <seriesInfo name="Prentice Hall" value=""/>
1953    </reference>
1954   </references>
1955
1956
1957
1958
1959Reschke                                                        [Page 35]
1960
1961Documentation             RFC2629 through XSLT                  May 2015
1962
1963
1964   Note that the resulting XML usually requires checking, in this case
1965   Amazon's database is playing tricks with Marshall's name...
1966
196713.4.  Down-converting to RFC2629bis DTD
1968
1969   "clean-for-DTD.xslt" can be used to down-convert some extensions to a
1970   format that is supported by the base xml2rfc distribution.  Note that
1971   these extensions are experimental (feedback appreciated).
1972
1973   The following mappings are done:
1974
1975   o  <iref> elements inside <artwork> elements are moved in front of
1976      the enclosing <figure> element.
1977
1978   o  <xref> elements inside <artwork> are expanded just like in regular
1979      text (that is, the markup is stripped, but the element is replaced
1980      by the applicable replacement text).
1981
1982   o  <x:anchor-alias> elements get stripped.
1983
1984   o  <x:bcp14> elements get stripped.
1985
1986   o  <x:bb>, <x:bc> and <x:bt> elements get stripped.
1987
1988   o  <x:blockquote> elements get converted to indented text (through a
1989      <list> element).
1990
1991   o  <x:dfn> elements get stripped.
1992
1993   o  <x:h> elements get stripped.
1994
1995   o  <x:link> elements get stripped.
1996
1997   o  <x:lt> elements get collapsed into a single <lt> element with
1998      added <vspace> added to simulate paragraph breaks.
1999
2000   o  <x:note> elements get converted to indented text (through a <list>
2001      element).
2002
2003   o  <x:q> elements get stripped, with apostrophes added around the
2004      text.
2005
2006   o  <x:prose> elements are transformed into <seriesInfo> elements
2007      (which is an abuse of the element and only a workaround until
2008      xml2rfc gets a matching extension).
2009
2010   o  <x:ref> elements get replaced by <xref> elements, targetting
2011      either the anchor or another anchor with matching <x:anchor-alias>
2012
2013
2014
2015Reschke                                                        [Page 36]
2016
2017Documentation             RFC2629 through XSLT                  May 2015
2018
2019
2020      child element.
2021
202213.5.  Extracting artwork
2023
2024   With "extract-artwork.xslt", artwork elements named through the
2025   "name" attribute can be extracted.  This can be used to automatically
2026   check their syntax (for instance, when ABNFs appear within a figure
2027   element).
2028
2029   For instance:
2030   saxon rfc3986.xml extract-artwork.xslt name=uri.abnf
2031
2032   In addition, artwork of a specific type can be extracted, such as
2033   with:
2034   saxon rfc3986.xml extract-artwork.xslt type=abnf
2035
2036   When extracting by type, artwork elements with a specified name can
2037   be excluded; this can be handy when the document uses some kind of
2038   schema language, and an appendix contains the collected schema,
2039   repeating definitions from earlier on.  Example:
2040   saxon rfc3986.xml extract-artwork.xslt type=abnf except-name=clschm
2041
204213.6.  GRRDL
2043
2044   "rfc2629grddl.xslt" extracts RDF information.  This is experimental
2045   work-in-progress.  See <http://www.w3.org/TR/grddl/> for more
2046   information.
2047
204813.7.  HTML Live Refresh
2049
2050   _Experimental_
2051
2052   The "HTML Live Refresh" mode allows to run a text editor and a
2053   browser side-by-side, with the browser auto-updating every few
2054   seconds, displaying the updated HTML, and automatically navigating to
2055   the part of the page that changed last.
2056
2057   The requirements for this mode are:
2058
2059   1.  A browser that supports the "DOMParser" and "XSLTProcessor" APIs.
2060
2061   2.  The ability to reload the source code and the XSLT code from
2062       within Javascript; in some browsers this is forbidden for "file:"
2063       URIs due to perceived security problems.
2064
2065   This feature is currently tested with:
2066
2067
2068
2069
2070
2071Reschke                                                        [Page 37]
2072
2073Documentation             RFC2629 through XSLT                  May 2015
2074
2075
2076   1.  Mozilla Firefox, and
2077
2078   2.  Google Chome (where, to be able to reload from the local
2079       filesystem, Chrome needs to be started with the command line
2080       option "--allow-file-access-from-files").
2081
2082   Use of this feature requires the inclusion of a processing
2083   instruction that holds the name of the XML source, such as:
2084
2085   <?rfc-ext refresh-from="draft-foo-bar-00.xml"?>
2086
2087   The optional parameters "refresh-interval" and "refresh-xslt" support
2088   changing the refresh interval (in seconds, defaulting to 10), and the
2089   name of the XSLT file to use (defaulting to "rfc2629.xslt").
2090
2091   To test this feature, start with a minimal source file like this:
2092
2093   <?xml-stylesheet type='text/xsl' href='rfc2629.xslt'?>
2094   <?rfc-ext refresh-from="draft-foo-bar-00.xml"?>
2095   <rfc docName="draft-foo-bar-00" ipr="trust200902">
2096     <front>
2097       <title>Title Goes Here</title>
2098       <abstract>
2099         <t>Abstract</t>
2100       </abstract>
2101     </front>
2102   </rfc>
2103   ...open it in both text editor and browser, start editing and of
2104   course ocasionally save.
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127Reschke                                                        [Page 38]
2128
2129Documentation             RFC2629 through XSLT                  May 2015
2130
2131
213214.  Informative References
2133
2134   [BCP97]    Klensin, J. and S. Hartman, "Handling Normative References
2135              to Standards-Track Documents", BCP 97, RFC 4897,
2136              DOI 10.17487/RFC4897, June 2007,
2137              <http://www.rfc-editor.org/info/rfc4897>.
2138
2139   [DC-HTML]  Johnston, P. and A. Powell, "Expressing Dublin Core
2140              metadata using HTML/XHTML meta and link elements", Dublin
2141              Core Metadata Initiative , August 2008,
2142              <http://dublincore.org/documents/2008/08/04/dc-html/>.
2143
2144   [HTML]     Raggett, D., Le Hors, A., and I. Jacobs, "HTML 4.01
2145              Specification", W3C Recommendation REC-html401-19991224,
2146              December 1999,
2147              <http://www.w3.org/TR/1999/REC-html401-19991224>.
2148
2149              Latest version available at
2150              <http://www.w3.org/TR/html401>.
2151
2152   [RFC2026]  Bradner, S., "The Internet Standards Process -- Revision
2153              3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996,
2154              <http://www.rfc-editor.org/info/rfc2026>.
2155
2156   [RFC2045]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
2157              Extensions (MIME) Part One: Format of Internet Message
2158              Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996,
2159              <http://www.rfc-editor.org/info/rfc2045>.
2160
2161   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
2162              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
2163              RFC2119, March 1997,
2164              <http://www.rfc-editor.org/info/rfc2119>.
2165
2166   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Nielsen, H.,
2167              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
2168              Transfer Protocol -- HTTP/1.1", RFC 2616, DOI 10.17487/
2169              RFC2616, June 1999,
2170              <http://www.rfc-editor.org/info/rfc2616>.
2171
2172   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
2173              DOI 10.17487/RFC2629, June 1999,
2174              <http://www.rfc-editor.org/info/rfc2629>.
2175
2176   [RFC2648]  Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
2177              DOI 10.17487/RFC2648, August 1999,
2178              <http://www.rfc-editor.org/info/rfc2648>.
2179
2180
2181
2182
2183Reschke                                                        [Page 39]
2184
2185Documentation             RFC2629 through XSLT                  May 2015
2186
2187
2188   [RFC2731]  Kunze, J., "Encoding Dublin Core Metadata in HTML",
2189              RFC 2731, DOI 10.17487/RFC2731, December 1999,
2190              <http://www.rfc-editor.org/info/rfc2731>.
2191
2192   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
2193              Specifications: ABNF", STD 68, RFC 5234, DOI 10.17487/
2194              RFC5234, January 2008,
2195              <http://www.rfc-editor.org/info/rfc5234>.
2196
2197   [RFC5741]  Daigle, L. and O. Kolkman, "RFC Streams, Headers, and
2198              Boilerplates", RFC 5741, DOI 10.17487/RFC5741,
2199              December 2009, <http://www.rfc-editor.org/info/rfc5741>.
2200
2201   [RNC]      Clark, J., "RELAX NG Compact Syntax", OASIS , Nov 2002, <h
2202              ttp://www.oasis-open.org/committees/relax-ng/
2203              compact-20021121.html>.
2204
2205   [XHTML2]   Birbeck, M., Gylling, M., McCarron, S., Pemberton, S.,
2206              Axelsson, J., Dubinko, M., Epperson, B., Ishikawa, M., and
2207              A. Navarro, "XHTML(tm) 2.0", W3C Group Note NOTE-xhtml2-
2208              20101216, December 2010,
2209              <http://www.w3.org/TR/2010/NOTE-xhtml2-20101216>.
2210
2211              Latest version available at <http://www.w3.org/TR/xhtml2>.
2212
2213   [XML]      Bray, T., Paoli, J., Sperberg-McQueen, M., Maler, E., and
2214              F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth
2215              Edition)", W3C Recommendation REC-xml-20081126,
2216              November 2008,
2217              <http://www.w3.org/TR/2008/REC-xml-20081126/>.
2218
2219              Latest version available at <http://www.w3.org/TR/xml>.
2220
2221   [XML2RFCV2]
2222              Reschke, J., "The 'XML2RFC' version 2 Vocabulary",
2223              draft-reschke-xml2rfc-13 (work in progress), October 2014.
2224
2225   [XML2RFCV3]
2226              Hoffman, P., "The 'XML2RFC' version 3 Vocabulary",
2227              draft-hoffman-xml2rfc-17 (work in progress), April 2015.
2228
2229   [XSL-FO]   Berglund, A., "Extensible Stylesheet Language (XSL)
2230              Version 1.1", W3C Recommendation REC-xsl11-20061205,
2231              December 2006,
2232              <http://www.w3.org/TR/2006/REC-xsl11-20061205/>.
2233
2234              Latest version available at <http://www.w3.org/TR/xsl11/>.
2235
2236
2237
2238
2239Reschke                                                        [Page 40]
2240
2241Documentation             RFC2629 through XSLT                  May 2015
2242
2243
2244   [1]  <http://www.exslt.org/exsl/functions/node-set/index.html>
2245
2246   [2]  <http://www.exslt.org/date/functions/date-time/>
2247
2248   [3]  <http://www.microsoft.com/downloads/
2249        details.aspx?FamilyID=2FB55371-C94E-4373-B0E9-DB4816552E41>
2250
2251   [4]  <https://addons.mozilla.org/de/firefox/addon/722>
2252
2253   [5]  <https://bugzilla.mozilla.org/show_bug.cgi?id=22942>
2254
2255   [6]  <http://bugzilla.mozilla.org/show_bug.cgi?id=193678>
2256
2257   [7]  <https://addons.mozilla.org/firefox/2933/>
2258
2259   [8]  <http://www.thaiopensource.com/relaxng/jing.html>
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295Reschke                                                        [Page 41]
2296
2297Documentation             RFC2629 through XSLT                  May 2015
2298
2299
2300Appendix A.  RELAX NG Compact Schema
2301
2302   The RelaxNG schema ([RNC]) below can be used to validate input
2303   documents (for instance, with Jing [8]).
2304
2305   _Note that this is work in progress, and doesn't yet cover all
2306   extensions completely._
2307
2308   # WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.
2309
2310   # Define our extension namespace
2311   namespace x = "http://purl.org/net/xml2rfc/ext"
2312
2313   # Define GRDDL namespace
2314   namespace grddl = "http://www.w3.org/2003/g/data-view#"
2315
2316   # Define RDF namespace
2317   namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
2318
2319   # Include rfc2629bis RNC grammar
2320   include "rfc2629.rnc" {
2321
2322     # Redefine <annotation> to allow more markup
2323     annotation =
2324       element annotation {
2325         attlist.annotation,
2326         (TEXT
2327           | xref
2328           | eref
2329           | iref
2330           | cref
2331           | spanx
2332           | v3_tt
2333           )*
2334       }
2335
2336     # Redefine <artwork> to allow markup
2337     artwork =
2338       element artwork {
2339         attlist.artwork,
2340         (TEXT
2341           | eref
2342           | iref
2343           | spanx
2344           | xref
2345           | v3_em
2346           | v3_strong
2347           | x_abnf-char-sequence
2348
2349
2350
2351Reschke                                                        [Page 42]
2352
2353Documentation             RFC2629 through XSLT                  May 2015
2354
2355
2356           | x_bb
2357           | x_bc
2358           | x_bcp14
2359           | x_bt
2360           | x_highlight
2361           | x_length-of
2362           | x_parse-xml
2363           | x_ref
2364           | x_span
2365           | x_x)*
2366       }
2367
2368     # Redefine <back> to allow boilerplate
2369     back =
2370       element back {
2371         attlist.back,
2372         v3_displayreference*,
2373         references*,
2374         section*,
2375         x_boilerplate?
2376       }
2377
2378     # Redefine <c> to allow our extension elements
2379     c =
2380       element c {
2381         attlist.c,
2382         (TEXT
2383           | xref
2384           | eref
2385           | iref
2386           | cref
2387           | spanx
2388           | v3_em
2389           | v3_strong
2390           | v3_tt
2391           | x_ref)*
2392       }
2393
2394     # Redefine <cref> to allow more child elements
2395     cref =
2396       element cref {
2397         attlist.cref,
2398         (TEXT
2399           | eref
2400           | xref)*
2401       }
2402
2403     # Redefine <front> to allow boilerplate
2404
2405
2406
2407Reschke                                                        [Page 43]
2408
2409Documentation             RFC2629 through XSLT                  May 2015
2410
2411
2412     front =
2413       element front {
2414         attlist.front,
2415         title,
2416         author+,
2417         date,
2418         area*,
2419         workgroup*,
2420         keyword*,
2421         x_boilerplate?,
2422         abstract?,
2423         note*
2424       }
2425
2426     # Redefine <list> element to allow <x:lt> child elements
2427     \list =
2428       element list {
2429         attlist.list,
2430         (t+ | x_lt+)
2431       }
2432
2433     # Redefine <preamble> to allow our extension elements
2434     preamble =
2435       element preamble {
2436         attlist.preamble,
2437         (TEXT
2438           | xref
2439           | eref
2440           | iref
2441           | cref
2442           | spanx
2443           | v3_em
2444           | v3_strong
2445           | v3_tt
2446           | x_anchor-alias
2447           | x_bcp14)*
2448     }
2449
2450     # Redefine <postal> to allow <postalLine>
2451     postal =
2452       element postal {
2453         (
2454           (city
2455             | code
2456             | country
2457             | region
2458             | street)*
2459           | v3_postalLine+)
2460
2461
2462
2463Reschke                                                        [Page 44]
2464
2465Documentation             RFC2629 through XSLT                  May 2015
2466
2467
2468       }
2469
2470     # Redefine <postamble> to allow our extension elements
2471     postamble =
2472       element postamble {
2473         attlist.postamble,
2474         (TEXT
2475           | xref
2476           | eref
2477           | iref
2478           | cref
2479           | spanx
2480           | v3_em
2481           | v3_strong
2482           | v3_tt
2483           | x_bcp14)*
2484       }
2485
2486     # Redefine <reference> to allow our extension elements
2487     reference =
2488       element reference {
2489         attlist.reference,
2490         front,
2491         seriesInfo*,
2492         x_prose?,
2493         v3_refcontent?,
2494         format*,
2495         annotation*,
2496         x_source?
2497       }
2498
2499     # Redefine <references> to allow our <name>
2500     references =
2501       element references {
2502         attribute title { text }?,
2503         v3_name?,
2504         reference+
2505       }
2506
2507     # Redefine <rfc> to allow our extension elements
2508     rfc =
2509       element rfc {
2510         attlist.rfc,
2511         x_link*,
2512         x_feedback?,
2513         x_assign-section-number*,
2514         front,
2515         middle,
2516
2517
2518
2519Reschke                                                        [Page 45]
2520
2521Documentation             RFC2629 through XSLT                  May 2015
2522
2523
2524         back?
2525       }
2526
2527     # Redefine <section> to allow our extension elements
2528     section =
2529       element section {
2530         attlist.x_section,
2531         (t
2532          | figure
2533          | texttable
2534          | iref
2535          | section
2536          | v3_aside
2537          | v3_blockquote
2538          | v3_dl
2539          | v3_name
2540          | v3_ol
2541          | v3_ul
2542          | x_anchor-alias
2543          | x_blockquote
2544          | x_include-author
2545          | x_note
2546          | rdf_Description)*
2547       }
2548
2549     # Redefine <spanx> to allow some markup
2550     spanx =
2551       element spanx {
2552         attlist.spanx,
2553         (TEXT
2554           | iref
2555           | xref
2556           | x_ref)*
2557       }
2558
2559     # Redefine <t> to allow our extension elements
2560     t =
2561       element t {
2562         attlist.t,
2563         (TEXT
2564          | \list
2565          | figure
2566          | xref
2567          | eref
2568          | iref
2569          | cref
2570          | spanx
2571          | vspace
2572
2573
2574
2575Reschke                                                        [Page 46]
2576
2577Documentation             RFC2629 through XSLT                  May 2015
2578
2579
2580          | v3_bcp14
2581          | v3_em
2582          | v3_strong
2583          | v3_sub
2584          | v3_sup
2585          | v3_tt
2586          | x_abnf-char-sequence
2587          | x_anchor-alias
2588          | x_bcp14
2589          | x_dfn
2590          | x_h
2591          | x_q
2592          | x_ref
2593          | x_span
2594          | x_sup)*
2595       }
2596   }
2597
2598   # Allow x:indent-with attribute on <artwork>
2599   attlist.artwork &=
2600     attribute x:indent-with { ATEXT }?,
2601     attribute x:is-code-component { "no" | "yes" }?
2602
2603   # Allow anchor and x:annotation attributes on <author>
2604   attlist.author &=
2605     attribute anchor { xsd:ID }?,
2606     attribute x:annotation { ATEXT }?
2607
2608   # Extend attribute set for <c> (see Section 11.24)
2609   attlist.c &=
2610     attribute anchor { xsd:ID }?
2611
2612   # Extend attribute set for <iref> (see Section 11.24)
2613   attlist.iref &=
2614     attribute x:for-anchor { ATEXT }?
2615
2616   # Extend attribute set for <list> (see Section 11.25)
2617   attlist.list &=
2618     attribute x:indent { ATEXT }?
2619
2620   # Extend attribute set for <preamble>
2621   attlist.preamble &=
2622     attribute anchor { xsd:ID }?
2623
2624   # Extend attribute set for <reference>
2625   attlist.reference &=
2626     attribute quoteTitle { "false" | "true" }? # see Section 12.14.1
2627
2628
2629
2630
2631Reschke                                                        [Page 47]
2632
2633Documentation             RFC2629 through XSLT                  May 2015
2634
2635
2636   # Extend attribute set for <rfc>
2637   attlist.rfc &=
2638     attribute grddl:transformation { ATEXT }?,
2639     attribute x:maturity-level { "proposed" | "draft" | "internet" }?
2640
2641   # Extend/Relax attribute set for <section> (see Section 11.27)
2642   attlist.x_section &=
2643     attribute anchor { xsd:ID }?,
2644     attribute title { ATEXT }?,
2645     attribute toc { "include" | "exclude" | "default" }?,
2646     attribute numbered { "false" | "true" }?, # see Section 12.15.1
2647     attribute removeInRFC { "false" | "true" }?, # see Section 12.15.2
2648     attribute x:fixed-section-number { ATEXT }?
2649
2650   # Allow anchor attribute on <spanx>
2651   attlist.spanx &=
2652     attribute anchor { xsd:ID }?
2653
2654   # Allow x:quotes attribute on <title>
2655   attlist.title &=
2656     attribute x:quotes { "true" | "false" }?
2657
2658   # Allow annotation attribute on <uri>
2659   attlist.uri &=
2660     attribute x:annotation { ATEXT }?
2661
2662   # Extend attribute set for <xref> (see Section 11.28)
2663   attlist.xref &=
2664     attribute x:fmt  { "()" | "," | "of" | "number" | "sec" |
2665                        "none" }?,
2666     attribute x:rel  { ATEXT }?,
2667     attribute x:sec  { ATEXT }?,
2668     attribute relative { ATEXT }?,      # Section 12.21.1
2669     attribute section { ATEXT }?,       # Section 12.21.2
2670     attribute sectionFormat { ATEXT }?  # Section 12.21.3
2671
2672   # Side Note (see Section 12.1)
2673   v3_aside =
2674     element aside {
2675       attribute anchor { xsd:ID }?,
2676       t+
2677     }
2678
2679   # BCP14/RFC2119 keywords (see Section 12.2)
2680   v3_bcp14 =
2681     element bcp14 {
2682       "MAY"
2683       | "MUST"
2684
2685
2686
2687Reschke                                                        [Page 48]
2688
2689Documentation             RFC2629 through XSLT                  May 2015
2690
2691
2692       | "MUST NOT"
2693       | "NOT RECOMMENDED"
2694       | "OPTIONAL"
2695       | "RECOMMENDED"
2696       | "REQUIRED"
2697       | "SHALL"
2698       | "SHALL NOT"
2699       | "SHOULD"
2700       | "SHOULD NOT"
2701     }
2702
2703   # Blockquote (see Section 12.3)
2704   v3_blockquote =
2705     element blockquote {
2706       attribute anchor { xsd:ID }?,
2707       attribute cite { URI }?,
2708       t+
2709     }
2710
2711   # Mapping of reference names to display names (see Section 12.4)
2712   v3_displayreference =
2713     element displayreference {
2714       attribute target { xsd:IDREF },
2715       attribute to { ATEXT }
2716     }
2717
2718   # Definition List Description Element (see Section 12.5)
2719   v3_dd =
2720     element dd {
2721       (t
2722         | v3_dl)+ |
2723       (TEXT
2724         | cref
2725         | eref
2726         | iref
2727         | xref
2728         | v3_em
2729         | v3_tt
2730         | v3_strong)*
2731     }
2732
2733   # Definition List (see Section 12.6)
2734   v3_dl =
2735     element dl {
2736          attribute spacing { "normal" | "compact" }?,
2737          attribute hanging { "false" | "true" }?,
2738          (v3_dt, v3_dd)+
2739     }
2740
2741
2742
2743Reschke                                                        [Page 49]
2744
2745Documentation             RFC2629 through XSLT                  May 2015
2746
2747
2748   # Definition List Description Term (see Section 12.7)
2749   v3_dt =
2750     element dt {
2751       attribute anchor { xsd:ID }?,
2752       (TEXT
2753         | cref
2754         | eref
2755         | iref
2756         | xref
2757         | v3_em
2758         | v3_tt
2759         | v3_strong)*
2760     }
2761
2762   # Emphasized Text (see Section 12.8)
2763   v3_em =
2764     element em {
2765       (TEXT
2766         | xref
2767         | v3_strong
2768         | x_ref)*
2769     }
2770
2771   # Definition List (see Section 12.9)
2772   v3_li =
2773     element li {
2774       attribute anchor { xsd:ID }?,
2775       ((v3_dl | v3_ol  | t | v3_ul )+
2776         |
2777       (TEXT
2778         | cref
2779         | eref
2780         | iref
2781         | xref
2782         | v3_em
2783         | v3_strong
2784         | v3_sub
2785         | v3_sup
2786         | v3_tt
2787         | x_ref)*
2788       )
2789     }
2790
2791   # Section/Figure/Table Name (see Section 12.10)
2792   v3_name =
2793     element name {
2794       (TEXT
2795         | v3_tt
2796
2797
2798
2799Reschke                                                        [Page 50]
2800
2801Documentation             RFC2629 through XSLT                  May 2015
2802
2803
2804         | xref)*
2805     }
2806
2807   # Ordered List (see Section 12.11)
2808   v3_ol =
2809     element ol {
2810       attribute anchor { xsd:ID }?,
2811       attribute start { TEXT }?,
2812       v3_li+
2813     }
2814
2815   # Line in postal address (see Section 12.12)
2816   v3_postalLine =
2817     element postalLine {
2818       TEXT
2819     }
2820
2821   # additional content for references (see Section 12.13)
2822   v3_refcontent =
2823     element refcontent {
2824       (TEXT
2825         | v3_em)*
2826     }
2827
2828   # Emphasized Text (see Section 12.16)
2829   v3_strong =
2830     element strong {
2831       (TEXT
2832         | xref
2833         | v3_em
2834         | x_ref)*
2835     }
2836
2837   # Subscript (see Section 12.17)
2838   v3_sub =
2839     element sub {
2840       (TEXT)*
2841     }
2842
2843   # Superscript (see Section 12.18)
2844   v3_sup =
2845     element sup {
2846       (TEXT)*
2847     }
2848
2849   # Monospaced Text (see Section 12.19)
2850   v3_tt =
2851     element tt {
2852
2853
2854
2855Reschke                                                        [Page 51]
2856
2857Documentation             RFC2629 through XSLT                  May 2015
2858
2859
2860       (TEXT
2861         | xref
2862         | v3_em
2863         | x_ref)*
2864     }
2865
2866   # Unordered List (see Section 12.20)
2867   v3_ul =
2868     element ul {
2869       attribute anchor { xsd:ID }?,
2870       attribute empty { TEXT }?,
2871       v3_li+
2872     }
2873
2874   # Conversion to ABNF char sequence (see Section 11.1)
2875   x_abnf-char-sequence =
2876     element x:abnf-char-sequence {
2877       TEXT
2878     }
2879
2880   # Aliasing of anchors (see Section 11.2)
2881   x_anchor-alias =
2882     element x:anchor-alias {
2883       attribute value { TEXT },
2884       empty
2885     }
2886
2887   # Supply feedback links (see Section 11.10)
2888   x_feedback =
2889     element x:feedback {
2890       attribute template { TEXT },
2891       empty
2892     }
2893
2894   # Including Author information
2895   # (experimental)
2896   x_include-author =
2897     element x:include-author {
2898       attribute target { xsd:IDREF }
2899     }
2900
2901   # Setting section numbers for internally generated sections
2902   # (experimental)
2903   x_assign-section-number =
2904     element x:assign-section-number {
2905       attribute builtin-target { "authors" },
2906       attribute number { TEXT },
2907       empty
2908
2909
2910
2911Reschke                                                        [Page 52]
2912
2913Documentation             RFC2629 through XSLT                  May 2015
2914
2915
2916     }
2917
2918   # Bottom line of box drawing (see Section 11.4)
2919   x_bb =
2920     element x:bb {
2921       (TEXT
2922         | iref
2923         | xref
2924         | x_bb
2925         | x_bc
2926         | x_bt
2927         | x_ref)*
2928     }
2929
2930   # Center line of box drawing (see Section 11.5)
2931   x_bc =
2932     element x:bc {
2933       (TEXT
2934         | iref
2935         | spanx
2936         | xref
2937         | x_bb
2938         | x_bc
2939         | x_bt
2940         | x_ref)*
2941     }
2942
2943   # BCP14/RFC2119 keywords (see Section 11.3)
2944   x_bcp14 =
2945     element x:bcp14 {
2946       "MAY"
2947       | "MUST"
2948       | "MUST NOT"
2949       | "NOT RECOMMENDED"
2950       | "OPTIONAL"
2951       | "RECOMMENDED"
2952       | "REQUIRED"
2953       | "SHALL"
2954       | "SHALL NOT"
2955       | "SHOULD"
2956       | "SHOULD NOT"
2957     }
2958
2959   # Blockquote (see Section 11.6)
2960   x_blockquote =
2961     element x:blockquote {
2962       attribute anchor { xsd:ID }?,
2963       attribute cite { URI }?,
2964
2965
2966
2967Reschke                                                        [Page 53]
2968
2969Documentation             RFC2629 through XSLT                  May 2015
2970
2971
2972       t+
2973     }
2974
2975   # Boilerplate (see Section 11.6)
2976   x_boilerplate =
2977     element x:boilerplate {
2978       section+
2979     }
2980
2981   # Top line of box drawing (see Section 11.8)
2982   x_bt =
2983     element x:bt {
2984       (TEXT
2985         | iref
2986         | xref
2987         | x_bb
2988         | x_bc
2989         | x_bt
2990         | x_ref)*
2991     }
2992
2993   # Definition (see Section 11.9)
2994   x_dfn =
2995     element x:dfn {
2996       attribute anchor { xsd:ID }?,
2997       (TEXT
2998         | iref)*
2999     }
3000
3001   # Heading (see Section 11.11)
3002   x_h =
3003     element x:h {
3004       TEXT
3005     }
3006
3007   # Heading (see Section 11.12)
3008   x_highlight =
3009     element x:highlight {
3010       TEXT
3011     }
3012
3013   # Length Measurement (see Section 11.13)
3014   x_length-of =
3015     element x:length-of {
3016       attribute indented { NUMBER }?,
3017       attribute target { xsd:IDREF },
3018       empty
3019     }
3020
3021
3022
3023Reschke                                                        [Page 54]
3024
3025Documentation             RFC2629 through XSLT                  May 2015
3026
3027
3028   # Link (see Section 11.14)
3029   x_link =
3030     element x:link {
3031       attribute basename { URI }?,
3032       attribute href { URI }?,
3033       attribute title { TEXT }?,
3034       attribute rel { TEXT },
3035       empty
3036     }
3037
3038   # Extended list item (see Section 11.15)
3039   x_lt =
3040     element x:lt {
3041       attribute anchor { xsd:ID }?,
3042       attribute hangText { TEXT }?,
3043       t+
3044     }
3045
3046   # Note (see Section 11.16)
3047   x_note =
3048     element x:note {
3049       attribute anchor { xsd:ID }?,
3050       t+
3051     }
3052
3053   # Signal XML content (see Section 11.17)
3054   x_parse-xml =
3055     element x:parse-xml {
3056       (TEXT
3057         | xref)*
3058     }
3059
3060   # Inline prose in a reference (see Section 11.18)
3061   x_prose =
3062     element x:prose {
3063       TEXT
3064     }
3065
3066   # Inline quote (see Section 11.19)
3067   x_q =
3068     element x:q {
3069       TEXT
3070     }
3071
3072   # Anchor reference (see Section 11.20)
3073   x_ref =
3074     element x:ref {
3075       attribute anchor { xsd:ID }?,
3076
3077
3078
3079Reschke                                                        [Page 55]
3080
3081Documentation             RFC2629 through XSLT                  May 2015
3082
3083
3084       TEXT
3085     }
3086
3087   # source information (see Section 11.21)
3088   x_source =
3089     element x:source {
3090       attribute basename { ATEXT }?,
3091       attribute href { URI },
3092       empty
3093     }
3094
3095   # superscript (see Section 11.22)
3096   x_sup =
3097     element x:sup {
3098       TEXT
3099     }
3100
3101   # Inline Span
3102   x_span =
3103     element x:span {
3104       attribute anchor { xsd:ID }?,
3105       (TEXT
3106         | x_parse-xml)*
3107     }
3108
3109   # Nop (for alignment in source)
3110   x_x =
3111     element x:x {
3112       empty
3113     }
3114
3115   # Embed RDF statements
3116   rdf_Description =
3117     element rdf:Description {
3118       rdf_content
3119     }
3120
3121   rdf_content =
3122     ( TEXT | element * { rdf_content })*
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135Reschke                                                        [Page 56]
3136
3137Documentation             RFC2629 through XSLT                  May 2015
3138
3139
3140Appendix B.  Implementation Notes
3141
3142B.1.  Recognized type attributes for <artwork> element
3143
3144   Specific values in the <artwork> element's "type" attribute are
3145   recognized and cause a different visual style to be used:
3146
3147   +-------------------------------------+-----------------------------+
3148   | Type                                | Comment                     |
3149   +-------------------------------------+-----------------------------+
3150   | abnf                                | ABNF as per [RFC5234]       |
3151   |                                     |                             |
3152   | abnf2045                            | ABNF as per [RFC2045]       |
3153   |                                     |                             |
3154   | abnf2616                            | ABNF as per [RFC2616],      |
3155   |                                     | Section 2.1                 |
3156   |                                     |                             |
3157   | application/relax-ng-compact-syntax | Relax NG Compact Syntax as  |
3158   |                                     | per [RNC]                   |
3159   |                                     |                             |
3160   | application/xml-dtd                 | XML DTD                     |
3161   |                                     |                             |
3162   | code                                | monospaced text (with       |
3163   |                                     | outline)                    |
3164   |                                     |                             |
3165   | drawing                             | drawing (with outline)      |
3166   |                                     |                             |
3167   | example                             | monospaced text (with       |
3168   |                                     | outline)                    |
3169   |                                     |                             |
3170   | inline                              | monospaced text (no         |
3171   |                                     | outline)                    |
3172   |                                     |                             |
3173   | message/http; msgtype="request"     | HTTP message, as per        |
3174   |                                     | [RFC2616], Section 19.1     |
3175   |                                     |                             |
3176   | message/http; msgtype="response"    | HTTP message, as per        |
3177   |                                     | [RFC2616], Section 19.1     |
3178   +-------------------------------------+-----------------------------+
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191Reschke                                                        [Page 57]
3192
3193Documentation             RFC2629 through XSLT                  May 2015
3194
3195
3196Appendix C.  Examples
3197
3198C.1.  Using the 'Internal Subset'
3199
3200   The prolog of the XML document can both be used to refer to an
3201   external DTD, and also to define internal entities (Section 2.8 of
3202   [XML]):
3203
3204   <?xml version="1.0"?>
3205   <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
3206
3207   <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
3208
3209     <!-- use "&MAY;" for a BCP 14 "MAY", see Section 11.3 -->
3210     <!ENTITY MAY
3211     "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>MAY</bcp14>">
3212
3213     <!-- re-declare "&nbsp;" as code point 160 (non-breaking space) -->
3214     <!-- you may need this for UAs that do not read external DTDs -->
3215     <!ENTITY nbsp
3216     "&#160;">
3217
3218     <!-- allow later RFC2616 reference using "&rfc2616;" -->
3219     <!-- the data will be fetched from xml.resource.org -->
3220     <!ENTITY rfc2616 PUBLIC
3221     "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml">
3222
3223     <!-- allow a custom reference using "&mydraft;" -->
3224     <!-- the data will be fetched from the same location as the
3225          source file -->
3226     <!ENTITY mydraft PUBLIC "reference.mydraft.xml">
3227   ]>
3228
3229   Note: including entities from a remote site will not work in Firefox,
3230   see <https://bugzilla.mozilla.org/show_bug.cgi?id=22942>.
3231
3232C.2.  Customization
3233
3234   The XSLT code can be customized by creating a custom XSLT file that
3235   uses <xsl:import> to include the original code, and just overrides
3236   particular rules.
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247Reschke                                                        [Page 58]
3248
3249Documentation             RFC2629 through XSLT                  May 2015
3250
3251
3252   For instance, the code below overrides several attributes in
3253   "rfc2629toFO.xslt", changing the color, spacing and font family for
3254   headers.
3255
3256   <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3257                  version="1.0">
3258
3259     <xsl:import href="rfc2629toFO.xslt"/>
3260
3261     <xsl:attribute-set name="h1">
3262       <xsl:attribute name="color">darkblue</xsl:attribute>
3263       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
3264       <xsl:attribute name="space-before">24pt</xsl:attribute>
3265     </xsl:attribute-set>
3266
3267     <xsl:attribute-set name="h2">
3268       <xsl:attribute name="color">darkblue</xsl:attribute>
3269       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
3270       <xsl:attribute name="space-before">18pt</xsl:attribute>
3271       <xsl:attribute name="space-after">3pt</xsl:attribute>
3272     </xsl:attribute-set>
3273
3274     <xsl:attribute-set name="h3">
3275       <xsl:attribute name="color">darkblue</xsl:attribute>
3276       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
3277       <xsl:attribute name="space-before">16pt</xsl:attribute>
3278       <xsl:attribute name="space-after">2pt</xsl:attribute>
3279     </xsl:attribute-set>
3280
3281   </xsl:transform>
3282
3283      Note: the name for the attribute sets may change in the future as
3284      more working is done with respect to customizability.  In any
3285      case, overriding the settings in a separate file will be easier to
3286      maintain.  Please contact the author if you find yourself trying
3287      to override style definitions that currently do not use attribute
3288      sets.
3289
3290      Note: the CSS style information used in "rfc2629.xslt" can be
3291      overriden in a similar (but less granular) way: just overwrite the
3292      template called "insertCss".  As for XSL-FO, the class names may
3293      change in future.
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303Reschke                                                        [Page 59]
3304
3305Documentation             RFC2629 through XSLT                  May 2015
3306
3307
3308Appendix D.  Producing the IETF 'Boilerplate'
3309
3310   Various attributes of the "<rfc>" element plus some child elements of
3311   "<front>" affect the automatically generated parts of the front page,
3312   such as the tabular information at the beginning, the "Status Of This
3313   Memo", and the "Copyright Notice".
3314
3315   When submitting an Internet Draft, this "boilerplate" is checked by
3316   "Idnits" (<http://tools.ietf.org/tools/idnits/>) for compliance with
3317   the current Intellectual Property rules, and thus it is important to
3318   set the correct values.
3319
3320   Furthermore, the RFC Production Center uses RFC2629-based tools to
3321   generate the final RFC text, so the more accurate the supplied
3322   information is, the less additional work is left, and the risk for
3323   errors in producing the final (and immutable!) document is reduced.
3324
3325      Note: this only applies to the case when IETF documents are
3326      produced.  The "private" processing instruction allows to switch
3327      off most of the autogeneration logic.
3328
3329D.1.  The /rfc/@ipr Attribute
3330
3331   As of the time of this writing, this attribute value can take a long
3332   list of values.  As frequently, this is not the result of a grand
3333   plan, but simply for historic reasons.  Of these values, only a few
3334   are currently in use; all others are supported by the various tools
3335   for backwards compatibility with old source files.
3336
3337      Note: some variations of the boilerplate are selected based on the
3338      document's date; therefore it is important to specify the "year",
3339      "month" and "day" attributes of the "<date>" element when
3340      archiving the XML source of an Internet Draft on the day of
3341      submission.
3342
3343   _Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION.  IF YOU
3344   NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER._ For further information,
3345   refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>.
3346
3347   Finally, for the current "Status Of This Memo" text, the
3348   "submissionType" attribute determines whether a statement about "Code
3349   Components" is inserted (this is the case for the value "IETF", which
3350   also happens to be the default).  Other values, such as
3351   "independent", suppress this part of the text.
3352
3353
3354
3355
3356
3357
3358
3359Reschke                                                        [Page 60]
3360
3361Documentation             RFC2629 through XSLT                  May 2015
3362
3363
3364D.1.1.  Current Values: '*trust200902'
3365
3366   The name for these values refers to the "TLP" ("IETF TRUST Legal
3367   Provisions Relating to IETF Documents"), on effect February 15, 2009
3368   (see <http://trustee.ietf.org/license-info/archive/
3369   IETF-Trust-License-Policy-20090215.pdf>).  Updates to this document
3370   were published on September 12, 2009 (TLP 3.0, <http://
3371   trustee.ietf.org/license-info/archive/
3372   IETF-Trust-License-Policy-20090912.pdf>) and on December 28, 2009
3373   (TLP 4.0, <http://trustee.ietf.org/license-info/archive/
3374   IETF-Trust-License-Policy-20091228.pdf>), modifying the license for
3375   code components.  The actual text is located in Section 6 ("Text To
3376   Be Included in IETF Documents") of these documents.
3377
3378   The tools will automatically produce the "right" text depending on
3379   the document's date information (see above):
3380
3381   +----+----------------------------------------------------+---------+
3382   | TL | URI                                                | startin |
3383   | P  |                                                    | g with  |
3384   |    |                                                    | publica |
3385   |    |                                                    | tion    |
3386   |    |                                                    | date    |
3387   +----+----------------------------------------------------+---------+
3388   | 3. | <http://trustee.ietf.org/license-info/archive/IETF | 2009-11 |
3389   | 0  | -Trust-License-Policy-20090912.pdf>                | -01     |
3390   |    |                                                    |         |
3391   | 4. | <http://trustee.ietf.org/license-info/archive/IETF | 2010-04 |
3392   | 0  | -Trust-License-Policy-20091228.pdf>                | -01     |
3393   +----+----------------------------------------------------+---------+
3394
3395D.1.1.1.  trust200902
3396
3397   This should be the default, unless one of the more specific
3398   '*trust200902' values is a better fit.  It produces the text in
3399   Sections 6.a and 6.b of the TLP.
3400
3401D.1.1.2.  noModificationTrust200902
3402
3403   This produces the additional text from Section 6.c.i of the TLP:
3404
3405      This document may not be modified, and derivative works of it may
3406      not be created, except to format it for publication as an RFC or
3407      to translate it into languages other than English.
3408
3409      Note: this clause is incompatible with RFCs to be published on the
3410      Standards Track.
3411
3412
3413
3414
3415Reschke                                                        [Page 61]
3416
3417Documentation             RFC2629 through XSLT                  May 2015
3418
3419
3420D.1.1.3.  noDerivativesTrust200902
3421
3422   This produces the additional text from Section 6.c.ii of the TLP:
3423
3424      This document may not be modified, and derivative works of it may
3425      not be created, and it may not be published except as an Internet-
3426      Draft.
3427
3428      Note: this clause is incompatible with RFCs.
3429
3430D.1.1.4.  pre5378Trust200902
3431
3432   This produces the additional text from Section 6.c.iii of the TLP,
3433   frequently called the "pre-5378 escape clause":
3434
3435      This document may contain material from IETF Documents or IETF
3436      Contributions published or made publicly available before November
3437      10, 2008.  The person(s) controlling the copyright in some of this
3438      material may not have granted the IETF Trust the right to allow
3439      modifications of such material outside the IETF Standards Process.
3440      Without obtaining an adequate license from the person(s)
3441      controlling the copyright in such materials, this document may not
3442      be modified outside the IETF Standards Process, and derivative
3443      works of it may not be created outside the IETF Standards Process,
3444      except to format it for publication as an RFC or to translate it
3445      into languages other than English.
3446
3447   See Section 4 of
3448   <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further
3449   information about when to use this value.
3450
3451      Note: this text appears under "Copyright Notice", unless the
3452      document was published before November 2009, in which case it
3453      appears under "Status Of This Memo".
3454
3455D.1.2.  Historic Values
3456
3457D.1.2.1.  Historic Values: '*trust200811'
3458
3459   The attribute values "trust200811", "noModificationTrust200811" and
3460   "noDerivativesTrust200811" are similar to their "trust200902"
3461   counterparts, except that they use text specified in <http://
3462   trustee.ietf.org/license-info/archive/
3463   IETF-Trust-License-Policy_11-10-08.pdf>.
3464
3465
3466
3467
3468
3469
3470
3471Reschke                                                        [Page 62]
3472
3473Documentation             RFC2629 through XSLT                  May 2015
3474
3475
3476D.1.2.2.  Historic Values: '*3978'
3477
3478   The attribute values "full3978", "noModification3978" and
3479   "noDerivatives3978" are similar to their counterparts above, except
3480   that they use text specified in RFC 3978 (March 2005).
3481
3482D.1.2.3.  Historic Values: '*3667'
3483
3484   The attribute values "full3667", "noModification3667" and
3485   "noDerivatives3667" are similar to their counterparts above, except
3486   that they use text specified in RFC 3667 (February 2004).
3487
3488D.1.2.4.  Historic Values: '*2026'
3489
3490   The attribute values "full2026" and "noDerivativeWorks2026" are
3491   similar to their counterparts above, except that they use text
3492   specified in RFC 2026 (October 1996).
3493
3494   The special value "none" was also used back then, and denied the IETF
3495   any rights beyond publication as Internet Draft.
3496
3497D.2.  The /rfc/@category Attribute
3498
3499   For RFCs, the "category" determines the "maturity level" (see Section
3500   4 of [RFC2026]).  The allowed values are "std" for "Standards Track",
3501   "bcp" for "BCP", "info" for "Informational", "exp" for
3502   "Experimental", and "historic" for - surprise - "Historic".
3503
3504   For Internet Drafts, the category attribute is not needed, but _will_
3505   appear on the front page ("Intended Status").  Supplying this
3506   information can be useful, because reviewers may want to know.
3507
3508      Note: the Standards Track consists of "Proposed Standard", "Draft
3509      Standards", and "Internet Standard".  These do not appear in the
3510      boilerplate, thus the category attribute doesn't handle them.
3511      However, this information can be useful for validity checkers, and
3512      thus "rfc2629.xslt" supports an extension attribute for that
3513      purpose (see Section 11.26 for details).
3514
3515D.3.  The /rfc/@submissionType Attribute
3516
3517   The RFC Editor publishes documents from different "document streams",
3518   of which the "IETF stream" of course is the most prominent one.
3519   Other streams are the "independent stream" (used for things like
3520   administrative information or April 1st RFCs), the "IAB stream"
3521   (Internet Architecture Board) and the "IRTF stream" (Internet
3522   Research Task Force).
3523
3524
3525
3526
3527Reschke                                                        [Page 63]
3528
3529Documentation             RFC2629 through XSLT                  May 2015
3530
3531
3532   Not surprisingly, the values for the attribute are "IETF" (the
3533   default value), "independent", "IAB", and "IRTF".
3534
3535   Historically, this did not affect the final appearance of RFCs,
3536   except for subtle differences in Copyright notices.  Nowadays (as of
3537   [RFC5741]), the stream name appears in the first line of the front
3538   page, and it also affects the text in the "Status Of This Memo"
3539   section.
3540
3541   For current documents, setting "submissionType" attribute will have
3542   the following effect:
3543
3544   o  For RFCs, the stream name appears in the upper left corner of the
3545      first page (in Internet Drafts, this is either "Network Working
3546      Group", or the value of the "<workgroup>" element).
3547
3548   o  For RFCs, if affects the whole "Status Of This Memo" section (see
3549      Section 3.2.2 of [RFC5741]).
3550
3551   o  For all RFCs and Internet Drafts, it determines whether the
3552      "Copyright Notice" mentions the Copyright on Code Components (see
3553      TLP, Section "Text To Be Included in IETF Documents").
3554
3555D.4.  The /rfc/@consensus Attribute
3556
3557   For some of the publication streams (see Appendix D.3), the "Status
3558   Of This Memo" section depends on whether there was a consensus to
3559   publish (again, see Section 3.2.2 of [RFC5741]).
3560
3561   The "consensus" attribute ("yes"/"no", defaulting to "yes") can be
3562   used to supply this information.  The effect for the various streams
3563   is:
3564
3565   o  "independent" and "IAB": none.
3566
3567   o  "IETF": mention that there was an IETF consensus.
3568
3569   o  "IRTF": mention that there was a research group consensus (where
3570      the name of the research group is extracted from the "<workgroup>"
3571      element).
3572
3573D.5.  The /rfc/@number Attribute
3574
3575   For RFCs, this attribute supplies the RFC number.
3576
3577
3578
3579
3580
3581
3582
3583Reschke                                                        [Page 64]
3584
3585Documentation             RFC2629 through XSLT                  May 2015
3586
3587
3588D.6.  The /rfc/@docName Attribute
3589
3590   For Internet Drafts, this specifies the draft name (which appears
3591   below the title).  The file extension is _not_ part of the draft, so
3592   in general it should end with the current draft number ("-", plus two
3593   digits).
3594
3595      Note: "Idnits" (<http://tools.ietf.org/tools/idnits/>) checks the
3596      in-document draft name for consistency with the filename of the
3597      submitted document.
3598
3599D.7.  The /rfc/@obsoletes Attribute
3600
3601   The RFC Editor maintains a database
3602   (<http://www.rfc-editor.org/rfc.html>) of all RFCs, including
3603   information about which one obsoletes which.  Upon publication of an
3604   RFC, this database is updated from the data on the front page.
3605
3606   This attribute takes a list of comma-separated RFC _numbers_.  Do
3607   _not_ put the string "RFC" here.
3608
3609D.8.  The /rfc/@updates Attribute
3610
3611   This is like "obsoletes", but for the "updates" relation.
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639Reschke                                                        [Page 65]
3640
3641Documentation             RFC2629 through XSLT                  May 2015
3642
3643
3644Appendix E.  License
3645
3646   Copyright (c) 2006-2014, Julian Reschke
3647   (julian.reschke@greenbytes.de)
3648
3649   All rights reserved.
3650
3651   Redistribution and use in source and binary forms, with or without
3652   modification, are permitted provided that the following conditions
3653   are met:
3654
3655   o  Redistributions of source code must retain the above copyright
3656      notice, this list of conditions and the following disclaimer.
3657
3658   o  Redistributions in binary form must reproduce the above copyright
3659      notice, this list of conditions and the following disclaimer in
3660      the documentation and/or other materials provided with the
3661      distribution.
3662
3663   o  Neither the name of Julian Reschke nor the names of its
3664      contributors may be used to endorse or promote products derived
3665      from this software without specific prior written permission.
3666
3667   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
3668   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3669   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
3670   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT
3671   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
3672   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
3673   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
3674   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
3675   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3676   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3677   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695Reschke                                                        [Page 66]
3696
3697Documentation             RFC2629 through XSLT                  May 2015
3698
3699
3700Index
3701
3702   A
3703      abnf-char-sequence Extension Element  22, 42
3704      allow-markup-in-artwork PI pseudo-attribute  9
3705      alternate HTML LINK element  16
3706      anchor-alias Extension Element  22, 42
3707      Anchors
3708         rfc.abstract  13
3709         rfc.authors  13
3710         rfc.copyright  13
3711         rfc.copyrightnotice  13
3712         rfc.figure.n  13
3713         rfc.figure.u.n  13
3714         rfc.index  13
3715         rfc.ipr  13
3716         rfc.iref.n  13
3717         rfc.note.n  13
3718         rfc.references  13
3719         rfc.section.n  13
3720         rfc.section.n.p.m  13
3721         rfc.status  13
3722         rfc.toc  13
3723         rfc.xref.name.n  13
3724      AntennaHouse XSL Formatter  20
3725      Apache FOP  20
3726      appendix HTML LINK element  16
3727      aside V3 Extension Element  30, 42
3728      assign-section-number Extension Element  42
3729      author HTML LINK element  16
3730      authors-section PI pseudo-attribute  9
3731
3732   B
3733      background PI pseudo-attribute  7
3734      bb Extension Element  23, 42
3735      bc Extension Element  23, 42
3736      bcp14 Extension Element  22, 42
3737      bcp14 V3 Extension Element  30, 42
3738      blockquote Extension Element  23, 42
3739      blockquote V3 Extension Element  30, 42
3740      boilerplate Extension Element  23, 42
3741      bt Extension Element  24, 42
3742
3743   C
3744      chapter HTML LINK element  16
3745      CHM format  19
3746      comments PI pseudo-attribute  7
3747      compact PI pseudo-attribute  7
3748
3749
3750
3751Reschke                                                        [Page 67]
3752
3753Documentation             RFC2629 through XSLT                  May 2015
3754
3755
3756      contents HTML LINK element  16
3757      copyright HTML LINK element  16
3758      Creator DCMI property  17
3759
3760   D
3761      Date.Issued DCMI property  17
3762      DCMI properties
3763         Creator  17
3764         Date.Issued  17
3765         Description.Abstract  17
3766         Identifier  17
3767         isPartOf  17
3768         Relation.Replaces  17
3769      dd V3 Extension Element  30, 42
3770      Description.Abstract DCMI property  17
3771      dfn Extension Element  24, 42
3772      displayreference V3 Extension Element  30, 42
3773      dl V3 Extension Element  30, 42
3774      dt V3 Extension Element  30, 42
3775      duplex PI pseudo-attribute  9
3776
3777   E
3778      editing PI pseudo-attribute  7
3779      em V3 Extension Element  30, 42
3780      Extension Elements
3781         abnf-char-sequence  22, 42
3782         anchor-alias  22, 42
3783         assign-section-number  42
3784         bb  23, 42
3785         bc  23, 42
3786         bcp14  22, 42
3787         blockquote  23, 42
3788         boilerplate  23, 42
3789         bt  24, 42
3790         dfn  24, 42
3791         feedback  24, 42
3792         h  24, 42
3793         highlight  24, 42
3794         include-author  42
3795         length-of  24, 42
3796         link  25, 42
3797         lt  25, 42
3798         note  26, 42
3799         parse-xml  26, 42
3800         prose  26, 42
3801         q  26, 42
3802         rdf:Description  42
3803         ref  26, 42
3804
3805
3806
3807Reschke                                                        [Page 68]
3808
3809Documentation             RFC2629 through XSLT                  May 2015
3810
3811
3812         source  27, 42
3813         span  42
3814         sup  27, 42
3815         x  42
3816
3817   F
3818      feedback Extension Element  24, 42
3819      Firefox
3820         1.*/2.*  15
3821         3.*  14
3822      footer PI pseudo-attribute  7
3823
3824   G
3825      generator HTML META element  17
3826      Google Chrome  15
3827      Grammar  42
3828
3829   H
3830      h Extension Element  24, 42
3831      header PI pseudo-attribute  7
3832      highlight Extension Element  24, 42
3833      HTML compliance  16
3834      HTML LINK elements
3835         alternate  16
3836         appendix  16
3837         author  16
3838         chapter  16
3839         contents  16
3840         copyright  16
3841         index  16
3842      HTML META elements
3843         generator  17
3844         keywords  17
3845
3846   I
3847      Identifier DCMI property  17
3848      include PI pseudo-attribute  8
3849      include-author Extension Element  42
3850      include-index PI pseudo-attribute  9
3851      include-references-in-index PI pseudo-attribute  9
3852      index HTML LINK element  16
3853      inline PI pseudo-attribute  7
3854      insert-metadata PI pseudo-attribute  9
3855      Internet Explorer 5.5  14
3856      Internet Explorer 6  14
3857      Internet Explorer 7  14
3858      Internet Explorer 8  14
3859      Internet Explorer 9  14
3860
3861
3862
3863Reschke                                                        [Page 69]
3864
3865Documentation             RFC2629 through XSLT                  May 2015
3866
3867
3868      iprnotified PI pseudo-attribute  7
3869      isPartOf DCMI property  17
3870
3871   J
3872      justification PI pseudo-attribute  9
3873
3874   K
3875      keywords HTML META element  17
3876
3877   L
3878      length-of Extension Element  24, 42
3879      li V3 Extension Element  30, 42
3880      link Extension Element  25, 42
3881      linkmailto PI pseudo-attribute  7
3882      lt Extension Element  25, 42
3883
3884   M
3885      Microsoft Help  19
3886      Mozilla  14-15
3887      MSXML3  14
3888      MSXML4  14
3889
3890   N
3891      name V3 Extension Element  30, 42
3892      needLines PI pseudo-attribute  8
3893      NoScript  14
3894      note Extension Element  26, 42
3895
3896   O
3897      ol V3 Extension Element  31, 42
3898      Opera  15
3899
3900   P
3901      Parameters
3902         xml2rfc-background  7
3903         xml2rfc-comments  7
3904         xml2rfc-compact  7
3905         xml2rfc-editing  7
3906         xml2rfc-ext-allow-markup-in-artwork  9
3907         xml2rfc-ext-authors-section  9
3908         xml2rfc-ext-duplex  9
3909         xml2rfc-ext-include-index  9
3910         xml2rfc-ext-include-references-in-index  9
3911         xml2rfc-ext-insert-metadata  9
3912         xml2rfc-ext-justification  9
3913         xml2rfc-ext-parse-xml-in-artwork  9
3914         xml2rfc-ext-sec-no-trailing-dots  9
3915         xml2rfc-ext-support-rfc2731  9
3916
3917
3918
3919Reschke                                                        [Page 70]
3920
3921Documentation             RFC2629 through XSLT                  May 2015
3922
3923
3924         xml2rfc-footer  7
3925         xml2rfc-header  7
3926         xml2rfc-inline  7
3927         xml2rfc-iprnotified  7
3928         xml2rfc-linkmailto  7
3929         xml2rfc-private  7
3930         xml2rfc-refparent  7
3931         xml2rfc-rfcedstyle  7
3932         xml2rfc-sortrefs  7
3933         xml2rfc-symrefs  7
3934         xml2rfc-toc  7
3935         xml2rfc-tocdepth  7
3936         xml2rfc-topblock  7
3937      parse-xml Extension Element  26, 42
3938      parse-xml-in-artwork PI pseudo-attribute  9
3939      postalLine V3 Extension Element  31, 42
3940      private PI pseudo-attribute  7, 60
3941      Processing Instruction pseudo attributes
3942         allow-markup-in-artwork  9
3943         authors-section  9
3944         background  7
3945         comments  7
3946         compact  7
3947         duplex  9
3948         editing  7
3949         footer  7
3950         header  7
3951         ijustification  9
3952         include  8
3953         include-index  9
3954         include-references-in-index  9
3955         inline  7
3956         insert-metadata  9
3957         iprnotified  7
3958         linkmailto  7
3959         needLines  8
3960         parse-xml-in-artwork  9
3961         private  7, 60
3962         refparent  7
3963         rfcedstyle  7
3964         sec-no-trailing-dots  9
3965         slides  8
3966         sortrefs  7
3967         strict  8
3968         subcompact  8
3969         support-rfc2731  9
3970         symrefs  7
3971         toc  7
3972
3973
3974
3975Reschke                                                        [Page 71]
3976
3977Documentation             RFC2629 through XSLT                  May 2015
3978
3979
3980         tocdepth  7
3981         tocindent  8
3982         tocompact  8
3983         topblock  7
3984      prose Extension Element  26, 42
3985
3986   Q
3987      q Extension Element  26, 42
3988
3989   R
3990      rdf:Description Extension Element  42
3991      ref Extension Element  26, 42
3992      refcontent V3 Extension Element  31, 42
3993      reference V3 Extension Element  31
3994      refparent PI pseudo-attribute  7
3995      Relation.Replaces DCMI property  17
3996      RELAX NG Compact Schema  42
3997      rfc.abstract anchor  13
3998      rfc.authors anchor  13
3999      rfc.copyright anchor  13
4000      rfc.copyrightnotice anchor  13
4001      rfc.figure.n anchor  13
4002      rfc.figure.u.n anchor  13
4003      rfc.index anchor  13
4004      rfc.ipr anchor  13
4005      rfc.iref.n anchor  13
4006      rfc.note.n anchor  13
4007      rfc.references anchor  13
4008      rfc.references.n anchor  13
4009      rfc.section.n anchor  13
4010      rfc.section.n.p.m anchor  13
4011      rfc.status anchor  13
4012      rfc.toc anchor  13
4013      rfc.xref.name.n anchor  13
4014      rfcedstyle PI pseudo-attribute  7
4015
4016   S
4017      Safari  15
4018         3.*  15
4019      Saxon  14
4020      Schema  42
4021      sec-no-trailing-dots PI pseudo-attribute  9
4022      section V3 Extension Element  31
4023      slides PI pseudo-attribute  8
4024      sortrefs PI pseudo-attribute  7
4025      source Extension Element  27, 42
4026      span Extension Element  42
4027      strict PI pseudo-attribute  8
4028
4029
4030
4031Reschke                                                        [Page 72]
4032
4033Documentation             RFC2629 through XSLT                  May 2015
4034
4035
4036      strong V3 Extension Element  31, 42
4037      sub V3 Extension Element  31, 42
4038      subcompact PI pseudo-attribute  8
4039      sup Extension Element  27, 42
4040      sup V3 Extension Element  31, 42
4041      support-rfc2731 PI pseudo-attribute  9
4042      symrefs PI pseudo-attribute  7
4043
4044   T
4045      toc PI pseudo-attribute  7
4046      tocdepth PI pseudo-attribute  7
4047      tocindent PI pseudo-attribute  8
4048      tocompact PI pseudo-attribute  8
4049      topblock PI pseudo-attribute  7
4050      tt V3 Extension Element  31, 42
4051
4052   U
4053      ul V3 Extension Element  32, 42
4054
4055   V
4056      V3 Extension Elements
4057         aside  30, 42
4058         bcp14  30, 42
4059         blockquote  30, 42
4060         dd  30, 42
4061         displayreference  30, 42
4062         dl  30, 42
4063         dt  30, 42
4064         em  30, 42
4065         li  30, 42
4066         name  30, 42
4067         ol  31, 42
4068         postalLine  31, 42
4069         refcontent  31, 42
4070         reference  31
4071         section  31
4072         strong  31, 42
4073         sub  31, 42
4074         sup  31, 42
4075         tt  31, 42
4076         ul  32, 42
4077
4078   X
4079      x Extension Element  42
4080      Xalan  14
4081      xml-stylesheet PI  16
4082      xml2rfc-background parameter  7
4083      xml2rfc-comments parameter  7
4084
4085
4086
4087Reschke                                                        [Page 73]
4088
4089Documentation             RFC2629 through XSLT                  May 2015
4090
4091
4092      xml2rfc-editing parameter  7
4093      xml2rfc-ext-allow-markup-in-artwork parameter  9
4094      xml2rfc-ext-authors-section parameter  9
4095      xml2rfc-ext-duplex  9
4096      xml2rfc-ext-include-index parameter  9
4097      xml2rfc-ext-include-references-in-index parameter  9
4098      xml2rfc-ext-insert-metadata parameter  9
4099      xml2rfc-ext-justification parameter  9
4100      xml2rfc-ext-parse-xml-in-artwork parameter  9
4101      xml2rfc-ext-sec-no-trailing-dots parameter  9
4102      xml2rfc-ext-support-rfc2731 parameter  9
4103      xml2rfc-footer parameter  7
4104      xml2rfc-header parameter  7
4105      xml2rfc-inline parameter  7
4106      xml2rfc-iprnotified parameter  7
4107      xml2rfc-linkmailto parameter  7
4108      xml2rfc-private parameter  7
4109      xml2rfc-refparent parameter  7
4110      xml2rfc-rfcedstyle parameter  7
4111      xml2rfc-sortrefs parameter  7
4112      xml2rfc-symrefs parameter  7
4113      xml2rfc-toc parameter  7
4114      xml2rfc-tocdepth parameter  7
4115      xml2rfc-topblock parameter  7
4116      xsltproc  14
4117         passing parameters  6
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143Reschke                                                        [Page 74]
4144
4145Documentation             RFC2629 through XSLT                  May 2015
4146
4147
4148Author's Address
4149
4150   Julian F. Reschke
4151   greenbytes GmbH
4152   Hafenweg 16
4153   Muenster, NW  48155
4154   Germany
4155
4156   Email: julian.reschke@greenbytes.de
4157   URI:   http://greenbytes.de/tech/webdav/
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199Reschke                                                        [Page 75]
4200
Note: See TracBrowser for help on using the repository browser.