source: rfc2629xslt/rfc2629xslt.txt @ 560

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

update to latest version of rfc2629.xslt

  • Property svn:eol-style set to native
File size: 106.8 KB
Line 
1
2
3
4RFC2629 through XSLT                                          J. Reschke
5                                                              greenbytes
6                                                          March 12, 2009
7
8
9            Transforming RFC2629-formatted XML through XSLT
10
11
12Table of Contents
13
14   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
15   2.  Supported RFC2629 elements . . . . . . . . . . . . . . . . . .  4
16     2.1.   Extension elements  . . . . . . . . . . . . . . . . . . .  4
17   3.  Processing Instructions  . . . . . . . . . . . . . . . . . . .  5
18     3.1.   Supported xml2rfc-compatible PIs  . . . . . . . . . . . .  6
19     3.2.   Unsupported xml2rfc-compatible PIs  . . . . . . . . . . .  7
20     3.3.   Extension PIs . . . . . . . . . . . . . . . . . . . . . .  8
21   4.  Anchors  . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
22   5.  Supported XSLT engines . . . . . . . . . . . . . . . . . . . . 13
23     5.1.   Standalone Engines  . . . . . . . . . . . . . . . . . . . 13
24     5.2.   In-Browser Engines  . . . . . . . . . . . . . . . . . . . 13
25   6.  Transforming to HTML . . . . . . . . . . . . . . . . . . . . . 15
26     6.1.   HTML compliance . . . . . . . . . . . . . . . . . . . . . 15
27     6.2.   Standard HTML LINK elements . . . . . . . . . . . . . . . 15
28     6.3.   Standard HTML metadata  . . . . . . . . . . . . . . . . . 16
29     6.4.   Dublin Core (RFC2731) metadata  . . . . . . . . . . . . . 16
30     6.5.   Experimental hCard support  . . . . . . . . . . . . . . . 16
31   7.  Transforming to XHTML  . . . . . . . . . . . . . . . . . . . . 17
32   8.  Transforming to CHM (Microsoft Compiled Help)  . . . . . . . . 18
33   9.  Transforming to PDF  . . . . . . . . . . . . . . . . . . . . . 19
34     9.1.   Via XSL-FO  . . . . . . . . . . . . . . . . . . . . . . . 19
35       9.1.1.  Extension feature matrix . . . . . . . . . . . . . . . 19
36       9.1.2.  Example: producing output for Apache FOP . . . . . . . 20
37     9.2.   Via X(HTML) . . . . . . . . . . . . . . . . . . . . . . . 20
38   10. Generic Extensions . . . . . . . . . . . . . . . . . . . . . . 21
39     10.1.  <abnf-char-sequence> element  . . . . . . . . . . . . . . 21
40     10.2.  <anchor-alias> element  . . . . . . . . . . . . . . . . . 21
41     10.3.  <bcp14> element . . . . . . . . . . . . . . . . . . . . . 21
42     10.4.  <bb> element  . . . . . . . . . . . . . . . . . . . . . . 22
43     10.5.  <bc> element  . . . . . . . . . . . . . . . . . . . . . . 22
44     10.6.  <blockquote> element  . . . . . . . . . . . . . . . . . . 22
45     10.7.  <boilerplate> element . . . . . . . . . . . . . . . . . . 22
46     10.8.  <bt> element  . . . . . . . . . . . . . . . . . . . . . . 23
47     10.9.  <dfn> element . . . . . . . . . . . . . . . . . . . . . . 23
48     10.10. <h> element . . . . . . . . . . . . . . . . . . . . . . . 23
49     10.11. <highlight> element . . . . . . . . . . . . . . . . . . . 23
50     10.12. <length-of> element . . . . . . . . . . . . . . . . . . . 23
51     10.13. <link> element  . . . . . . . . . . . . . . . . . . . . . 23
52
53
54
55Reschke                                                         [Page 1]
56
57Documentation             RFC2629 through XSLT                March 2009
58
59
60     10.14. <lt> element  . . . . . . . . . . . . . . . . . . . . . . 24
61     10.15. <note> element  . . . . . . . . . . . . . . . . . . . . . 24
62     10.16. <parse-xml> element . . . . . . . . . . . . . . . . . . . 24
63     10.17. <q> element . . . . . . . . . . . . . . . . . . . . . . . 24
64     10.18. <ref> element . . . . . . . . . . . . . . . . . . . . . . 24
65     10.19. <source> element  . . . . . . . . . . . . . . . . . . . . 25
66     10.20. <sup> element . . . . . . . . . . . . . . . . . . . . . . 25
67     10.21. Extensions to Xml2rfc <artwork> element . . . . . . . . . 25
68     10.22. Extensions to Xml2rfc <iref> element  . . . . . . . . . . 25
69     10.23. Extensions to Xml2rfc <list> element  . . . . . . . . . . 26
70     10.24. Extensions to Xml2rfc <rfc> element . . . . . . . . . . . 26
71     10.25. Extensions to Xml2rfc <section> element . . . . . . . . . 26
72     10.26. Extensions to Xml2rfc <xref> element  . . . . . . . . . . 26
73   11. Utilities  . . . . . . . . . . . . . . . . . . . . . . . . . . 28
74     11.1.  Checking References . . . . . . . . . . . . . . . . . . . 28
75     11.2.  Generating Graphs from References . . . . . . . . . . . . 30
76     11.3.  Producing reference entries for books . . . . . . . . . . 30
77     11.4.  Down-converting to RFC2629bis DTD . . . . . . . . . . . . 31
78     11.5.  Extracting artwork  . . . . . . . . . . . . . . . . . . . 31
79     11.6.  GRRDL . . . . . . . . . . . . . . . . . . . . . . . . . . 32
80   12. Informative References . . . . . . . . . . . . . . . . . . . . 33
81   Appendix A.  RELAX NG Compact Schema . . . . . . . . . . . . . . . 35
82   Appendix B.  Implementation Notes  . . . . . . . . . . . . . . . . 44
83     B.1.   Recognized type attributes for <artwork> element  . . . . 44
84   Appendix C.  License . . . . . . . . . . . . . . . . . . . . . . . 45
85   Appendix D.  Change Logs . . . . . . . . . . . . . . . . . . . . . 46
86     D.1.   Package . . . . . . . . . . . . . . . . . . . . . . . . . 46
87     D.2.   amazon-asin.xslt  . . . . . . . . . . . . . . . . . . . . 46
88     D.3.   check-references.xslt . . . . . . . . . . . . . . . . . . 46
89     D.4.   gen-reference-graph.xslt  . . . . . . . . . . . . . . . . 47
90     D.5.   rfc2629.xslt  . . . . . . . . . . . . . . . . . . . . . . 47
91     D.6.   rfc2629toFO.xslt  . . . . . . . . . . . . . . . . . . . . 58
92     D.7.   xsl11toAn.xslt  . . . . . . . . . . . . . . . . . . . . . 59
93     D.8.   xsl11toFop.xslt . . . . . . . . . . . . . . . . . . . . . 59
94     D.9.   xsl11toFop-0.93.xslt  . . . . . . . . . . . . . . . . . . 59
95     D.10.  xsl11toXep.xslt . . . . . . . . . . . . . . . . . . . . . 59
96   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
97   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 68
98
99
100
101
102
103
104
105
106
107
108
109
110
111Reschke                                                         [Page 2]
112
113Documentation             RFC2629 through XSLT                March 2009
114
115
1161.  Introduction
117
118   This document describes a set of XSLT transformations that can be
119   used to transform RFC2629-compliant XML (see [RFC2629]) to various
120   output formats, such as HTML and PDF.  The main topics are
121
122   o  compliance to the xml2rfc XML element set (Section 2),
123
124   o  support for xml2rfc processing instructions (Section 3),
125
126   o  the names of anchor elements generated in HTML and PDF output
127      (Section 4),
128
129   o  various XSLT engines that can be used (Section 5),
130
131   o  outputting HTML (Section 6) and XHTML (Section 7),
132
133   o  outputting CHM (Compiled Microsoft Help, Section 8),
134
135   o  outputting PDF (Section 9),
136
137   o  extensions to the xml2rfc vocabulary (Section 10).
138
139   o  various utilities (Section 11).
140
141   The full distribution is available at
142   <http://greenbytes.de/tech/webdav/rfc2629xslt.zip>.
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 2009
170
171
1722.  Supported RFC2629 elements
173
174   "rfc2629.xslt" supports both all RFC2629 grammar elements and the
175   extensions implemented in xml2rfc 1.21.
176
1772.1.  Extension elements
178
179   "rfc2629.xslt" supports two kind of extension elements, using
180   different XML namespaces.
181
182   The first set contains (hopefully) generally useful extensions, see
183   Section 10.
184
185   The second set is used for change and issue tracking and currently is
186   not documented here.  Please email the author in case you're
187   interested in using these extensions.
188
189
190
191
192
193
194
195
196
197
198
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 2009
226
227
2283.  Processing Instructions
229
230   All PIs can be set as XSLT parameter as well, overriding any value
231   that is found in the source file to be transformed.
232
233   Using processing instructions:
234
235   <?rfc toc="yes"?>
236   <?rfc-ext support-rfc2731="no"?>
237
238   Using XSLT parameters (Saxon):
239
240   java -cp saxon.jar com.icl.saxon.StyleSheet source.xml rfc2629.xslt \
241     xml2rfc-toc=yes xml2rfc-ext-support-rfc2731=no > result.html
242
243   Using XSLT parameters (xsltproc):
244
245   xsltproc --param xml2rfc-toc '"yes"' \
246      --param xml2rfc-ext-support-rfc2731 '"no"' \
247      rfc2629.xslt source.xml > result.html
248
249   (note the required quoting of string parameters)
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 2009
282
283
2843.1.  Supported xml2rfc-compatible PIs
285
286   +-------+----------------+--------------------+---------+-----------+
287   | PI    | PI             | XSLT parameter     | default | comment   |
288   | targe | pseudo-attribu | name               |         |           |
289   | t     | te             |                    |         |           |
290   +-------+----------------+--------------------+---------+-----------+
291   | rfc   | background     | xml2rfc-background | (not    |           |
292   |       |                |                    | set)    |           |
293   |       |                |                    |         |           |
294   | rfc   | compact        | xml2rfc-compact    | "no"    | only      |
295   |       |                |                    |         | applies   |
296   |       |                |                    |         | to HTML   |
297   |       |                |                    |         | output    |
298   |       |                |                    |         | method    |
299   |       |                |                    |         | when      |
300   |       |                |                    |         | printing  |
301   |       |                |                    |         |           |
302   | rfc   | comments       | xml2rfc-comments   | (not    |           |
303   |       |                |                    | set)    |           |
304   |       |                |                    |         |           |
305   | rfc   | editing        | xml2rfc-editing    | "no"    |           |
306   |       |                |                    |         |           |
307   | rfc   | footer         | xml2rfc-footer     | (not    |           |
308   |       |                |                    | set)    |           |
309   |       |                |                    |         |           |
310   | rfc   | header         | xml2rfc-header     | (not    |           |
311   |       |                |                    | set)    |           |
312   |       |                |                    |         |           |
313   | rfc   | inline         | xml2rfc-inline     | (not    |           |
314   |       |                |                    | set)    |           |
315   |       |                |                    |         |           |
316   | rfc   | iprnotified    | xml2rfc-iprnotifie | "no"    |           |
317   |       |                | d                  |         |           |
318   |       |                |                    |         |           |
319   | rfc   | linkmailto     | xml2rfc-linkmailto | "yes"   |           |
320   |       |                |                    |         |           |
321   | rfc   | private        | xml2rfc-private    | (not    |           |
322   |       |                |                    | set)    |           |
323   |       |                |                    |         |           |
324   | rfc   | rfcedstyle     | xml2rfc-rfcedstyle | (not    | (limited  |
325   |       |                |                    | set)    | support)  |
326   |       |                |                    |         |           |
327   | rfc   | sortrefs       | xml2rfc-sortrefs   | "no"    |           |
328   |       |                |                    |         |           |
329
330
331
332
333
334
335Reschke                                                         [Page 6]
336
337Documentation             RFC2629 through XSLT                March 2009
338
339
340   | rfc   | symrefs        | xml2rfc-symrefs    | "yes"   | The       |
341   |       |                |                    |         | default   |
342   |       |                |                    |         | has       |
343   |       |                |                    |         | changed   |
344   |       |                |                    |         | from "no" |
345   |       |                |                    |         | to "yes"  |
346   |       |                |                    |         | as of     |
347   |       |                |                    |         | June 6,   |
348   |       |                |                    |         | 2007 and  |
349   |       |                |                    |         | xml2rfc   |
350   |       |                |                    |         | 1.33pre4. |
351   |       |                |                    |         |           |
352   | rfc   | toc            | xml2rfc-toc        | "no"    |           |
353   |       |                |                    |         |           |
354   | rfc   | tocdepth       | xml2rfc-tocdepth   | 99      |           |
355   |       |                |                    |         |           |
356   | rfc   | topblock       | xml2rfc-topblock   | "yes"   |           |
357   +-------+----------------+--------------------+---------+-----------+
358
3593.2.  Unsupported xml2rfc-compatible PIs
360
361   +----------+------------------+-------------------------------------+
362   | PI       | PI               | comment                             |
363   | target   | pseudo-attribute |                                     |
364   +----------+------------------+-------------------------------------+
365   | rfc      | include          | incompatible with XML/XSLT          |
366   |          |                  | processing model                    |
367   |          |                  |                                     |
368   | rfc      | needLines        |                                     |
369   |          |                  |                                     |
370   | rfc      | slides           |                                     |
371   |          |                  |                                     |
372   | rfc      | strict           |                                     |
373   |          |                  |                                     |
374   | rfc      | subcompact       |                                     |
375   |          |                  |                                     |
376   | rfc      | tocindent        | (defaults to "yes")                 |
377   |          |                  |                                     |
378   | rfc      | tocompact        |                                     |
379   +----------+------------------+-------------------------------------+
380
381
382
383
384
385
386
387
388
389
390
391Reschke                                                         [Page 7]
392
393Documentation             RFC2629 through XSLT                March 2009
394
395
3963.3.  Extension PIs
397
398   +------+-----------------+-----------------------+------+-----------+
399   | PI   | PI              | XSLT parameter name   | defa | descripti |
400   | targ | pseudo-attribut |                       | ult  | on        |
401   | et   | e               |                       |      |           |
402   +------+-----------------+-----------------------+------+-----------+
403   | rfc- | allow-markup-in | xml2rfc-allow-markup- | "no" | Enables   |
404   | ext  | -artwork        | in-artwork            |      | support   |
405   |      |                 |                       |      | for       |
406   |      |                 |                       |      | specific  |
407   |      |                 |                       |      | elements  |
408   |      |                 |                       |      | inside    |
409   |      |                 |                       |      | abstract  |
410   |      |                 |                       |      | elements  |
411   |      |                 |                       |      | (using    |
412   |      |                 |                       |      | this      |
413   |      |                 |                       |      | extension |
414   |      |                 |                       |      | makes the |
415   |      |                 |                       |      | document  |
416   |      |                 |                       |      | incompati |
417   |      |                 |                       |      | ble to    |
418   |      |                 |                       |      | the       |
419   |      |                 |                       |      | RFC2629bi |
420   |      |                 |                       |      | s DTD;    |
421   |      |                 |                       |      | see       |
422   |      |                 |                       |      | descripti |
423   |      |                 |                       |      | on of     |
424   |      |                 |                       |      | conversio |
425   |      |                 |                       |      | n XSLT in |
426   |      |                 |                       |      | Section 1 |
427   |      |                 |                       |      | 1.4).     |
428   |      |                 |                       |      |           |
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447Reschke                                                         [Page 8]
448
449Documentation             RFC2629 through XSLT                March 2009
450
451
452   | rfc- | authors-section | xml2rfc-ext-authors-s |      | When      |
453   | ext  |                 | ection                |      | "end",    |
454   |      |                 |                       |      | place the |
455   |      |                 |                       |      | authors   |
456   |      |                 |                       |      | section   |
457   |      |                 |                       |      | at the    |
458   |      |                 |                       |      | end (just |
459   |      |                 |                       |      | before    |
460   |      |                 |                       |      | the       |
461   |      |                 |                       |      | copyright |
462   |      |                 |                       |      | statement |
463   |      |                 |                       |      | s). This  |
464   |      |                 |                       |      | seems to  |
465   |      |                 |                       |      | be the    |
466   |      |                 |                       |      | preferred |
467   |      |                 |                       |      | order in  |
468   |      |                 |                       |      | the       |
469   |      |                 |                       |      | newest    |
470   |      |                 |                       |      | RFCs.     |
471   |      |                 |                       |      |           |
472   | rfc- | include-referen | xml2rfc-ext-include-r |      | When set  |
473   | ext  | ces-in-index    | eferences-in-index    |      | to "yes", |
474   |      |                 |                       |      | index     |
475   |      |                 |                       |      | entries   |
476   |      |                 |                       |      | are       |
477   |      |                 |                       |      | generated |
478   |      |                 |                       |      | for all   |
479   |      |                 |                       |      | reference |
480   |      |                 |                       |      | s.        |
481   |      |                 |                       |      |           |
482   | rfc- | justification   | xml2rfc-ext-justifica | "nev | "never":  |
483   | ext  |                 | tion                  | er"  | never     |
484   |      |                 |                       |      | emit      |
485   |      |                 |                       |      | justified |
486   |      |                 |                       |      | text,     |
487   |      |                 |                       |      | "always": |
488   |      |                 |                       |      | always    |
489   |      |                 |                       |      | emit      |
490   |      |                 |                       |      | justified |
491   |      |                 |                       |      | text,     |
492   |      |                 |                       |      | "print":  |
493   |      |                 |                       |      | only emit |
494   |      |                 |                       |      | justified |
495   |      |                 |                       |      | text for  |
496   |      |                 |                       |      | print     |
497   |      |                 |                       |      | media.    |
498   |      |                 |                       |      |           |
499
500
501
502
503Reschke                                                         [Page 9]
504
505Documentation             RFC2629 through XSLT                March 2009
506
507
508   | rfc- | parse-xml-in-ar | xml2rfc-parse-xml-in- | "no" | May be    |
509   | ext  | twork           | artwork               |      | used to   |
510   |      |                 |                       |      | enable    |
511   |      |                 |                       |      | parsing   |
512   |      |                 |                       |      | of XML    |
513   |      |                 |                       |      | content   |
514   |      |                 |                       |      | in        |
515   |      |                 |                       |      | figures   |
516   |      |                 |                       |      | (MSXML    |
517   |      |                 |                       |      | only).    |
518   |      |                 |                       |      |           |
519   | rfc- | support-rfc2731 | xml2rfc-ext-support-r | "yes | Decides   |
520   | ext  |                 | fc2731                | "    | whether   |
521   |      |                 |                       |      | the HTML  |
522   |      |                 |                       |      | transform |
523   |      |                 |                       |      | ation     |
524   |      |                 |                       |      | should    |
525   |      |                 |                       |      | generate  |
526   |      |                 |                       |      | META tags |
527   |      |                 |                       |      | according |
528   |      |                 |                       |      | Section 6 |
529   |      |                 |                       |      | .4.       |
530   |      |                 |                       |      |           |
531   | rfc- | sec-no-trailing | xml2rfc-ext-sec-no-tr |      | When set  |
532   | ext  | -dots           | ailing-dots           |      | to "yes", |
533   |      |                 |                       |      | add       |
534   |      |                 |                       |      | trailing  |
535   |      |                 |                       |      | dots to   |
536   |      |                 |                       |      | section   |
537   |      |                 |                       |      | numbers.  |
538   |      |                 |                       |      | This      |
539   |      |                 |                       |      | seems to  |
540   |      |                 |                       |      | be the    |
541   |      |                 |                       |      | preferred |
542   |      |                 |                       |      | format in |
543   |      |                 |                       |      | the       |
544   |      |                 |                       |      | newest    |
545   |      |                 |                       |      | RFCs.     |
546   +------+-----------------+-----------------------+------+-----------+
547
548
549
550
551
552
553
554
555
556
557
558
559Reschke                                                        [Page 10]
560
561Documentation             RFC2629 through XSLT                March 2009
562
563
5644.  Anchors
565
566   The transformation automatically generates anchors that are supposed
567   to be stable and predictable and that can be used to identify
568   specific parts of the document.  Anchors are generated both in HTML
569   and XSL-FO content (but the latter will only be used for PDF output
570   when the XSL-FO engine supports producing PDF anchors).
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615Reschke                                                        [Page 11]
616
617Documentation             RFC2629 through XSLT                March 2009
618
619
620                 The following anchors get auto-generated:
621
622     +-----------------------+---------------------------------------+
623     | Anchor name           | Description                           |
624     +-----------------------+---------------------------------------+
625     | rfc.abstract          | Abstract                              |
626     |                       |                                       |
627     | rfc.authors           | Authors section                       |
628     |                       |                                       |
629     | rfc.copyright         | Copyright section                     |
630     |                       |                                       |
631     | rfc.copyrightnotice   | Copyright notice                      |
632     |                       |                                       |
633     | rfc.figure._n_        | Figures (titled)                      |
634     |                       |                                       |
635     | rfc.figure.u._n_      | Figures (untitled)                    |
636     |                       |                                       |
637     | rfc.index             | Index                                 |
638     |                       |                                       |
639     | rfc.ipr               | Intellectual Property                 |
640     |                       |                                       |
641     | rfc.iref._n_          | Internal references                   |
642     |                       |                                       |
643     | rfc.note._n_          | Notes (from front section)            |
644     |                       |                                       |
645     | rfc.references        | References                            |
646     |                       |                                       |
647     | rfc.references._n_    | Additional references                 |
648     |                       |                                       |
649     | rfc.section._n_       | Section _n_                           |
650     |                       |                                       |
651     | rfc.section._n_.p._m_ | Section _n_, paragraph _m_            |
652     |                       |                                       |
653     | rfc.status            | Status of memo                        |
654     |                       |                                       |
655     | rfc.table._n_         | Tables (titled)                       |
656     |                       |                                       |
657     | rfc.table.u._n_       | Tables (untitled)                     |
658     |                       |                                       |
659     | rfc.toc               | Table of contents                     |
660     |                       |                                       |
661     | rfc.xref._name_._n_   | References to reference _n_ to _name_ |
662     +-----------------------+---------------------------------------+
663
664
665
666
667
668
669
670
671Reschke                                                        [Page 12]
672
673Documentation             RFC2629 through XSLT                March 2009
674
675
6765.  Supported XSLT engines
677
678   The transformation requires a non-standard extension function (see
679   exsl:node-set [1]) which is however widely available.  XSLT
680   processors that do not support this extension (or a functional
681   equivalent) currently are not supported.
682
6835.1.  Standalone Engines
684
685   The following XSLT engines are believed to work well:
686
687   o  MSXML3 and MSXML4 (<http://msdn.microsoft.com/xml>; these
688      processors do not support exsl:node-set(), but have a similar
689      proprietary extension)
690
691   o  Saxon (<http://saxon.sourceforge.net/>)
692
693   o  Xalan (<http://xml.apache.org/xalan-j/>)
694
695   o  xsltproc (libxslt) (<http://xmlsoft.org/XSLT/>, make sure that you
696      have a current version)
697
6985.2.  In-Browser Engines
699
700   The following browsers seem to work fine:
701
702   o  Internet Explorer 5.5 (Windows version, if MSXML3 is installed)
703
704   o  Internet Explorer 6
705
706   o  Internet Explorer 7
707
708   o  Firefox 3.0
709
710   o  Safari 3 (starting with version 3.0.4)
711
712   o  Google Chrome (beta available)
713
714   o  Opera 10 (alpha version available)
715
716   The following browsers are known not to work properly:
717
718   o  Firefox 1.*/2.*: (missing extension function - see change request
719      at Mozilla BugZilla 193678 [2])
720
721   o  Opera 9.21: execution fails, potentially to a somewhat complex
722      XPath expression (reported to Opera as bug 245725).
723
724
725
726
727Reschke                                                        [Page 13]
728
729Documentation             RFC2629 through XSLT                March 2009
730
731
732   o  Opera 9.5 and 9.6: transformation appears to work, but CSS isn't
733      getting applied (reported to Opera as bug 337388 on 2008-06-12).
734
735   o  Safari 2.* supports client-side XSLT as of MacOS X 10.4, but
736      misses required extension functions.  A problem with stylesheets
737      producing non-ASCII output (such as NBSP characters) has been
738      fixed as of OSX 10.4.4.  Both problems have been reported through
739      Apple's bug tracking system, see <http://drakken.dbc.mtview.ca.us/
740      pipermail/xml2rfc/2005-May/002073.html> and
741      <http://bugs.webkit.org/show_bug.cgi?id=4079>.
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783Reschke                                                        [Page 14]
784
785Documentation             RFC2629 through XSLT                March 2009
786
787
7886.  Transforming to HTML
789
790   Transformation to HTML can be done inside the browser if it supports
791   XSLT.  To enable this, add the following processing instruction to
792   the start of the source file:
793
794     <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
795
796   (and ensure that "rfc2629.xslt" is present).
797
7986.1.  HTML compliance
799
800   The transformation result is supposed to conform to the HTML 4.01
801   strict DTD [HTML].  This can be checked using the W3C's online
802   validator at <http://validator.w3.org>.
803
8046.2.  Standard HTML LINK elements
805
806   LINK elements exist since HTML 2.0.  They can be used to embed
807   content-independant links inside the document.  Unfortunately, only
808   few user agents support this element.  Firefox users may want to
809   check the Link Widgets [3] extension.
810
811                 The following LINK elements are produced:
812
813   +-----------+-------------------------------------------------------+
814   | LINK type | description                                           |
815   +-----------+-------------------------------------------------------+
816   | alternate | for RFCs, a link to the authorative ASCII version on  |
817   |           | the IETF web site                                     |
818   |           |                                                       |
819   | appendic  | pointer to all top-level appendics                    |
820   |           |                                                       |
821   | author    | pointer to "authors" section                          |
822   |           |                                                       |
823   | chapter   | pointer to all top-level sections                     |
824   |           |                                                       |
825   | contents  | pointer to table of contents                          |
826   |           |                                                       |
827   | copyright | pointer to copyright statement                        |
828   |           |                                                       |
829   | index     | pointer to index                                      |
830   +-----------+-------------------------------------------------------+
831
832   The figure below shows how Mozilla Firefox 1.0 displays the Site
833   Navigation Bar for rfc2396.xml.
834
835
836
837
838
839Reschke                                                        [Page 15]
840
841Documentation             RFC2629 through XSLT                March 2009
842
843
8446.3.  Standard HTML metadata
845
846          The following standard HTML META elements are produced:
847
848      +-----------+-------------------------------------------------+
849      | META name | description                                     |
850      +-----------+-------------------------------------------------+
851      | generator | from XSLT engine version and stylesheet version |
852      |           |                                                 |
853      | keywords  | from keyword elements in front section          |
854      +-----------+-------------------------------------------------+
855
8566.4.  Dublin Core (RFC2731) metadata
857
858   Unless turned off using the "rfc-ext support-rfc2731" processing
859   instruction, the transformation will generate metadata according to
860   [RFC2731].
861
862                The following DCMI properties are produced:
863
864   +-------------------------+-----------------------------------------+
865   | META name               | description                             |
866   +-------------------------+-----------------------------------------+
867   | DC.Creator              | from author information in front        |
868   |                         | section                                 |
869   |                         |                                         |
870   | DC.Date.Issued          | from date information in front section  |
871   |                         |                                         |
872   | DC.Description.Abstract | from abstract                           |
873   |                         |                                         |
874   | DC.Identifier           | document URN [RFC2648] from "docName"   |
875   |                         | attribute                               |
876   |                         |                                         |
877   | DC.Relation.Replaces    | from "obsoletes" attribute              |
878   +-------------------------+-----------------------------------------+
879
8806.5.  Experimental hCard support
881
882   The generated author information is formatted in hCard [4] format.
883
884
885
886
887
888
889
890
891
892
893
894
895Reschke                                                        [Page 16]
896
897Documentation             RFC2629 through XSLT                March 2009
898
899
9007.  Transforming to XHTML
901
902   Transforming to XHTML requires slightly different XSLT output options
903   and is implemented by the derived transformation script
904   "rfc2629toXHTML.xslt".
905
906      Note: Microsoft Internet Explorer does _not_ support XHTML.
907      Therefore it usually makes more sense to generate plain old HTML.
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951Reschke                                                        [Page 17]
952
953Documentation             RFC2629 through XSLT                March 2009
954
955
9568.  Transforming to CHM (Microsoft Compiled Help)
957
958   To generate a CHM file using Microsoft's HTML Help Compiler (hhc),
959   three files are required in addition to the HTML file.
960
961   1.  hhc - table of contents file (HTML)
962
963   2.  hhk - index file (HTML)
964
965   3.  hhp - project file (plain text)
966
967   The three files are generated with three specific transformations,
968   each requiring the additional XSLT parameter "basename" to specify
969   the filename prefix.
970
971   Example:
972
973   saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616  > rfc2616.hhp
974   saxon rfc2616.xml rfc2629toHhc.xslt basename=rfc2616  > rfc2616.hhc
975   saxon rfc2616.xml rfc2629toHhk.xslt basename=rfc2616  > rfc2616.hhk
976   hhc rfc2616.hhp
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007Reschke                                                        [Page 18]
1008
1009Documentation             RFC2629 through XSLT                March 2009
1010
1011
10129.  Transforming to PDF
1013
10149.1.  Via XSL-FO
1015
1016   Transformation to XSL-FO [XSL-FO] format is available through
1017   "rfc2629toFO.xslt" (which includes "rfc2629.xslt", so keep both in
1018   the same folder).
1019
1020   Compared to HTML user agents, XSL-FO engines unfortunately either
1021   come as open source (for instance, Apache FOP) or feature-complete
1022   (for instance, AntennaHouse XSL Formatter), but not both at the same
1023   time.
1024
1025   As Apache FOP needs special workarounds (page breaking, table
1026   layout), and some popular extensions aren't standardized yet, the
1027   translation produces a generic output (hopefully) conforming to
1028   [XSL-FO].  Specific backends ("xsl11toFop.xslt", "xsl11toXep.xslt",
1029   "xsl11toAn.xslt") then provide post-processing for the individual
1030   processors.
1031
1032      Note: the output is currently targeted at Apache FOP 0.95.
1033
10349.1.1.  Extension feature matrix
1035
1036   +------------+-------------+------------+-------------+-------------+
1037   |            | PDF anchors |     PDF    |     PDF     |    Index    |
1038   |            |             |  bookmarks |   document  |   cleanup   |
1039   |            |             |            | information |             |
1040   +------------+-------------+------------+-------------+-------------+
1041   | XSL 1.1    | no, but can |     yes    |   no, but   |     yes     |
1042   | WD [5]     |      be     |            |   uses XEP  |             |
1043   |            | auto-genera |            |    output   |             |
1044   |            |   ted from  |            |  extensions |             |
1045   |            |     "id"    |            |             |             |
1046   |            |  attributes |            |             |             |
1047   |            |             |            |             |             |
1048   | Antenna    |      no     |   yes [7]  |   yes [7]   |   yes [7]   |
1049   | House XSL  |             |  (from XSL |  (from XEP  |  (just page |
1050   | formatter  |             |     1.1    |   document  |  duplicate  |
1051   | [6]        |             | bookmarks) |    info)    | elimination |
1052   |            |             |            |             |  , from XSL |
1053   |            |             |            |             |   1.1 page  |
1054   |            |             |            |             |    index)   |
1055   |            |             |            |             |             |
1056   | Apache     |     yes     |  yes (from |     yes     |      no     |
1057   | FOP [8]    |             |   XSL 1.1  |             |             |
1058   |            |             | bookmarks) |             |             |
1059   |            |             |            |             |             |
1060
1061
1062
1063Reschke                                                        [Page 19]
1064
1065Documentation             RFC2629 through XSLT                March 2009
1066
1067
1068   | RenderX    |      no     |  yes [10]  |   yes [10]  |   yes [10]  |
1069   | XEP [9]    |             |  (from XSL |             |  (from XSL  |
1070   |            |             |     1.1    |             |   1.1 page  |
1071   |            |             | bookmarks) |             |    index)   |
1072   +------------+-------------+------------+-------------+-------------+
1073
10749.1.2.  Example: producing output for Apache FOP
1075
1076   Example:
1077
1078   saxon rfc2616.xml rfc2629toFo.xslt > tmp.fo
1079   saxon tmp.fo xsl11toFop.xslt > rfc2629.fo
1080
10819.2.  Via X(HTML)
1082
1083   PDF output can also be produced directly from (X)HTML.  One simple
1084   approach is to rely on the browser's printing function, and to use a
1085   printer driver that produces PDF.  Depending on the brower's CSS
1086   capabilities, the output will behave properly with respect to table
1087   breaks etc.
1088
1089   An alternative is PrinceXML (see <http://www.princexml.com/>), which
1090   can produce PDF directly from (X)HTML input, based on the CSS
1091   printing information.
1092
1093   For instance, PDF output with text justification turned on can be
1094   produced with:
1095
1096   saxon input.xml rfc2629toXHTML.xslt xml2rfc-ext-justification=print \
1097     > output.xhtml
1098   prince output.xhtml output.pdf
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 2009
1122
1123
112410.  Generic Extensions
1125
1126   This section documents extensions implemented in "rfc2629.xslt",
1127   using the extension namespace "http://purl.org/net/xml2rfc/ext".
1128
112910.1.  <abnf-char-sequence> element
1130
1131   Converts the contained quoted string into a hex-encoded character
1132   sequence, for use in case-sensitive ABNF productions.
1133
1134   For instance, "<x:abnf-char-sequence>"HTTP"</x:abnf-char-sequence>"
1135   gets converted to "%x48.54.54.50".
1136
113710.2.  <anchor-alias> element
1138
1139   Using its "value" attribute, this element allows the definition of an
1140   internal link target alias for the enclosing element.  This alias can
1141   then be used with the <ref> element for intra-document references.
1142
1143   Note that the anchor alias is not subject to the naming constraints
1144   that apply to anchor elements (which are XML names).
1145
114610.3.  <bcp14> element
1147
1148   This element marks the content as being one of the normative keywords
1149   defined in [RFC2119].
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175Reschke                                                        [Page 21]
1176
1177Documentation             RFC2629 through XSLT                March 2009
1178
1179
1180   The DOCTYPE definition below allows using these keywords using XML
1181   entity expansion: such as in "...server &MUST; accept...".
1182
1183   <!DOCTYPE rfc [
1184    <!ENTITY MAY "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1185      >MAY</bcp14>">
1186    <!ENTITY MUST "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1187      >MUST</bcp14>">
1188    <!ENTITY MUST-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1189      >MUST NOT</bcp14>">
1190    <!ENTITY OPTIONAL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1191      >OPTIONAL</bcp14>">
1192    <!ENTITY RECOMMENDED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1193      >RECOMMENDED</bcp14>">
1194    <!ENTITY REQUIRED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1195      >REQUIRED</bcp14>">
1196    <!ENTITY SHALL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1197      >SHALL</bcp14>">
1198    <!ENTITY SHALL-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1199      >SHALL NOT</bcp14>">
1200    <!ENTITY SHOULD "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1201      >SHOULD</bcp14>">
1202    <!ENTITY SHOULD-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
1203      >SHOULD NOT</bcp14>">]>
1204
120510.4.  <bb> element
1206
1207   Marking up a string as <bb> indicates that it represents the bottom
1208   line of a box drawing, replacing the "+" and "-" characters
1209   accordingly.
1210
121110.5.  <bc> element
1212
1213   Marking up a string as <bc> indicates that it represents a center
1214   line of a box drawing, replacing the "|" character accordingly.
1215
121610.6.  <blockquote> element
1217
1218   This element is like the "blockquote" element in [HTML] (note this is
1219   a block-level element!).  It should contain one or more <t> child
1220   elements.
1221
122210.7.  <boilerplate> element
1223
1224   Can be used to include boilerplate (status, copyright, ...) into the
1225   front or back section. <section> elements within <x:boilerplate>
1226   appear as unnumbered sections in the output.
1227
1228
1229
1230
1231Reschke                                                        [Page 22]
1232
1233Documentation             RFC2629 through XSLT                March 2009
1234
1235
1236   _This element currently can not be "down-translated" for use in
1237   xml2rfc!_
1238
123910.8.  <bt> element
1240
1241   Marking up a string as <bt> indicates that it represents the top line
1242   of a box drawing, replacing the "+" and "-" characters accordingly.
1243
124410.9.  <dfn> element
1245
1246   This element is like the "dfn" element in [HTML].
1247
124810.10.  <h> element
1249
1250   This element is like the "h" element in [XHTML2].
1251
125210.11.  <highlight> element
1253
1254   Used to highlight text passages, currently only allowed in <artwork>.
1255
1256   Note: this is stripped when generating input for xml2rfc, so please
1257   use with care.
1258
125910.12.  <length-of> element
1260
1261   This element can be used to insert the length of another formatted
1262   section (in decimal).
1263
1264   Example: computing the Content-Length header value
1265
1266   <artwork>
1267   ...
1268   Content-Length: <x:length-of target="req"/>
1269
1270   <x:span anchor="req">123456789
1271   <x:span><artwork/>
1272
1273   The lenght computation counts line ends as two characters (CRLF).
1274
1275   Note that indentation characters in artwork _will_ be counted.  The
1276   "indented" attribute allows to specify the amount of indentation to
1277   be substracted from the computed length.
1278
127910.13.  <link> element
1280
1281   This element can be added as a top-level child element below <rfc> to
1282   indicate additional link information.  It's currently used only when
1283   generating HTML output, in which case an HTML <link> element with
1284
1285
1286
1287Reschke                                                        [Page 23]
1288
1289Documentation             RFC2629 through XSLT                March 2009
1290
1291
1292   identical attributes gets generated.
1293
1294   Example: generating HTML link element
1295
1296           <x:link xmlns="http://purl.org/net/xml2rfc/ext"
1297               rel="Bookmark"
1298               title="IETF WEBDAV Working Group"
1299               href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/>
1300
130110.14.  <lt> element
1302
1303   Used for grouping multiple <t> elements into a single list item.
1304
130510.15.  <note> element
1306
1307   Can be used to add a note, usually indented by a few characters.  It
1308   should contain one or more <t> child elements.
1309
131010.16.  <parse-xml> element
1311
1312   This element instructs the processor to parse the contents as XML and
1313   to warn when there's a problem (requires either MSXML or Saxon8 or
1314   newer).
1315
131610.17.  <q> element
1317
1318   This element is like the "q" element in [HTML].
1319
132010.18.  <ref> element
1321
1322   This element is a simplified variant of the <xref> element, in that
1323   no "target" attribute needs to be specified, instead the text
1324   contents acts as identifier.  That in itself wouldn't be terribly
1325   useful, but together with the <anchor-alias>, it allows referring to
1326   other parts of the document with minimal additional markup.
1327
1328   For instance, given an alias definition such as
1329
1330         <section title="Test" anchor="test">
1331           <x:anchor-alias value="alias1"/>
1332           <x:anchor-alias value="alias 2"/>
1333           ...
1334         </section>
1335
1336   the following simple references
1337
1338         <x:ref>test</x:ref>
1339         <x:ref>alias1</x:ref>
1340
1341
1342
1343Reschke                                                        [Page 24]
1344
1345Documentation             RFC2629 through XSLT                March 2009
1346
1347
1348         <x:ref>alias 2</x:ref>
1349
1350   are equivalent to...:
1351
1352         <xref target="test">test</xref>
1353         <xref target="test">alias1</xref>
1354         <xref target="test">alias 2</xref>
1355
135610.19.  <source> element
1357
1358   Can be used to enhance a <reference> with information about the
1359   location for the XML source.  This can be used by the <xref>
1360   processing code to automatically extract the target section number.
1361
1362   For example:
1363
1364         ...
1365         <xref target="RFC2616" x:fmt="of" x:rel="#PUT" />
1366         ...
1367
1368         <reference target="RFC2616"/>
1369           ...
1370           <x:source href="rfc2616.xml"/>
1371           ...
1372
137310.20.  <sup> element
1374
1375   This element is like the "sup" element in [HTML].
1376
1377   Note: the down conversion to RFC2629 format replaces "x^y" by "x^y".
1378
137910.21.  Extensions to Xml2rfc <artwork> element
1380
1381   Sometimes, artwork occurs inside lists.  To get it indent properly in
1382   xml2rfc's text output, it needs to be indented in the source.  This
1383   is sub-optimal, as this whitespace will also appear in the HTML
1384   output, where it's already indented due to HTML's semantics.
1385
1386   As a workaround, a "x:indent-with" attribute can be specified,
1387   containing a string that will be prepended to each line when
1388   "clean-for-DTD.xslt" is run (see Section 11.4).
1389
139010.22.  Extensions to Xml2rfc <iref> element
1391
1392   The extension attribute below is allowed on the standard <iref>
1393   element:
1394
1395
1396
1397
1398
1399Reschke                                                        [Page 25]
1400
1401Documentation             RFC2629 through XSLT                March 2009
1402
1403
1404   o  x:for-anchor specifies that the <iref> will also be automatically
1405      inserted whenever the specified anchor is cross-referenced -- this
1406      may save entering lots of <iref> instances.  As a special case, a
1407      value of "" (empty string) refers to the anchor attribute of the
1408      closest ancestor.
1409
141010.23.  Extensions to Xml2rfc <list> element
1411
1412   The extension attribute below is allowed on the standard <list>
1413   element:
1414
1415   o  x:indent specifies the amount of indentation for list items in
1416      hanging lists.  This can be useful when the output format, such as
1417      XSL-FO, does not support automatical formatting.  The value takes
1418      an XSL-FO width, such as "5em".  The default is _length of longest
1419      label in characters_ times _0.8em_.
1420
1421   Also, the <list> element can take <x:lt> child elements instead of
1422   <t>, allowing to insert multiple paragraphs into a single list item.
1423
142410.24.  Extensions to Xml2rfc <rfc> element
1425
1426   The extension attributes below are allowed on the standard <rfc>
1427   element:
1428
1429   o  grddl:transformation can be used to reference a GRDDL transform.
1430
1431   o  x:maturiy-level can be used to specify the IETF Standards Track
1432      Maturity Level of "proposed", "draft" or "internet" (see Section
1433      4.1 of [RFC2026]).
1434
143510.25.  Extensions to Xml2rfc <section> element
1436
1437   The extension attribute below is allowed on the standard <list>
1438   element:
1439
1440   o  x:fixed-section-number can be used to specify a fixed section
1441      number.  This can be useful when formatting historic documents
1442      that used a different numbering style.
1443
144410.26.  Extensions to Xml2rfc <xref> element
1445
1446   Three extension attributes are allowed on the standard <xref>
1447   element:
1448
1449   1.  x:sec can be specified to point to a specific section of the
1450       referenced document,
1451
1452
1453
1454
1455Reschke                                                        [Page 26]
1456
1457Documentation             RFC2629 through XSLT                March 2009
1458
1459
1460   2.  x:rel may specify a relative reference to use when linking into
1461       the referenced document (if linking by section number is not
1462       available),
1463
1464   3.  x:fmt defines the text format to be used.
1465
1466   The following formats are defined for the x:fmt attribute:
1467
1468   , (Comma)  [_reference_], Section _sec_
1469
1470   () [_reference_] (Section _sec_)
1471
1472   anchor  Like the default format, but without brackets.
1473
1474   of Section _sec_ of [_reference_]
1475
1476   number  _sec_
1477
1478   none  No output (can be used to have xrefs to references without
1479      having them rendered as such)
1480
1481   sec  Section _sec_
1482
1483   These extensions are currently only supported for <xref> elements
1484   without child nodes.
1485
1486   If the processor knows how to reference the target section, it will
1487   generate a link directly to the target section, such as in [RFC2119],
1488   Section 5.
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511Reschke                                                        [Page 27]
1512
1513Documentation             RFC2629 through XSLT                March 2009
1514
1515
151611.  Utilities
1517
151811.1.  Checking References
1519
1520   "check-references.xslt" can be used to check all references to RFC-
1521   and ID-series IETF publications and to W3C publications (note this
1522   script requires local copies of
1523   <ftp://ftp.isi.edu/in-notes/rfc-index.xml> and
1524   <http://www.w3.org/2002/01/tr-automation/tr.rdf> and will use the XML
1525   status information provided at <http://tools.ietf.org/>).
1526
1527   If the document is supposed to be published on the IETF standards
1528   track, the desired level can be specified using the parameter
1529   "intended-level" as 'proposed', 'draft' or 'internet'.
1530   Alternatively, it can be specified inside the document using the
1531   attribute x:maturity-level on the <rfc> element.
1532
1533   Note: Downward references should be annotated using the <annotate>
1534   element, containing an <xref> to [BCP97].
1535
1536   When an XSLT 2.0 processor is used, links in the document can be
1537   checked as well using the "link-check" paramerer ('yes' or 'no').
1538   Note that this only works for http links to documents of tytpe
1539   text/*.
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567Reschke                                                        [Page 28]
1568
1569Documentation             RFC2629 through XSLT                March 2009
1570
1571
1572   For instance, as of 2008-07-12, the script produces for
1573   <http://greenbytes.de/tech/webdav/rfc2518.xml>:
1574
1575   > saxon rfc2518.xml check-references.xslt intended-status=PROPOSED \
1576     link-check=yes
1577
1578   Normative References:
1579   ISO-11578: not checked
1580   ISO-639: not checked
1581   ISO-8601: not checked
1582   REC-xml-19980210: [FirstEdition] obsoleted by REC-xml-20001006
1583   REC-xml-names-19990114: [FirstEdition] obsoleted by
1584    REC-xml-names-20060816
1585   RFC1766: [PROPOSED STANDARD] obsoleted by RFC3066 RFC3282
1586   RFC2068: [PROPOSED STANDARD] obsoleted by RFC2616
1587   RFC2069: [PROPOSED STANDARD] obsoleted by RFC2617
1588   RFC2119: [BEST CURRENT PRACTICE] (-> BCP0014) ok
1589   RFC2141: [PROPOSED STANDARD] ok
1590   RFC2277: [BEST CURRENT PRACTICE] (-> BCP0018) ok
1591   RFC2396: [DRAFT STANDARD] obsoleted by RFC3986
1592   RFC2279: [DRAFT STANDARD] obsoleted by RFC3629
1593
1594   Informational References:
1595   REC-PICS-labels-961031: [REC] ok
1596   RFC1807: [INFORMATIONAL] ok
1597   RFC2026: [BEST CURRENT PRACTICE] (-> BCP0009) ok
1598   RFC2291: [INFORMATIONAL] ok
1599   RFC2376: [INFORMATIONAL] obsoleted by RFC3023
1600   RFC2413: [INFORMATIONAL] obsoleted by RFC5013
1601   USMARC: not checked
1602   WF: not checked
1603
1604   Link Targets
1605   <http://www.w3.org/TR/1998/REC-xml-19980210>: ok
1606   <http://www.w3.org/TR/1999/REC-xml-names-19990114>: ok
1607   <http://www.dlib.org/dlib/july96/lagoze/07lagoze.html>: ok
1608   <http://www.w3.org/pub/WWW/TR/REC-PICS-labels-961031.html>: ok
1609
1610   Recognized formats in the <seriesInfo> element are:
1611
1612   o  for RFCs, the name attribute must be "RFC", and the value
1613      attribute must be the number of the RFC,
1614
1615   o  for Internet Drafs, the name attribute must be "ID" or "Internet-
1616      Draft", and the value attribute must be the file name of the draft
1617      (including the two-digit running number, but excluding a file
1618      extension),
1619
1620
1621
1622
1623Reschke                                                        [Page 29]
1624
1625Documentation             RFC2629 through XSLT                March 2009
1626
1627
1628   o  for W3C documents, the name attribute must be "W3C", must start
1629      with "W3C ", or must start with "World Wide Web Consortium ", and
1630      the value attribute must be the "shorthand" name of the
1631      specification, such as "REC-xml-19980210".
1632
163311.2.  Generating Graphs from References
1634
1635   "gen-reference-graph.xslt" generates a graph of RFC dependencies,
1636   using the same base data as in "check-references.xslt" (see
1637   Section 11.1).  Its output is a "dot" file, to be processed by
1638   GraphViz (see <http://www.graphviz.org/>).
1639
1640   The picture below shows the RFC dependencies in RFC2629.
1641
1642
164311.3.  Producing reference entries for books
1644
1645   "amazon-asin.xslt" uses the Amazon web services to generate a
1646   <reference> element for a given ASIN (ISBN).
1647
1648   For instance:
1649
1650   <?xml version="1.0" encoding="utf-8"?>
1651   <references>
1652    <reference target="urn:isbn:0134516591">
1653      <front>
1654        <title>Simple Book, The: An Introduction to Internet Management,
1655                  Revised Second Edition</title>
1656        <author surname="Rose"
1657                   fullname="Marshall T. Rose" initials="M. T. ">
1658          <organization/>
1659        </author>
1660        <author surname="Marshall"
1661                   fullname="Rose T. Marshall" initials="R. T.">
1662          <organization/>
1663        </author>
1664        <date year="1996" month="March"/>
1665      </front>
1666      <seriesInfo name="Prentice Hall" value=""/>
1667    </reference>
1668   </references>
1669
1670   Note that the resulting XML usually requires checking, in this case
1671   Amazon's database is playing tricks with Marshall's name...
1672
1673
1674
1675
1676
1677
1678
1679Reschke                                                        [Page 30]
1680
1681Documentation             RFC2629 through XSLT                March 2009
1682
1683
168411.4.  Down-converting to RFC2629bis DTD
1685
1686   "clean-for-DTD.xslt" can be used to down-convert some extensions to a
1687   format that is supported by the base xml2rfc distribution.  Note that
1688   these extensions are experimental (feedback appreciated).
1689
1690   The following mappings are done:
1691
1692   o  <iref> elements inside <artwork> elements are moved in front of
1693      the enclosing <figure> element.
1694
1695   o  <xref> elements inside <artwork> are expanded just like in regular
1696      text (that is, the markup is stripped, but the element is replaced
1697      by the applicable replacement text).
1698
1699   o  <x:anchor-alias> elements get stripped.
1700
1701   o  <x:bcp14> elements get stripped.
1702
1703   o  <x:bb>, <x:bc> and <x:bt> elements get stripped.
1704
1705   o  <x:blockquote> elements get converted to indented text (through a
1706      <list> element).
1707
1708   o  <x:dfn> elements get stripped.
1709
1710   o  <x:h> elements get stripped.
1711
1712   o  <x:link> elements get stripped.
1713
1714   o  <x:note> elements get converted to indented text (through a <list>
1715      element).
1716
1717   o  <x:q> elements get stripped, with apostrophes added around the
1718      text.
1719
1720   o  <x:ref> elements get replaced by <xref> elements, targetting
1721      either the anchor or another anchor with matching <x:anchor-alias>
1722      child element.
1723
172411.5.  Extracting artwork
1725
1726   With "extract-artwork.xslt", artwork elements named through the
1727   "name" attribute can be extracted.  This can be used to automatically
1728   check their syntax (for instance, when ABNFs appear within a figure
1729   element).
1730
1731
1732
1733
1734
1735Reschke                                                        [Page 31]
1736
1737Documentation             RFC2629 through XSLT                March 2009
1738
1739
1740   For instance:
1741   saxon rfc3986.xml extract-artwork.xslt name=uri.abnf
1742
1743   In addition, artwork of a specific type can be extracted, such as
1744   with:
1745   saxon rfc3986.xml extract-artwork.xslt type=abnf
1746
174711.6.  GRRDL
1748
1749   "rfc2629grddl.xslt" extracts RDF information.  This is experimental
1750   work-in-progress.  See <http://www.w3.org/TR/grddl/> for more
1751   information.
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791Reschke                                                        [Page 32]
1792
1793Documentation             RFC2629 through XSLT                March 2009
1794
1795
179612.  Informative References
1797
1798   [BCP97]    Klensin, J. and S. Hartman, "Handling Normative References
1799              to Standards-Track Documents", BCP 97, RFC 4897,
1800              June 2007.
1801
1802   [HTML]     Raggett, D., Hors, A., and I. Jacobs, "HTML 4.01
1803              Specification", W3C REC-html401-19991224, December 1999,
1804              <http://www.w3.org/TR/html401/>.
1805
1806   [RFC2026]  Bradner, S., "The Internet Standards Process -- Revision
1807              3", BCP 9, RFC 2026, October 1996.
1808
1809   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
1810              Requirement Levels", BCP 14, RFC 2119, March 1997.
1811
1812   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Nielsen, H.,
1813              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
1814              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
1815
1816   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
1817              June 1999.
1818
1819   [RFC2648]  Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
1820              August 1999.
1821
1822   [RFC2731]  Kunze, J., "Encoding Dublin Core Metadata in HTML",
1823              RFC 2731, December 1999.
1824
1825   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
1826              Specifications: ABNF", STD 68, RFC 5234, January 2008.
1827
1828   [RNC]      Clark, J., "RELAX NG Compact Syntax", OASIS , Nov 2002, <h
1829              ttp://www.oasis-open.org/committees/relax-ng/
1830              compact-20021121.html>.
1831
1832   [XHTML2]   Axelsson, J., Birbeck, M., Dubinko, M., Epperson, B.,
1833              Ishikawa, M., McCarron, S., Navarro, A., and S. Pemberton,
1834              "XHTML[TM] 2.0", W3C WD-xhtml2-20060726, July 2006,
1835              <http://www.w3.org/TR/xhtml2>.
1836
1837   [XSL-FO]   Berglund, A., "Extensible Stylesheet Language (XSL)
1838              Version 1.1", W3C REC-xsl11-20061205, Dec 2006,
1839              <http://www.w3.org/TR/2006/REC-xsl11-20061205/>.
1840
1841   [1]   <http://www.exslt.org/exsl/functions/node-set/
1842         exsl.node-set.html>
1843
1844
1845
1846
1847Reschke                                                        [Page 33]
1848
1849Documentation             RFC2629 through XSLT                March 2009
1850
1851
1852   [2]   <http://bugzilla.mozilla.org/show_bug.cgi?id=193678>
1853
1854   [3]   <https://addons.mozilla.org/firefox/2933/>
1855
1856   [4]   <http://microformats.org/wiki/hcard>
1857
1858   [5]   <http://www.w3.org/TR/2003/WD-xsl11-20031217/>
1859
1860   [6]   <http://www.antennahouse.com/>
1861
1862   [7]   <http://www.antennahouse.com/XSL20/axf-extension.htm>
1863
1864   [8]   <http://xml.apache.org/fop/>
1865
1866   [9]   <http://xep.xattic.com/>
1867
1868   [10]  <http://xep.xattic.com/xep/spec.html>
1869
1870   [11]  <http://www.thaiopensource.com/relaxng/jing.html>
1871
1872   [12]  <http://dpcarlisle.blogspot.com/2007/05/
1873         exslt-node-set-function.html>
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903Reschke                                                        [Page 34]
1904
1905Documentation             RFC2629 through XSLT                March 2009
1906
1907
1908Appendix A.  RELAX NG Compact Schema
1909
1910   The RelaxNG schema ([RNC]) below can be used to validate input
1911   documents (for instance, with Jing [11]).
1912
1913   _Note that this is work in progress, and doesn't yet cover all
1914   extensions completely._
1915
1916  # WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.
1917
1918  # Define our extension namespace
1919  namespace x = "http://purl.org/net/xml2rfc/ext"
1920
1921  # Define GRDDL namespace
1922  namespace grddl = "http://www.w3.org/2003/g/data-view#"
1923
1924  # Define RDF namespace
1925  namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1926
1927  # Include rfc2629bis RNC grammar
1928  include "rfc2629.rnc" {
1929
1930    # Redefine <artwork> to allow markup
1931    artwork =
1932      element artwork {
1933        attlist.artwork,
1934        (TEXT
1935          | eref
1936          | iref
1937          | spanx
1938          | xref
1939          | x_abnf-char-sequence
1940          | x_bb
1941          | x_bc
1942          | x_bt
1943          | x_highlight
1944          | x_length-of
1945          | x_parse-xml
1946          | x_ref
1947          | x_span
1948          | x_x)*
1949      }
1950
1951    # Redefine <back> to allow boilerplate
1952    back =
1953      element back {
1954        attlist.back,
1955        references*,
1956
1957
1958
1959Reschke                                                        [Page 35]
1960
1961Documentation             RFC2629 through XSLT                March 2009
1962
1963
1964        section*,
1965        x_boilerplate?
1966      }
1967
1968    # Redefine <c> to allow our extension elements
1969    c =
1970      element c {
1971        attlist.c,
1972        (TEXT
1973          | xref
1974          | eref
1975          | iref
1976          | cref
1977          | spanx
1978          | x_ref)*
1979      }
1980
1981    # Redefine <cref> to allow more child elements
1982    cref =
1983      element cref {
1984        attlist.cref,
1985        (TEXT
1986          | eref)*
1987      }
1988
1989    # Redefine <front> to allow boilerplate
1990    front =
1991      element front {
1992        attlist.front,
1993        title,
1994        author+,
1995        date,
1996        area*,
1997        workgroup*,
1998        keyword*,
1999        x_boilerplate?,
2000        abstract?,
2001        note*
2002      }
2003
2004    # Redefine <list> element to allow <x:lt> child elements
2005    \list =
2006      element list {
2007        attlist.list,
2008        (t+ | x_lt+)
2009      }
2010
2011    # Redefine <preamble> to allow our extension elements
2012
2013
2014
2015Reschke                                                        [Page 36]
2016
2017Documentation             RFC2629 through XSLT                March 2009
2018
2019
2020    preamble =
2021      element preamble {
2022        attlist.preamble,
2023        (TEXT
2024          | xref
2025          | eref
2026          | iref
2027          | cref
2028          | spanx
2029          | x_anchor-alias)*
2030      }
2031
2032    # Redefine <postamble> to allow our extension elements
2033    postamble =
2034      element postamble {
2035        attlist.postamble,
2036        (TEXT
2037          | xref
2038          | eref
2039          | iref
2040          | cref
2041          | spanx
2042          | x_bcp14)*
2043      }
2044
2045    # Redefine <reference> to allow our extension elements
2046    reference =
2047      element reference {
2048        attlist.reference,
2049        front,
2050        seriesInfo*,
2051        format*,
2052        annotation*,
2053        x_source?
2054      }
2055
2056    # Redefine <rfc> to allow our extension elements
2057    rfc =
2058      element rfc {
2059        attlist.rfc,
2060        x_link*,
2061        x_assign-section-number*,
2062        front,
2063        middle,
2064        back?
2065      }
2066
2067    # Redefine <section> to allow our extension elements
2068
2069
2070
2071Reschke                                                        [Page 37]
2072
2073Documentation             RFC2629 through XSLT                March 2009
2074
2075
2076    section =
2077      element section {
2078        attlist.section,
2079        (t
2080         | figure
2081         | texttable
2082         | iref
2083         | section
2084         | x_anchor-alias
2085         | x_blockquote
2086         | x_include-author
2087         | x_note
2088         | rdf_Description)*
2089      }
2090
2091    # Redefine <spanx> to allow some markup
2092    spanx =
2093      element spanx {
2094        attlist.spanx,
2095        (TEXT
2096          | iref
2097          | xref
2098          | x_ref)*
2099      }
2100
2101    # Redefine <t> to allow our extension elements
2102    t =
2103      element t {
2104        attlist.t,
2105        (TEXT
2106         | \list
2107         | figure
2108         | xref
2109         | eref
2110         | iref
2111         | cref
2112         | spanx
2113         | vspace
2114         | x_abnf-char-sequence
2115         | x_anchor-alias
2116         | x_bcp14
2117         | x_dfn
2118         | x_h
2119         | x_q
2120         | x_ref
2121         | x_sup)*
2122      }
2123  }
2124
2125
2126
2127Reschke                                                        [Page 38]
2128
2129Documentation             RFC2629 through XSLT                March 2009
2130
2131
2132  # Allow x:indent-with attribute on <artwork>
2133  attlist.artwork &=
2134    attribute x:indent-with { ATEXT }?
2135
2136  # Allow anchor attribute on <author>
2137  attlist.author &=
2138    attribute anchor { xsd:ID }?
2139
2140    # Extend attribute set for <iref> (see Section 10.22)
2141  attlist.iref &=
2142    attribute x:for-anchor { ATEXT }?
2143
2144  # Extend attribute set for <list> (see Section 10.23)
2145  attlist.list &=
2146    attribute x:indent { ATEXT }?
2147
2148  # Extend attribute set for <preamble>
2149  attlist.preamble &=
2150    attribute anchor { xsd:ID }?
2151
2152  # Extend attribute set for <rfc>
2153  attlist.rfc &=
2154    attribute grddl:transformation { ATEXT }?,
2155    attribute x:maturity-level { "proposed" | "draft" | "internet" }?
2156
2157  # Extend attribute set for <section> (see Section 10.25)
2158  attlist.section &=
2159    attribute x:fixed-section-number { ATEXT }?
2160
2161  # Allow anchor attribute on <spanx>
2162  attlist.spanx &=
2163    attribute anchor { xsd:ID }?
2164
2165  # Extend attribute set for <xref> (see Section 10.26)
2166  attlist.xref &=
2167    attribute x:fmt  { "()" | "," | "anchor" | "of" | "number" | "sec" |
2168                       "none" }?,
2169    attribute x:rel  { ATEXT }?,
2170    attribute x:sec  { ATEXT }?
2171
2172  # Conversion to ABNF char sequence (see Section 10.1)
2173  x_abnf-char-sequence =
2174    element x:abnf-char-sequence {
2175      TEXT
2176    }
2177
2178  # Aliasing of anchors (see Section 10.2)
2179  x_anchor-alias =
2180
2181
2182
2183Reschke                                                        [Page 39]
2184
2185Documentation             RFC2629 through XSLT                March 2009
2186
2187
2188    element x:anchor-alias {
2189      attribute value { TEXT },
2190      empty
2191    }
2192
2193  # Including Author information
2194  # (experimental)
2195  x_include-author =
2196    element x:include-author {
2197      attribute target { xsd:IDREF }
2198    }
2199
2200  # Setting section numbers for internally generated sections
2201  # (experimental)
2202  x_assign-section-number =
2203    element x:assign-section-number {
2204      attribute builtin-target { "authors" },
2205      attribute number { TEXT },
2206      empty
2207    }
2208
2209  # Bottom line of box drawing (see Section 10.4)
2210  x_bb =
2211    element x:bb {
2212      (TEXT
2213        | iref
2214        | xref
2215        | x_bb
2216        | x_bc
2217        | x_bt
2218        | x_ref)*
2219    }
2220
2221  # Center line of box drawing (see Section 10.5)
2222  x_bc =
2223    element x:bc {
2224      (TEXT
2225        | iref
2226        | xref
2227        | x_bb
2228        | x_bc
2229        | x_bt
2230        | x_ref)*
2231    }
2232
2233  # BCP14/RFC2119 keywords (see Section 10.3)
2234  x_bcp14 =
2235    element x:bcp14 {
2236
2237
2238
2239Reschke                                                        [Page 40]
2240
2241Documentation             RFC2629 through XSLT                March 2009
2242
2243
2244      "MAY"
2245      | "MUST"
2246      | "MUST NOT"
2247      | "NOT RECOMMENDED"
2248      | "OPTIONAL"
2249      | "RECOMMENDED"
2250      | "REQUIRED"
2251      | "SHALL"
2252      | "SHALL NOT"
2253      | "SHOULD"
2254      | "SHOULD NOT"
2255    }
2256
2257  # Blockquote (see Section 10.6)
2258  x_blockquote =
2259    element x:blockquote {
2260      attribute cite { URI }?,
2261      t+
2262    }
2263
2264  # Boilerplate (see Section 10.6)
2265  x_boilerplate =
2266    element x:boilerplate {
2267      section+
2268    }
2269
2270  # Top line of box drawing (see Section 10.8)
2271  x_bt =
2272    element x:bt {
2273      (TEXT
2274        | iref
2275        | xref
2276        | x_bb
2277        | x_bc
2278        | x_bt
2279        | x_ref)*
2280    }
2281
2282  # Definition (see Section 10.9)
2283  x_dfn =
2284    element x:dfn {
2285      attribute anchor { xsd:ID }?,
2286      (TEXT
2287        | iref)*
2288    }
2289
2290  # Heading (see Section 10.10)
2291  x_h =
2292
2293
2294
2295Reschke                                                        [Page 41]
2296
2297Documentation             RFC2629 through XSLT                March 2009
2298
2299
2300    element x:h {
2301      TEXT
2302    }
2303
2304  # Heading (see Section 10.11)
2305  x_highlight =
2306    element x:highlight {
2307      TEXT
2308    }
2309
2310  # Length Measurement (see Section 10.12)
2311  x_length-of =
2312    element x:length-of {
2313      attribute indented { NUMBER }?,
2314      attribute target { xsd:IDREF },
2315      empty
2316    }
2317
2318  # Link (see Section 10.13)
2319  x_link =
2320    element x:link {
2321      attribute href { URI },
2322      attribute title { TEXT }?,
2323      attribute rel { TEXT },
2324      empty
2325    }
2326
2327  # Extended list item (see Section 10.14)
2328  x_lt =
2329    element x:lt {
2330      attribute anchor { xsd:ID }?,
2331      attribute hangText { TEXT }?,
2332      t+
2333    }
2334
2335  # Note (see Section 10.15)
2336  x_note =
2337    element x:note {
2338      t+
2339    }
2340
2341  # Signal XML content (see Section 10.16)
2342  x_parse-xml =
2343    element x:parse-xml {
2344      TEXT
2345    }
2346
2347  # Inline quote (see Section 10.17)
2348
2349
2350
2351Reschke                                                        [Page 42]
2352
2353Documentation             RFC2629 through XSLT                March 2009
2354
2355
2356  x_q =
2357    element x:q {
2358      TEXT
2359    }
2360
2361  # Anchor reference (see Section 10.18)
2362  x_ref =
2363    element x:ref {
2364      TEXT
2365    }
2366
2367  # source information (see Section 10.19)
2368  x_source =
2369    element x:source {
2370      attribute basename { ATEXT }?,
2371      attribute href { URI },
2372      empty
2373    }
2374
2375  # superscript (see Section 10.20)
2376  x_sup =
2377    element x:sup {
2378      TEXT
2379    }
2380
2381  # Inline Span
2382  x_span =
2383    element x:span {
2384      attribute anchor { xsd:ID }?,
2385      (TEXT
2386        | x_parse-xml)*
2387    }
2388
2389  # Nop (for alignment in source)
2390  x_x =
2391    element x:x {
2392      empty
2393    }
2394
2395  # Embed RDF statements
2396  rdf_Description =
2397    element rdf:Description {
2398      rdf_content
2399    }
2400
2401  rdf_content =
2402    ( TEXT | element * { rdf_content })*
2403
2404
2405
2406
2407Reschke                                                        [Page 43]
2408
2409Documentation             RFC2629 through XSLT                March 2009
2410
2411
2412Appendix B.  Implementation Notes
2413
2414B.1.  Recognized type attributes for <artwork> element
2415
2416   Specific values in the <artwork> element's "type" attribute are
2417   recognized and cause a different visual style to be used:
2418
2419   +-------------------------------------+-----------------------------+
2420   | Media Type                          | Comment                     |
2421   +-------------------------------------+-----------------------------+
2422   | abnf                                | ABNF as per [RFC5234]       |
2423   |                                     |                             |
2424   | abnf2616                            | ABNF as per [RFC2616],      |
2425   |                                     | Section 2.1                 |
2426   |                                     |                             |
2427   | application/relax-ng-compact-syntax | Relax NG Compact Syntax as  |
2428   |                                     | per [RNC]                   |
2429   |                                     |                             |
2430   | application/xml-dtd                 | XML DTD                     |
2431   |                                     |                             |
2432   | message/http; msgtype="request"     | HTTP message, as per        |
2433   |                                     | [RFC2616], Section 19.1     |
2434   |                                     |                             |
2435   | message/http; msgtype="response"    | HTTP message, as per        |
2436   |                                     | [RFC2616], Section 19.1     |
2437   +-------------------------------------+-----------------------------+
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463Reschke                                                        [Page 44]
2464
2465Documentation             RFC2629 through XSLT                March 2009
2466
2467
2468Appendix C.  License
2469
2470   Copyright (c) 2006-2009, Julian Reschke
2471   (julian.reschke@greenbytes.de)
2472
2473   All rights reserved.
2474
2475   Redistribution and use in source and binary forms, with or without
2476   modification, are permitted provided that the following conditions
2477   are met:
2478
2479   o  Redistributions of source code must retain the above copyright
2480      notice, this list of conditions and the following disclaimer.
2481
2482   o  Redistributions in binary form must reproduce the above copyright
2483      notice, this list of conditions and the following disclaimer in
2484      the documentation and/or other materials provided with the
2485      distribution.
2486
2487   o  Neither the name of Julian Reschke nor the names of its
2488      contributors may be used to endorse or promote products derived
2489      from this software without specific prior written permission.
2490
2491   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2492   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2493   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2494   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT
2495   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2496   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2497   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2498   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2499   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2500   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2501   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519Reschke                                                        [Page 45]
2520
2521Documentation             RFC2629 through XSLT                March 2009
2522
2523
2524Appendix D.  Change Logs
2525
2526D.1.  Package
2527
2528   2006-01-01  Switch to BSD License.
2529
2530   2007-01-12  Update to xml2rfc v1.33pre2.
2531
2532   2007-03-31  Update to xml2rfc v1.33pre3.
2533
2534   2007-05-01  Add XSLT test cases.
2535
2536   2008-07-18  Experimental support for inlined rdf:Description elements
2537      (ignored by the formatter, extracted by rfc2629grddl).
2538
2539   2008-12-04  Update to xml2rfc v1.34pre2.
2540
2541   2009-02-24  Experimental support for February 2009 boilerplate
2542      changes, and for the x:boilerplate element.
2543
2544D.2.  amazon-asin.xslt
2545
2546   2003-11-16  Initial release.
2547
2548   2005-04-02  Fix two DTD issues.
2549
2550D.3.  check-references.xslt
2551
2552   2003-11-16  Initial release.
2553
2554   2004-05-11  Add document status; print references type.
2555
2556   2005-01-01  Add experimental check for ID status.
2557
2558   2005-04-01  Add fixes from Bill Fenner.
2559
2560   2005-12-03  Add checks against local copy of
2561      <http://www.w3.org/2002/01/tr-automation/tr.rdf>.
2562
2563   2006-07-22  Add checks for standards levels.
2564
2565   2006-08-06  "check-ietf-references.xslt" replaced by "check-
2566      references.xslt".
2567
2568   2007-01-04  Use information online at <http://tools.ietf.org/> to
2569      retrieve Internet-Draft status information.
2570
2571
2572
2573
2574
2575Reschke                                                        [Page 46]
2576
2577Documentation             RFC2629 through XSLT                March 2009
2578
2579
2580   2007-06-16  Fix bug looking up ref type when inside change markup.
2581
2582   2008-06-14  Enhance output when draft was updated, and then published
2583      as RFC.
2584
2585   2008-07-12  Add XSLT2-based link target checking.
2586
2587   2008-08-10  Change keywords for "intended-level" to proposed/draft/
2588      internet, optionall extract intended level from /rfc/@
2589      x:maturity-level attribute.
2590
2591D.4.  gen-reference-graph.xslt
2592
2593   2006-09-03  New.
2594
2595   2007-06-07  Use Carlisle method [12] to define exslt:node-set in
2596      msxsml (which means that the stylesheet can now be used with MSXML
2597      as well).
2598
2599   2007-10-15  Use W3C data from tr.rdf as well (experimental).
2600
2601D.5.  rfc2629.xslt
2602
2603   2001-03-28  Code rearranged, generate numbered section anchors for
2604      paragraphs (t) as well.  Fixes in index handling.
2605
2606   2001-04-12  Moved HTML output into XHTML namespace.
2607
2608   2001-10-02  Fixed default location for RFCs and numbering of section
2609      references.  Support ?rfc editing processing instruction.
2610
2611   2001-10-07  Made telephone number links active.
2612
2613   2001-10-08  Support for vspace element.
2614
2615   2001-10-09  Experimental support for rfc-issue PI.
2616
2617   2001-11-11  Support rfc private PI.  Removed bogus code reporting the
2618      WG in the header.
2619
2620   2001-11-11  Support rfc private PI.  Removed bogus code reporting the
2621      WG in the header.
2622
2623   2001-12-17  Support title attribute on references element
2624
2625
2626
2627
2628
2629
2630
2631Reschke                                                        [Page 47]
2632
2633Documentation             RFC2629 through XSLT                March 2009
2634
2635
2636   2002-01-05  Support for list/@style="@format"
2637
2638   2002-01-09  Display "closed" RFC issues as deleted
2639
2640   2002-01-14  Experimentally and optionally parse XML encountered in
2641      artwork elements (requires MSXSL).
2642
2643   2002-01-27  Some cleanup.  Moved RFC issues from PIs into namespaced
2644      elements.
2645
2646   2002-01-29  Added support for sortrefs PI.  Added support for figure
2647      names.
2648
2649   2002-02-07  Highlight parts of artwork which are too wide (72
2650      characters).
2651
2652   2002-02-12  Code rearrangement for static texts.  Fixes for section
2653      numbering.  TOC generation rewritten.
2654
2655   2002-02-15  Support for irefs in sections; support iref @primary=true
2656
2657   2002-03-03  Moved anchor prefix into a constant.  Added sanity checks
2658      on user anchor names.
2659
2660   2002-03-23  Bugfix in detection of matching org names when creating
2661      the header.  Fixed sorting in subitems.
2662
2663   2002-04-02  Fix TOC link HTML generation when no TOC is generated
2664      (created broken HTML table code).
2665
2666   2002-04-03  Made rendering of references more tolerant re: missing
2667      parts.
2668
2669   2002-04-08  Fixed reference numbering when references are split into
2670      separate sections.
2671
2672   2002-04-16  Fix default namespace (shouldn't be set for HTML output
2673      method).
2674
2675   2002-04-19  Lowercase internal CSS selectors for Mozilla compliance.
2676      Do not put TOC into ul element.
2677
2678   2002-04-21  Make numbered list inside numbered lists use alphanumeric
2679      numbering.
2680
2681
2682
2683
2684
2685
2686
2687Reschke                                                        [Page 48]
2688
2689Documentation             RFC2629 through XSLT                March 2009
2690
2691
2692   2002-05-05  Updated issue/editing support.
2693
2694   2002-05-15  Bugfix for section numbering after introduction of ed:
2695      replace
2696
2697   2002-06-21  When producing private documents, do not include document
2698      status, copyright etc.
2699
2700   2002-07-08  Fix xrefs to Appendices.
2701
2702   2002-07-19  Make artwork lightyellow for easier reading. (fielding)
2703
2704   2002-10-09  Translate references title to anchor name to avoid non-
2705      uri characters. (fielding)
2706
2707   2002-10-13  Support for tocdepth PI.
2708
2709   2002-11-03  Added temporariry workaround for Mozilla/Transformiix
2710      result tree fragment problem. (search for
2711      'http://bugzilla.mozilla.org/show_bug.cgi?id=143668')
2712
2713   2002-12-25  xref code: attempt to uppercase "section" and "appendix"
2714      when at the start of a sentence.
2715
2716   2003-02-02  fixed code for vspace blankLines="0", enhanced display
2717      for list with "format" style, got rid of HTML blockquote elements,
2718      added support for "hangIndent"
2719
2720   2003-04-10  experimental support for appendix and spanx elements
2721
2722   2003-04-19  fixed counting of list numbers in "format %" styles (one
2723      counter per unique format string).  Added more spanx styles.
2724
2725   2003-05-02  experimental texttable support
2726
2727   2003-05-02  Make mailto links optional (default = none) (jre: default
2728      and PI name changed) (fielding)
2729
2730   2003-05-04  experimental support for HTML link elements; fix default
2731      for table header alignment default
2732
2733   2003-05-06  support for "background" PI.
2734
2735   2003-05-11  change %c format to lowercase alphabetic. add support for
2736      keyword elements (generate META tag). fix various HTML conformance
2737      problems. added experimental support for role attribute. do not
2738      number paragraphs in unnumbered sections. update boilerplate
2739      texts. support for "iprnotified" PI. bugfix list numbering. strip
2740
2741
2742
2743Reschke                                                        [Page 49]
2744
2745Documentation             RFC2629 through XSLT                March 2009
2746
2747
2748      whitespace when building tel: URIs.
2749
2750   2003-05-12  more conformance fixes (layout moved into CSS, move lists
2751      and figures out of para content, do not use tables for list
2752      formatting)
2753
2754   2003-05-13  add DC.Creator meta tag, refactoring
2755
2756   2003-05-16  put nbsps between "section" and section number (xref).
2757
2758   2003-05-18  author summary: add missing comma.
2759
2760   2003-06-06  fix index generation bug (transposed characters in key
2761      generation).  Enhance sentence start detection (xref starting a
2762      section was using lowercase "section").
2763
2764   2003-06-22  exp. support for xref/@format.  Add missing support for
2765      eref w/o content. exp. support for annotations in reference
2766      elements.  Code cleanup reference table formatting.
2767
2768   2003-07-09  Another fix for DC.Creator meta tag creation based on
2769      RFC2731
2770
2771   2003-07-24  Fix namespace name for DC.Creator.
2772
2773   2003-08-06  Cleanup node-set support (only use exslt (saxon, xalan,
2774      libxslt) extension functions; remove Transformix workarounds that
2775      stopped to work in Moz 1.4)
2776
2777   2003-08-09  Generate HTML lang tag.
2778
2779   2003-08-10  Map spanx/verb to HTML "samp" element.  Fix author name
2780      display in references (reverse surname/initials for last author),
2781      add "Ed.".  Fix internal bookmark generation.
2782
2783   2003-08-17  Add DCMI dates, identifiers and abstract.  Add PI to
2784      suppress DCMI generation.  Do not add TOC entry to Copyright
2785      Statement when there is none.  Align RFC2629 PI names and
2786      parameter names.  Change style for inline URIs generated by eref.
2787      Add header and footer support.  Enhance CSS paging properties.
2788      Support topblock PI.  Added hooks for proper XHTML generation
2789      through separate XSLT.  Enhance warning and error messages.  Add
2790      support for artwork image display.  Table formatting fixes
2791      (borders, thead continuation).
2792
2793
2794
2795
2796
2797
2798
2799Reschke                                                        [Page 50]
2800
2801Documentation             RFC2629 through XSLT                March 2009
2802
2803
2804   2003-08-18  Add workaround for MSXML4 node-set and Mozilla node-set
2805      issues (fallback just displays are warning).
2806
2807   2003-10-06  Add workaround for broken pre/ins handling in Mozilla
2808      (see <http://bugzilla.mozilla.org/show_bug.cgi?id=204401>).  Make
2809      use of cite attribute on ed:replace.  CSS cleanup.
2810
2811   2003-10-08  Fix minor issue detecting the same org for the header
2812      (caused by IE's non-standard whitespace handling).  Fix default
2813      handling for /rfc/@category.
2814
2815   2003-11-09  Inherit ed:entered-by from ancestor elements.  Change CSS
2816      color for inserted text to green.  Generate issues-list anchor.
2817      Do not complain about missing targets when the xref element is
2818      below ed:del.  Remove code that attempted to distinguish section/
2819      Section when producing links - always use uppercase.  Fix date
2820      rendering for issue resolutions.
2821
2822   2003-11-29  Fix color values for table backgrounds for issue
2823      rendering.  Change rendering of issue links to use inline-styles.
2824      Add colored issue markers to issues.
2825
2826   2003-12-13  Fix inheritance of ed:entered-by attribute.  Display note
2827      elements inside change tracking as well.
2828
2829   2004-01-18  When PI compact = 'yes', make most CSS print page breaks
2830      conditional.
2831
2832   2004-02-20  Support for RFC3667 IPR changes (xml2rfc 1.22); see <http
2833      ://lists.xml.resource.org/pipermail/xml2rfc/2004-February/
2834      001088.html>.
2835
2836   2004-03-11  Add "(if approved)" to "updates" and "obsoletes" unless
2837      the document has an RFC number.
2838
2839   2004-04-01  Fix RFC3667 output, see <http://lists.xml.resource.org/
2840      pipermail/xml2rfc/2004-April/001208.html>.
2841
2842   2004-04-04  Add support for section/top attribute.  Move references
2843      into plain section container.
2844
2845   2004-04-06  Do not emit identical para anchors for deleted content.
2846
2847   2004-04-14  Fix references TOC generation when there are no
2848      references.
2849
2850
2851
2852
2853
2854
2855Reschke                                                        [Page 51]
2856
2857Documentation             RFC2629 through XSLT                March 2009
2858
2859
2860   2004-04-24  Fix RFC3667 output, see
2861      <http://xml.resource.org/pipermail/xml2rfc/2004-April/
2862      001246.html>.
2863
2864   2004-05-09  Add custom support for generating compound index
2865      documents.  Add anchors for each Index letter.  Add experimental
2866      cref support.  Fix conditional page breaks before References
2867      section.
2868
2869   2004-05-16  Refactor external index generation.
2870
2871   2004-05-20  Rewrite anchor generation for comments.
2872
2873   2004-05-22  Enhance issues rendering (add links to changes).
2874
2875   2004-05-30  Allow single quote as delimiter in processing
2876      instructions as well.  Move block-level issue pointers to floats.
2877      Disable issue pointers for print media.  Add "purple numbers".
2878      Add hrefs to section headings.  Add non-printing index key letter
2879      list to start of index.
2880
2881   2004-06-01  Use &#xb6; instead of # for PNs.
2882
2883   2004-07-18  Add support for list style=letters (thanks Roy F.).  Make
2884      PNs optional; add new PI.
2885
2886   2004-09-05  Fix index links into unnumbered sections.  Bring IPR
2887      boilerplate in-line with xml2rfc 1.25.  Add experimental CSS3
2888      paged media support.  Various HTML fixes.
2889
2890   2004-09-21  Enhance checking of artwork width.
2891
2892   2004-09-26  Add check for unused references.  Uppercase letters in
2893      list style letters when nested into another list.
2894
2895   2004-10-10  Fix internal change track pointers.
2896
2897   2004-11-01  Allow change tracking on references (as a whole).
2898      Rewrite artwork handling so that it allows change tracking inside
2899      artwork.  Also allow a subset of text markup inside artwork, such
2900      as xrefs (note this requires post-processing the source to make it
2901      compliant to RFC2629bis).
2902
2903   2004-11-03  Enhanced placement of iref anchors.
2904
2905
2906
2907
2908
2909
2910
2911Reschke                                                        [Page 52]
2912
2913Documentation             RFC2629 through XSLT                March 2009
2914
2915
2916   2004-11-06  Index: display irefs that appeared (with primary=true)
2917      inside artwork elements in a monospaced font.
2918
2919   2004-11-14  Add special code so that changes in section titles can be
2920      change-tracked.
2921
2922   2005-01-14  Bugfixes for HtmlToXhtml converter.
2923
2924   2005-01-22  Enhance generation of HTML h* elements (for Mozilla
2925      Outliner).
2926
2927   2005-01-31  Put vertical space around top-level TOC entries in TOC.
2928      Switch to pt-based CSS.  Re-arrange top section.  Make hr elements
2929      reflect new-page settings in TXT output (compact-PI).  Fix page
2930      number in footer (CSS print) and add some more experimental
2931      support for paged media (tested with Prince 4.1 alpha).  Rewrite
2932      TOC and Index generation to generate HTML lists.  Cleanup id
2933      generation for paragraphs.  Reduce whitespace in output.  Fix
2934      vspace implementation.  Use right/left dqoutes and copyright sign
2935      where appropriate.
2936
2937   2005-02-04  Add <link> element to references section.  Fix newly
2938      introduced bug in references processing.
2939
2940   2005-02-05  Integrate various fixes/enhancements by Roy Fielding:
2941      spelling of "Authors' Addresses", comma setting in references,
2942      position of "Authors" section, optionally place authors addresses
2943      at end (PI), trailing dots in section numbers, switch to verdana
2944      default font in CSS.  Add experimental support for centered
2945      artwork.
2946
2947   2005-02-09  Fixes in spacing and links of references section titles.
2948      Enhance sorting in references when change tracking is in place.
2949      Re-add figure centering support.  Add missing 2nd part of
2950      "Author's Adresses" fix.
2951
2952   2005-02-25  Align section number format with xml2rfc1.29.
2953
2954   2005-03-28  Get rid of table elements in Author's section.  Add
2955      experimental hCard (<http://developers.technorati.com/wiki/hCard>)
2956      support.
2957
2958   2005-04-03  Add RFC3978-style IPR statement support.
2959      (fenner@research.att.com)
2960
2961
2962
2963
2964
2965
2966
2967Reschke                                                        [Page 53]
2968
2969Documentation             RFC2629 through XSLT                March 2009
2970
2971
2972   2005-04-11  Cleanup author display. hCard related fixes.
2973
2974   2005-05-07  Minor fixes to allow change tracking in doc title.  Add
2975      experimental support for table border styles.  CSS cleanup.
2976
2977   2005-06-18  Implement missing support for references to texttables.
2978
2979   2005-09-25  Use (-moz-)column-count when printing the index.
2980
2981   2005-10-04  Report missing element templates with xsl:message.
2982
2983   2005-10-15  Process t/@anchor.
2984
2985   2005-10-23  More workarounds for Mozilla's broken del/ins handling
2986      (this time for figures).
2987
2988   2005-10-27  lowercase hCard class names
2989
2990   2005-11-22  Enhance diagnostics for XML-in-artwork extension
2991
2992   2005-11-26  Fix formatting of section numbers for sections inserted
2993      into <back>.
2994
2995   2005-12-12  Fix some validity problems when change tracking occured
2996      inside lists.
2997
2998   2005-12-18  Add change tracking inside the index.
2999
3000   2006-02-04  Add prev/next links to highlighted changes (change
3001      tracking extension).
3002
3003   2006-02-10  Catch errors instantiating MSXML component.
3004
3005   2006-02-11  References: add "work in progress" for Internet Drafts.
3006
3007   2006-02-27  Fix front matter (lowercase Internet-Draft, say "Intended
3008      status" for non-RFC documents).  Start work on experimental
3009      extension for simplified internal links.
3010
3011   2006-03-19  Tweaks to IESG Copyright stuff; support submissionType
3012      attribute.  Fix duplicate reference anchors in HTML output.
3013      Reduce HTML Tidy warnings.  Fix reference to normative ASCII
3014      version (now requires trailing ".txt").  Tweaks to hCard
3015      generation.  Started to move non-issue-tracking extensions into
3016      namespace "http://purl.org/net/xml2rfc/ext".
3017
3018
3019
3020
3021
3022
3023Reschke                                                        [Page 54]
3024
3025Documentation             RFC2629 through XSLT                March 2009
3026
3027
3028   2006-03-27  Moved "simple reference" extension into namespace
3029      "http://purl.org/net/xml2rfc/ext" and add documentation.  HTML
3030      conformance enhancements.
3031
3032   2006-04-02  Cleanup special code for automated XHTML XSLT generation.
3033
3034   2006-04-21  Generate <CITE> elements where appropiate.  Introduce
3035      x:blockquote, x:dfn, x:h and x:q elements.
3036
3037   2006-05-06  Introduce x:bcp14 element.
3038
3039   2006-05-14  Fix content model for x:blockquote.
3040
3041   2006-06-18  Add box drawing support (x:bt, x:bc, x:bb).
3042
3043   2006-06-20  HTML validity fixes (legal chars in anchors in index).
3044
3045   2006-06-24  Reduce leading empty lines in artwork.  Move <dt> style
3046      info into CSS.
3047
3048   2006-07-14  Fix rendering of multiple street address entries (missing
3049      line break).
3050
3051   2006-07-24  Add extension for deep linking into RFCs, do not generate
3052      empty list items in TOC output, avoid empty <dt> elements for list
3053      items without hangText attribute.
3054
3055   2006-08-01  Allow @anchor on more elements; start work on Relax NG
3056      grammar for extensions.  Reduce generated style elements (use CSS
3057      classes instead).  Consistently use "id" instead of "name".
3058      Change default target for RFC links to
3059      "http://tools.ietf.org/html/rfcNNNN".
3060
3061   2006-08-06  Include appendices defined in <appendix> elements in TOC
3062      (please consider them deprecated anyhow!).  Generate links to
3063      "http://tools.ietf.org/html/draft-*" for Internet Drafts.  Replace
3064      x:frag by x:rel, allowing any kind of relative reference instead
3065      of just fragments.
3066
3067   2006-08-30  Reduce textual differences between HTML output and what
3068      xml2rfc produces in TXT output mode (section refs/reference
3069      targets).  Add small workaround for Opera 9.0.1's problem with
3070      node-set().
3071
3072   2006-10-29  Fix problem generating internal links to change markup
3073      within references section.  Enhancements when generating numbered
3074      references for deleted references.  Allow inclusion of references
3075      into the index (through include-references-in-index extension).
3076
3077
3078
3079Reschke                                                        [Page 55]
3080
3081Documentation             RFC2629 through XSLT                March 2009
3082
3083
3084      Fix a bug that caused the newer version of the IETF boilerplate to
3085      be produced rather than the pre-RFC3667 one.  Update to RFC4287
3086      boilerplate.
3087
3088   2006-11-11  Add extension attribute x:for-anchor to <iref> handling.
3089
3090   2006-11-26  Experimental (and limited) support for <x:lt>.
3091
3092   2006-12-04  Fix bugs in processing documents that have both the ipr
3093      and the number attribute set on the rfc root element.  Add support
3094      for x:fmt='none' on xrefs.  Add different pre style based on
3095      artwork type attributes (experimental).
3096
3097   2006-12-13  Add x:fmt='anchor' for xref elements.
3098
3099   2007-01-07  Fix root template for compatibility for the exslt:node-
3100      set implementation in Firefox3.
3101
3102   2007-01-29  Avoid empty table entry in front matter when organization
3103      is not specified for an author.
3104
3105   2007-02-10  Allow change tracking in table rows.
3106
3107   2007-03-09  Add hcard profile URI (<http://www.w3.org/2006/03/hcard>)
3108      to head element.  Add warning for misplaced <t> elements (after
3109      section).
3110
3111   2007-03-21  Fix internal linking from reference entries in index for
3112      some xref types.  Minor CSS tweaks contributed by MTR.  Allow
3113      turning on text justification through a PI.  Improve iref anchor
3114      generation to generate less instable anchors.
3115
3116   2007-03-28  Fixes for numbering of ed:inserted references sections.
3117
3118   2007-05-04  Do not generate anchors for edits in deleted sections.
3119      Enhance HTML conformance.
3120
3121   2007-05-19  Enhance diagnostics when using Saxon (needs Saxon's "-l"
3122      command line parameter to keep line number information).  Add
3123      warning when symref PI is missing (default will change in the
3124      future).  Add support for overriding computed section numbers
3125      (when formatting historic documents).
3126
3127   2007-06-07  Change default for symrefs PI to "yes" (see change in
3128      xml2rfc 1.33pre4).  Warn about docName attributes that appear to
3129      contain a file extension.
3130
3131
3132
3133
3134
3135Reschke                                                        [Page 56]
3136
3137Documentation             RFC2629 through XSLT                March 2009
3138
3139
3140   2007-06-26  Workaround author/@initials values without trailing dot,
3141      as in xml2rfc.tcl.
3142
3143   2007-07-14  Enhance index generation for references that use @x:sec
3144      attribute.
3145
3146   2007-09-09  Fix: sortrefs is a nop when symrefs=no.
3147
3148   2007-10-17  Work in progress: add support for referencing sections in
3149      sibling documents by anchor name.
3150
3151   2007-10-17  Work in progress (continued): support for referencing
3152      sections in sibling documents by anchor name.
3153
3154   2007-12-31  Emit warning when updating/obsoleting stuff that's not
3155      referenced.
3156
3157   2008-02-03  Support xml2rfc-1.33pre5's suppress-title attribute on
3158      texttable and figure.
3159
3160   2008-02-06  Extension: allow <eref> below <cref>.
3161
3162   2008-02-17  Extensions: add x:span and x:length-of.
3163
3164   2008-02-20  Add new RFC boilerplate (as changed in 2007-08).
3165
3166   2008-02-27  Improve diagnostics for artwork width problems; add
3167      defaulting of publication dates (requires XSLT processor
3168      supporting exslt:date, or msxml).
3169
3170   2008-02-29  Enhance CSS for link elements in the front header, update
3171      rules for generating "Acknowledgment" statement.
3172
3173   2008-03-01  Use line numbers in diagnostics in Saxon8/9 as well.
3174
3175   2008-03-02  Fix a bug in the logic choosing the boilerplate,
3176      resulting in obsolete text being inserted into IDs.
3177
3178   2008-04-01  Add support for superscript element.
3179
3180   2008-06-28  Add sanity checks for email addresses, allow multiple
3181      email elements.
3182
3183   2008-07-06  Add x:abnf-char-sequence.
3184
3185
3186
3187
3188
3189
3190
3191Reschke                                                        [Page 57]
3192
3193Documentation             RFC2629 through XSLT                March 2009
3194
3195
3196   2008-08-21  Add x:note.
3197
3198   2008-09-06  Add experimental support for SVG images.
3199
3200   2008-09-17  Add experimental support for x:author.  Fix xref/@
3201      format=none.
3202
3203   2008-10-10  Fix a huge bug, causing text content after an XML comment
3204      to be ignored.
3205
3206   2009-02-24  Use table/caption when needed.
3207
3208   2009-03-07  Fix bug that caused text to disappear in the output in
3209      presence of processing instructions.
3210
3211   2009-03-12  Make inlined comments bookmarkable.
3212
3213D.6.  rfc2629toFO.xslt
3214
3215   2003-11-16  Initial release.
3216
3217   2003-11-29  Enhance handling of unknown list styles.
3218
3219   2004-04-04  Update reference section handling.
3220
3221   2004-04-17  Use XSL-WD-1.1-style fo:bookmark and index handling and
3222      add postprocessors for existing implementations.  Unify PDF info
3223      generation by using XEP (postprocessors) will convert.
3224
3225   2004-04-20  Add experimental cref support.
3226
3227   2004-06-14  Set correct index-item defaults.
3228
3229   2004-07-18  Add list style=letters.
3230
3231   2004-09-03  Make URLs in text break where they are allowed to break
3232      by inserting zero-width spaces.
3233
3234   2004-09-26  Fix letter-style inside nested lists.
3235
3236   2004-10-31  Update handling of artwork.
3237
3238   2004-11-13  Fix handling of references inside ed:* markup.  Fix
3239      whitespace handling in artwork.
3240
3241
3242
3243
3244
3245
3246
3247Reschke                                                        [Page 58]
3248
3249Documentation             RFC2629 through XSLT                March 2009
3250
3251
3252   2004-11-27  Irefs in artwork generate monospaced entries in index.
3253
3254   2005-01-31  Fix TOC generation that was broken after changes in main
3255      XSLT.
3256
3257   2005-02-05  Bring in sync with cosmetic changes in rfc2629.xslt.
3258
3259   2005-05-07  Minor fix for change tracking in document title.  Support
3260      for table styles.
3261
3262   2005-06-18  Fix references to tables.
3263
3264   2005-10-15  Process t/@anchor.
3265
3266   2006-02-11  References: add "work in progress" for Internet Drafts.
3267
3268   2006-06-02  Use XSL 1.1 WD Feb 2006.
3269
3270   2007-03-21  Support optional text justification.
3271
3272   2007-05-19  Various improvements in spacing; also allow overriding
3273      the automatic list indentation via list/x:indent.
3274
3275D.7.  xsl11toAn.xslt
3276
3277   2004-05-17  Initial release.
3278
3279   2006-06-02  Use XSL 1.1 WD Feb 2006.
3280
3281D.8.  xsl11toFop.xslt
3282
3283   2004-05-17  Initial release.
3284
3285   2006-06-02  Use XSL 1.1 WD Feb 2006.
3286
3287D.9.  xsl11toFop-0.93.xslt
3288
3289   2008-03-15  Add a workaround to the fo:inline workaround (sigh).
3290
3291D.10.  xsl11toXep.xslt
3292
3293   2004-05-17  Initial release.
3294
3295   2004-09-04  Fix xep:index-item attributes.
3296
3297
3298
3299
3300
3301
3302
3303Reschke                                                        [Page 59]
3304
3305Documentation             RFC2629 through XSLT                March 2009
3306
3307
3308   2006-06-02  Use XSL 1.1 WD Feb 2006.
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359Reschke                                                        [Page 60]
3360
3361Documentation             RFC2629 through XSLT                March 2009
3362
3363
3364Index
3365
3366   A
3367      abnf-char-sequence Extension Element  21, 35
3368      allow-markup-in-artwork PI pseudo-attribute  8
3369      alternate HTML LINK element  15
3370      anchor-alias Extension Element  21, 35
3371      Anchors
3372         rfc.abstract  12
3373         rfc.authors  12
3374         rfc.copyright  12
3375         rfc.copyrightnotice  12
3376         rfc.figure.n  12
3377         rfc.figure.u.n  12
3378         rfc.index  12
3379         rfc.ipr  12
3380         rfc.iref.n  12
3381         rfc.note.n  12
3382         rfc.references  12
3383         rfc.section.n  12
3384         rfc.section.n.p.m  12
3385         rfc.status  12
3386         rfc.toc  12
3387         rfc.xref.name.n  12
3388      AntennaHouse XSL Formatter  19
3389      Apache FOP  19
3390      appendix HTML LINK element  15
3391      assign-section-number Extension Element  35
3392      author HTML LINK element  15
3393      authors-section PI pseudo-attribute  8
3394
3395   B
3396      background PI pseudo-attribute  6
3397      bb Extension Element  22, 35
3398      bc Extension Element  22, 35
3399      bcp14 Extension Element  21, 35
3400      blockquote Extension Element  22, 35
3401      boilerplate Extension Element  22, 35
3402      bt Extension Element  23, 35
3403
3404   C
3405      chapter HTML LINK element  15
3406      CHM format  18
3407      comments PI pseudo-attribute  6
3408      compact PI pseudo-attribute  6
3409      contents HTML LINK element  15
3410      copyright HTML LINK element  15
3411      Creator DCMI property  16
3412
3413
3414
3415Reschke                                                        [Page 61]
3416
3417Documentation             RFC2629 through XSLT                March 2009
3418
3419
3420   D
3421      Date.Issued DCMI property  16
3422      DCMI properties
3423         Creator  16
3424         Date.Issued  16
3425         Description.Abstract  16
3426         Identifier  16
3427         Relation.Replaces  16
3428      Description.Abstract DCMI property  16
3429      dfn Extension Element  23, 35
3430
3431   E
3432      editing PI pseudo-attribute  6
3433      Extension Elements
3434         abnf-char-sequence  21, 35
3435         anchor-alias  21, 35
3436         assign-section-number  35
3437         bb  22, 35
3438         bc  22, 35
3439         bcp14  21, 35
3440         blockquote  22, 35
3441         boilerplate  22, 35
3442         bt  23, 35
3443         dfn  23, 35
3444         h  23, 35
3445         highlight  23, 35
3446         include-author  35
3447         length-of  23, 35
3448         link  23, 35
3449         lt  24, 35
3450         note  24, 35
3451         parse-xml  24, 35
3452         q  24, 35
3453         rdf:Description  35
3454         ref  24, 35
3455         source  25, 35
3456         span  35
3457         sup  25, 35
3458         x  35
3459
3460   F
3461      Firefox
3462         1.*/2.*  13
3463         3.*  13
3464      footer PI pseudo-attribute  6
3465
3466   G
3467      generator HTML META element  16
3468
3469
3470
3471Reschke                                                        [Page 62]
3472
3473Documentation             RFC2629 through XSLT                March 2009
3474
3475
3476      Google Chrome  13
3477      Grammar  35
3478
3479   H
3480      h Extension Element  23, 35
3481      header PI pseudo-attribute  6
3482      highlight Extension Element  23, 35
3483      HTML compliance  15
3484      HTML LINK elements
3485         alternate  15
3486         appendix  15
3487         author  15
3488         chapter  15
3489         contents  15
3490         copyright  15
3491         index  15
3492      HTML META elements
3493         generator  16
3494         keywords  16
3495
3496   I
3497      Identifier DCMI property  16
3498      include PI pseudo-attribute  7
3499      include-author Extension Element  35
3500      include-references-in-index PI pseudo-attribute  8
3501      index HTML LINK element  15
3502      inline PI pseudo-attribute  6
3503      Internet Explorer 5.5  13
3504      Internet Explorer 6  13
3505      Internet Explorer 7  13
3506      iprnotified PI pseudo-attribute  6
3507
3508   J
3509      justification PI pseudo-attribute  8
3510
3511   K
3512      keywords HTML META element  16
3513
3514   L
3515      length-of Extension Element  23, 35
3516      link Extension Element  23, 35
3517      linkmailto PI pseudo-attribute  6
3518      lt Extension Element  24, 35
3519
3520   M
3521      Microsoft Help  18
3522      Mozilla  13
3523      MSXML3  13
3524
3525
3526
3527Reschke                                                        [Page 63]
3528
3529Documentation             RFC2629 through XSLT                March 2009
3530
3531
3532      MSXML4  13
3533
3534   N
3535      needLines PI pseudo-attribute  7
3536      note Extension Element  24, 35
3537
3538   O
3539      Opera  13
3540
3541   P
3542      Parameters
3543         xml2rfc-background  6
3544         xml2rfc-comments  6
3545         xml2rfc-compact  6
3546         xml2rfc-editing  6
3547         xml2rfc-ext-allow-markup-in-artwork  8
3548         xml2rfc-ext-authors-section  8
3549         xml2rfc-ext-include-references-in-index  8
3550         xml2rfc-ext-justification  8
3551         xml2rfc-ext-parse-xml-in-artwork  8
3552         xml2rfc-ext-sec-no-trailing-dots  8
3553         xml2rfc-ext-support-rfc2731  8
3554         xml2rfc-footer  6
3555         xml2rfc-header  6
3556         xml2rfc-inline  6
3557         xml2rfc-iprnotified  6
3558         xml2rfc-linkmailto  6
3559         xml2rfc-private  6
3560         xml2rfc-rfcedstyle  6
3561         xml2rfc-sortrefs  6
3562         xml2rfc-symrefs  6
3563         xml2rfc-toc  6
3564         xml2rfc-tocdepth  6
3565         xml2rfc-topblock  6
3566      parse-xml Extension Element  24, 35
3567      parse-xml-in-artwork PI pseudo-attribute  8
3568      private PI pseudo-attribute  6
3569      Processing Instruction pseudo attributes
3570         allow-markup-in-artwork  8
3571         authors-section  8
3572         background  6
3573         comments  6
3574         compact  6
3575         editing  6
3576         footer  6
3577         header  6
3578         ijustification  8
3579         include  7
3580
3581
3582
3583Reschke                                                        [Page 64]
3584
3585Documentation             RFC2629 through XSLT                March 2009
3586
3587
3588         include-references-in-index  8
3589         inline  6
3590         iprnotified  6
3591         linkmailto  6
3592         needLines  7
3593         parse-xml-in-artwork  8
3594         private  6
3595         rfcedstyle  6
3596         sec-no-trailing-dots  8
3597         slides  7
3598         sortrefs  6
3599         strict  7
3600         subcompact  7
3601         support-rfc2731  8
3602         symrefs  6
3603         toc  6
3604         tocdepth  6
3605         tocindent  7
3606         tocompact  7
3607         topblock  6
3608
3609   Q
3610      q Extension Element  24, 35
3611
3612   R
3613      rdf:Description Extension Element  35
3614      ref Extension Element  24, 35
3615      Relation.Replaces DCMI property  16
3616      RELAX NG Compact Schema  35
3617      rfc.abstract anchor  12
3618      rfc.authors anchor  12
3619      rfc.copyright anchor  12
3620      rfc.copyrightnotice anchor  12
3621      rfc.figure.n anchor  12
3622      rfc.figure.u.n anchor  12
3623      rfc.index anchor  12
3624      rfc.ipr anchor  12
3625      rfc.iref.n anchor  12
3626      rfc.note.n anchor  12
3627      rfc.references anchor  12
3628      rfc.references.n anchor  12
3629      rfc.section.n anchor  12
3630      rfc.section.n.p.m anchor  12
3631      rfc.status anchor  12
3632      rfc.toc anchor  12
3633      rfc.xref.name.n anchor  12
3634      rfcedstyle PI pseudo-attribute  6
3635
3636
3637
3638
3639Reschke                                                        [Page 65]
3640
3641Documentation             RFC2629 through XSLT                March 2009
3642
3643
3644   S
3645      Safari  13-14
3646         3.*  13
3647      Saxon  13
3648      Schema  35
3649      sec-no-trailing-dots PI pseudo-attribute  8
3650      slides PI pseudo-attribute  7
3651      sortrefs PI pseudo-attribute  6
3652      source Extension Element  25, 35
3653      span Extension Element  35
3654      strict PI pseudo-attribute  7
3655      subcompact PI pseudo-attribute  7
3656      sup Extension Element  25, 35
3657      support-rfc2731 PI pseudo-attribute  8
3658      symrefs PI pseudo-attribute  6
3659
3660   T
3661      toc PI pseudo-attribute  6
3662      tocdepth PI pseudo-attribute  6
3663      tocindent PI pseudo-attribute  7
3664      tocompact PI pseudo-attribute  7
3665      topblock PI pseudo-attribute  6
3666
3667   X
3668      x Extension Element  35
3669      Xalan  13
3670      xml-stylesheet PI  15
3671      xml2rfc-background parameter  6
3672      xml2rfc-comments parameter  6
3673      xml2rfc-editing parameter  6
3674      xml2rfc-ext-allow-markup-in-artwork parameter  8
3675      xml2rfc-ext-authors-section parameter  8
3676      xml2rfc-ext-include-references-in-index parameter  8
3677      xml2rfc-ext-justification parameter  8
3678      xml2rfc-ext-parse-xml-in-artwork parameter  8
3679      xml2rfc-ext-sec-no-trailing-dots parameter  8
3680      xml2rfc-ext-support-rfc2731 parameter  8
3681      xml2rfc-footer parameter  6
3682      xml2rfc-header parameter  6
3683      xml2rfc-inline parameter  6
3684      xml2rfc-iprnotified parameter  6
3685      xml2rfc-linkmailto parameter  6
3686      xml2rfc-private parameter  6
3687      xml2rfc-rfcedstyle parameter  6
3688      xml2rfc-sortrefs parameter  6
3689      xml2rfc-symrefs parameter  6
3690      xml2rfc-toc parameter  6
3691      xml2rfc-tocdepth parameter  6
3692
3693
3694
3695Reschke                                                        [Page 66]
3696
3697Documentation             RFC2629 through XSLT                March 2009
3698
3699
3700      xml2rfc-topblock parameter  6
3701      xsltproc  13
3702         passing parameters  5
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751Reschke                                                        [Page 67]
3752
3753Documentation             RFC2629 through XSLT                March 2009
3754
3755
3756Author's Address
3757
3758   Julian F. Reschke
3759   greenbytes GmbH
3760   Hafenweg 16
3761   Muenster, NW  48155
3762   Germany
3763
3764   Phone: +49 251 2807760
3765   Email: julian.reschke@greenbytes.de
3766   URI:   http://greenbytes.de/tech/webdav/
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807Reschke                                                        [Page 68]
3808
Note: See TracBrowser for help on using the repository browser.