source: rfc2629xslt/rfc2629xslt.txt @ 1217

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

xml2rfc 1.36

  • Property svn:eol-style set to native
File size: 131.5 KB
Line 
1
2
3
4RFC2629 through XSLT                                          J. Reschke
5                                                              greenbytes
6                                                          March 27, 2011
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  . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
23   5.  Supported XSLT engines . . . . . . . . . . . . . . . . . . . . 15
24     5.1.   Standalone Engines  . . . . . . . . . . . . . . . . . . . 15
25     5.2.   In-Browser Engines  . . . . . . . . . . . . . . . . . . . 15
26   6.  Transforming to HTML . . . . . . . . . . . . . . . . . . . . . 17
27     6.1.   HTML compliance . . . . . . . . . . . . . . . . . . . . . 17
28     6.2.   Standard HTML LINK elements . . . . . . . . . . . . . . . 17
29     6.3.   Standard HTML metadata  . . . . . . . . . . . . . . . . . 18
30     6.4.   Dublin Core (RFC2731) metadata  . . . . . . . . . . . . . 18
31     6.5.   Experimental hCard support  . . . . . . . . . . . . . . . 18
32   7.  Transforming to XHTML  . . . . . . . . . . . . . . . . . . . . 19
33   8.  Transforming to CHM (Microsoft Compiled Help)  . . . . . . . . 20
34   9.  Transforming to PDF  . . . . . . . . . . . . . . . . . . . . . 21
35     9.1.   Via XSL-FO  . . . . . . . . . . . . . . . . . . . . . . . 21
36       9.1.1.  Extension feature matrix . . . . . . . . . . . . . . . 21
37       9.1.2.  Example: producing output for Apache FOP . . . . . . . 22
38     9.2.   Via X(HTML) . . . . . . . . . . . . . . . . . . . . . . . 22
39   10. Transforming to ePub . . . . . . . . . . . . . . . . . . . . . 23
40   11. Generic Extensions . . . . . . . . . . . . . . . . . . . . . . 24
41     11.1.  <abnf-char-sequence> element  . . . . . . . . . . . . . . 24
42     11.2.  <anchor-alias> element  . . . . . . . . . . . . . . . . . 24
43     11.3.  <bcp14> element . . . . . . . . . . . . . . . . . . . . . 24
44     11.4.  <bb> element  . . . . . . . . . . . . . . . . . . . . . . 25
45     11.5.  <bc> element  . . . . . . . . . . . . . . . . . . . . . . 25
46     11.6.  <blockquote> element  . . . . . . . . . . . . . . . . . . 25
47     11.7.  <boilerplate> element . . . . . . . . . . . . . . . . . . 25
48     11.8.  <bt> element  . . . . . . . . . . . . . . . . . . . . . . 26
49     11.9.  <dfn> element . . . . . . . . . . . . . . . . . . . . . . 26
50     11.10. <h> element . . . . . . . . . . . . . . . . . . . . . . . 26
51     11.11. <highlight> element . . . . . . . . . . . . . . . . . . . 26
52
53
54
55Reschke                                                         [Page 1]
56
57Documentation             RFC2629 through XSLT                March 2011
58
59
60     11.12. <length-of> element . . . . . . . . . . . . . . . . . . . 26
61     11.13. <link> element  . . . . . . . . . . . . . . . . . . . . . 26
62     11.14. <lt> element  . . . . . . . . . . . . . . . . . . . . . . 27
63     11.15. <note> element  . . . . . . . . . . . . . . . . . . . . . 27
64     11.16. <parse-xml> element . . . . . . . . . . . . . . . . . . . 27
65     11.17. <prose> element . . . . . . . . . . . . . . . . . . . . . 27
66     11.18. <q> element . . . . . . . . . . . . . . . . . . . . . . . 27
67     11.19. <ref> element . . . . . . . . . . . . . . . . . . . . . . 27
68     11.20. <source> element  . . . . . . . . . . . . . . . . . . . . 28
69     11.21. <sup> element . . . . . . . . . . . . . . . . . . . . . . 28
70     11.22. Extensions to Xml2rfc <artwork> element . . . . . . . . . 28
71     11.23. Extensions to Xml2rfc <iref> element  . . . . . . . . . . 29
72     11.24. Extensions to Xml2rfc <list> element  . . . . . . . . . . 29
73     11.25. Extensions to Xml2rfc <rfc> element . . . . . . . . . . . 29
74     11.26. Extensions to Xml2rfc <section> element . . . . . . . . . 29
75     11.27. Extensions to Xml2rfc <xref> element  . . . . . . . . . . 30
76   12. Utilities  . . . . . . . . . . . . . . . . . . . . . . . . . . 31
77     12.1.  Checking References . . . . . . . . . . . . . . . . . . . 31
78     12.2.  Generating Graphs from References . . . . . . . . . . . . 33
79     12.3.  Producing reference entries for books . . . . . . . . . . 33
80     12.4.  Down-converting to RFC2629bis DTD . . . . . . . . . . . . 34
81     12.5.  Extracting artwork  . . . . . . . . . . . . . . . . . . . 35
82     12.6.  GRRDL . . . . . . . . . . . . . . . . . . . . . . . . . . 35
83   13. Informative References . . . . . . . . . . . . . . . . . . . . 36
84   Appendix A.  RELAX NG Compact Schema . . . . . . . . . . . . . . . 38
85   Appendix B.  Implementation Notes  . . . . . . . . . . . . . . . . 48
86     B.1.   Recognized type attributes for <artwork> element  . . . . 48
87   Appendix C.  Examples  . . . . . . . . . . . . . . . . . . . . . . 49
88     C.1.   Using the 'Internal Subset' . . . . . . . . . . . . . . . 49
89     C.2.   Customization . . . . . . . . . . . . . . . . . . . . . . 49
90   Appendix D.  Producing the IETF 'Boilerplate'  . . . . . . . . . . 51
91     D.1.   The /rfc/@ipr Attribute . . . . . . . . . . . . . . . . . 51
92       D.1.1.  Current Values: '*trust200902' . . . . . . . . . . . . 52
93       D.1.2.  Historic Values  . . . . . . . . . . . . . . . . . . . 53
94     D.2.   The /rfc/@category Attribute  . . . . . . . . . . . . . . 54
95     D.3.   The /rfc/@submissionType Attribute  . . . . . . . . . . . 54
96     D.4.   The /rfc/@consensus Attribute . . . . . . . . . . . . . . 55
97     D.5.   The /rfc/@number Attribute  . . . . . . . . . . . . . . . 56
98     D.6.   The /rfc/@docName Attribute . . . . . . . . . . . . . . . 56
99     D.7.   The /rfc/@obsoletes Attribute . . . . . . . . . . . . . . 56
100     D.8.   The /rfc/@updates Attribute . . . . . . . . . . . . . . . 56
101   Appendix E.  License . . . . . . . . . . . . . . . . . . . . . . . 57
102   Appendix F.  Change Logs . . . . . . . . . . . . . . . . . . . . . 58
103     F.1.   Package . . . . . . . . . . . . . . . . . . . . . . . . . 58
104     F.2.   amazon-asin.xslt  . . . . . . . . . . . . . . . . . . . . 59
105     F.3.   check-references.xslt . . . . . . . . . . . . . . . . . . 59
106     F.4.   gen-reference-graph.xslt  . . . . . . . . . . . . . . . . 60
107     F.5.   rfc2629.xslt  . . . . . . . . . . . . . . . . . . . . . . 60
108
109
110
111Reschke                                                         [Page 2]
112
113Documentation             RFC2629 through XSLT                March 2011
114
115
116     F.6.   rfc2629toFO.xslt  . . . . . . . . . . . . . . . . . . . . 71
117     F.7.   xsl11toAn.xslt  . . . . . . . . . . . . . . . . . . . . . 73
118     F.8.   xsl11toFop.xslt . . . . . . . . . . . . . . . . . . . . . 73
119     F.9.   xsl11toXep.xslt . . . . . . . . . . . . . . . . . . . . . 73
120   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
121   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 82
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
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                March 2011
170
171
1721.  Introduction
173
174   This document describes a set of XSLT transformations that can be
175   used to transform RFC2629-compliant XML (see [RFC2629]) to various
176   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  extensions to the xml2rfc vocabulary (Section 11).
194
195   o  various utilities (Section 12).
196
197   The full distribution is available at
198   <http://greenbytes.de/tech/webdav/rfc2629xslt.zip>.
199
200
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                March 2011
226
227
2282.  Supported RFC2629 elements
229
230   "rfc2629.xslt" supports both all RFC2629 grammar elements and the
231   extensions implemented in xml2rfc 1.33.
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                March 2011
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                March 2011
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                March 2011
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                               |
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                March 2011
450
451
4523.3.  Extension PIs
453
454   +------+-----------------+-----------------------+------+-----------+
455   | PI   | PI              | XSLT parameter name   | defa | descripti |
456   | targ | pseudo-attribut |                       | ult  | on        |
457   | et   | e               |                       |      |           |
458   +------+-----------------+-----------------------+------+-----------+
459   | rfc- | allow-markup-in | xml2rfc-allow-markup- | "no" | Enables   |
460   | ext  | -artwork        | in-artwork            |      | support   |
461   |      |                 |                       |      | for       |
462   |      |                 |                       |      | specific  |
463   |      |                 |                       |      | elements  |
464   |      |                 |                       |      | inside    |
465   |      |                 |                       |      | abstract  |
466   |      |                 |                       |      | elements  |
467   |      |                 |                       |      | (using    |
468   |      |                 |                       |      | this      |
469   |      |                 |                       |      | extension |
470   |      |                 |                       |      | makes the |
471   |      |                 |                       |      | document  |
472   |      |                 |                       |      | incompati |
473   |      |                 |                       |      | ble to    |
474   |      |                 |                       |      | the       |
475   |      |                 |                       |      | RFC2629bi |
476   |      |                 |                       |      | s DTD;    |
477   |      |                 |                       |      | see       |
478   |      |                 |                       |      | descripti |
479   |      |                 |                       |      | on of     |
480   |      |                 |                       |      | conversio |
481   |      |                 |                       |      | n XSLT in |
482   |      |                 |                       |      | Section 1 |
483   |      |                 |                       |      | 2.4).     |
484   |      |                 |                       |      |           |
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503Reschke                                                         [Page 9]
504
505Documentation             RFC2629 through XSLT                March 2011
506
507
508   | rfc- | authors-section | xml2rfc-ext-authors-s |      | When      |
509   | ext  |                 | ection                |      | "end",    |
510   |      |                 |                       |      | place the |
511   |      |                 |                       |      | authors   |
512   |      |                 |                       |      | section   |
513   |      |                 |                       |      | at the    |
514   |      |                 |                       |      | end (just |
515   |      |                 |                       |      | before    |
516   |      |                 |                       |      | the       |
517   |      |                 |                       |      | copyright |
518   |      |                 |                       |      | statement |
519   |      |                 |                       |      | s). This  |
520   |      |                 |                       |      | seems to  |
521   |      |                 |                       |      | be the    |
522   |      |                 |                       |      | preferred |
523   |      |                 |                       |      | order in  |
524   |      |                 |                       |      | the       |
525   |      |                 |                       |      | newest    |
526   |      |                 |                       |      | RFCs.     |
527   |      |                 |                       |      |           |
528   | rfc- | duplex          | xml2rfc-ext-duplex    | no   | When set  |
529   | ext  |                 |                       |      | to "yes", |
530   |      |                 |                       |      | format    |
531   |      |                 |                       |      | the PDF   |
532   |      |                 |                       |      | output    |
533   |      |                 |                       |      | for       |
534   |      |                 |                       |      | doublesid |
535   |      |                 |                       |      | ed        |
536   |      |                 |                       |      | printing. |
537   |      |                 |                       |      |           |
538   | rfc- | include-referen | xml2rfc-ext-include-r |      | When set  |
539   | ext  | ces-in-index    | eferences-in-index    |      | to "yes", |
540   |      |                 |                       |      | index     |
541   |      |                 |                       |      | entries   |
542   |      |                 |                       |      | are       |
543   |      |                 |                       |      | generated |
544   |      |                 |                       |      | for all   |
545   |      |                 |                       |      | reference |
546   |      |                 |                       |      | s.        |
547   |      |                 |                       |      |           |
548
549
550
551
552
553
554
555
556
557
558
559Reschke                                                        [Page 10]
560
561Documentation             RFC2629 through XSLT                March 2011
562
563
564   | rfc- | justification   | xml2rfc-ext-justifica | "nev | "never":  |
565   | ext  |                 | tion                  | er"  | never     |
566   |      |                 |                       |      | emit      |
567   |      |                 |                       |      | justified |
568   |      |                 |                       |      | text,     |
569   |      |                 |                       |      | "always": |
570   |      |                 |                       |      | always    |
571   |      |                 |                       |      | emit      |
572   |      |                 |                       |      | justified |
573   |      |                 |                       |      | text,     |
574   |      |                 |                       |      | "print":  |
575   |      |                 |                       |      | only emit |
576   |      |                 |                       |      | justified |
577   |      |                 |                       |      | text for  |
578   |      |                 |                       |      | print     |
579   |      |                 |                       |      | media.    |
580   |      |                 |                       |      |           |
581   | rfc- | parse-xml-in-ar | xml2rfc-parse-xml-in- | "no" | May be    |
582   | ext  | twork           | artwork               |      | used to   |
583   |      |                 |                       |      | enable    |
584   |      |                 |                       |      | parsing   |
585   |      |                 |                       |      | of XML    |
586   |      |                 |                       |      | content   |
587   |      |                 |                       |      | in        |
588   |      |                 |                       |      | figures   |
589   |      |                 |                       |      | (MSXML    |
590   |      |                 |                       |      | only).    |
591   |      |                 |                       |      |           |
592   | rfc- | support-rfc2731 | xml2rfc-ext-support-r | "yes | Decides   |
593   | ext  |                 | fc2731                | "    | whether   |
594   |      |                 |                       |      | the HTML  |
595   |      |                 |                       |      | transform |
596   |      |                 |                       |      | ation     |
597   |      |                 |                       |      | should    |
598   |      |                 |                       |      | generate  |
599   |      |                 |                       |      | META tags |
600   |      |                 |                       |      | according |
601   |      |                 |                       |      | Section 6 |
602   |      |                 |                       |      | .4.       |
603   |      |                 |                       |      |           |
604
605
606
607
608
609
610
611
612
613
614
615Reschke                                                        [Page 11]
616
617Documentation             RFC2629 through XSLT                March 2011
618
619
620   | rfc- | sec-no-trailing | xml2rfc-ext-sec-no-tr |      | When set  |
621   | ext  | -dots           | ailing-dots           |      | to "yes", |
622   |      |                 |                       |      | add       |
623   |      |                 |                       |      | trailing  |
624   |      |                 |                       |      | dots to   |
625   |      |                 |                       |      | section   |
626   |      |                 |                       |      | numbers.  |
627   |      |                 |                       |      | This      |
628   |      |                 |                       |      | seems to  |
629   |      |                 |                       |      | be the    |
630   |      |                 |                       |      | preferred |
631   |      |                 |                       |      | format in |
632   |      |                 |                       |      | the       |
633   |      |                 |                       |      | newest    |
634   |      |                 |                       |      | RFCs.     |
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                March 2011
674
675
6764.  Anchors
677
678   The transformation automatically generates anchors that are supposed
679   to be stable and predictable and that can be used to identify
680   specific parts of the document.  Anchors are generated both in HTML
681   and XSL-FO content (but the latter will only be used for PDF output
682   when the XSL-FO engine supports producing PDF anchors).
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727Reschke                                                        [Page 13]
728
729Documentation             RFC2629 through XSLT                March 2011
730
731
732                 The following anchors get auto-generated:
733
734     +-----------------------+---------------------------------------+
735     | Anchor name           | Description                           |
736     +-----------------------+---------------------------------------+
737     | rfc.abstract          | Abstract                              |
738     |                       |                                       |
739     | rfc.authors           | Authors section                       |
740     |                       |                                       |
741     | rfc.copyright         | Copyright section                     |
742     |                       |                                       |
743     | rfc.copyrightnotice   | Copyright notice                      |
744     |                       |                                       |
745     | rfc.figure._n_        | Figures (titled)                      |
746     |                       |                                       |
747     | rfc.figure.u._n_      | Figures (untitled)                    |
748     |                       |                                       |
749     | rfc.index             | Index                                 |
750     |                       |                                       |
751     | rfc.ipr               | Intellectual Property                 |
752     |                       |                                       |
753     | rfc.iref._n_          | Internal references                   |
754     |                       |                                       |
755     | rfc.note._n_          | Notes (from front section)            |
756     |                       |                                       |
757     | rfc.references        | References                            |
758     |                       |                                       |
759     | rfc.references._n_    | Additional references                 |
760     |                       |                                       |
761     | rfc.section._n_       | Section _n_                           |
762     |                       |                                       |
763     | rfc.section._n_.p._m_ | Section _n_, paragraph _m_            |
764     |                       |                                       |
765     | rfc.status            | Status of memo                        |
766     |                       |                                       |
767     | rfc.table._n_         | Tables (titled)                       |
768     |                       |                                       |
769     | rfc.table.u._n_       | Tables (untitled)                     |
770     |                       |                                       |
771     | rfc.toc               | Table of contents                     |
772     |                       |                                       |
773     | rfc.xref._name_._n_   | References to reference _n_ to _name_ |
774     +-----------------------+---------------------------------------+
775
776
777
778
779
780
781
782
783Reschke                                                        [Page 14]
784
785Documentation             RFC2629 through XSLT                March 2011
786
787
7885.  Supported XSLT engines
789
790   The transformation requires a non-standard extension function (see
791   exsl:node-set [1]) which is however widely available.  XSLT
792   processors that do not support this extension (or a functional
793   equivalent) currently are not supported.
794
7955.1.  Standalone Engines
796
797   The following XSLT engines are believed to work well:
798
799   o  Windows: MSXML3 and MSXML4 (<http://msdn.microsoft.com/xml>;
800      command line processor "msxsl" is available from Microsoft
801      Download Center [2])
802
803   o  Java: Saxon (<http://saxon.sourceforge.net/>)
804
805   o  Java: Xalan (<http://xml.apache.org/xalan-j/>)
806
807   o  C/C++: xsltproc (libxslt) (<http://xmlsoft.org/XSLT/>, make sure
808      that you have a current version)
809
8105.2.  In-Browser Engines
811
812   The following browsers seem to work fine:
813
814   o  Internet Explorer 5.5 (Windows version, if MSXML3 is installed)
815
816   o  Internet Explorer 6 and newer
817
818   o  Firefox 3.0 and newer
819
820
821      *  Be aware that XSLT execution can be suppressed using
822         NoScript [3]
823
824      *  Firefox does not load external DTDs nor external entities, see
825         Mozilla Bug 22942 [4], thus entities like &nbsp; need to be
826         declared in the internal subset (Appendix C.1)
827
828      *  There seems to be a new problem in Firefox 4 where it
829         occasionally does the initial rendering with the wrong width
830         (people who can reproduce this problem please comment on
831         <https://bugzilla.mozilla.org/show_bug.cgi?id=640390>.
832
833   o  Safari 3 (starting with version 3.0.4)
834
835
836
837
838
839Reschke                                                        [Page 15]
840
841Documentation             RFC2629 through XSLT                March 2011
842
843
844   o  Google Chrome
845
846   o  Opera (starting with version 10)
847
848   The following browsers are known not to work properly:
849
850   o  Firefox 1.*/2.*: (missing extension function - see change request
851      at Mozilla BugZilla 193678 [5])
852
853   o  Opera 9.21: execution fails, potentially to a somewhat complex
854      XPath expression (reported to Opera as bug 245725).
855
856   o  Opera 9.5 and 9.6: transformation appears to work, but CSS isn't
857      getting applied (reported to Opera as bug 337388 on 2008-06-12).
858
859   o  Safari 2.* supports client-side XSLT as of MacOS X 10.4, but
860      misses required extension functions.  A problem with stylesheets
861      producing non-ASCII output (such as NBSP characters) has been
862      fixed as of OSX 10.4.4.  Both problems have been reported through
863      Apple's bug tracking system, see <http://drakken.dbc.mtview.ca.us/
864      pipermail/xml2rfc/2005-May/002073.html> and
865      <http://bugs.webkit.org/show_bug.cgi?id=4079>.
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895Reschke                                                        [Page 16]
896
897Documentation             RFC2629 through XSLT                March 2011
898
899
9006.  Transforming to HTML
901
902   Transformation to HTML can be done inside the browser if it supports
903   XSLT.  To enable this, add the following processing instruction to
904   the start of the source file:
905
906     <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
907
908   (and ensure that "rfc2629.xslt" is present).
909
9106.1.  HTML compliance
911
912   The transformation result is supposed to conform to the HTML 4.01
913   strict DTD [HTML].  This can be checked using the W3C's online
914   validator at <http://validator.w3.org>.
915
9166.2.  Standard HTML LINK elements
917
918   LINK elements exist since HTML 2.0.  They can be used to embed
919   content-independant links inside the document.  Unfortunately, only
920   few user agents support this element.  Firefox users may want to
921   check the Link Widgets [6] extension.
922
923                 The following LINK elements are produced:
924
925   +-----------+-------------------------------------------------------+
926   | LINK type | description                                           |
927   +-----------+-------------------------------------------------------+
928   | alternate | for RFCs, a link to the authorative ASCII version on  |
929   |           | the IETF web site                                     |
930   |           |                                                       |
931   | appendic  | pointer to all top-level appendics                    |
932   |           |                                                       |
933   | author    | pointer to "authors" section                          |
934   |           |                                                       |
935   | chapter   | pointer to all top-level sections                     |
936   |           |                                                       |
937   | contents  | pointer to table of contents                          |
938   |           |                                                       |
939   | copyright | pointer to copyright statement                        |
940   |           |                                                       |
941   | index     | pointer to index                                      |
942   +-----------+-------------------------------------------------------+
943
944   The figure below shows how Mozilla Firefox 1.0 displays the Site
945   Navigation Bar for rfc2396.xml.
946
947
948
949
950
951Reschke                                                        [Page 17]
952
953Documentation             RFC2629 through XSLT                March 2011
954
955
9566.3.  Standard HTML metadata
957
958          The following standard HTML META elements are produced:
959
960      +-----------+-------------------------------------------------+
961      | META name | description                                     |
962      +-----------+-------------------------------------------------+
963      | generator | from XSLT engine version and stylesheet version |
964      |           |                                                 |
965      | keywords  | from keyword elements in front section          |
966      +-----------+-------------------------------------------------+
967
9686.4.  Dublin Core (RFC2731) metadata
969
970   Unless turned off using the "rfc-ext support-rfc2731" processing
971   instruction, the transformation will generate metadata according to
972   [RFC2731] and [DC-HTML].
973
974                The following DCMI properties are produced:
975
976   +-------------------------+-----------------------------------------+
977   | META name               | description                             |
978   +-------------------------+-----------------------------------------+
979   | DC.Creator              | from author information in front        |
980   |                         | section                                 |
981   |                         |                                         |
982   | DC.Date.Issued          | from date information in front section  |
983   |                         |                                         |
984   | DC.Description.Abstract | from abstract                           |
985   |                         |                                         |
986   | DC.Identifier           | document URN [RFC2648] from "docName"   |
987   |                         | attribute                               |
988   |                         |                                         |
989   | DC.isPartOf             | RFC ISSN (for RFCs)                     |
990   |                         |                                         |
991   | DC.Relation.Replaces    | from "obsoletes" attribute              |
992   +-------------------------+-----------------------------------------+
993
9946.5.  Experimental hCard support
995
996   The generated author information is formatted in hCard [7] format.
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007Reschke                                                        [Page 18]
1008
1009Documentation             RFC2629 through XSLT                March 2011
1010
1011
10127.  Transforming to XHTML
1013
1014   Transforming to XHTML requires slightly different XSLT output options
1015   and is implemented by the derived transformation script
1016   "rfc2629toXHTML.xslt".
1017
1018      Note: Microsoft Internet Explorer does _not_ support XHTML.
1019      Therefore it usually makes more sense to generate plain old HTML.
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
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                March 2011
1066
1067
10688.  Transforming to CHM (Microsoft Compiled Help)
1069
1070   To generate a CHM file using Microsoft's HTML Help Compiler (hhc),
1071   three files are required in addition to the HTML file.
1072
1073   1.  hhc - table of contents file (HTML)
1074
1075   2.  hhk - index file (HTML)
1076
1077   3.  hhp - project file (plain text)
1078
1079   The three files are generated with three specific transformations,
1080   each requiring the additional XSLT parameter "basename" to specify
1081   the filename prefix.
1082
1083   Example:
1084
1085   saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616  > rfc2616.hhp
1086   saxon rfc2616.xml rfc2629toHhc.xslt basename=rfc2616  > rfc2616.hhc
1087   saxon rfc2616.xml rfc2629toHhk.xslt basename=rfc2616  > rfc2616.hhk
1088   hhc rfc2616.hhp
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119Reschke                                                        [Page 20]
1120
1121Documentation             RFC2629 through XSLT                March 2011
1122
1123
11249.  Transforming to PDF
1125
11269.1.  Via XSL-FO
1127
1128   Transformation to XSL-FO [XSL-FO] format is available through
1129   "rfc2629toFO.xslt" (which includes "rfc2629.xslt", so keep both in
1130   the same folder).
1131
1132   Compared to HTML user agents, XSL-FO engines unfortunately either
1133   come as open source (for instance, Apache FOP) or feature-complete
1134   (for instance, AntennaHouse XSL Formatter), but not both at the same
1135   time.
1136
1137   As Apache FOP needs special workarounds (index generation), and some
1138   popular extensions aren't standardized yet, the translation produces
1139   a generic output (hopefully) conforming to [XSL-FO].  Specific
1140   backends ("xsl11toFop.xslt", "xsl11toXep.xslt", "xsl11toAn.xslt")
1141   then provide post-processing for the individual processors.
1142
1143      Note: the output is currently targeted at Apache FOP 1.0.
1144
11459.1.1.  Extension feature matrix
1146
1147   +------------+-------------+------------+-------------+-------------+
1148   |            | PDF anchors |     PDF    |     PDF     |    Index    |
1149   |            |             |  bookmarks |   document  |   cleanup   |
1150   |            |             |            | information |             |
1151   +------------+-------------+------------+-------------+-------------+
1152   | XSL 1.1    | no, but can |     yes    |   no, but   |     yes     |
1153   | WD [8]     |      be     |            |   uses XEP  |             |
1154   |            | auto-genera |            |    output   |             |
1155   |            |   ted from  |            |  extensions |             |
1156   |            |     "id"    |            |             |             |
1157   |            |  attributes |            |             |             |
1158   |            |             |            |             |             |
1159   | Antenna    |      no     |  yes [10]  |   yes [10]  |   yes [10]  |
1160   | House XSL  |             |  (from XSL |  (from XEP  |  (just page |
1161   | formatter  |             |     1.1    |   document  |  duplicate  |
1162   | [9]        |             | bookmarks) |    info)    | elimination |
1163   |            |             |            |             |  , from XSL |
1164   |            |             |            |             |   1.1 page  |
1165   |            |             |            |             |    index)   |
1166   |            |             |            |             |             |
1167   | Apache     |     yes     |  yes (from |     yes     |      no     |
1168   | FOP [11]   |             |   XSL 1.1  |             |             |
1169   |            |             | bookmarks) |             |             |
1170   |            |             |            |             |             |
1171
1172
1173
1174
1175Reschke                                                        [Page 21]
1176
1177Documentation             RFC2629 through XSLT                March 2011
1178
1179
1180   | RenderX    |      no     |  yes [13]  |   yes [13]  |   yes [13]  |
1181   | XEP [12]   |             |  (from XSL |             |  (from XSL  |
1182   |            |             |     1.1    |             |   1.1 page  |
1183   |            |             | bookmarks) |             |    index)   |
1184   +------------+-------------+------------+-------------+-------------+
1185
11869.1.2.  Example: producing output for Apache FOP
1187
1188   Example:
1189
1190   saxon rfc2616.xml rfc2629toFo.xslt > tmp.fo
1191   saxon tmp.fo xsl11toFop.xslt > rfc2629.fo
1192
11939.2.  Via X(HTML)
1194
1195   PDF output can also be produced directly from (X)HTML.  One simple
1196   approach is to rely on the browser's printing function, and to use a
1197   printer driver that produces PDF.  Depending on the brower's CSS
1198   capabilities, the output will behave properly with respect to table
1199   breaks etc.
1200
1201   An alternative is PrinceXML (see <http://www.princexml.com/>), which
1202   can produce PDF directly from (X)HTML input, based on the CSS
1203   printing information.
1204
1205   For instance, PDF output with text justification turned on can be
1206   produced with:
1207
1208   saxon input.xml rfc2629toXHTML.xslt xml2rfc-ext-justification=print \
1209     > output.xhtml
1210   prince output.xhtml output.pdf
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                March 2011
1234
1235
123610.  Transforming to ePub
1237
1238   Experimental transformation to ePub format is available through a set
1239   of stylesheets, and the Unix Shell script "mkepub.sh" (which requires
1240   that "zip" and either "saxon" or "xsltproc" are installed).
1241
1242   For instance, an epub version of rfc2616.xml can be generated like
1243   this:
1244
1245   mkepub.sh rfc2616.xml
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287Reschke                                                        [Page 23]
1288
1289Documentation             RFC2629 through XSLT                March 2011
1290
1291
129211.  Generic Extensions
1293
1294   This section documents extensions implemented in "rfc2629.xslt",
1295   using the extension namespace "http://purl.org/net/xml2rfc/ext".
1296
129711.1.  <abnf-char-sequence> element
1298
1299   Converts the contained quoted string into a hex-encoded character
1300   sequence, for use in case-sensitive ABNF productions.
1301
1302   For instance, "<x:abnf-char-sequence>"HTTP"</x:abnf-char-sequence>"
1303   gets converted to "%x48.54.54.50".
1304
130511.2.  <anchor-alias> element
1306
1307   Using its "value" attribute, this element allows the definition of an
1308   internal link target alias for the enclosing element.  This alias can
1309   then be used with the <ref> element for intra-document references.
1310
1311   Note that the anchor alias is not subject to the naming constraints
1312   that apply to anchor elements (which are XML names).
1313
131411.3.  <bcp14> element
1315
1316   This element marks the content as being one of the normative keywords
1317   defined in [RFC2119].
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343Reschke                                                        [Page 24]
1344
1345Documentation             RFC2629 through XSLT                March 2011
1346
1347
1348   The DOCTYPE definition below allows using these keywords using XML
1349   entity expansion: such as in "...server &MUST; accept...".
1350
1351   <!DOCTYPE rfc [
1352    <!ENTITY MAY "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1353      >MAY</bcp14>">
1354    <!ENTITY MUST "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1355      >MUST</bcp14>">
1356    <!ENTITY MUST-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1357      >MUST NOT</bcp14>">
1358    <!ENTITY OPTIONAL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1359      >OPTIONAL</bcp14>">
1360    <!ENTITY RECOMMENDED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1361      >RECOMMENDED</bcp14>">
1362    <!ENTITY REQUIRED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1363      >REQUIRED</bcp14>">
1364    <!ENTITY SHALL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1365      >SHALL</bcp14>">
1366    <!ENTITY SHALL-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1367      >SHALL NOT</bcp14>">
1368    <!ENTITY SHOULD "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1369      >SHOULD</bcp14>">
1370    <!ENTITY SHOULD-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1371      >SHOULD NOT</bcp14>">]>
1372
137311.4.  <bb> element
1374
1375   Marking up a string as <bb> indicates that it represents the bottom
1376   line of a box drawing, replacing the "+" and "-" characters
1377   accordingly.
1378
137911.5.  <bc> element
1380
1381   Marking up a string as <bc> indicates that it represents a center
1382   line of a box drawing, replacing the "|" character accordingly.
1383
138411.6.  <blockquote> element
1385
1386   This element is like the "blockquote" element in [HTML] (note this is
1387   a block-level element!).  It should contain one or more <t> child
1388   elements.
1389
139011.7.  <boilerplate> element
1391
1392   Can be used to include boilerplate (status, copyright, ...) into the
1393   front or back section. <section> elements within <x:boilerplate>
1394   appear as unnumbered sections in the output.
1395
1396
1397
1398
1399Reschke                                                        [Page 25]
1400
1401Documentation             RFC2629 through XSLT                March 2011
1402
1403
1404   _This element currently can not be "down-translated" for use in
1405   xml2rfc!_
1406
140711.8.  <bt> element
1408
1409   Marking up a string as <bt> indicates that it represents the top line
1410   of a box drawing, replacing the "+" and "-" characters accordingly.
1411
141211.9.  <dfn> element
1413
1414   This element is like the "dfn" element in [HTML].
1415
141611.10.  <h> element
1417
1418   This element is like the "h" element in [XHTML2].
1419
142011.11.  <highlight> element
1421
1422   Used to highlight text passages, currently only allowed in <artwork>.
1423
1424   Note: this is stripped when generating input for xml2rfc, so please
1425   use with care.
1426
142711.12.  <length-of> element
1428
1429   This element can be used to insert the length of another formatted
1430   section (in decimal).
1431
1432   Example: computing the Content-Length header value
1433
1434   <artwork>
1435   ...
1436   Content-Length: <x:length-of target="req"/>
1437
1438   <x:span anchor="req">123456789
1439   <x:span><artwork/>
1440
1441   The lenght computation counts line ends as two characters (CRLF).
1442
1443   Note that indentation characters in artwork _will_ be counted.  The
1444   "indented" attribute allows to specify the amount of indentation to
1445   be substracted from the computed length.
1446
144711.13.  <link> element
1448
1449   This element can be added as a top-level child element below <rfc> to
1450   indicate additional link information.  It's currently used only when
1451   generating HTML output, in which case an HTML <link> element with
1452
1453
1454
1455Reschke                                                        [Page 26]
1456
1457Documentation             RFC2629 through XSLT                March 2011
1458
1459
1460   identical attributes gets generated.
1461
1462   Example: generating HTML link element
1463
1464           <x:link xmlns="http://purl.org/net/xml2rfc/ext"
1465               rel="Bookmark"
1466               title="IETF WEBDAV Working Group"
1467               href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/>
1468
146911.14.  <lt> element
1470
1471   Used for grouping multiple <t> elements into a single list item.
1472
147311.15.  <note> element
1474
1475   Can be used to add a note, usually indented by a few characters.  It
1476   should contain one or more <t> child elements.
1477
147811.16.  <parse-xml> element
1479
1480   This element instructs the processor to parse the contents as XML and
1481   to warn when there's a problem (requires either MSXML or Saxon8 or
1482   newer).
1483
148411.17.  <prose> element
1485
1486   This element can be used inside <reference> to add plain text (before
1487   the date, when present).
1488
148911.18.  <q> element
1490
1491   This element is like the "q" element in [HTML].
1492
149311.19.  <ref> element
1494
1495   This element is a simplified variant of the <xref> element, in that
1496   no "target" attribute needs to be specified, instead the text
1497   contents acts as identifier.  That in itself wouldn't be terribly
1498   useful, but together with the <anchor-alias>, it allows referring to
1499   other parts of the document with minimal additional markup.
1500
1501   For instance, given an alias definition such as
1502
1503         <section title="Test" anchor="test">
1504           <x:anchor-alias value="alias1"/>
1505           <x:anchor-alias value="alias 2"/>
1506           ...
1507         </section>
1508
1509
1510
1511Reschke                                                        [Page 27]
1512
1513Documentation             RFC2629 through XSLT                March 2011
1514
1515
1516   the following simple references
1517
1518         <x:ref>test</x:ref>
1519         <x:ref>alias1</x:ref>
1520         <x:ref>alias 2</x:ref>
1521
1522   are equivalent to...:
1523
1524         <xref target="test">test</xref>
1525         <xref target="test">alias1</xref>
1526         <xref target="test">alias 2</xref>
1527
152811.20.  <source> element
1529
1530   Can be used to enhance a <reference> with information about the
1531   location for the XML source.  This can be used by the <xref>
1532   processing code to automatically extract the target section number.
1533
1534   For example:
1535
1536         ...
1537         <xref target="RFC2616" x:fmt="of" x:rel="#PUT" />
1538         ...
1539
1540         <reference target="RFC2616"/>
1541           ...
1542           <x:source href="rfc2616.xml"/>
1543           ...
1544
154511.21.  <sup> element
1546
1547   This element is like the "sup" element in [HTML].
1548
1549   Note: the down conversion to RFC2629 format replaces "x^y" by "x^y".
1550
155111.22.  Extensions to Xml2rfc <artwork> element
1552
1553   Sometimes, artwork occurs inside lists.  To get it indent properly in
1554   xml2rfc's text output, it needs to be indented in the source.  This
1555   is sub-optimal, as this whitespace will also appear in the HTML
1556   output, where it's already indented due to HTML's semantics.
1557
1558   As a workaround, a "x:indent-with" attribute can be specified,
1559   containing a string that will be prepended to each line when
1560   "clean-for-DTD.xslt" is run (see Section 12.4).
1561
1562
1563
1564
1565
1566
1567Reschke                                                        [Page 28]
1568
1569Documentation             RFC2629 through XSLT                March 2011
1570
1571
157211.23.  Extensions to Xml2rfc <iref> element
1573
1574   The extension attribute below is allowed on the standard <iref>
1575   element:
1576
1577   o  x:for-anchor specifies that the <iref> will also be automatically
1578      inserted whenever the specified anchor is cross-referenced -- this
1579      may save entering lots of <iref> instances.  As a special case, a
1580      value of "" (empty string) refers to the anchor attribute of the
1581      closest ancestor.
1582
158311.24.  Extensions to Xml2rfc <list> element
1584
1585   The extension attribute below is allowed on the standard <list>
1586   element:
1587
1588   o  x:indent specifies the amount of indentation for list items in
1589      hanging lists.  This can be useful when the output format, such as
1590      XSL-FO, does not support automatical formatting.  The value takes
1591      an XSL-FO width, such as "5em".  The default is _length of longest
1592      label in characters_ times _0.8em_.
1593
1594   Also, the <list> element can take <x:lt> child elements instead of
1595   <t>, allowing to insert multiple paragraphs into a single list item.
1596
159711.25.  Extensions to Xml2rfc <rfc> element
1598
1599   The extension attributes below are allowed on the standard <rfc>
1600   element:
1601
1602   o  grddl:transformation can be used to reference a GRDDL transform.
1603
1604   o  x:maturiy-level can be used to specify the IETF Standards Track
1605      Maturity Level of "proposed", "draft" or "internet" (see Section
1606      4.1 of [RFC2026]).
1607
160811.26.  Extensions to Xml2rfc <section> element
1609
1610   The extension attribute below is allowed on the standard <list>
1611   element:
1612
1613   o  x:fixed-section-number can be used to specify a fixed section
1614      number.  This can be useful when formatting historic documents
1615      that used a different numbering style.
1616
1617
1618
1619
1620
1621
1622
1623Reschke                                                        [Page 29]
1624
1625Documentation             RFC2629 through XSLT                March 2011
1626
1627
162811.27.  Extensions to Xml2rfc <xref> element
1629
1630   Three extension attributes are allowed on the standard <xref>
1631   element:
1632
1633   1.  x:sec can be specified to point to a specific section of the
1634       referenced document,
1635
1636   2.  x:rel may specify a relative reference to use when linking into
1637       the referenced document (if linking by section number is not
1638       available),
1639
1640   3.  x:fmt defines the text format to be used.
1641
1642   The following formats are defined for the x:fmt attribute:
1643
1644   , (Comma)  [_reference_], Section _sec_
1645
1646   () [_reference_] (Section _sec_)
1647
1648   anchor  Like the default format, but without brackets.
1649
1650   of Section _sec_ of [_reference_]
1651
1652   number  _sec_
1653
1654   none  No output (can be used to have xrefs to references without
1655      having them rendered as such)
1656
1657   sec  Section _sec_
1658
1659   These extensions are currently only supported for <xref> elements
1660   without child nodes.
1661
1662   If the processor knows how to reference the target section, it will
1663   generate a link directly to the target section, such as in [RFC2119],
1664   Section 5.
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679Reschke                                                        [Page 30]
1680
1681Documentation             RFC2629 through XSLT                March 2011
1682
1683
168412.  Utilities
1685
168612.1.  Checking References
1687
1688   "check-references.xslt" can be used to check all references to RFC-
1689   and ID-series IETF publications and to W3C publications (note this
1690   script requires local copies of
1691   <ftp://ftp.isi.edu/in-notes/rfc-index.xml> and
1692   <http://www.w3.org/2002/01/tr-automation/tr.rdf> and will use the XML
1693   status information provided at <http://tools.ietf.org/>).
1694
1695   If the document is supposed to be published on the IETF standards
1696   track, the desired level can be specified using the parameter
1697   "intended-level" as 'proposed', 'draft' or 'internet'.
1698   Alternatively, it can be specified inside the document using the
1699   attribute x:maturity-level on the <rfc> element.
1700
1701   Note: Downward references should be annotated using the <annotate>
1702   element, containing an <xref> to [BCP97].
1703
1704   When an XSLT 2.0 processor is used, links in the document can be
1705   checked as well using the "link-check" paramerer ('yes' or 'no').
1706   Note that this only works for http links to documents of type text/*.
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735Reschke                                                        [Page 31]
1736
1737Documentation             RFC2629 through XSLT                March 2011
1738
1739
1740   For instance, as of 2008-07-12, the script produces for
1741   <http://greenbytes.de/tech/webdav/rfc2518.xml>:
1742
1743   > saxon rfc2518.xml check-references.xslt intended-status=PROPOSED \
1744     link-check=yes
1745
1746   Normative References:
1747   ISO-11578: not checked
1748   ISO-639: not checked
1749   ISO-8601: not checked
1750   REC-xml-19980210: [FirstEdition] obsoleted by REC-xml-20001006
1751   REC-xml-names-19990114: [FirstEdition] obsoleted by
1752    REC-xml-names-20060816
1753   RFC1766: [PROPOSED STANDARD] obsoleted by RFC3066 RFC3282
1754   RFC2068: [PROPOSED STANDARD] obsoleted by RFC2616
1755   RFC2069: [PROPOSED STANDARD] obsoleted by RFC2617
1756   RFC2119: [BEST CURRENT PRACTICE] (-> BCP0014) ok
1757   RFC2141: [PROPOSED STANDARD] ok
1758   RFC2277: [BEST CURRENT PRACTICE] (-> BCP0018) ok
1759   RFC2396: [DRAFT STANDARD] obsoleted by RFC3986
1760   RFC2279: [DRAFT STANDARD] obsoleted by RFC3629
1761
1762   Informational References:
1763   REC-PICS-labels-961031: [REC] ok
1764   RFC1807: [INFORMATIONAL] ok
1765   RFC2026: [BEST CURRENT PRACTICE] (-> BCP0009) ok
1766   RFC2291: [INFORMATIONAL] ok
1767   RFC2376: [INFORMATIONAL] obsoleted by RFC3023
1768   RFC2413: [INFORMATIONAL] obsoleted by RFC5013
1769   USMARC: not checked
1770   WF: not checked
1771
1772   Link Targets
1773   <http://www.w3.org/TR/1998/REC-xml-19980210>: ok
1774   <http://www.w3.org/TR/1999/REC-xml-names-19990114>: ok
1775   <http://www.dlib.org/dlib/july96/lagoze/07lagoze.html>: ok
1776   <http://www.w3.org/pub/WWW/TR/REC-PICS-labels-961031.html>: ok
1777
1778   Recognized formats in the <seriesInfo> element are:
1779
1780   o  for RFCs, the name attribute must be "RFC", and the value
1781      attribute must be the number of the RFC,
1782
1783   o  for Internet Drafs, the name attribute must be "ID" or "Internet-
1784      Draft", and the value attribute must be the file name of the draft
1785      (including the two-digit running number, but excluding a file
1786      extension),
1787
1788
1789
1790
1791Reschke                                                        [Page 32]
1792
1793Documentation             RFC2629 through XSLT                March 2011
1794
1795
1796   o  for W3C documents, the name attribute must be "W3C", must start
1797      with "W3C ", or must start with "World Wide Web Consortium ", and
1798      the value attribute must be the "shorthand" name of the
1799      specification, such as "REC-xml-19980210".
1800
1801      Note: this stylesheet will need network access to check links and
1802      status of Internet Drafts.  When running a Java-based XSLT engine,
1803      you may have to supply Java system properties specifying the HTTP
1804      proxy to be used, such as "-Dhttp.proxyHost=hostname
1805      -Dhttp.proxyPort=80".
1806
180712.2.  Generating Graphs from References
1808
1809   "gen-reference-graph.xslt" generates a graph of RFC dependencies,
1810   using the same base data as in "check-references.xslt" (see
1811   Section 12.1).  Its output is a "dot" file, to be processed by
1812   GraphViz (see <http://www.graphviz.org/>).
1813
1814   The picture below shows the RFC dependencies in RFC2629.
1815
1816
181712.3.  Producing reference entries for books
1818
1819   "amazon-asin.xslt" uses the Amazon web services to generate a
1820   <reference> element for a given ASIN (ISBN).
1821
1822   For instance:
1823
1824   <?xml version="1.0" encoding="utf-8"?>
1825   <references>
1826    <reference target="urn:isbn:0134516591">
1827      <front>
1828        <title>Simple Book, The: An Introduction to Internet Management,
1829                  Revised Second Edition</title>
1830        <author surname="Rose"
1831                   fullname="Marshall T. Rose" initials="M. T. ">
1832          <organization/>
1833        </author>
1834        <author surname="Marshall"
1835                   fullname="Rose T. Marshall" initials="R. T.">
1836          <organization/>
1837        </author>
1838        <date year="1996" month="March"/>
1839      </front>
1840      <seriesInfo name="Prentice Hall" value=""/>
1841    </reference>
1842   </references>
1843
1844
1845
1846
1847Reschke                                                        [Page 33]
1848
1849Documentation             RFC2629 through XSLT                March 2011
1850
1851
1852   Note that the resulting XML usually requires checking, in this case
1853   Amazon's database is playing tricks with Marshall's name...
1854
185512.4.  Down-converting to RFC2629bis DTD
1856
1857   "clean-for-DTD.xslt" can be used to down-convert some extensions to a
1858   format that is supported by the base xml2rfc distribution.  Note that
1859   these extensions are experimental (feedback appreciated).
1860
1861   The following mappings are done:
1862
1863   o  <iref> elements inside <artwork> elements are moved in front of
1864      the enclosing <figure> element.
1865
1866   o  <xref> elements inside <artwork> are expanded just like in regular
1867      text (that is, the markup is stripped, but the element is replaced
1868      by the applicable replacement text).
1869
1870   o  <x:anchor-alias> elements get stripped.
1871
1872   o  <x:bcp14> elements get stripped.
1873
1874   o  <x:bb>, <x:bc> and <x:bt> elements get stripped.
1875
1876   o  <x:blockquote> elements get converted to indented text (through a
1877      <list> element).
1878
1879   o  <x:dfn> elements get stripped.
1880
1881   o  <x:h> elements get stripped.
1882
1883   o  <x:link> elements get stripped.
1884
1885   o  <x:lt> elements get collapsed into a single <lt> element with
1886      added <vspace> added to simulate paragraph breaks.
1887
1888   o  <x:note> elements get converted to indented text (through a <list>
1889      element).
1890
1891   o  <x:q> elements get stripped, with apostrophes added around the
1892      text.
1893
1894   o  <x:prose> elements are transformed into <seriesInfo> elements
1895      (which is an abuse of the element and only a workaround until
1896      xml2rfc gets a matching extension).
1897
1898   o  <x:ref> elements get replaced by <xref> elements, targetting
1899      either the anchor or another anchor with matching <x:anchor-alias>
1900
1901
1902
1903Reschke                                                        [Page 34]
1904
1905Documentation             RFC2629 through XSLT                March 2011
1906
1907
1908      child element.
1909
191012.5.  Extracting artwork
1911
1912   With "extract-artwork.xslt", artwork elements named through the
1913   "name" attribute can be extracted.  This can be used to automatically
1914   check their syntax (for instance, when ABNFs appear within a figure
1915   element).
1916
1917   For instance:
1918   saxon rfc3986.xml extract-artwork.xslt name=uri.abnf
1919
1920   In addition, artwork of a specific type can be extracted, such as
1921   with:
1922   saxon rfc3986.xml extract-artwork.xslt type=abnf
1923
1924   When extracting by type, artwork elements with a specified name can
1925   be excluded; this can be handy when the document uses some kind of
1926   schema language, and an appendix contains the collected schema,
1927   repeating definitions from earlier on.  Example:
1928   saxon rfc3986.xml extract-artwork.xslt type=abnf except-name=clschm
1929
193012.6.  GRRDL
1931
1932   "rfc2629grddl.xslt" extracts RDF information.  This is experimental
1933   work-in-progress.  See <http://www.w3.org/TR/grddl/> for more
1934   information.
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959Reschke                                                        [Page 35]
1960
1961Documentation             RFC2629 through XSLT                March 2011
1962
1963
196413.  Informative References
1965
1966   [BCP97]    Klensin, J. and S. Hartman, "Handling Normative References
1967              to Standards-Track Documents", BCP 97, RFC 4897,
1968              June 2007.
1969
1970   [DC-HTML]  Johnston, P. and A. Powell, "Expressing Dublin Core
1971              metadata using HTML/XHTML meta and link elements", Dublin
1972              Core Metadata Initiative , August 2008,
1973              <http://dublincore.org/documents/2008/08/04/dc-html/>.
1974
1975   [HTML]     Raggett, D., Hors, A., and I. Jacobs, "HTML 4.01
1976              Specification", W3C REC-html401-19991224, December 1999,
1977              <http://www.w3.org/TR/html401/>.
1978
1979   [RFC2026]  Bradner, S., "The Internet Standards Process -- Revision
1980              3", BCP 9, RFC 2026, October 1996.
1981
1982   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
1983              Requirement Levels", BCP 14, RFC 2119, March 1997.
1984
1985   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Nielsen, H.,
1986              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
1987              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
1988
1989   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
1990              June 1999.
1991
1992   [RFC2648]  Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
1993              August 1999.
1994
1995   [RFC2731]  Kunze, J., "Encoding Dublin Core Metadata in HTML",
1996              RFC 2731, December 1999.
1997
1998   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
1999              Specifications: ABNF", STD 68, RFC 5234, January 2008.
2000
2001   [RFC5741]  Daigle, L. and O. Kolkman, "RFC Streams, Headers, and
2002              Boilerplates", RFC 5741, December 2009.
2003
2004   [RNC]      Clark, J., "RELAX NG Compact Syntax", OASIS , Nov 2002, <h
2005              ttp://www.oasis-open.org/committees/relax-ng/
2006              compact-20021121.html>.
2007
2008   [XHTML2]   Axelsson, J., Birbeck, M., Dubinko, M., Epperson, B.,
2009              Ishikawa, M., McCarron, S., Navarro, A., and S. Pemberton,
2010              "XHTML[TM] 2.0", W3C WD-xhtml2-20060726, July 2006,
2011              <http://www.w3.org/TR/xhtml2>.
2012
2013
2014
2015Reschke                                                        [Page 36]
2016
2017Documentation             RFC2629 through XSLT                March 2011
2018
2019
2020   [XML]      Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and
2021              F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth
2022              Edition)", W3C REC-xml-20081126, November 2008,
2023              <http://www.w3.org/TR/2008/REC-xml-20081126/>.
2024
2025   [XSL-FO]   Berglund, A., "Extensible Stylesheet Language (XSL)
2026              Version 1.1", W3C REC-xsl11-20061205, Dec 2006,
2027              <http://www.w3.org/TR/2006/REC-xsl11-20061205/>.
2028
2029   [1]   <http://www.exslt.org/exsl/functions/node-set/
2030         exsl.node-set.html>
2031
2032   [2]   <http://www.microsoft.com/downloads/
2033         details.aspx?FamilyID=2FB55371-C94E-4373-B0E9-DB4816552E41>
2034
2035   [3]   <https://addons.mozilla.org/de/firefox/addon/722>
2036
2037   [4]   <https://bugzilla.mozilla.org/show_bug.cgi?id=22942>
2038
2039   [5]   <http://bugzilla.mozilla.org/show_bug.cgi?id=193678>
2040
2041   [6]   <https://addons.mozilla.org/firefox/2933/>
2042
2043   [7]   <http://microformats.org/wiki/hcard>
2044
2045   [8]   <http://www.w3.org/TR/2003/WD-xsl11-20031217/>
2046
2047   [9]   <http://www.antennahouse.com/>
2048
2049   [10]  <http://www.antennahouse.com/XSL20/axf-extension.htm>
2050
2051   [11]  <http://xml.apache.org/fop/>
2052
2053   [12]  <http://xep.xattic.com/>
2054
2055   [13]  <http://xep.xattic.com/xep/spec.html>
2056
2057   [14]  <http://www.thaiopensource.com/relaxng/jing.html>
2058
2059   [15]  <http://dpcarlisle.blogspot.com/2007/05/
2060         exslt-node-set-function.html>
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071Reschke                                                        [Page 37]
2072
2073Documentation             RFC2629 through XSLT                March 2011
2074
2075
2076Appendix A.  RELAX NG Compact Schema
2077
2078   The RelaxNG schema ([RNC]) below can be used to validate input
2079   documents (for instance, with Jing [14]).
2080
2081   _Note that this is work in progress, and doesn't yet cover all
2082   extensions completely._
2083
2084  # WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.
2085
2086  # Define our extension namespace
2087  namespace x = "http://purl.org/net/xml2rfc/ext"
2088
2089  # Define GRDDL namespace
2090  namespace grddl = "http://www.w3.org/2003/g/data-view#"
2091
2092  # Define RDF namespace
2093  namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
2094
2095  # Include rfc2629bis RNC grammar
2096  include "rfc2629.rnc" {
2097
2098    # Redefine <artwork> to allow markup
2099    artwork =
2100      element artwork {
2101        attlist.artwork,
2102        (TEXT
2103          | eref
2104          | iref
2105          | spanx
2106          | xref
2107          | x_abnf-char-sequence
2108          | x_bb
2109          | x_bc
2110          | x_bcp14
2111          | x_bt
2112          | x_highlight
2113          | x_length-of
2114          | x_parse-xml
2115          | x_ref
2116          | x_span
2117          | x_x)*
2118      }
2119
2120    # Redefine <back> to allow boilerplate
2121    back =
2122      element back {
2123        attlist.back,
2124
2125
2126
2127Reschke                                                        [Page 38]
2128
2129Documentation             RFC2629 through XSLT                March 2011
2130
2131
2132        references*,
2133        section*,
2134        x_boilerplate?
2135      }
2136
2137    # Redefine <c> to allow our extension elements
2138    c =
2139      element c {
2140        attlist.c,
2141        (TEXT
2142          | xref
2143          | eref
2144          | iref
2145          | cref
2146          | spanx
2147          | x_ref)*
2148      }
2149
2150    # Redefine <cref> to allow more child elements
2151    cref =
2152      element cref {
2153        attlist.cref,
2154        (TEXT
2155          | eref
2156          | xref)*
2157      }
2158
2159    # Redefine <front> to allow boilerplate
2160    front =
2161      element front {
2162        attlist.front,
2163        title,
2164        author+,
2165        date,
2166        area*,
2167        workgroup*,
2168        keyword*,
2169        x_boilerplate?,
2170        abstract?,
2171        note*
2172      }
2173
2174    # Redefine <list> element to allow <x:lt> child elements
2175    \list =
2176      element list {
2177        attlist.list,
2178        (t+ | x_lt+)
2179      }
2180
2181
2182
2183Reschke                                                        [Page 39]
2184
2185Documentation             RFC2629 through XSLT                March 2011
2186
2187
2188    # Redefine <preamble> to allow our extension elements
2189    preamble =
2190      element preamble {
2191        attlist.preamble,
2192        (TEXT
2193          | xref
2194          | eref
2195          | iref
2196          | cref
2197          | spanx
2198          | x_anchor-alias)*
2199      }
2200
2201    # Redefine <postamble> to allow our extension elements
2202    postamble =
2203      element postamble {
2204        attlist.postamble,
2205        (TEXT
2206          | xref
2207          | eref
2208          | iref
2209          | cref
2210          | spanx
2211          | x_bcp14)*
2212      }
2213
2214    # Redefine <reference> to allow our extension elements
2215    reference =
2216      element reference {
2217        attlist.reference,
2218        front,
2219        seriesInfo*,
2220        x_prose?
2221        format*,
2222        annotation*,
2223        x_source?
2224      }
2225
2226    # Redefine <rfc> to allow our extension elements
2227    rfc =
2228      element rfc {
2229        attlist.rfc,
2230        x_link*,
2231        x_assign-section-number*,
2232        front,
2233        middle,
2234        back?
2235      }
2236
2237
2238
2239Reschke                                                        [Page 40]
2240
2241Documentation             RFC2629 through XSLT                March 2011
2242
2243
2244    # Redefine <section> to allow our extension elements
2245    section =
2246      element section {
2247        attlist.section,
2248        (t
2249         | figure
2250         | texttable
2251         | iref
2252         | section
2253         | x_anchor-alias
2254         | x_blockquote
2255         | x_include-author
2256         | x_note
2257         | rdf_Description)*
2258      }
2259
2260    # Redefine <spanx> to allow some markup
2261    spanx =
2262      element spanx {
2263        attlist.spanx,
2264        (TEXT
2265          | iref
2266          | xref
2267          | x_ref)*
2268      }
2269
2270    # Redefine <t> to allow our extension elements
2271    t =
2272      element t {
2273        attlist.t,
2274        (TEXT
2275         | \list
2276         | figure
2277         | xref
2278         | eref
2279         | iref
2280         | cref
2281         | spanx
2282         | vspace
2283         | x_abnf-char-sequence
2284         | x_anchor-alias
2285         | x_bcp14
2286         | x_dfn
2287         | x_h
2288         | x_q
2289         | x_ref
2290         | x_sup)*
2291      }
2292
2293
2294
2295Reschke                                                        [Page 41]
2296
2297Documentation             RFC2629 through XSLT                March 2011
2298
2299
2300  }
2301
2302  # Allow x:indent-with attribute on <artwork>
2303  attlist.artwork &=
2304    attribute x:indent-with { ATEXT }?
2305
2306  # Allow anchor and x:annotation attributes on <author>
2307  attlist.author &=
2308    attribute anchor { xsd:ID }?,
2309    attribute x:annotation { ATEXT }?
2310
2311    # Extend attribute set for <iref> (see Section 11.23)
2312  attlist.iref &=
2313    attribute x:for-anchor { ATEXT }?
2314
2315  # Extend attribute set for <list> (see Section 11.24)
2316  attlist.list &=
2317    attribute x:indent { ATEXT }?
2318
2319  # Extend attribute set for <preamble>
2320  attlist.preamble &=
2321    attribute anchor { xsd:ID }?
2322
2323  # Extend attribute set for <rfc>
2324  attlist.rfc &=
2325    attribute grddl:transformation { ATEXT }?,
2326    attribute x:maturity-level { "proposed" | "draft" | "internet" }?
2327
2328  # Extend attribute set for <section> (see Section 11.26)
2329  attlist.section &=
2330    attribute x:fixed-section-number { ATEXT }?
2331
2332  # Allow anchor attribute on <spanx>
2333  attlist.spanx &=
2334    attribute anchor { xsd:ID }?
2335
2336  # Allow x:quotes attribute on <title>
2337  attlist.title &=
2338    attribute x:quotes { "true" | "false" }?
2339
2340  # Allow annotation attribute on <uri>
2341  attlist.uri &=
2342    attribute x:annotation { ATEXT }?
2343
2344  # Extend attribute set for <xref> (see Section 11.27)
2345  attlist.xref &=
2346    attribute x:fmt  { "()" | "," | "anchor" | "of" | "number" | "sec" |
2347                       "none" }?,
2348
2349
2350
2351Reschke                                                        [Page 42]
2352
2353Documentation             RFC2629 through XSLT                March 2011
2354
2355
2356    attribute x:rel  { ATEXT }?,
2357    attribute x:sec  { ATEXT }?
2358
2359  # Conversion to ABNF char sequence (see Section 11.1)
2360  x_abnf-char-sequence =
2361    element x:abnf-char-sequence {
2362      TEXT
2363    }
2364
2365  # Aliasing of anchors (see Section 11.2)
2366  x_anchor-alias =
2367    element x:anchor-alias {
2368      attribute value { TEXT },
2369      empty
2370    }
2371
2372  # Including Author information
2373  # (experimental)
2374  x_include-author =
2375    element x:include-author {
2376      attribute target { xsd:IDREF }
2377    }
2378
2379  # Setting section numbers for internally generated sections
2380  # (experimental)
2381  x_assign-section-number =
2382    element x:assign-section-number {
2383      attribute builtin-target { "authors" },
2384      attribute number { TEXT },
2385      empty
2386    }
2387
2388  # Bottom line of box drawing (see Section 11.4)
2389  x_bb =
2390    element x:bb {
2391      (TEXT
2392        | iref
2393        | xref
2394        | x_bb
2395        | x_bc
2396        | x_bt
2397        | x_ref)*
2398    }
2399
2400  # Center line of box drawing (see Section 11.5)
2401  x_bc =
2402    element x:bc {
2403      (TEXT
2404
2405
2406
2407Reschke                                                        [Page 43]
2408
2409Documentation             RFC2629 through XSLT                March 2011
2410
2411
2412        | iref
2413        | spanx
2414        | xref
2415        | x_bb
2416        | x_bc
2417        | x_bt
2418        | x_ref)*
2419    }
2420
2421  # BCP14/RFC2119 keywords (see Section 11.3)
2422  x_bcp14 =
2423    element x:bcp14 {
2424      "MAY"
2425      | "MUST"
2426      | "MUST NOT"
2427      | "NOT RECOMMENDED"
2428      | "OPTIONAL"
2429      | "RECOMMENDED"
2430      | "REQUIRED"
2431      | "SHALL"
2432      | "SHALL NOT"
2433      | "SHOULD"
2434      | "SHOULD NOT"
2435    }
2436
2437  # Blockquote (see Section 11.6)
2438  x_blockquote =
2439    element x:blockquote {
2440      attribute cite { URI }?,
2441      t+
2442    }
2443
2444  # Boilerplate (see Section 11.6)
2445  x_boilerplate =
2446    element x:boilerplate {
2447      section+
2448    }
2449
2450  # Top line of box drawing (see Section 11.8)
2451  x_bt =
2452    element x:bt {
2453      (TEXT
2454        | iref
2455        | xref
2456        | x_bb
2457        | x_bc
2458        | x_bt
2459        | x_ref)*
2460
2461
2462
2463Reschke                                                        [Page 44]
2464
2465Documentation             RFC2629 through XSLT                March 2011
2466
2467
2468    }
2469
2470  # Definition (see Section 11.9)
2471  x_dfn =
2472    element x:dfn {
2473      attribute anchor { xsd:ID }?,
2474      (TEXT
2475        | iref)*
2476    }
2477
2478  # Heading (see Section 11.10)
2479  x_h =
2480    element x:h {
2481      TEXT
2482    }
2483
2484  # Heading (see Section 11.11)
2485  x_highlight =
2486    element x:highlight {
2487      TEXT
2488    }
2489
2490  # Length Measurement (see Section 11.12)
2491  x_length-of =
2492    element x:length-of {
2493      attribute indented { NUMBER }?,
2494      attribute target { xsd:IDREF },
2495      empty
2496    }
2497
2498  # Link (see Section 11.13)
2499  x_link =
2500    element x:link {
2501      attribute href { URI },
2502      attribute title { TEXT }?,
2503      attribute rel { TEXT },
2504      empty
2505    }
2506
2507  # Extended list item (see Section 11.14)
2508  x_lt =
2509    element x:lt {
2510      attribute anchor { xsd:ID }?,
2511      attribute hangText { TEXT }?,
2512      t+
2513    }
2514
2515  # Note (see Section 11.15)
2516
2517
2518
2519Reschke                                                        [Page 45]
2520
2521Documentation             RFC2629 through XSLT                March 2011
2522
2523
2524  x_note =
2525    element x:note {
2526      t+
2527    }
2528
2529  # Signal XML content (see Section 11.16)
2530  x_parse-xml =
2531    element x:parse-xml {
2532      (TEXT
2533        | xref)*
2534    }
2535
2536  # Inline prose in a reference (see Section 11.17)
2537  x_prose =
2538    element x:prose {
2539      TEXT
2540    }
2541
2542  # Inline quote (see Section 11.18)
2543  x_q =
2544    element x:q {
2545      TEXT
2546    }
2547
2548  # Anchor reference (see Section 11.19)
2549  x_ref =
2550    element x:ref {
2551      attribute anchor { xsd:ID }?,
2552      TEXT
2553    }
2554
2555  # source information (see Section 11.20)
2556  x_source =
2557    element x:source {
2558      attribute basename { ATEXT }?,
2559      attribute href { URI },
2560      empty
2561    }
2562
2563  # superscript (see Section 11.21)
2564  x_sup =
2565    element x:sup {
2566      TEXT
2567    }
2568
2569  # Inline Span
2570  x_span =
2571    element x:span {
2572
2573
2574
2575Reschke                                                        [Page 46]
2576
2577Documentation             RFC2629 through XSLT                March 2011
2578
2579
2580      attribute anchor { xsd:ID }?,
2581      (TEXT
2582        | x_parse-xml)*
2583    }
2584
2585  # Nop (for alignment in source)
2586  x_x =
2587    element x:x {
2588      empty
2589    }
2590
2591  # Embed RDF statements
2592  rdf_Description =
2593    element rdf:Description {
2594      rdf_content
2595    }
2596
2597  rdf_content =
2598    ( TEXT | element * { rdf_content })*
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631Reschke                                                        [Page 47]
2632
2633Documentation             RFC2629 through XSLT                March 2011
2634
2635
2636Appendix B.  Implementation Notes
2637
2638B.1.  Recognized type attributes for <artwork> element
2639
2640   Specific values in the <artwork> element's "type" attribute are
2641   recognized and cause a different visual style to be used:
2642
2643   +-------------------------------------+-----------------------------+
2644   | Media Type                          | Comment                     |
2645   +-------------------------------------+-----------------------------+
2646   | abnf                                | ABNF as per [RFC5234]       |
2647   |                                     |                             |
2648   | abnf2616                            | ABNF as per [RFC2616],      |
2649   |                                     | Section 2.1                 |
2650   |                                     |                             |
2651   | application/relax-ng-compact-syntax | Relax NG Compact Syntax as  |
2652   |                                     | per [RNC]                   |
2653   |                                     |                             |
2654   | application/xml-dtd                 | XML DTD                     |
2655   |                                     |                             |
2656   | message/http; msgtype="request"     | HTTP message, as per        |
2657   |                                     | [RFC2616], Section 19.1     |
2658   |                                     |                             |
2659   | message/http; msgtype="response"    | HTTP message, as per        |
2660   |                                     | [RFC2616], Section 19.1     |
2661   +-------------------------------------+-----------------------------+
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687Reschke                                                        [Page 48]
2688
2689Documentation             RFC2629 through XSLT                March 2011
2690
2691
2692Appendix C.  Examples
2693
2694C.1.  Using the 'Internal Subset'
2695
2696   The prolog of the XML document can both be used to refer to an
2697   external DTD, and also to define internal entities (Section 2.8 of
2698   [XML]):
2699
2700   <?xml version="1.0"?>
2701   <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
2702
2703   <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
2704
2705     <!-- use "&MAY;" for a BCP 14 "MAY", see Section 11.3 -->
2706     <!ENTITY MAY
2707     "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>MAY</bcp14>">
2708
2709     <!-- re-declare "&nbsp;" as code point 160 (non-breaking space) -->
2710     <!-- you may need this for UAs that do not read external DTDs -->
2711     <!ENTITY nbsp
2712     "&#160;">
2713
2714     <!-- allow later RFC2616 reference using "&rfc2616;" -->
2715     <!-- the data will be fetched from xml.resource.org -->
2716     <!ENTITY rfc2616 PUBLIC
2717     "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml">
2718
2719     <!-- allow a custom reference using "&mydraft;" -->
2720     <!-- the data will be fetched from the same location as the
2721          source file -->
2722     <!ENTITY mydraft PUBLIC "reference.mydraft.xml">
2723   ]>
2724
2725   Note: including entities from a remote site will not work in Firefox,
2726   see <https://bugzilla.mozilla.org/show_bug.cgi?id=22942>.
2727
2728C.2.  Customization
2729
2730   The XSLT code can be customized by creating a custom XSLT file that
2731   uses <xsl:import> to include the original code, and just overrides
2732   particular rules.
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743Reschke                                                        [Page 49]
2744
2745Documentation             RFC2629 through XSLT                March 2011
2746
2747
2748   For instance, the code below overrides several attributes in
2749   "rfc2629toFO.xslt", changing the color, spacing and font family for
2750   headers.
2751
2752   <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
2753                  version="1.0">
2754
2755     <xsl:import href="rfc2629toFO.xslt"/>
2756
2757     <xsl:attribute-set name="h1">
2758       <xsl:attribute name="color">darkblue</xsl:attribute>
2759       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
2760       <xsl:attribute name="space-before">24pt</xsl:attribute>
2761     </xsl:attribute-set>
2762
2763     <xsl:attribute-set name="h2">
2764       <xsl:attribute name="color">darkblue</xsl:attribute>
2765       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
2766       <xsl:attribute name="space-before">18pt</xsl:attribute>
2767       <xsl:attribute name="space-after">3pt</xsl:attribute>
2768     </xsl:attribute-set>
2769
2770     <xsl:attribute-set name="h3">
2771       <xsl:attribute name="color">darkblue</xsl:attribute>
2772       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
2773       <xsl:attribute name="space-before">16pt</xsl:attribute>
2774       <xsl:attribute name="space-after">2pt</xsl:attribute>
2775     </xsl:attribute-set>
2776
2777   </xsl:transform>
2778
2779      Note: the name for the attribute sets may change in the future as
2780      more working is done with respect to customizability.  In any
2781      case, overriding the settings in a separate file will be easier to
2782      maintain.  Please contact the author if you find yourself trying
2783      to override style definitions that currently do not use attribute
2784      sets.
2785
2786      Note: the CSS style information used in "rfc2629.xslt" can be
2787      overriden in a similar (but less granular) way: just overwrite the
2788      template called "insertCss".  As for XSL-FO, the class names may
2789      change in future.
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799Reschke                                                        [Page 50]
2800
2801Documentation             RFC2629 through XSLT                March 2011
2802
2803
2804Appendix D.  Producing the IETF 'Boilerplate'
2805
2806   Various attributes of the "<rfc>" element plus some child elements of
2807   "<front>" affect the automatically generated parts of the front page,
2808   such as the tabular information at the beginning, the "Status Of This
2809   Memo", and the "Copyright Notice".
2810
2811   When submitting an Internet Draft, this "boilerplate" is checked by
2812   "Idnits" (<http://tools.ietf.org/tools/idnits/>) for compliance with
2813   the current Intellectual Property rules, and thus it is important to
2814   set the correct values.
2815
2816   Furthermore, the RFC Production Center uses RFC2629-based tools to
2817   generate the final RFC text, so the more accurate the supplied
2818   information is, the less additional work is left, and the risk for
2819   errors in producing the final (and immutable!) document is reduced.
2820
2821      Note: this only applies to the case when IETF documents are
2822      produced.  The "private" processing instruction allows to switch
2823      off most of the autogeneration logic.
2824
2825D.1.  The /rfc/@ipr Attribute
2826
2827   As of the time of this writing, this attribute value can take a long
2828   list of values.  As frequently, this is not the result of a grand
2829   plan, but simply for historic reasons.  Of these values, only a few
2830   are currently in use; all others are supported by the various tools
2831   for backwards compatibility with old source files.
2832
2833      Note: some variations of the boilerplate are selected based on the
2834      document's date; therefore it is important to specify the "year",
2835      "month" and "day" attributes of the "<date>" element when
2836      archiving the XML source of an Internet Draft on the day of
2837      submission.
2838
2839   _Disclaimer: THIS ONLY PROVIDES IMPLEMENTATION INFORMATION.  IF YOU
2840   NEED LEGAL ADVICE, PLEASE CONTACT A LAWYER._ For further information,
2841   refer to <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf>.
2842
2843   Finally, for the current "Status Of This Memo" text, the
2844   "submissionType" attribute determines whether a statement about "Code
2845   Components" is inserted (this is the case for the value "IETF", which
2846   also happens to be the default).  Other values, such as
2847   "independent", suppress this part of the text.
2848
2849
2850
2851
2852
2853
2854
2855Reschke                                                        [Page 51]
2856
2857Documentation             RFC2629 through XSLT                March 2011
2858
2859
2860D.1.1.  Current Values: '*trust200902'
2861
2862   The name for these values refers to the "TLP" ("IETF TRUST Legal
2863   Provisions Relating to IETF Documents"), on effect February 15, 2009
2864   (see <http://trustee.ietf.org/license-info/archive/
2865   IETF-Trust-License-Policy-20090215.pdf>).  Updates to this document
2866   were published on September 12, 2009 (TLP 3.0, <http://
2867   trustee.ietf.org/license-info/archive/
2868   IETF-Trust-License-Policy-20090912.pdf>) and on December 28, 2009
2869   (TLP 4.0, <http://trustee.ietf.org/license-info/archive/
2870   IETF-Trust-License-Policy-20091228.pdf>), modifying the license for
2871   code components.  The actual text is located in Section 6 ("Text To
2872   Be Included in IETF Documents") of these documents.
2873
2874   The tools will automatically produce the "right" text depending on
2875   the document's date information (see above):
2876
2877   +----+----------------------------------------------------+---------+
2878   | TL | URI                                                | startin |
2879   | P  |                                                    | g with  |
2880   |    |                                                    | publica |
2881   |    |                                                    | tion    |
2882   |    |                                                    | date    |
2883   +----+----------------------------------------------------+---------+
2884   | 3. | <http://trustee.ietf.org/license-info/archive/IETF | 2009-11 |
2885   | 0  | -Trust-License-Policy-20090912.pdf>                | -01     |
2886   |    |                                                    |         |
2887   | 4. | <http://trustee.ietf.org/license-info/archive/IETF | 2010-04 |
2888   | 0  | -Trust-License-Policy-20091228.pdf>                | -01     |
2889   +----+----------------------------------------------------+---------+
2890
2891D.1.1.1.  trust200902
2892
2893   This should be the default, unless one of the more specific
2894   '*trust200902' values is a better fit.  It produces the text in
2895   Sections 6.a and 6.b of the TLP.
2896
2897D.1.1.2.  noModificationTrust200902
2898
2899   This produces the additional text from Section 6.c.i of the TLP:
2900
2901      This document may not be modified, and derivative works of it may
2902      not be created, except to format it for publication as an RFC or
2903      to translate it into languages other than English.
2904
2905
2906
2907
2908
2909
2910
2911Reschke                                                        [Page 52]
2912
2913Documentation             RFC2629 through XSLT                March 2011
2914
2915
2916D.1.1.3.  noDerivativesTrust200902
2917
2918   This produces the additional text from Section 6.c.ii of the TLP:
2919
2920      This document may not be modified, and derivative works of it may
2921      not be created, and it may not be published except as an Internet-
2922      Draft.
2923
2924D.1.1.4.  pre5378Trust200902
2925
2926   This produces the additional text from Section 6.c.iii of the TLP,
2927   frequently called the "pre-5378 escape clause":
2928
2929      This document may contain material from IETF Documents or IETF
2930      Contributions published or made publicly available before November
2931      10, 2008.  The person(s) controlling the copyright in some of this
2932      material may not have granted the IETF Trust the right to allow
2933      modifications of such material outside the IETF Standards Process.
2934      Without obtaining an adequate license from the person(s)
2935      controlling the copyright in such materials, this document may not
2936      be modified outside the IETF Standards Process, and derivative
2937      works of it may not be created outside the IETF Standards Process,
2938      except to format it for publication as an RFC or to translate it
2939      into languages other than English.
2940
2941   See Section 4 of
2942   <http://trustee.ietf.org/docs/IETF-Copyright-FAQ.pdf> for further
2943   information about when to use this value.
2944
2945      Note: this text appears under "Copyright Notice", unless the
2946      document was published before November 2009, in which case it
2947      appears under "Status Of This Memo".
2948
2949D.1.2.  Historic Values
2950
2951D.1.2.1.  Historic Values: '*trust200811'
2952
2953   The attribute values "trust200811", "noModificationTrust200811" and
2954   "noDerivativesTrust200811" are similar to their "trust200902"
2955   counterparts, except that they use text specified in <http://
2956   trustee.ietf.org/license-info/archive/
2957   IETF-Trust-License-Policy_11-10-08.pdf>.
2958
2959D.1.2.2.  Historic Values: '*3978'
2960
2961   The attribute values "full3978", "noModification3978" and
2962   "noDerivatives3978" are similar to their counterparts above, except
2963   that they use text specified in RFC 3978 (March 2005).
2964
2965
2966
2967Reschke                                                        [Page 53]
2968
2969Documentation             RFC2629 through XSLT                March 2011
2970
2971
2972D.1.2.3.  Historic Values: '*3667'
2973
2974   The attribute values "full3667", "noModification3667" and
2975   "noDerivatives3667" are similar to their counterparts above, except
2976   that they use text specified in RFC 3667 (February 2004).
2977
2978D.1.2.4.  Historic Values: '*2026'
2979
2980   The attribute values "full2026" and "noDerivativeWorks2026" are
2981   similar to their counterparts above, except that they use text
2982   specified in RFC 2026 (October 1996).
2983
2984   The special value "none" was also used back then, and denied the IETF
2985   any rights beyond publication as Internet Draft.
2986
2987D.2.  The /rfc/@category Attribute
2988
2989   For RFCs, the "category" determines the "maturity level" (see Section
2990   4 of [RFC2026]).  The allowed values are "std" for "Standards Track",
2991   "bcp" for "BCP", "info" for "Informational", "exp" for
2992   "Experimental", and "historic" for - surprise - "Historic".
2993
2994   For Internet Drafts, the category attribute is not needed, but _will_
2995   appear on the front page ("Intended Status").  Supplying this
2996   information can be useful, because reviewers may want to know.
2997
2998      Note: the Standards Track consists of "Proposed Standard", "Draft
2999      Standards", and "Internet Standard".  These do not appear in the
3000      boilerplate, thus the category attribute doesn't handle them.
3001      However, this information can be useful for validity checkers, and
3002      thus "rfc2629.xslt" supports an extension attribute for that
3003      purpose (see Section 11.25 for details).
3004
3005D.3.  The /rfc/@submissionType Attribute
3006
3007   The RFC Editor publishes documents from different "document streams",
3008   of which the "IETF stream" of course is the most prominent one.
3009   Other streams are the "independent stream" (used for things like
3010   administrative information or April 1st RFCs), the "IAB stream"
3011   (Internet Architecture Board) and the "IRTF stream" (Internet
3012   Research Task Force).
3013
3014   Not surprisingly, the values for the attribute are "IETF" (the
3015   default value), "independent", "IAB", and "IRTF".
3016
3017   _The values "IAB" and "IRTF" are supported by rfc2629.xslt, but not
3018   yet allowed by the DTD (waiting for release 1.36 of xml2rfc)._
3019
3020
3021
3022
3023Reschke                                                        [Page 54]
3024
3025Documentation             RFC2629 through XSLT                March 2011
3026
3027
3028   Historically, this did not affect the final appearance of RFCs,
3029   except for subtle differences in Copyright notices.  Nowadays (as of
3030   [RFC5741]), the stream name appears in the first line of the front
3031   page, and it also affects the text in the "Status Of This Memo"
3032   section.
3033
3034   For current documents, setting "submissionType" attribute will have
3035   the following effect:
3036
3037   o  For RFCs, the stream name appears in the upper left corner of the
3038      first page (in Internet Drafts, this is either "Network Working
3039      Group", or the value of the "<workgroup>" element).
3040
3041   o  For RFCs, if affects the whole "Status Of This Memo" section (see
3042      Section 3.2.2 of [RFC5741]).
3043
3044   o  For all RFCs and Internet Drafts, it determines whether the
3045      "Copyright Notice" mentions the Copyright on Code Components (see
3046      TLP, Section "Text To Be Included in IETF Documents").
3047
3048      Note: as of Version 1.35, "xml2rfc" (as opposed to "rfc2629.xslt")
3049      does _not_ implement support values other than "IETF" or
3050      "independent".
3051
3052D.4.  The /rfc/@consensus Attribute
3053
3054   _Supported by rfc2629.xslt, but not yet allowed by the DTD (waiting
3055   for release 1.36 of xml2rfc)._
3056
3057   For some of the publication streams (see Appendix D.3), the "Status
3058   Of This Memo" section depends on whether there was a consensus to
3059   publish (again, see Section 3.2.2 of [RFC5741]).
3060
3061   The "consensus" attribute ("yes"/"no", defaulting to "yes") can be
3062   used to supply this information.  The effect for the various streams
3063   is:
3064
3065   o  "independent" and "IAB": none.
3066
3067   o  "IETF": mention that there was an IETF consensus.
3068
3069   o  "IRTF": mention that there was a research group consensus (where
3070      the name of the research group is extracted from the "<workgroup>"
3071      element).
3072
3073
3074
3075
3076
3077
3078
3079Reschke                                                        [Page 55]
3080
3081Documentation             RFC2629 through XSLT                March 2011
3082
3083
3084D.5.  The /rfc/@number Attribute
3085
3086   For RFCs, this attribute supplies the RFC number.
3087
3088D.6.  The /rfc/@docName Attribute
3089
3090   For Internet Drafts, this specifies the draft name (which appears
3091   below the title).  The file extension is _not_ part of the draft, so
3092   in general it should end with the current draft number ("-", plus two
3093   digits).
3094
3095      Note: "Idnits" (<http://tools.ietf.org/tools/idnits/>) checks the
3096      in-document draft name for consistency with the filename of the
3097      submitted document.
3098
3099D.7.  The /rfc/@obsoletes Attribute
3100
3101   The RFC Editor maintains a database
3102   (<http://www.rfc-editor.org/rfc.html>) of all RFCs, including
3103   information about which one obsoletes which.  Upon publication of an
3104   RFC, this database is updated from the data on the front page.
3105
3106   This attribute takes a list of comma-separated RFC _numbers_.  Do
3107   _not_ put the string "RFC" here.
3108
3109D.8.  The /rfc/@updates Attribute
3110
3111   This is like "obsoletes", but for the "updates" relation.
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135Reschke                                                        [Page 56]
3136
3137Documentation             RFC2629 through XSLT                March 2011
3138
3139
3140Appendix E.  License
3141
3142   Copyright (c) 2006-2010, Julian Reschke
3143   (julian.reschke@greenbytes.de)
3144
3145   All rights reserved.
3146
3147   Redistribution and use in source and binary forms, with or without
3148   modification, are permitted provided that the following conditions
3149   are met:
3150
3151   o  Redistributions of source code must retain the above copyright
3152      notice, this list of conditions and the following disclaimer.
3153
3154   o  Redistributions in binary form must reproduce the above copyright
3155      notice, this list of conditions and the following disclaimer in
3156      the documentation and/or other materials provided with the
3157      distribution.
3158
3159   o  Neither the name of Julian Reschke nor the names of its
3160      contributors may be used to endorse or promote products derived
3161      from this software without specific prior written permission.
3162
3163   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
3164   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3165   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
3166   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT
3167   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
3168   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
3169   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
3170   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
3171   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3172   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3173   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191Reschke                                                        [Page 57]
3192
3193Documentation             RFC2629 through XSLT                March 2011
3194
3195
3196Appendix F.  Change Logs
3197
3198F.1.  Package
3199
3200   2006-01-01  Switch to BSD License.
3201
3202   2007-01-12  Update to xml2rfc v1.33pre2.
3203
3204   2007-03-31  Update to xml2rfc v1.33pre3.
3205
3206   2007-05-01  Add XSLT test cases.
3207
3208   2008-07-18  Experimental support for inlined rdf:Description elements
3209      (ignored by the formatter, extracted by rfc2629grddl).
3210
3211   2008-12-04  Update to xml2rfc v1.34pre2.
3212
3213   2009-02-24  Experimental support for February 2009 boilerplate
3214      changes, and for the x:boilerplate element.
3215
3216   2009-07-08  Support new boilerplate ordering in RFCs published since
3217      July 2009.  Fix problems with one-column text tables.
3218
3219   2009-07-19  When possible, calculate the actual Expiry date for
3220      Internet Drafts (full date must be available).
3221
3222   2009-08-01  For '$xml2rfc-ext-authors-section='end'", move the index
3223      in front of the authors section.
3224
3225   2009-08-04  Consider /rfc/@ipr="pre5378Trust200902" when producing
3226      RFCs, not IDs.
3227
3228   2009-08-29  Support alignment for artwork containing images (as
3229      opposed to, well, artwork).
3230
3231   2009-09-01  Allow xref in cref (as extension).
3232
3233   2009-09-14  Refactor handling of processing instructions.
3234
3235   2009-09-24  Fix typo in Status Of This Memo, present since November
3236      2008.  Fix formatting of iprExtract attribute.  Starting with
3237      Internet Draft publication dates after 2009-11-30: use new Trust
3238      Legal Provisions text; for Internet Drafts: move Abstract up, and
3239      move "pre5378" escape clause to the Copyright Notice.  Add support
3240      for refparent PI.  For RFCs: use new TLP text as of September
3241      2009.  Incorporate xml2rfc v1.34pre4.
3242
3243
3244
3245
3246
3247Reschke                                                        [Page 58]
3248
3249Documentation             RFC2629 through XSLT                March 2011
3250
3251
3252   2009-10-06  Starting with Internet Draft publication dates after
3253      2009-10-31: use new Trust Legal Provisions text; for Internet
3254      Drafts: move Abstract up, and move "pre5378" escape clause to the
3255      Copyright Notice.  Incorporate xml2rfc v1.34pre5.
3256
3257   2009-10-27  Upgrade to xml2rfc v1.34.
3258
3259   2010-01-08  For RFC generation (not IDs), experimentally support RFC
3260      5741 headers and boilerplate and Trust Legal Provisions 4.0.
3261
3262   2010-03-31  Upgrade to xml2rfc v1.35.
3263
3264   2010-06-27  Be consistent with xml2rfc.tcl in formatting initials
3265      (truncate after the first); see
3266      <http://trac.tools.ietf.org/tools/xml2rfc/trac/ticket/10>.
3267
3268   2010-08-31  Experimental support for prose in references.
3269
3270   2011-01-27  Update to xml2rfc v1.36pre1.
3271
3272F.2.  amazon-asin.xslt
3273
3274   2003-11-16  Initial release.
3275
3276   2005-04-02  Fix two DTD issues.
3277
3278F.3.  check-references.xslt
3279
3280   2003-11-16  Initial release.
3281
3282   2004-05-11  Add document status; print references type.
3283
3284   2005-01-01  Add experimental check for ID status.
3285
3286   2005-04-01  Add fixes from Bill Fenner.
3287
3288   2005-12-03  Add checks against local copy of
3289      <http://www.w3.org/2002/01/tr-automation/tr.rdf>.
3290
3291   2006-07-22  Add checks for standards levels.
3292
3293   2006-08-06  "check-ietf-references.xslt" replaced by "check-
3294      references.xslt".
3295
3296   2007-01-04  Use information online at <http://tools.ietf.org/> to
3297      retrieve Internet-Draft status information.
3298
3299
3300
3301
3302
3303Reschke                                                        [Page 59]
3304
3305Documentation             RFC2629 through XSLT                March 2011
3306
3307
3308   2007-06-16  Fix bug looking up ref type when inside change markup.
3309
3310   2008-06-14  Enhance output when draft was updated, and then published
3311      as RFC.
3312
3313   2008-07-12  Add XSLT2-based link target checking.
3314
3315   2008-08-10  Change keywords for "intended-level" to proposed/draft/
3316      internet, optionally extract intended level from /rfc/@
3317      x:maturity-level attribute.
3318
3319F.4.  gen-reference-graph.xslt
3320
3321   2006-09-03  New.
3322
3323   2007-06-07  Use Carlisle method [15] to define exslt:node-set in
3324      msxsml (which means that the stylesheet can now be used with MSXML
3325      as well).
3326
3327   2007-10-15  Use W3C data from tr.rdf as well (experimental).
3328
3329F.5.  rfc2629.xslt
3330
3331   2001-03-28  Code rearranged, generate numbered section anchors for
3332      paragraphs (t) as well.  Fixes in index handling.
3333
3334   2001-04-12  Moved HTML output into XHTML namespace.
3335
3336   2001-10-02  Fixed default location for RFCs and numbering of section
3337      references.  Support ?rfc editing processing instruction.
3338
3339   2001-10-07  Made telephone number links active.
3340
3341   2001-10-08  Support for vspace element.
3342
3343   2001-10-09  Experimental support for rfc-issue PI.
3344
3345   2001-11-11  Support rfc private PI.  Removed bogus code reporting the
3346      WG in the header.
3347
3348   2001-11-11  Support rfc private PI.  Removed bogus code reporting the
3349      WG in the header.
3350
3351   2001-12-17  Support title attribute on references element
3352
3353
3354
3355
3356
3357
3358
3359Reschke                                                        [Page 60]
3360
3361Documentation             RFC2629 through XSLT                March 2011
3362
3363
3364   2002-01-05  Support for list/@style="@format"
3365
3366   2002-01-09  Display "closed" RFC issues as deleted
3367
3368   2002-01-14  Experimentally and optionally parse XML encountered in
3369      artwork elements (requires MSXSL).
3370
3371   2002-01-27  Some cleanup.  Moved RFC issues from PIs into namespaced
3372      elements.
3373
3374   2002-01-29  Added support for sortrefs PI.  Added support for figure
3375      names.
3376
3377   2002-02-07  Highlight parts of artwork which are too wide (72
3378      characters).
3379
3380   2002-02-12  Code rearrangement for static texts.  Fixes for section
3381      numbering.  TOC generation rewritten.
3382
3383   2002-02-15  Support for irefs in sections; support iref @primary=true
3384
3385   2002-03-03  Moved anchor prefix into a constant.  Added sanity checks
3386      on user anchor names.
3387
3388   2002-03-23  Bugfix in detection of matching org names when creating
3389      the header.  Fixed sorting in subitems.
3390
3391   2002-04-02  Fix TOC link HTML generation when no TOC is generated
3392      (created broken HTML table code).
3393
3394   2002-04-03  Made rendering of references more tolerant re: missing
3395      parts.
3396
3397   2002-04-08  Fixed reference numbering when references are split into
3398      separate sections.
3399
3400   2002-04-16  Fix default namespace (shouldn't be set for HTML output
3401      method).
3402
3403   2002-04-19  Lowercase internal CSS selectors for Mozilla compliance.
3404      Do not put TOC into ul element.
3405
3406   2002-04-21  Make numbered list inside numbered lists use alphanumeric
3407      numbering.
3408
3409
3410
3411
3412
3413
3414
3415Reschke                                                        [Page 61]
3416
3417Documentation             RFC2629 through XSLT                March 2011
3418
3419
3420   2002-05-05  Updated issue/editing support.
3421
3422   2002-05-15  Bugfix for section numbering after introduction of ed:
3423      replace
3424
3425   2002-06-21  When producing private documents, do not include document
3426      status, copyright etc.
3427
3428   2002-07-08  Fix xrefs to Appendices.
3429
3430   2002-07-19  Make artwork lightyellow for easier reading. (fielding)
3431
3432   2002-10-09  Translate references title to anchor name to avoid non-
3433      uri characters. (fielding)
3434
3435   2002-10-13  Support for tocdepth PI.
3436
3437   2002-11-03  Added temporariry workaround for Mozilla/Transformiix
3438      result tree fragment problem. (search for
3439      'http://bugzilla.mozilla.org/show_bug.cgi?id=143668')
3440
3441   2002-12-25  xref code: attempt to uppercase "section" and "appendix"
3442      when at the start of a sentence.
3443
3444   2003-02-02  fixed code for vspace blankLines="0", enhanced display
3445      for list with "format" style, got rid of HTML blockquote elements,
3446      added support for "hangIndent"
3447
3448   2003-04-10  experimental support for appendix and spanx elements
3449
3450   2003-04-19  fixed counting of list numbers in "format %" styles (one
3451      counter per unique format string).  Added more spanx styles.
3452
3453   2003-05-02  experimental texttable support
3454
3455   2003-05-02  Make mailto links optional (default = none) (jre: default
3456      and PI name changed) (fielding)
3457
3458   2003-05-04  experimental support for HTML link elements; fix default
3459      for table header alignment default
3460
3461   2003-05-06  support for "background" PI.
3462
3463   2003-05-11  change %c format to lowercase alphabetic. add support for
3464      keyword elements (generate META tag). fix various HTML conformance
3465      problems. added experimental support for role attribute. do not
3466      number paragraphs in unnumbered sections. update boilerplate
3467      texts. support for "iprnotified" PI. bugfix list numbering. strip
3468
3469
3470
3471Reschke                                                        [Page 62]
3472
3473Documentation             RFC2629 through XSLT                March 2011
3474
3475
3476      whitespace when building tel: URIs.
3477
3478   2003-05-12  more conformance fixes (layout moved into CSS, move lists
3479      and figures out of para content, do not use tables for list
3480      formatting)
3481
3482   2003-05-13  add DC.Creator meta tag, refactoring
3483
3484   2003-05-16  put nbsps between "section" and section number (xref).
3485
3486   2003-05-18  author summary: add missing comma.
3487
3488   2003-06-06  fix index generation bug (transposed characters in key
3489      generation).  Enhance sentence start detection (xref starting a
3490      section was using lowercase "section").
3491
3492   2003-06-22  exp. support for xref/@format.  Add missing support for
3493      eref w/o content. exp. support for annotations in reference
3494      elements.  Code cleanup reference table formatting.
3495
3496   2003-07-09  Another fix for DC.Creator meta tag creation based on
3497      RFC2731
3498
3499   2003-07-24  Fix namespace name for DC.Creator.
3500
3501   2003-08-06  Cleanup node-set support (only use exslt (saxon, xalan,
3502      libxslt) extension functions; remove Transformix workarounds that
3503      stopped to work in Moz 1.4)
3504
3505   2003-08-09  Generate HTML lang tag.
3506
3507   2003-08-10  Map spanx/verb to HTML "samp" element.  Fix author name
3508      display in references (reverse surname/initials for last author),
3509      add "Ed.".  Fix internal bookmark generation.
3510
3511   2003-08-17  Add DCMI dates, identifiers and abstract.  Add PI to
3512      suppress DCMI generation.  Do not add TOC entry to Copyright
3513      Statement when there is none.  Align RFC2629 PI names and
3514      parameter names.  Change style for inline URIs generated by eref.
3515      Add header and footer support.  Enhance CSS paging properties.
3516      Support topblock PI.  Added hooks for proper XHTML generation
3517      through separate XSLT.  Enhance warning and error messages.  Add
3518      support for artwork image display.  Table formatting fixes
3519      (borders, thead continuation).
3520
3521
3522
3523
3524
3525
3526
3527Reschke                                                        [Page 63]
3528
3529Documentation             RFC2629 through XSLT                March 2011
3530
3531
3532   2003-08-18  Add workaround for MSXML4 node-set and Mozilla node-set
3533      issues (fallback just displays are warning).
3534
3535   2003-10-06  Add workaround for broken pre/ins handling in Mozilla
3536      (see <http://bugzilla.mozilla.org/show_bug.cgi?id=204401>).  Make
3537      use of cite attribute on ed:replace.  CSS cleanup.
3538
3539   2003-10-08  Fix minor issue detecting the same org for the header
3540      (caused by IE's non-standard whitespace handling).  Fix default
3541      handling for /rfc/@category.
3542
3543   2003-11-09  Inherit ed:entered-by from ancestor elements.  Change CSS
3544      color for inserted text to green.  Generate issues-list anchor.
3545      Do not complain about missing targets when the xref element is
3546      below ed:del.  Remove code that attempted to distinguish section/
3547      Section when producing links - always use uppercase.  Fix date
3548      rendering for issue resolutions.
3549
3550   2003-11-29  Fix color values for table backgrounds for issue
3551      rendering.  Change rendering of issue links to use inline-styles.
3552      Add colored issue markers to issues.
3553
3554   2003-12-13  Fix inheritance of ed:entered-by attribute.  Display note
3555      elements inside change tracking as well.
3556
3557   2004-01-18  When PI compact = 'yes', make most CSS print page breaks
3558      conditional.
3559
3560   2004-02-20  Support for RFC3667 IPR changes (xml2rfc 1.22); see <http
3561      ://lists.xml.resource.org/pipermail/xml2rfc/2004-February/
3562      001088.html>.
3563
3564   2004-03-11  Add "(if approved)" to "updates" and "obsoletes" unless
3565      the document has an RFC number.
3566
3567   2004-04-01  Fix RFC3667 output, see <http://lists.xml.resource.org/
3568      pipermail/xml2rfc/2004-April/001208.html>.
3569
3570   2004-04-04  Add support for section/top attribute.  Move references
3571      into plain section container.
3572
3573   2004-04-06  Do not emit identical para anchors for deleted content.
3574
3575   2004-04-14  Fix references TOC generation when there are no
3576      references.
3577
3578
3579
3580
3581
3582
3583Reschke                                                        [Page 64]
3584
3585Documentation             RFC2629 through XSLT                March 2011
3586
3587
3588   2004-04-24  Fix RFC3667 output, see
3589      <http://xml.resource.org/pipermail/xml2rfc/2004-April/
3590      001246.html>.
3591
3592   2004-05-09  Add custom support for generating compound index
3593      documents.  Add anchors for each Index letter.  Add experimental
3594      cref support.  Fix conditional page breaks before References
3595      section.
3596
3597   2004-05-16  Refactor external index generation.
3598
3599   2004-05-20  Rewrite anchor generation for comments.
3600
3601   2004-05-22  Enhance issues rendering (add links to changes).
3602
3603   2004-05-30  Allow single quote as delimiter in processing
3604      instructions as well.  Move block-level issue pointers to floats.
3605      Disable issue pointers for print media.  Add "purple numbers".
3606      Add hrefs to section headings.  Add non-printing index key letter
3607      list to start of index.
3608
3609   2004-06-01  Use &#xb6; instead of # for PNs.
3610
3611   2004-07-18  Add support for list style=letters (thanks Roy F.).  Make
3612      PNs optional; add new PI.
3613
3614   2004-09-05  Fix index links into unnumbered sections.  Bring IPR
3615      boilerplate in-line with xml2rfc 1.25.  Add experimental CSS3
3616      paged media support.  Various HTML fixes.
3617
3618   2004-09-21  Enhance checking of artwork width.
3619
3620   2004-09-26  Add check for unused references.  Uppercase letters in
3621      list style letters when nested into another list.
3622
3623   2004-10-10  Fix internal change track pointers.
3624
3625   2004-11-01  Allow change tracking on references (as a whole).
3626      Rewrite artwork handling so that it allows change tracking inside
3627      artwork.  Also allow a subset of text markup inside artwork, such
3628      as xrefs (note this requires post-processing the source to make it
3629      compliant to RFC2629bis).
3630
3631   2004-11-03  Enhanced placement of iref anchors.
3632
3633
3634
3635
3636
3637
3638
3639Reschke                                                        [Page 65]
3640
3641Documentation             RFC2629 through XSLT                March 2011
3642
3643
3644   2004-11-06  Index: display irefs that appeared (with primary=true)
3645      inside artwork elements in a monospaced font.
3646
3647   2004-11-14  Add special code so that changes in section titles can be
3648      change-tracked.
3649
3650   2005-01-14  Bugfixes for HtmlToXhtml converter.
3651
3652   2005-01-22  Enhance generation of HTML h* elements (for Mozilla
3653      Outliner).
3654
3655   2005-01-31  Put vertical space around top-level TOC entries in TOC.
3656      Switch to pt-based CSS.  Re-arrange top section.  Make hr elements
3657      reflect new-page settings in TXT output (compact-PI).  Fix page
3658      number in footer (CSS print) and add some more experimental
3659      support for paged media (tested with Prince 4.1 alpha).  Rewrite
3660      TOC and Index generation to generate HTML lists.  Cleanup id
3661      generation for paragraphs.  Reduce whitespace in output.  Fix
3662      vspace implementation.  Use right/left dqoutes and copyright sign
3663      where appropriate.
3664
3665   2005-02-04  Add <link> element to references section.  Fix newly
3666      introduced bug in references processing.
3667
3668   2005-02-05  Integrate various fixes/enhancements by Roy Fielding:
3669      spelling of "Authors' Addresses", comma setting in references,
3670      position of "Authors" section, optionally place authors addresses
3671      at end (PI), trailing dots in section numbers, switch to verdana
3672      default font in CSS.  Add experimental support for centered
3673      artwork.
3674
3675   2005-02-09  Fixes in spacing and links of references section titles.
3676      Enhance sorting in references when change tracking is in place.
3677      Re-add figure centering support.  Add missing 2nd part of
3678      "Author's Adresses" fix.
3679
3680   2005-02-25  Align section number format with xml2rfc1.29.
3681
3682   2005-03-28  Get rid of table elements in Author's section.  Add
3683      experimental hCard (<http://developers.technorati.com/wiki/hCard>)
3684      support.
3685
3686   2005-04-03  Add RFC3978-style IPR statement support.
3687      (fenner@research.att.com)
3688
3689
3690
3691
3692
3693
3694
3695Reschke                                                        [Page 66]
3696
3697Documentation             RFC2629 through XSLT                March 2011
3698
3699
3700   2005-04-11  Cleanup author display. hCard related fixes.
3701
3702   2005-05-07  Minor fixes to allow change tracking in doc title.  Add
3703      experimental support for table border styles.  CSS cleanup.
3704
3705   2005-06-18  Implement missing support for references to texttables.
3706
3707   2005-09-25  Use (-moz-)column-count when printing the index.
3708
3709   2005-10-04  Report missing element templates with xsl:message.
3710
3711   2005-10-15  Process t/@anchor.
3712
3713   2005-10-23  More workarounds for Mozilla's broken del/ins handling
3714      (this time for figures).
3715
3716   2005-10-27  lowercase hCard class names
3717
3718   2005-11-22  Enhance diagnostics for XML-in-artwork extension
3719
3720   2005-11-26  Fix formatting of section numbers for sections inserted
3721      into <back>.
3722
3723   2005-12-12  Fix some validity problems when change tracking occured
3724      inside lists.
3725
3726   2005-12-18  Add change tracking inside the index.
3727
3728   2006-02-04  Add prev/next links to highlighted changes (change
3729      tracking extension).
3730
3731   2006-02-10  Catch errors instantiating MSXML component.
3732
3733   2006-02-11  References: add "work in progress" for Internet Drafts.
3734
3735   2006-02-27  Fix front matter (lowercase Internet-Draft, say "Intended
3736      status" for non-RFC documents).  Start work on experimental
3737      extension for simplified internal links.
3738
3739   2006-03-19  Tweaks to IESG Copyright stuff; support submissionType
3740      attribute.  Fix duplicate reference anchors in HTML output.
3741      Reduce HTML Tidy warnings.  Fix reference to normative ASCII
3742      version (now requires trailing ".txt").  Tweaks to hCard
3743      generation.  Started to move non-issue-tracking extensions into
3744      namespace "http://purl.org/net/xml2rfc/ext".
3745
3746
3747
3748
3749
3750
3751Reschke                                                        [Page 67]
3752
3753Documentation             RFC2629 through XSLT                March 2011
3754
3755
3756   2006-03-27  Moved "simple reference" extension into namespace
3757      "http://purl.org/net/xml2rfc/ext" and add documentation.  HTML
3758      conformance enhancements.
3759
3760   2006-04-02  Cleanup special code for automated XHTML XSLT generation.
3761
3762   2006-04-21  Generate <CITE> elements where appropiate.  Introduce
3763      x:blockquote, x:dfn, x:h and x:q elements.
3764
3765   2006-05-06  Introduce x:bcp14 element.
3766
3767   2006-05-14  Fix content model for x:blockquote.
3768
3769   2006-06-18  Add box drawing support (x:bt, x:bc, x:bb).
3770
3771   2006-06-20  HTML validity fixes (legal chars in anchors in index).
3772
3773   2006-06-24  Reduce leading empty lines in artwork.  Move <dt> style
3774      info into CSS.
3775
3776   2006-07-14  Fix rendering of multiple street address entries (missing
3777      line break).
3778
3779   2006-07-24  Add extension for deep linking into RFCs, do not generate
3780      empty list items in TOC output, avoid empty <dt> elements for list
3781      items without hangText attribute.
3782
3783   2006-08-01  Allow @anchor on more elements; start work on Relax NG
3784      grammar for extensions.  Reduce generated style elements (use CSS
3785      classes instead).  Consistently use "id" instead of "name".
3786      Change default target for RFC links to
3787      "http://tools.ietf.org/html/rfcNNNN".
3788
3789   2006-08-06  Include appendices defined in <appendix> elements in TOC
3790      (please consider them deprecated anyhow!).  Generate links to
3791      "http://tools.ietf.org/html/draft-*" for Internet Drafts.  Replace
3792      x:frag by x:rel, allowing any kind of relative reference instead
3793      of just fragments.
3794
3795   2006-08-30  Reduce textual differences between HTML output and what
3796      xml2rfc produces in TXT output mode (section refs/reference
3797      targets).  Add small workaround for Opera 9.0.1's problem with
3798      node-set().
3799
3800   2006-10-29  Fix problem generating internal links to change markup
3801      within references section.  Enhancements when generating numbered
3802      references for deleted references.  Allow inclusion of references
3803      into the index (through include-references-in-index extension).
3804
3805
3806
3807Reschke                                                        [Page 68]
3808
3809Documentation             RFC2629 through XSLT                March 2011
3810
3811
3812      Fix a bug that caused the newer version of the IETF boilerplate to
3813      be produced rather than the pre-RFC3667 one.  Update to RFC4287
3814      boilerplate.
3815
3816   2006-11-11  Add extension attribute x:for-anchor to <iref> handling.
3817
3818   2006-11-26  Experimental (and limited) support for <x:lt>.
3819
3820   2006-12-04  Fix bugs in processing documents that have both the ipr
3821      and the number attribute set on the rfc root element.  Add support
3822      for x:fmt='none' on xrefs.  Add different pre style based on
3823      artwork type attributes (experimental).
3824
3825   2006-12-13  Add x:fmt='anchor' for xref elements.
3826
3827   2007-01-07  Fix root template for compatibility for the exslt:node-
3828      set implementation in Firefox3.
3829
3830   2007-01-29  Avoid empty table entry in front matter when organization
3831      is not specified for an author.
3832
3833   2007-02-10  Allow change tracking in table rows.
3834
3835   2007-03-09  Add hcard profile URI (<http://www.w3.org/2006/03/hcard>)
3836      to head element.  Add warning for misplaced <t> elements (after
3837      section).
3838
3839   2007-03-21  Fix internal linking from reference entries in index for
3840      some xref types.  Minor CSS tweaks contributed by MTR.  Allow
3841      turning on text justification through a PI.  Improve iref anchor
3842      generation to generate less instable anchors.
3843
3844   2007-03-28  Fixes for numbering of ed:inserted references sections.
3845
3846   2007-05-04  Do not generate anchors for edits in deleted sections.
3847      Enhance HTML conformance.
3848
3849   2007-05-19  Enhance diagnostics when using Saxon (needs Saxon's "-l"
3850      command line parameter to keep line number information).  Add
3851      warning when symref PI is missing (default will change in the
3852      future).  Add support for overriding computed section numbers
3853      (when formatting historic documents).
3854
3855   2007-06-07  Change default for symrefs PI to "yes" (see change in
3856      xml2rfc 1.33pre4).  Warn about docName attributes that appear to
3857      contain a file extension.
3858
3859
3860
3861
3862
3863Reschke                                                        [Page 69]
3864
3865Documentation             RFC2629 through XSLT                March 2011
3866
3867
3868   2007-06-26  Workaround author/@initials values without trailing dot,
3869      as in xml2rfc.tcl.
3870
3871   2007-07-14  Enhance index generation for references that use @x:sec
3872      attribute.
3873
3874   2007-09-09  Fix: sortrefs is a nop when symrefs=no.
3875
3876   2007-10-17  Work in progress: add support for referencing sections in
3877      sibling documents by anchor name.
3878
3879   2007-10-17  Work in progress (continued): support for referencing
3880      sections in sibling documents by anchor name.
3881
3882   2007-12-31  Emit warning when updating/obsoleting stuff that's not
3883      referenced.
3884
3885   2008-02-03  Support xml2rfc-1.33pre5's suppress-title attribute on
3886      texttable and figure.
3887
3888   2008-02-06  Extension: allow <eref> below <cref>.
3889
3890   2008-02-17  Extensions: add x:span and x:length-of.
3891
3892   2008-02-20  Add new RFC boilerplate (as changed in 2007-08).
3893
3894   2008-02-27  Improve diagnostics for artwork width problems; add
3895      defaulting of publication dates (requires XSLT processor
3896      supporting exslt:date, or msxml).
3897
3898   2008-02-29  Enhance CSS for link elements in the front header, update
3899      rules for generating "Acknowledgment" statement.
3900
3901   2008-03-01  Use line numbers in diagnostics in Saxon8/9 as well.
3902
3903   2008-03-02  Fix a bug in the logic choosing the boilerplate,
3904      resulting in obsolete text being inserted into IDs.
3905
3906   2008-04-01  Add support for superscript element.
3907
3908   2008-06-28  Add sanity checks for email addresses, allow multiple
3909      email elements.
3910
3911   2008-07-06  Add x:abnf-char-sequence.
3912
3913
3914
3915
3916
3917
3918
3919Reschke                                                        [Page 70]
3920
3921Documentation             RFC2629 through XSLT                March 2011
3922
3923
3924   2008-08-21  Add x:note.
3925
3926   2008-09-06  Add experimental support for SVG images.
3927
3928   2008-09-17  Add experimental support for x:author.  Fix xref/@
3929      format=none.
3930
3931   2008-10-10  Fix a huge bug, causing text content after an XML comment
3932      to be ignored.
3933
3934   2009-02-24  Use table/caption when needed.
3935
3936   2009-03-07  Fix bug that caused text to disappear in the output in
3937      presence of processing instructions.
3938
3939   2009-03-12  Make inlined comments bookmarkable.
3940
3941   2009-04-09  Upgrade to DC-HTML from RFC 2731 (affects head/@profile).
3942
3943   2009-07-08  Remove table/@summary in output; the value getting
3944      inserted was just repeating stuff that appeared in the preamble.
3945
3946   2009-08-01  Implement table alignment (HTML output only for now).
3947
3948   2009-08-18  Replicate Dublin Core "abstract" metadata into meta/@
3949      name=description (search engines do use it).
3950
3951   2009-09-02  Fix default/left alignment of table columns, remove silly
3952      table summmary attributes.
3953
3954   2009-09-24  Support double-sided layout using CSS page:left/right
3955      selectors.
3956
3957   2009-11-27  Generate unordered lists instead of broken definition
3958      lists for list style empty.
3959
3960F.6.  rfc2629toFO.xslt
3961
3962   2003-11-16  Initial release.
3963
3964   2003-11-29  Enhance handling of unknown list styles.
3965
3966   2004-04-04  Update reference section handling.
3967
3968   2004-04-17  Use XSL-WD-1.1-style fo:bookmark and index handling and
3969      add postprocessors for existing implementations.  Unify PDF info
3970      generation by using XEP (postprocessors) will convert.
3971
3972
3973
3974
3975Reschke                                                        [Page 71]
3976
3977Documentation             RFC2629 through XSLT                March 2011
3978
3979
3980   2004-04-20  Add experimental cref support.
3981
3982   2004-06-14  Set correct index-item defaults.
3983
3984   2004-07-18  Add list style=letters.
3985
3986   2004-09-03  Make URLs in text break where they are allowed to break
3987      by inserting zero-width spaces.
3988
3989   2004-09-26  Fix letter-style inside nested lists.
3990
3991   2004-10-31  Update handling of artwork.
3992
3993   2004-11-13  Fix handling of references inside ed:* markup.  Fix
3994      whitespace handling in artwork.
3995
3996   2004-11-27  Irefs in artwork generate monospaced entries in index.
3997
3998   2005-01-31  Fix TOC generation that was broken after changes in main
3999      XSLT.
4000
4001   2005-02-05  Bring in sync with cosmetic changes in rfc2629.xslt.
4002
4003   2005-05-07  Minor fix for change tracking in document title.  Support
4004      for table styles.
4005
4006   2005-06-18  Fix references to tables.
4007
4008   2005-10-15  Process t/@anchor.
4009
4010   2006-02-11  References: add "work in progress" for Internet Drafts.
4011
4012   2006-06-02  Use XSL 1.1 WD Feb 2006.
4013
4014   2007-03-21  Support optional text justification.
4015
4016   2007-05-19  Various improvements in spacing; also allow overriding
4017      the automatic list indentation via list/x:indent.
4018
4019   2009-04-08  Fix spacing in headers; add support for formatting for
4020      double-sided printing.
4021
4022   2009-08-01  Remove surplus empty pages when not generating double-
4023      sided output.
4024
4025
4026
4027
4028
4029
4030
4031Reschke                                                        [Page 72]
4032
4033Documentation             RFC2629 through XSLT                March 2011
4034
4035
4036F.7.  xsl11toAn.xslt
4037
4038   2004-05-17  Initial release.
4039
4040   2006-06-02  Use XSL 1.1 WD Feb 2006.
4041
4042F.8.  xsl11toFop.xslt
4043
4044   2010-08-25  Switch to Apache FOP 1.0.
4045
4046   2009-09-12  Support for FOP 0.20.5 and FOP 0.93 removed.  Please use
4047      FOP 0.95.
4048
4049   2008-03-15  Add a workaround to the fo:inline workaround (sigh).
4050
4051F.9.  xsl11toXep.xslt
4052
4053   2004-05-17  Initial release.
4054
4055   2004-09-04  Fix xep:index-item attributes.
4056
4057   2006-06-02  Use XSL 1.1 WD Feb 2006.
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087Reschke                                                        [Page 73]
4088
4089Documentation             RFC2629 through XSLT                March 2011
4090
4091
4092Index
4093
4094   A
4095      abnf-char-sequence Extension Element  24, 38
4096      allow-markup-in-artwork PI pseudo-attribute  9
4097      alternate HTML LINK element  17
4098      anchor-alias Extension Element  24, 38
4099      Anchors
4100         rfc.abstract  14
4101         rfc.authors  14
4102         rfc.copyright  14
4103         rfc.copyrightnotice  14
4104         rfc.figure.n  14
4105         rfc.figure.u.n  14
4106         rfc.index  14
4107         rfc.ipr  14
4108         rfc.iref.n  14
4109         rfc.note.n  14
4110         rfc.references  14
4111         rfc.section.n  14
4112         rfc.section.n.p.m  14
4113         rfc.status  14
4114         rfc.toc  14
4115         rfc.xref.name.n  14
4116      AntennaHouse XSL Formatter  21
4117      Apache FOP  21
4118      appendix HTML LINK element  17
4119      assign-section-number Extension Element  38
4120      author HTML LINK element  17
4121      authors-section PI pseudo-attribute  9
4122
4123   B
4124      background PI pseudo-attribute  7
4125      bb Extension Element  25, 38
4126      bc Extension Element  25, 38
4127      bcp14 Extension Element  24, 38
4128      blockquote Extension Element  25, 38
4129      boilerplate Extension Element  25, 38
4130      bt Extension Element  26, 38
4131
4132   C
4133      chapter HTML LINK element  17
4134      CHM format  20
4135      comments PI pseudo-attribute  7
4136      compact PI pseudo-attribute  7
4137      contents HTML LINK element  17
4138      copyright HTML LINK element  17
4139      Creator DCMI property  18
4140
4141
4142
4143Reschke                                                        [Page 74]
4144
4145Documentation             RFC2629 through XSLT                March 2011
4146
4147
4148   D
4149      Date.Issued DCMI property  18
4150      DCMI properties
4151         Creator  18
4152         Date.Issued  18
4153         Description.Abstract  18
4154         Identifier  18
4155         isPartOf  18
4156         Relation.Replaces  18
4157      Description.Abstract DCMI property  18
4158      dfn Extension Element  26, 38
4159      duplex PI pseudo-attribute  9
4160
4161   E
4162      editing PI pseudo-attribute  7
4163      Extension Elements
4164         abnf-char-sequence  24, 38
4165         anchor-alias  24, 38
4166         assign-section-number  38
4167         bb  25, 38
4168         bc  25, 38
4169         bcp14  24, 38
4170         blockquote  25, 38
4171         boilerplate  25, 38
4172         bt  26, 38
4173         dfn  26, 38
4174         h  26, 38
4175         highlight  26, 38
4176         include-author  38
4177         length-of  26, 38
4178         link  26, 38
4179         lt  27, 38
4180         note  27, 38
4181         parse-xml  27, 38
4182         prose  27, 38
4183         q  27, 38
4184         rdf:Description  38
4185         ref  27, 38
4186         source  28, 38
4187         span  38
4188         sup  28, 38
4189         x  38
4190
4191   F
4192      Firefox
4193         1.*/2.*  16
4194         3.*  15
4195      footer PI pseudo-attribute  7
4196
4197
4198
4199Reschke                                                        [Page 75]
4200
4201Documentation             RFC2629 through XSLT                March 2011
4202
4203
4204   G
4205      generator HTML META element  18
4206      Google Chrome  16
4207      Grammar  38
4208
4209   H
4210      h Extension Element  26, 38
4211      header PI pseudo-attribute  7
4212      highlight Extension Element  26, 38
4213      HTML compliance  17
4214      HTML LINK elements
4215         alternate  17
4216         appendix  17
4217         author  17
4218         chapter  17
4219         contents  17
4220         copyright  17
4221         index  17
4222      HTML META elements
4223         generator  18
4224         keywords  18
4225
4226   I
4227      Identifier DCMI property  18
4228      include PI pseudo-attribute  8
4229      include-author Extension Element  38
4230      include-references-in-index PI pseudo-attribute  9
4231      index HTML LINK element  17
4232      inline PI pseudo-attribute  7
4233      Internet Explorer 5.5  15
4234      Internet Explorer 6  15
4235      Internet Explorer 7  15
4236      Internet Explorer 8  15
4237      iprnotified PI pseudo-attribute  7
4238      isPartOf DCMI property  18
4239
4240   J
4241      justification PI pseudo-attribute  9
4242
4243   K
4244      keywords HTML META element  18
4245
4246   L
4247      length-of Extension Element  26, 38
4248      link Extension Element  26, 38
4249      linkmailto PI pseudo-attribute  7
4250      lt Extension Element  27, 38
4251
4252
4253
4254
4255Reschke                                                        [Page 76]
4256
4257Documentation             RFC2629 through XSLT                March 2011
4258
4259
4260   M
4261      Microsoft Help  20
4262      Mozilla  15-16
4263      MSXML3  15
4264      MSXML4  15
4265
4266   N
4267      needLines PI pseudo-attribute  8
4268      NoScript  15
4269      note Extension Element  27, 38
4270
4271   O
4272      Opera  16
4273
4274   P
4275      Parameters
4276         xml2rfc-background  7
4277         xml2rfc-comments  7
4278         xml2rfc-compact  7
4279         xml2rfc-editing  7
4280         xml2rfc-ext-allow-markup-in-artwork  9
4281         xml2rfc-ext-authors-section  9
4282         xml2rfc-ext-duplex  9
4283         xml2rfc-ext-include-references-in-index  9
4284         xml2rfc-ext-justification  9
4285         xml2rfc-ext-parse-xml-in-artwork  9
4286         xml2rfc-ext-sec-no-trailing-dots  9
4287         xml2rfc-ext-support-rfc2731  9
4288         xml2rfc-footer  7
4289         xml2rfc-header  7
4290         xml2rfc-inline  7
4291         xml2rfc-iprnotified  7
4292         xml2rfc-linkmailto  7
4293         xml2rfc-private  7
4294         xml2rfc-refparent  7
4295         xml2rfc-rfcedstyle  7
4296         xml2rfc-sortrefs  7
4297         xml2rfc-symrefs  7
4298         xml2rfc-toc  7
4299         xml2rfc-tocdepth  7
4300         xml2rfc-topblock  7
4301      parse-xml Extension Element  27, 38
4302      parse-xml-in-artwork PI pseudo-attribute  9
4303      private PI pseudo-attribute  7, 51
4304      Processing Instruction pseudo attributes
4305         allow-markup-in-artwork  9
4306         authors-section  9
4307         background  7
4308
4309
4310
4311Reschke                                                        [Page 77]
4312
4313Documentation             RFC2629 through XSLT                March 2011
4314
4315
4316         comments  7
4317         compact  7
4318         duplex  9
4319         editing  7
4320         footer  7
4321         header  7
4322         ijustification  9
4323         include  8
4324         include-references-in-index  9
4325         inline  7
4326         iprnotified  7
4327         linkmailto  7
4328         needLines  8
4329         parse-xml-in-artwork  9
4330         private  7, 51
4331         refparent  7
4332         rfcedstyle  7
4333         sec-no-trailing-dots  9
4334         slides  8
4335         sortrefs  7
4336         strict  8
4337         subcompact  8
4338         support-rfc2731  9
4339         symrefs  7
4340         toc  7
4341         tocdepth  7
4342         tocindent  8
4343         tocompact  8
4344         topblock  7
4345      prose Extension Element  27, 38
4346
4347   Q
4348      q Extension Element  27, 38
4349
4350   R
4351      rdf:Description Extension Element  38
4352      ref Extension Element  27, 38
4353      refparent PI pseudo-attribute  7
4354      Relation.Replaces DCMI property  18
4355      RELAX NG Compact Schema  38
4356      rfc.abstract anchor  14
4357      rfc.authors anchor  14
4358      rfc.copyright anchor  14
4359      rfc.copyrightnotice anchor  14
4360      rfc.figure.n anchor  14
4361      rfc.figure.u.n anchor  14
4362      rfc.index anchor  14
4363      rfc.ipr anchor  14
4364
4365
4366
4367Reschke                                                        [Page 78]
4368
4369Documentation             RFC2629 through XSLT                March 2011
4370
4371
4372      rfc.iref.n anchor  14
4373      rfc.note.n anchor  14
4374      rfc.references anchor  14
4375      rfc.references.n anchor  14
4376      rfc.section.n anchor  14
4377      rfc.section.n.p.m anchor  14
4378      rfc.status anchor  14
4379      rfc.toc anchor  14
4380      rfc.xref.name.n anchor  14
4381      rfcedstyle PI pseudo-attribute  7
4382
4383   S
4384      Safari  15-16
4385         3.*  15
4386      Saxon  15
4387      Schema  38
4388      sec-no-trailing-dots PI pseudo-attribute  9
4389      slides PI pseudo-attribute  8
4390      sortrefs PI pseudo-attribute  7
4391      source Extension Element  28, 38
4392      span Extension Element  38
4393      strict PI pseudo-attribute  8
4394      subcompact PI pseudo-attribute  8
4395      sup Extension Element  28, 38
4396      support-rfc2731 PI pseudo-attribute  9
4397      symrefs PI pseudo-attribute  7
4398
4399   T
4400      toc PI pseudo-attribute  7
4401      tocdepth PI pseudo-attribute  7
4402      tocindent PI pseudo-attribute  8
4403      tocompact PI pseudo-attribute  8
4404      topblock PI pseudo-attribute  7
4405
4406   X
4407      x Extension Element  38
4408      Xalan  15
4409      xml-stylesheet PI  17
4410      xml2rfc-background parameter  7
4411      xml2rfc-comments parameter  7
4412      xml2rfc-editing parameter  7
4413      xml2rfc-ext-allow-markup-in-artwork parameter  9
4414      xml2rfc-ext-authors-section parameter  9
4415      xml2rfc-ext-duplex  9
4416      xml2rfc-ext-include-references-in-index parameter  9
4417      xml2rfc-ext-justification parameter  9
4418      xml2rfc-ext-parse-xml-in-artwork parameter  9
4419      xml2rfc-ext-sec-no-trailing-dots parameter  9
4420
4421
4422
4423Reschke                                                        [Page 79]
4424
4425Documentation             RFC2629 through XSLT                March 2011
4426
4427
4428      xml2rfc-ext-support-rfc2731 parameter  9
4429      xml2rfc-footer parameter  7
4430      xml2rfc-header parameter  7
4431      xml2rfc-inline parameter  7
4432      xml2rfc-iprnotified parameter  7
4433      xml2rfc-linkmailto parameter  7
4434      xml2rfc-private parameter  7
4435      xml2rfc-refparent parameter  7
4436      xml2rfc-rfcedstyle parameter  7
4437      xml2rfc-sortrefs parameter  7
4438      xml2rfc-symrefs parameter  7
4439      xml2rfc-toc parameter  7
4440      xml2rfc-tocdepth parameter  7
4441      xml2rfc-topblock parameter  7
4442      xsltproc  15
4443         passing parameters  6
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479Reschke                                                        [Page 80]
4480
4481Documentation             RFC2629 through XSLT                March 2011
4482
4483
4484Author's Address
4485
4486   Julian F. Reschke
4487   greenbytes GmbH
4488   Hafenweg 16
4489   Muenster, NW  48155
4490   Germany
4491
4492   Phone: +49 251 2807760
4493   Email: julian.reschke@greenbytes.de
4494   URI:   http://greenbytes.de/tech/webdav/
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535Reschke                                                        [Page 81]
4536
Note: See TracBrowser for help on using the repository browser.