


RFC2629 through XSLT                                          J. Reschke
                                                              greenbytes
                                                        October 27, 2009


            Transforming RFC2629-formatted XML through XSLT


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Supported RFC2629 elements . . . . . . . . . . . . . . . . . .  4
     2.1.   Extension elements  . . . . . . . . . . . . . . . . . . .  4
   3.  Processing Instructions  . . . . . . . . . . . . . . . . . . .  5
     3.1.   Supported xml2rfc-compatible PIs  . . . . . . . . . . . .  6
     3.2.   Unsupported xml2rfc-compatible PIs  . . . . . . . . . . .  7
     3.3.   Extension PIs . . . . . . . . . . . . . . . . . . . . . .  8
   4.  Anchors  . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
   5.  Supported XSLT engines . . . . . . . . . . . . . . . . . . . . 14
     5.1.   Standalone Engines  . . . . . . . . . . . . . . . . . . . 14
     5.2.   In-Browser Engines  . . . . . . . . . . . . . . . . . . . 14
   6.  Transforming to HTML . . . . . . . . . . . . . . . . . . . . . 16
     6.1.   HTML compliance . . . . . . . . . . . . . . . . . . . . . 16
     6.2.   Standard HTML LINK elements . . . . . . . . . . . . . . . 16
     6.3.   Standard HTML metadata  . . . . . . . . . . . . . . . . . 17
     6.4.   Dublin Core (RFC2731) metadata  . . . . . . . . . . . . . 17
     6.5.   Experimental hCard support  . . . . . . . . . . . . . . . 17
   7.  Transforming to XHTML  . . . . . . . . . . . . . . . . . . . . 18
   8.  Transforming to CHM (Microsoft Compiled Help)  . . . . . . . . 19
   9.  Transforming to PDF  . . . . . . . . . . . . . . . . . . . . . 20
     9.1.   Via XSL-FO  . . . . . . . . . . . . . . . . . . . . . . . 20
       9.1.1.  Extension feature matrix . . . . . . . . . . . . . . . 20
       9.1.2.  Example: producing output for Apache FOP . . . . . . . 21
     9.2.   Via X(HTML) . . . . . . . . . . . . . . . . . . . . . . . 21
   10. Generic Extensions . . . . . . . . . . . . . . . . . . . . . . 22
     10.1.  <abnf-char-sequence> element  . . . . . . . . . . . . . . 22
     10.2.  <anchor-alias> element  . . . . . . . . . . . . . . . . . 22
     10.3.  <bcp14> element . . . . . . . . . . . . . . . . . . . . . 22
     10.4.  <bb> element  . . . . . . . . . . . . . . . . . . . . . . 23
     10.5.  <bc> element  . . . . . . . . . . . . . . . . . . . . . . 23
     10.6.  <blockquote> element  . . . . . . . . . . . . . . . . . . 23
     10.7.  <boilerplate> element . . . . . . . . . . . . . . . . . . 23
     10.8.  <bt> element  . . . . . . . . . . . . . . . . . . . . . . 24
     10.9.  <dfn> element . . . . . . . . . . . . . . . . . . . . . . 24
     10.10. <h> element . . . . . . . . . . . . . . . . . . . . . . . 24
     10.11. <highlight> element . . . . . . . . . . . . . . . . . . . 24
     10.12. <length-of> element . . . . . . . . . . . . . . . . . . . 24
     10.13. <link> element  . . . . . . . . . . . . . . . . . . . . . 24



Reschke                                                         [Page 1]

Documentation             RFC2629 through XSLT              October 2009


     10.14. <lt> element  . . . . . . . . . . . . . . . . . . . . . . 25
     10.15. <note> element  . . . . . . . . . . . . . . . . . . . . . 25
     10.16. <parse-xml> element . . . . . . . . . . . . . . . . . . . 25
     10.17. <q> element . . . . . . . . . . . . . . . . . . . . . . . 25
     10.18. <ref> element . . . . . . . . . . . . . . . . . . . . . . 25
     10.19. <source> element  . . . . . . . . . . . . . . . . . . . . 26
     10.20. <sup> element . . . . . . . . . . . . . . . . . . . . . . 26
     10.21. Extensions to Xml2rfc <artwork> element . . . . . . . . . 26
     10.22. Extensions to Xml2rfc <iref> element  . . . . . . . . . . 26
     10.23. Extensions to Xml2rfc <list> element  . . . . . . . . . . 27
     10.24. Extensions to Xml2rfc <rfc> element . . . . . . . . . . . 27
     10.25. Extensions to Xml2rfc <section> element . . . . . . . . . 27
     10.26. Extensions to Xml2rfc <xref> element  . . . . . . . . . . 27
   11. Utilities  . . . . . . . . . . . . . . . . . . . . . . . . . . 29
     11.1.  Checking References . . . . . . . . . . . . . . . . . . . 29
     11.2.  Generating Graphs from References . . . . . . . . . . . . 31
     11.3.  Producing reference entries for books . . . . . . . . . . 31
     11.4.  Down-converting to RFC2629bis DTD . . . . . . . . . . . . 32
     11.5.  Extracting artwork  . . . . . . . . . . . . . . . . . . . 32
     11.6.  GRRDL . . . . . . . . . . . . . . . . . . . . . . . . . . 33
   12. Informative References . . . . . . . . . . . . . . . . . . . . 34
   Appendix A.  RELAX NG Compact Schema . . . . . . . . . . . . . . . 36
   Appendix B.  Implementation Notes  . . . . . . . . . . . . . . . . 46
     B.1.   Recognized type attributes for <artwork> element  . . . . 46
   Appendix C.  Examples  . . . . . . . . . . . . . . . . . . . . . . 47
     C.1.   Using the 'Internal Subset' . . . . . . . . . . . . . . . 47
     C.2.   Customization . . . . . . . . . . . . . . . . . . . . . . 47
   Appendix D.  License . . . . . . . . . . . . . . . . . . . . . . . 49
   Appendix E.  Change Logs . . . . . . . . . . . . . . . . . . . . . 50
     E.1.   Package . . . . . . . . . . . . . . . . . . . . . . . . . 50
     E.2.   amazon-asin.xslt  . . . . . . . . . . . . . . . . . . . . 51
     E.3.   check-references.xslt . . . . . . . . . . . . . . . . . . 51
     E.4.   gen-reference-graph.xslt  . . . . . . . . . . . . . . . . 52
     E.5.   rfc2629.xslt  . . . . . . . . . . . . . . . . . . . . . . 52
     E.6.   rfc2629toFO.xslt  . . . . . . . . . . . . . . . . . . . . 63
     E.7.   xsl11toAn.xslt  . . . . . . . . . . . . . . . . . . . . . 64
     E.8.   xsl11toFop.xslt . . . . . . . . . . . . . . . . . . . . . 64
     E.9.   xsl11toFop-0.95.xslt  . . . . . . . . . . . . . . . . . . 64
     E.10.  xsl11toXep.xslt . . . . . . . . . . . . . . . . . . . . . 65
   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 74










Reschke                                                         [Page 2]

Documentation             RFC2629 through XSLT              October 2009


1.  Introduction

   This document describes a set of XSLT transformations that can be
   used to transform RFC2629-compliant XML (see [RFC2629]) to various
   output formats, such as HTML and PDF.  The main topics are

   o  compliance to the xml2rfc XML element set (Section 2),

   o  support for xml2rfc processing instructions (Section 3),

   o  the names of anchor elements generated in HTML and PDF output
      (Section 4),

   o  various XSLT engines that can be used (Section 5),

   o  outputting HTML (Section 6) and XHTML (Section 7),

   o  outputting CHM (Compiled Microsoft Help, Section 8),

   o  outputting PDF (Section 9),

   o  extensions to the xml2rfc vocabulary (Section 10).

   o  various utilities (Section 11).

   The full distribution is available at
   <http://greenbytes.de/tech/webdav/rfc2629xslt.zip>.
























Reschke                                                         [Page 3]

Documentation             RFC2629 through XSLT              October 2009


2.  Supported RFC2629 elements

   "rfc2629.xslt" supports both all RFC2629 grammar elements and the
   extensions implemented in xml2rfc 1.33.

2.1.  Extension elements

   "rfc2629.xslt" supports two kind of extension elements, using
   different XML namespaces.

   The first set contains (hopefully) generally useful extensions, see
   Section 10.

   The second set is used for change and issue tracking and currently is
   not documented here.  Please email the author in case you're
   interested in using these extensions.



































Reschke                                                         [Page 4]

Documentation             RFC2629 through XSLT              October 2009


3.  Processing Instructions

   All PIs can be set as XSLT parameter as well, overriding any value
   that is found in the source file to be transformed.

   Using processing instructions:

   <?rfc toc="yes"?>
   <?rfc-ext support-rfc2731="no"?>

   Using XSLT parameters (Saxon):

   java -cp saxon.jar com.icl.saxon.StyleSheet source.xml rfc2629.xslt \
     xml2rfc-toc=yes xml2rfc-ext-support-rfc2731=no > result.html

   Using XSLT parameters (xsltproc):

   xsltproc --param xml2rfc-toc '"yes"' \
      --param xml2rfc-ext-support-rfc2731 '"no"' \
      rfc2629.xslt source.xml > result.html

   (note the required quoting of string parameters)





























Reschke                                                         [Page 5]

Documentation             RFC2629 through XSLT              October 2009


3.1.  Supported xml2rfc-compatible PIs

   +------+--------------+------------------+------------+-------------+
   | PI   | PI           | XSLT parameter   | default    | comment     |
   | targ | pseudo-attri | name             |            |             |
   | et   | bute         |                  |            |             |
   +------+--------------+------------------+------------+-------------+
   | rfc  | background   | xml2rfc-backgrou | (not set)  |             |
   |      |              | nd               |            |             |
   |      |              |                  |            |             |
   | rfc  | compact      | xml2rfc-compact  | "no"       | only        |
   |      |              |                  |            | applies to  |
   |      |              |                  |            | HTML output |
   |      |              |                  |            | method when |
   |      |              |                  |            | printing    |
   |      |              |                  |            |             |
   | rfc  | comments     | xml2rfc-comments | (not set)  |             |
   |      |              |                  |            |             |
   | rfc  | editing      | xml2rfc-editing  | "no"       |             |
   |      |              |                  |            |             |
   | rfc  | footer       | xml2rfc-footer   | (not set)  |             |
   |      |              |                  |            |             |
   | rfc  | header       | xml2rfc-header   | (not set)  |             |
   |      |              |                  |            |             |
   | rfc  | inline       | xml2rfc-inline   | (not set)  |             |
   |      |              |                  |            |             |
   | rfc  | iprnotified  | xml2rfc-iprnotif | "no"       |             |
   |      |              | ied              |            |             |
   |      |              |                  |            |             |
   | rfc  | linkmailto   | xml2rfc-linkmail | "yes"      |             |
   |      |              | to               |            |             |
   |      |              |                  |            |             |
   | rfc  | private      | xml2rfc-private  | (not set)  |             |
   |      |              |                  |            |             |
   | rfc  | refparent    | xml2rfc-private  | "Reference | Title for   |
   |      |              |                  | s"         | References  |
   |      |              |                  |            | sections    |
   |      |              |                  |            | when        |
   |      |              |                  |            | automatical |
   |      |              |                  |            | ly inserted |
   |      |              |                  |            |             |
   | rfc  | rfcedstyle   | xml2rfc-rfcedsty | (not set)  | (limited    |
   |      |              | le               |            | support)    |
   |      |              |                  |            |             |
   | rfc  | sortrefs     | xml2rfc-sortrefs | "no"       |             |
   |      |              |                  |            |             |





Reschke                                                         [Page 6]

Documentation             RFC2629 through XSLT              October 2009


   | rfc  | symrefs      | xml2rfc-symrefs  | "yes"      | The default |
   |      |              |                  |            | has changed |
   |      |              |                  |            | from "no"   |
   |      |              |                  |            | to "yes" as |
   |      |              |                  |            | of June 6,  |
   |      |              |                  |            | 2007 and    |
   |      |              |                  |            | xml2rfc     |
   |      |              |                  |            | 1.33pre4.   |
   |      |              |                  |            |             |
   | rfc  | toc          | xml2rfc-toc      | "no"       |             |
   |      |              |                  |            |             |
   | rfc  | tocdepth     | xml2rfc-tocdepth | 99         |             |
   |      |              |                  |            |             |
   | rfc  | topblock     | xml2rfc-topblock | "yes"      |             |
   +------+--------------+------------------+------------+-------------+

3.2.  Unsupported xml2rfc-compatible PIs

   +--------+------------------+---------------------------------------+
   | PI     | PI               | comment                               |
   | target | pseudo-attribute |                                       |
   +--------+------------------+---------------------------------------+
   | rfc    | include          | incompatible with XML/XSLT processing |
   |        |                  | model, please use external entities   |
   |        |                  | instead                               |
   |        |                  |                                       |
   | rfc    | needLines        |                                       |
   |        |                  |                                       |
   | rfc    | slides           |                                       |
   |        |                  |                                       |
   | rfc    | strict           |                                       |
   |        |                  |                                       |
   | rfc    | subcompact       |                                       |
   |        |                  |                                       |
   | rfc    | tocindent        | (defaults to "yes")                   |
   |        |                  |                                       |
   | rfc    | tocompact        |                                       |
   +--------+------------------+---------------------------------------+













Reschke                                                         [Page 7]

Documentation             RFC2629 through XSLT              October 2009


3.3.  Extension PIs

   +------+-----------------+-----------------------+------+-----------+
   | PI   | PI              | XSLT parameter name   | defa | descripti |
   | targ | pseudo-attribut |                       | ult  | on        |
   | et   | e               |                       |      |           |
   +------+-----------------+-----------------------+------+-----------+
   | rfc- | allow-markup-in | xml2rfc-allow-markup- | "no" | Enables   |
   | ext  | -artwork        | in-artwork            |      | support   |
   |      |                 |                       |      | for       |
   |      |                 |                       |      | specific  |
   |      |                 |                       |      | elements  |
   |      |                 |                       |      | inside    |
   |      |                 |                       |      | abstract  |
   |      |                 |                       |      | elements  |
   |      |                 |                       |      | (using    |
   |      |                 |                       |      | this      |
   |      |                 |                       |      | extension |
   |      |                 |                       |      | makes the |
   |      |                 |                       |      | document  |
   |      |                 |                       |      | incompati |
   |      |                 |                       |      | ble to    |
   |      |                 |                       |      | the       |
   |      |                 |                       |      | RFC2629bi |
   |      |                 |                       |      | s DTD;    |
   |      |                 |                       |      | see       |
   |      |                 |                       |      | descripti |
   |      |                 |                       |      | on of     |
   |      |                 |                       |      | conversio |
   |      |                 |                       |      | n XSLT in |
   |      |                 |                       |      | Section 1 |
   |      |                 |                       |      | 1.4).     |
   |      |                 |                       |      |           |


















Reschke                                                         [Page 8]

Documentation             RFC2629 through XSLT              October 2009


   | rfc- | authors-section | xml2rfc-ext-authors-s |      | When      |
   | ext  |                 | ection                |      | "end",    |
   |      |                 |                       |      | place the |
   |      |                 |                       |      | authors   |
   |      |                 |                       |      | section   |
   |      |                 |                       |      | at the    |
   |      |                 |                       |      | end (just |
   |      |                 |                       |      | before    |
   |      |                 |                       |      | the       |
   |      |                 |                       |      | copyright |
   |      |                 |                       |      | statement |
   |      |                 |                       |      | s). This  |
   |      |                 |                       |      | seems to  |
   |      |                 |                       |      | be the    |
   |      |                 |                       |      | preferred |
   |      |                 |                       |      | order in  |
   |      |                 |                       |      | the       |
   |      |                 |                       |      | newest    |
   |      |                 |                       |      | RFCs.     |
   |      |                 |                       |      |           |
   | rfc- | duplex          | xml2rfc-ext-duplex    | no   | When set  |
   | ext  |                 |                       |      | to "yes", |
   |      |                 |                       |      | format    |
   |      |                 |                       |      | the PDF   |
   |      |                 |                       |      | output    |
   |      |                 |                       |      | for       |
   |      |                 |                       |      | doublesid |
   |      |                 |                       |      | ed        |
   |      |                 |                       |      | printing. |
   |      |                 |                       |      |           |
   | rfc- | include-referen | xml2rfc-ext-include-r |      | When set  |
   | ext  | ces-in-index    | eferences-in-index    |      | to "yes", |
   |      |                 |                       |      | index     |
   |      |                 |                       |      | entries   |
   |      |                 |                       |      | are       |
   |      |                 |                       |      | generated |
   |      |                 |                       |      | for all   |
   |      |                 |                       |      | reference |
   |      |                 |                       |      | s.        |
   |      |                 |                       |      |           |











Reschke                                                         [Page 9]

Documentation             RFC2629 through XSLT              October 2009


   | rfc- | justification   | xml2rfc-ext-justifica | "nev | "never":  |
   | ext  |                 | tion                  | er"  | never     |
   |      |                 |                       |      | emit      |
   |      |                 |                       |      | justified |
   |      |                 |                       |      | text,     |
   |      |                 |                       |      | "always": |
   |      |                 |                       |      | always    |
   |      |                 |                       |      | emit      |
   |      |                 |                       |      | justified |
   |      |                 |                       |      | text,     |
   |      |                 |                       |      | "print":  |
   |      |                 |                       |      | only emit |
   |      |                 |                       |      | justified |
   |      |                 |                       |      | text for  |
   |      |                 |                       |      | print     |
   |      |                 |                       |      | media.    |
   |      |                 |                       |      |           |
   | rfc- | parse-xml-in-ar | xml2rfc-parse-xml-in- | "no" | May be    |
   | ext  | twork           | artwork               |      | used to   |
   |      |                 |                       |      | enable    |
   |      |                 |                       |      | parsing   |
   |      |                 |                       |      | of XML    |
   |      |                 |                       |      | content   |
   |      |                 |                       |      | in        |
   |      |                 |                       |      | figures   |
   |      |                 |                       |      | (MSXML    |
   |      |                 |                       |      | only).    |
   |      |                 |                       |      |           |
   | rfc- | support-rfc2731 | xml2rfc-ext-support-r | "yes | Decides   |
   | ext  |                 | fc2731                | "    | whether   |
   |      |                 |                       |      | the HTML  |
   |      |                 |                       |      | transform |
   |      |                 |                       |      | ation     |
   |      |                 |                       |      | should    |
   |      |                 |                       |      | generate  |
   |      |                 |                       |      | META tags |
   |      |                 |                       |      | according |
   |      |                 |                       |      | Section 6 |
   |      |                 |                       |      | .4.       |
   |      |                 |                       |      |           |











Reschke                                                        [Page 10]

Documentation             RFC2629 through XSLT              October 2009


   | rfc- | sec-no-trailing | xml2rfc-ext-sec-no-tr |      | When set  |
   | ext  | -dots           | ailing-dots           |      | to "yes", |
   |      |                 |                       |      | add       |
   |      |                 |                       |      | trailing  |
   |      |                 |                       |      | dots to   |
   |      |                 |                       |      | section   |
   |      |                 |                       |      | numbers.  |
   |      |                 |                       |      | This      |
   |      |                 |                       |      | seems to  |
   |      |                 |                       |      | be the    |
   |      |                 |                       |      | preferred |
   |      |                 |                       |      | format in |
   |      |                 |                       |      | the       |
   |      |                 |                       |      | newest    |
   |      |                 |                       |      | RFCs.     |
   +------+-----------------+-----------------------+------+-----------+



































Reschke                                                        [Page 11]

Documentation             RFC2629 through XSLT              October 2009


4.  Anchors

   The transformation automatically generates anchors that are supposed
   to be stable and predictable and that can be used to identify
   specific parts of the document.  Anchors are generated both in HTML
   and XSL-FO content (but the latter will only be used for PDF output
   when the XSL-FO engine supports producing PDF anchors).












































Reschke                                                        [Page 12]

Documentation             RFC2629 through XSLT              October 2009


                 The following anchors get auto-generated:

     +-----------------------+---------------------------------------+
     | Anchor name           | Description                           |
     +-----------------------+---------------------------------------+
     | rfc.abstract          | Abstract                              |
     |                       |                                       |
     | rfc.authors           | Authors section                       |
     |                       |                                       |
     | rfc.copyright         | Copyright section                     |
     |                       |                                       |
     | rfc.copyrightnotice   | Copyright notice                      |
     |                       |                                       |
     | rfc.figure._n_        | Figures (titled)                      |
     |                       |                                       |
     | rfc.figure.u._n_      | Figures (untitled)                    |
     |                       |                                       |
     | rfc.index             | Index                                 |
     |                       |                                       |
     | rfc.ipr               | Intellectual Property                 |
     |                       |                                       |
     | rfc.iref._n_          | Internal references                   |
     |                       |                                       |
     | rfc.note._n_          | Notes (from front section)            |
     |                       |                                       |
     | rfc.references        | References                            |
     |                       |                                       |
     | rfc.references._n_    | Additional references                 |
     |                       |                                       |
     | rfc.section._n_       | Section _n_                           |
     |                       |                                       |
     | rfc.section._n_.p._m_ | Section _n_, paragraph _m_            |
     |                       |                                       |
     | rfc.status            | Status of memo                        |
     |                       |                                       |
     | rfc.table._n_         | Tables (titled)                       |
     |                       |                                       |
     | rfc.table.u._n_       | Tables (untitled)                     |
     |                       |                                       |
     | rfc.toc               | Table of contents                     |
     |                       |                                       |
     | rfc.xref._name_._n_   | References to reference _n_ to _name_ |
     +-----------------------+---------------------------------------+








Reschke                                                        [Page 13]

Documentation             RFC2629 through XSLT              October 2009


5.  Supported XSLT engines

   The transformation requires a non-standard extension function (see
   exsl:node-set [1]) which is however widely available.  XSLT
   processors that do not support this extension (or a functional
   equivalent) currently are not supported.

5.1.  Standalone Engines

   The following XSLT engines are believed to work well:

   o  Windows: MSXML3 and MSXML4 (<http://msdn.microsoft.com/xml>;
      command line processor "msxsl" is available from Microsoft
      Download Center [2])

   o  Java: Saxon (<http://saxon.sourceforge.net/>)

   o  Java: Xalan (<http://xml.apache.org/xalan-j/>)

   o  C/C++: xsltproc (libxslt) (<http://xmlsoft.org/XSLT/>, make sure
      that you have a current version)

5.2.  In-Browser Engines

   The following browsers seem to work fine:

   o  Internet Explorer 5.5 (Windows version, if MSXML3 is installed)

   o  Internet Explorer 6 and newer

   o  Firefox 3.0 and newer


      *  Be aware that XSLT execution can be suppressed using
         NoScript [3]

      *  Firefox does not load external DTDs nor external entities, see
         Mozilla Bug 22942 [4], thus entities like &nbsp; need to be
         declared in the internal subset (Appendix C.1)

   o  Safari 3 (starting with version 3.0.4)

   o  Google Chrome (beta available)

   o  Opera 10 (beta version available)

   The following browsers are known not to work properly:




Reschke                                                        [Page 14]

Documentation             RFC2629 through XSLT              October 2009


   o  Firefox 1.*/2.*: (missing extension function - see change request
      at Mozilla BugZilla 193678 [5])

   o  Opera 9.21: execution fails, potentially to a somewhat complex
      XPath expression (reported to Opera as bug 245725).

   o  Opera 9.5 and 9.6: transformation appears to work, but CSS isn't
      getting applied (reported to Opera as bug 337388 on 2008-06-12).

   o  Safari 2.* supports client-side XSLT as of MacOS X 10.4, but
      misses required extension functions.  A problem with stylesheets
      producing non-ASCII output (such as NBSP characters) has been
      fixed as of OSX 10.4.4.  Both problems have been reported through
      Apple's bug tracking system, see <http://drakken.dbc.mtview.ca.us/
      pipermail/xml2rfc/2005-May/002073.html> and
      <http://bugs.webkit.org/show_bug.cgi?id=4079>.



































Reschke                                                        [Page 15]

Documentation             RFC2629 through XSLT              October 2009


6.  Transforming to HTML

   Transformation to HTML can be done inside the browser if it supports
   XSLT.  To enable this, add the following processing instruction to
   the start of the source file:

     <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

   (and ensure that "rfc2629.xslt" is present).

6.1.  HTML compliance

   The transformation result is supposed to conform to the HTML 4.01
   strict DTD [HTML].  This can be checked using the W3C's online
   validator at <http://validator.w3.org>.

6.2.  Standard HTML LINK elements

   LINK elements exist since HTML 2.0.  They can be used to embed
   content-independant links inside the document.  Unfortunately, only
   few user agents support this element.  Firefox users may want to
   check the Link Widgets [6] extension.

                 The following LINK elements are produced:

   +-----------+-------------------------------------------------------+
   | LINK type | description                                           |
   +-----------+-------------------------------------------------------+
   | alternate | for RFCs, a link to the authorative ASCII version on  |
   |           | the IETF web site                                     |
   |           |                                                       |
   | appendic  | pointer to all top-level appendics                    |
   |           |                                                       |
   | author    | pointer to "authors" section                          |
   |           |                                                       |
   | chapter   | pointer to all top-level sections                     |
   |           |                                                       |
   | contents  | pointer to table of contents                          |
   |           |                                                       |
   | copyright | pointer to copyright statement                        |
   |           |                                                       |
   | index     | pointer to index                                      |
   +-----------+-------------------------------------------------------+

   The figure below shows how Mozilla Firefox 1.0 displays the Site
   Navigation Bar for rfc2396.xml.





Reschke                                                        [Page 16]

Documentation             RFC2629 through XSLT              October 2009


6.3.  Standard HTML metadata

          The following standard HTML META elements are produced:

      +-----------+-------------------------------------------------+
      | META name | description                                     |
      +-----------+-------------------------------------------------+
      | generator | from XSLT engine version and stylesheet version |
      |           |                                                 |
      | keywords  | from keyword elements in front section          |
      +-----------+-------------------------------------------------+

6.4.  Dublin Core (RFC2731) metadata

   Unless turned off using the "rfc-ext support-rfc2731" processing
   instruction, the transformation will generate metadata according to
   [RFC2731] and [DC-HTML].

                The following DCMI properties are produced:

   +-------------------------+-----------------------------------------+
   | META name               | description                             |
   +-------------------------+-----------------------------------------+
   | DC.Creator              | from author information in front        |
   |                         | section                                 |
   |                         |                                         |
   | DC.Date.Issued          | from date information in front section  |
   |                         |                                         |
   | DC.Description.Abstract | from abstract                           |
   |                         |                                         |
   | DC.Identifier           | document URN [RFC2648] from "docName"   |
   |                         | attribute                               |
   |                         |                                         |
   | DC.isPartOf             | RFC ISSN (for RFCs)                     |
   |                         |                                         |
   | DC.Relation.Replaces    | from "obsoletes" attribute              |
   +-------------------------+-----------------------------------------+

6.5.  Experimental hCard support

   The generated author information is formatted in hCard [7] format.










Reschke                                                        [Page 17]

Documentation             RFC2629 through XSLT              October 2009


7.  Transforming to XHTML

   Transforming to XHTML requires slightly different XSLT output options
   and is implemented by the derived transformation script
   "rfc2629toXHTML.xslt".

      Note: Microsoft Internet Explorer does _not_ support XHTML.
      Therefore it usually makes more sense to generate plain old HTML.











































Reschke                                                        [Page 18]

Documentation             RFC2629 through XSLT              October 2009


8.  Transforming to CHM (Microsoft Compiled Help)

   To generate a CHM file using Microsoft's HTML Help Compiler (hhc),
   three files are required in addition to the HTML file.

   1.  hhc - table of contents file (HTML)

   2.  hhk - index file (HTML)

   3.  hhp - project file (plain text)

   The three files are generated with three specific transformations,
   each requiring the additional XSLT parameter "basename" to specify
   the filename prefix.

   Example:

   saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616  > rfc2616.hhp
   saxon rfc2616.xml rfc2629toHhc.xslt basename=rfc2616  > rfc2616.hhc
   saxon rfc2616.xml rfc2629toHhk.xslt basename=rfc2616  > rfc2616.hhk
   hhc rfc2616.hhp






























Reschke                                                        [Page 19]

Documentation             RFC2629 through XSLT              October 2009


9.  Transforming to PDF

9.1.  Via XSL-FO

   Transformation to XSL-FO [XSL-FO] format is available through
   "rfc2629toFO.xslt" (which includes "rfc2629.xslt", so keep both in
   the same folder).

   Compared to HTML user agents, XSL-FO engines unfortunately either
   come as open source (for instance, Apache FOP) or feature-complete
   (for instance, AntennaHouse XSL Formatter), but not both at the same
   time.

   As Apache FOP needs special workarounds (page breaking, table
   layout), and some popular extensions aren't standardized yet, the
   translation produces a generic output (hopefully) conforming to
   [XSL-FO].  Specific backends ("xsl11toFop-0.95xslt",
   "xsl11toXep.xslt", "xsl11toAn.xslt") then provide post-processing for
   the individual processors.

      Note: the output is currently targeted at Apache FOP 0.95.

9.1.1.  Extension feature matrix

   +------------+-------------+------------+-------------+-------------+
   |            | PDF anchors |     PDF    |     PDF     |    Index    |
   |            |             |  bookmarks |   document  |   cleanup   |
   |            |             |            | information |             |
   +------------+-------------+------------+-------------+-------------+
   | XSL 1.1    | no, but can |     yes    |   no, but   |     yes     |
   | WD [8]     |      be     |            |   uses XEP  |             |
   |            | auto-genera |            |    output   |             |
   |            |   ted from  |            |  extensions |             |
   |            |     "id"    |            |             |             |
   |            |  attributes |            |             |             |
   |            |             |            |             |             |
   | Antenna    |      no     |  yes [10]  |   yes [10]  |   yes [10]  |
   | House XSL  |             |  (from XSL |  (from XEP  |  (just page |
   | formatter  |             |     1.1    |   document  |  duplicate  |
   | [9]        |             | bookmarks) |    info)    | elimination |
   |            |             |            |             |  , from XSL |
   |            |             |            |             |   1.1 page  |
   |            |             |            |             |    index)   |
   |            |             |            |             |             |
   | Apache     |     yes     |  yes (from |     yes     |      no     |
   | FOP [11]   |             |   XSL 1.1  |             |             |
   |            |             | bookmarks) |             |             |
   |            |             |            |             |             |



Reschke                                                        [Page 20]

Documentation             RFC2629 through XSLT              October 2009


   | RenderX    |      no     |  yes [13]  |   yes [13]  |   yes [13]  |
   | XEP [12]   |             |  (from XSL |             |  (from XSL  |
   |            |             |     1.1    |             |   1.1 page  |
   |            |             | bookmarks) |             |    index)   |
   +------------+-------------+------------+-------------+-------------+

9.1.2.  Example: producing output for Apache FOP

   Example:

   saxon rfc2616.xml rfc2629toFo.xslt > tmp.fo
   saxon tmp.fo xsl11toFop-0.95.xslt > rfc2629.fo

9.2.  Via X(HTML)

   PDF output can also be produced directly from (X)HTML.  One simple
   approach is to rely on the browser's printing function, and to use a
   printer driver that produces PDF.  Depending on the brower's CSS
   capabilities, the output will behave properly with respect to table
   breaks etc.

   An alternative is PrinceXML (see <http://www.princexml.com/>), which
   can produce PDF directly from (X)HTML input, based on the CSS
   printing information.

   For instance, PDF output with text justification turned on can be
   produced with:

   saxon input.xml rfc2629toXHTML.xslt xml2rfc-ext-justification=print \
     > output.xhtml
   prince output.xhtml output.pdf




















Reschke                                                        [Page 21]

Documentation             RFC2629 through XSLT              October 2009


10.  Generic Extensions

   This section documents extensions implemented in "rfc2629.xslt",
   using the extension namespace "http://purl.org/net/xml2rfc/ext".

10.1.  <abnf-char-sequence> element

   Converts the contained quoted string into a hex-encoded character
   sequence, for use in case-sensitive ABNF productions.

   For instance, "<x:abnf-char-sequence>"HTTP"</x:abnf-char-sequence>"
   gets converted to "%x48.54.54.50".

10.2.  <anchor-alias> element

   Using its "value" attribute, this element allows the definition of an
   internal link target alias for the enclosing element.  This alias can
   then be used with the <ref> element for intra-document references.

   Note that the anchor alias is not subject to the naming constraints
   that apply to anchor elements (which are XML names).

10.3.  <bcp14> element

   This element marks the content as being one of the normative keywords
   defined in [RFC2119].

























Reschke                                                        [Page 22]

Documentation             RFC2629 through XSLT              October 2009


   The DOCTYPE definition below allows using these keywords using XML
   entity expansion: such as in "...server &MUST; accept...".

   <!DOCTYPE rfc [
    <!ENTITY MAY "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
      >MAY</bcp14>">
    <!ENTITY MUST "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
      >MUST</bcp14>">
    <!ENTITY MUST-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
      >MUST NOT</bcp14>">
    <!ENTITY OPTIONAL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
      >OPTIONAL</bcp14>">
    <!ENTITY RECOMMENDED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
      >RECOMMENDED</bcp14>">
    <!ENTITY REQUIRED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
      >REQUIRED</bcp14>">
    <!ENTITY SHALL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
      >SHALL</bcp14>">
    <!ENTITY SHALL-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
      >SHALL NOT</bcp14>">
    <!ENTITY SHOULD "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
      >SHOULD</bcp14>">
    <!ENTITY SHOULD-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
      >SHOULD NOT</bcp14>">]>

10.4.  <bb> element

   Marking up a string as <bb> indicates that it represents the bottom
   line of a box drawing, replacing the "+" and "-" characters
   accordingly.

10.5.  <bc> element

   Marking up a string as <bc> indicates that it represents a center
   line of a box drawing, replacing the "|" character accordingly.

10.6.  <blockquote> element

   This element is like the "blockquote" element in [HTML] (note this is
   a block-level element!).  It should contain one or more <t> child
   elements.

10.7.  <boilerplate> element

   Can be used to include boilerplate (status, copyright, ...) into the
   front or back section. <section> elements within <x:boilerplate>
   appear as unnumbered sections in the output.




Reschke                                                        [Page 23]

Documentation             RFC2629 through XSLT              October 2009


   _This element currently can not be "down-translated" for use in
   xml2rfc!_

10.8.  <bt> element

   Marking up a string as <bt> indicates that it represents the top line
   of a box drawing, replacing the "+" and "-" characters accordingly.

10.9.  <dfn> element

   This element is like the "dfn" element in [HTML].

10.10.  <h> element

   This element is like the "h" element in [XHTML2].

10.11.  <highlight> element

   Used to highlight text passages, currently only allowed in <artwork>.

   Note: this is stripped when generating input for xml2rfc, so please
   use with care.

10.12.  <length-of> element

   This element can be used to insert the length of another formatted
   section (in decimal).

   Example: computing the Content-Length header value

   <artwork>
   ...
   Content-Length: <x:length-of target="req"/>

   <x:span anchor="req">123456789
   <x:span><artwork/>

   The lenght computation counts line ends as two characters (CRLF).

   Note that indentation characters in artwork _will_ be counted.  The
   "indented" attribute allows to specify the amount of indentation to
   be substracted from the computed length.

10.13.  <link> element

   This element can be added as a top-level child element below <rfc> to
   indicate additional link information.  It's currently used only when
   generating HTML output, in which case an HTML <link> element with



Reschke                                                        [Page 24]

Documentation             RFC2629 through XSLT              October 2009


   identical attributes gets generated.

   Example: generating HTML link element

           <x:link xmlns="http://purl.org/net/xml2rfc/ext"
               rel="Bookmark"
               title="IETF WEBDAV Working Group"
               href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/>

10.14.  <lt> element

   Used for grouping multiple <t> elements into a single list item.

10.15.  <note> element

   Can be used to add a note, usually indented by a few characters.  It
   should contain one or more <t> child elements.

10.16.  <parse-xml> element

   This element instructs the processor to parse the contents as XML and
   to warn when there's a problem (requires either MSXML or Saxon8 or
   newer).

10.17.  <q> element

   This element is like the "q" element in [HTML].

10.18.  <ref> element

   This element is a simplified variant of the <xref> element, in that
   no "target" attribute needs to be specified, instead the text
   contents acts as identifier.  That in itself wouldn't be terribly
   useful, but together with the <anchor-alias>, it allows referring to
   other parts of the document with minimal additional markup.

   For instance, given an alias definition such as

         <section title="Test" anchor="test">
           <x:anchor-alias value="alias1"/>
           <x:anchor-alias value="alias 2"/>
           ...
         </section>

   the following simple references

         <x:ref>test</x:ref>
         <x:ref>alias1</x:ref>



Reschke                                                        [Page 25]

Documentation             RFC2629 through XSLT              October 2009


         <x:ref>alias 2</x:ref>

   are equivalent to...:

         <xref target="test">test</xref>
         <xref target="test">alias1</xref>
         <xref target="test">alias 2</xref>

10.19.  <source> element

   Can be used to enhance a <reference> with information about the
   location for the XML source.  This can be used by the <xref>
   processing code to automatically extract the target section number.

   For example:

         ...
         <xref target="RFC2616" x:fmt="of" x:rel="#PUT" />
         ...

         <reference target="RFC2616"/>
           ...
           <x:source href="rfc2616.xml"/>
           ...

10.20.  <sup> element

   This element is like the "sup" element in [HTML].

   Note: the down conversion to RFC2629 format replaces "x^y" by "x^y".

10.21.  Extensions to Xml2rfc <artwork> element

   Sometimes, artwork occurs inside lists.  To get it indent properly in
   xml2rfc's text output, it needs to be indented in the source.  This
   is sub-optimal, as this whitespace will also appear in the HTML
   output, where it's already indented due to HTML's semantics.

   As a workaround, a "x:indent-with" attribute can be specified,
   containing a string that will be prepended to each line when
   "clean-for-DTD.xslt" is run (see Section 11.4).

10.22.  Extensions to Xml2rfc <iref> element

   The extension attribute below is allowed on the standard <iref>
   element:





Reschke                                                        [Page 26]

Documentation             RFC2629 through XSLT              October 2009


   o  x:for-anchor specifies that the <iref> will also be automatically
      inserted whenever the specified anchor is cross-referenced -- this
      may save entering lots of <iref> instances.  As a special case, a
      value of "" (empty string) refers to the anchor attribute of the
      closest ancestor.

10.23.  Extensions to Xml2rfc <list> element

   The extension attribute below is allowed on the standard <list>
   element:

   o  x:indent specifies the amount of indentation for list items in
      hanging lists.  This can be useful when the output format, such as
      XSL-FO, does not support automatical formatting.  The value takes
      an XSL-FO width, such as "5em".  The default is _length of longest
      label in characters_ times _0.8em_.

   Also, the <list> element can take <x:lt> child elements instead of
   <t>, allowing to insert multiple paragraphs into a single list item.

10.24.  Extensions to Xml2rfc <rfc> element

   The extension attributes below are allowed on the standard <rfc>
   element:

   o  grddl:transformation can be used to reference a GRDDL transform.

   o  x:maturiy-level can be used to specify the IETF Standards Track
      Maturity Level of "proposed", "draft" or "internet" (see Section
      4.1 of [RFC2026]).

10.25.  Extensions to Xml2rfc <section> element

   The extension attribute below is allowed on the standard <list>
   element:

   o  x:fixed-section-number can be used to specify a fixed section
      number.  This can be useful when formatting historic documents
      that used a different numbering style.

10.26.  Extensions to Xml2rfc <xref> element

   Three extension attributes are allowed on the standard <xref>
   element:

   1.  x:sec can be specified to point to a specific section of the
       referenced document,




Reschke                                                        [Page 27]

Documentation             RFC2629 through XSLT              October 2009


   2.  x:rel may specify a relative reference to use when linking into
       the referenced document (if linking by section number is not
       available),

   3.  x:fmt defines the text format to be used.

   The following formats are defined for the x:fmt attribute:

   , (Comma)  [_reference_], Section _sec_

   () [_reference_] (Section _sec_)

   anchor  Like the default format, but without brackets.

   of Section _sec_ of [_reference_]

   number  _sec_

   none  No output (can be used to have xrefs to references without
      having them rendered as such)

   sec  Section _sec_

   These extensions are currently only supported for <xref> elements
   without child nodes.

   If the processor knows how to reference the target section, it will
   generate a link directly to the target section, such as in [RFC2119],
   Section 5.






















Reschke                                                        [Page 28]

Documentation             RFC2629 through XSLT              October 2009


11.  Utilities

11.1.  Checking References

   "check-references.xslt" can be used to check all references to RFC-
   and ID-series IETF publications and to W3C publications (note this
   script requires local copies of
   <ftp://ftp.isi.edu/in-notes/rfc-index.xml> and
   <http://www.w3.org/2002/01/tr-automation/tr.rdf> and will use the XML
   status information provided at <http://tools.ietf.org/>).

   If the document is supposed to be published on the IETF standards
   track, the desired level can be specified using the parameter
   "intended-level" as 'proposed', 'draft' or 'internet'.
   Alternatively, it can be specified inside the document using the
   attribute x:maturity-level on the <rfc> element.

   Note: Downward references should be annotated using the <annotate>
   element, containing an <xref> to [BCP97].

   When an XSLT 2.0 processor is used, links in the document can be
   checked as well using the "link-check" paramerer ('yes' or 'no').
   Note that this only works for http links to documents of tytpe
   text/*.



























Reschke                                                        [Page 29]

Documentation             RFC2629 through XSLT              October 2009


   For instance, as of 2008-07-12, the script produces for
   <http://greenbytes.de/tech/webdav/rfc2518.xml>:

   > saxon rfc2518.xml check-references.xslt intended-status=PROPOSED \
     link-check=yes

   Normative References:
   ISO-11578: not checked
   ISO-639: not checked
   ISO-8601: not checked
   REC-xml-19980210: [FirstEdition] obsoleted by REC-xml-20001006
   REC-xml-names-19990114: [FirstEdition] obsoleted by
    REC-xml-names-20060816
   RFC1766: [PROPOSED STANDARD] obsoleted by RFC3066 RFC3282
   RFC2068: [PROPOSED STANDARD] obsoleted by RFC2616
   RFC2069: [PROPOSED STANDARD] obsoleted by RFC2617
   RFC2119: [BEST CURRENT PRACTICE] (-> BCP0014) ok
   RFC2141: [PROPOSED STANDARD] ok
   RFC2277: [BEST CURRENT PRACTICE] (-> BCP0018) ok
   RFC2396: [DRAFT STANDARD] obsoleted by RFC3986
   RFC2279: [DRAFT STANDARD] obsoleted by RFC3629

   Informational References:
   REC-PICS-labels-961031: [REC] ok
   RFC1807: [INFORMATIONAL] ok
   RFC2026: [BEST CURRENT PRACTICE] (-> BCP0009) ok
   RFC2291: [INFORMATIONAL] ok
   RFC2376: [INFORMATIONAL] obsoleted by RFC3023
   RFC2413: [INFORMATIONAL] obsoleted by RFC5013
   USMARC: not checked
   WF: not checked

   Link Targets
   <http://www.w3.org/TR/1998/REC-xml-19980210>: ok
   <http://www.w3.org/TR/1999/REC-xml-names-19990114>: ok
   <http://www.dlib.org/dlib/july96/lagoze/07lagoze.html>: ok
   <http://www.w3.org/pub/WWW/TR/REC-PICS-labels-961031.html>: ok

   Recognized formats in the <seriesInfo> element are:

   o  for RFCs, the name attribute must be "RFC", and the value
      attribute must be the number of the RFC,

   o  for Internet Drafs, the name attribute must be "ID" or "Internet-
      Draft", and the value attribute must be the file name of the draft
      (including the two-digit running number, but excluding a file
      extension),




Reschke                                                        [Page 30]

Documentation             RFC2629 through XSLT              October 2009


   o  for W3C documents, the name attribute must be "W3C", must start
      with "W3C ", or must start with "World Wide Web Consortium ", and
      the value attribute must be the "shorthand" name of the
      specification, such as "REC-xml-19980210".

11.2.  Generating Graphs from References

   "gen-reference-graph.xslt" generates a graph of RFC dependencies,
   using the same base data as in "check-references.xslt" (see
   Section 11.1).  Its output is a "dot" file, to be processed by
   GraphViz (see <http://www.graphviz.org/>).

   The picture below shows the RFC dependencies in RFC2629.


11.3.  Producing reference entries for books

   "amazon-asin.xslt" uses the Amazon web services to generate a
   <reference> element for a given ASIN (ISBN).

   For instance:

   <?xml version="1.0" encoding="utf-8"?>
   <references>
    <reference target="urn:isbn:0134516591">
      <front>
        <title>Simple Book, The: An Introduction to Internet Management,
                  Revised Second Edition</title>
        <author surname="Rose"
                   fullname="Marshall T. Rose" initials="M. T. ">
          <organization/>
        </author>
        <author surname="Marshall"
                   fullname="Rose T. Marshall" initials="R. T.">
          <organization/>
        </author>
        <date year="1996" month="March"/>
      </front>
      <seriesInfo name="Prentice Hall" value=""/>
    </reference>
   </references>

   Note that the resulting XML usually requires checking, in this case
   Amazon's database is playing tricks with Marshall's name...







Reschke                                                        [Page 31]

Documentation             RFC2629 through XSLT              October 2009


11.4.  Down-converting to RFC2629bis DTD

   "clean-for-DTD.xslt" can be used to down-convert some extensions to a
   format that is supported by the base xml2rfc distribution.  Note that
   these extensions are experimental (feedback appreciated).

   The following mappings are done:

   o  <iref> elements inside <artwork> elements are moved in front of
      the enclosing <figure> element.

   o  <xref> elements inside <artwork> are expanded just like in regular
      text (that is, the markup is stripped, but the element is replaced
      by the applicable replacement text).

   o  <x:anchor-alias> elements get stripped.

   o  <x:bcp14> elements get stripped.

   o  <x:bb>, <x:bc> and <x:bt> elements get stripped.

   o  <x:blockquote> elements get converted to indented text (through a
      <list> element).

   o  <x:dfn> elements get stripped.

   o  <x:h> elements get stripped.

   o  <x:link> elements get stripped.

   o  <x:note> elements get converted to indented text (through a <list>
      element).

   o  <x:q> elements get stripped, with apostrophes added around the
      text.

   o  <x:ref> elements get replaced by <xref> elements, targetting
      either the anchor or another anchor with matching <x:anchor-alias>
      child element.

11.5.  Extracting artwork

   With "extract-artwork.xslt", artwork elements named through the
   "name" attribute can be extracted.  This can be used to automatically
   check their syntax (for instance, when ABNFs appear within a figure
   element).





Reschke                                                        [Page 32]

Documentation             RFC2629 through XSLT              October 2009


   For instance:
   saxon rfc3986.xml extract-artwork.xslt name=uri.abnf

   In addition, artwork of a specific type can be extracted, such as
   with:
   saxon rfc3986.xml extract-artwork.xslt type=abnf

11.6.  GRRDL

   "rfc2629grddl.xslt" extracts RDF information.  This is experimental
   work-in-progress.  See <http://www.w3.org/TR/grddl/> for more
   information.







































Reschke                                                        [Page 33]

Documentation             RFC2629 through XSLT              October 2009


12.  Informative References

   [BCP97]    Klensin, J. and S. Hartman, "Handling Normative References
              to Standards-Track Documents", BCP 97, RFC 4897,
              June 2007.

   [DC-HTML]  Johnston, P. and A. Powell, "Expressing Dublin Core
              metadata using HTML/XHTML meta and link elements", Dublin
              Core Metadata Initiative , August 2008,
              <http://dublincore.org/documents/2008/08/04/dc-html/>.

   [HTML]     Raggett, D., Hors, A., and I. Jacobs, "HTML 4.01
              Specification", W3C REC-html401-19991224, December 1999,
              <http://www.w3.org/TR/html401/>.

   [RFC2026]  Bradner, S., "The Internet Standards Process -- Revision
              3", BCP 9, RFC 2026, October 1996.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Nielsen, H.,
              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

   [RFC2629]  Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
              June 1999.

   [RFC2648]  Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
              August 1999.

   [RFC2731]  Kunze, J., "Encoding Dublin Core Metadata in HTML",
              RFC 2731, December 1999.

   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", STD 68, RFC 5234, January 2008.

   [RNC]      Clark, J., "RELAX NG Compact Syntax", OASIS , Nov 2002, <h
              ttp://www.oasis-open.org/committees/relax-ng/
              compact-20021121.html>.

   [XHTML2]   Axelsson, J., Birbeck, M., Dubinko, M., Epperson, B.,
              Ishikawa, M., McCarron, S., Navarro, A., and S. Pemberton,
              "XHTML[TM] 2.0", W3C WD-xhtml2-20060726, July 2006,
              <http://www.w3.org/TR/xhtml2>.

   [XML]      Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and
              F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth



Reschke                                                        [Page 34]

Documentation             RFC2629 through XSLT              October 2009


              Edition)", W3C REC-xml-20081126, November 2008,
              <http://www.w3.org/TR/2008/REC-xml-20081126/>.

   [XSL-FO]   Berglund, A., "Extensible Stylesheet Language (XSL)
              Version 1.1", W3C REC-xsl11-20061205, Dec 2006,
              <http://www.w3.org/TR/2006/REC-xsl11-20061205/>.

   [1]   <http://www.exslt.org/exsl/functions/node-set/
         exsl.node-set.html>

   [2]   <http://www.microsoft.com/downloads/
         details.aspx?FamilyID=2FB55371-C94E-4373-B0E9-DB4816552E41>

   [3]   <https://addons.mozilla.org/de/firefox/addon/722>

   [4]   <https://bugzilla.mozilla.org/show_bug.cgi?id=22942>

   [5]   <http://bugzilla.mozilla.org/show_bug.cgi?id=193678>

   [6]   <https://addons.mozilla.org/firefox/2933/>

   [7]   <http://microformats.org/wiki/hcard>

   [8]   <http://www.w3.org/TR/2003/WD-xsl11-20031217/>

   [9]   <http://www.antennahouse.com/>

   [10]  <http://www.antennahouse.com/XSL20/axf-extension.htm>

   [11]  <http://xml.apache.org/fop/>

   [12]  <http://xep.xattic.com/>

   [13]  <http://xep.xattic.com/xep/spec.html>

   [14]  <http://www.thaiopensource.com/relaxng/jing.html>

   [15]  <http://dpcarlisle.blogspot.com/2007/05/
         exslt-node-set-function.html>












Reschke                                                        [Page 35]

Documentation             RFC2629 through XSLT              October 2009


Appendix A.  RELAX NG Compact Schema

   The RelaxNG schema ([RNC]) below can be used to validate input
   documents (for instance, with Jing [14]).

   _Note that this is work in progress, and doesn't yet cover all
   extensions completely._

  # WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.

  # Define our extension namespace
  namespace x = "http://purl.org/net/xml2rfc/ext"

  # Define GRDDL namespace
  namespace grddl = "http://www.w3.org/2003/g/data-view#"

  # Define RDF namespace
  namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"

  # Include rfc2629bis RNC grammar
  include "rfc2629.rnc" {

    # Redefine <artwork> to allow markup
    artwork =
      element artwork {
        attlist.artwork,
        (TEXT
          | eref
          | iref
          | spanx
          | xref
          | x_abnf-char-sequence
          | x_bb
          | x_bc
          | x_bt
          | x_highlight
          | x_length-of
          | x_parse-xml
          | x_ref
          | x_span
          | x_x)*
      }

    # Redefine <back> to allow boilerplate
    back =
      element back {
        attlist.back,
        references*,



Reschke                                                        [Page 36]

Documentation             RFC2629 through XSLT              October 2009


        section*,
        x_boilerplate?
      }

    # Redefine <c> to allow our extension elements
    c =
      element c {
        attlist.c,
        (TEXT
          | xref
          | eref
          | iref
          | cref
          | spanx
          | x_ref)*
      }

    # Redefine <cref> to allow more child elements
    cref =
      element cref {
        attlist.cref,
        (TEXT
          | eref
          | xref)*
      }

    # Redefine <front> to allow boilerplate
    front =
      element front {
        attlist.front,
        title,
        author+,
        date,
        area*,
        workgroup*,
        keyword*,
        x_boilerplate?,
        abstract?,
        note*
      }

    # Redefine <list> element to allow <x:lt> child elements
    \list =
      element list {
        attlist.list,
        (t+ | x_lt+)
      }




Reschke                                                        [Page 37]

Documentation             RFC2629 through XSLT              October 2009


    # Redefine <preamble> to allow our extension elements
    preamble =
      element preamble {
        attlist.preamble,
        (TEXT
          | xref
          | eref
          | iref
          | cref
          | spanx
          | x_anchor-alias)*
      }

    # Redefine <postamble> to allow our extension elements
    postamble =
      element postamble {
        attlist.postamble,
        (TEXT
          | xref
          | eref
          | iref
          | cref
          | spanx
          | x_bcp14)*
      }

    # Redefine <reference> to allow our extension elements
    reference =
      element reference {
        attlist.reference,
        front,
        seriesInfo*,
        format*,
        annotation*,
        x_source?
      }

    # Redefine <rfc> to allow our extension elements
    rfc =
      element rfc {
        attlist.rfc,
        x_link*,
        x_assign-section-number*,
        front,
        middle,
        back?
      }




Reschke                                                        [Page 38]

Documentation             RFC2629 through XSLT              October 2009


    # Redefine <section> to allow our extension elements
    section =
      element section {
        attlist.section,
        (t
         | figure
         | texttable
         | iref
         | section
         | x_anchor-alias
         | x_blockquote
         | x_include-author
         | x_note
         | rdf_Description)*
      }

    # Redefine <spanx> to allow some markup
    spanx =
      element spanx {
        attlist.spanx,
        (TEXT
          | iref
          | xref
          | x_ref)*
      }

    # Redefine <t> to allow our extension elements
    t =
      element t {
        attlist.t,
        (TEXT
         | \list
         | figure
         | xref
         | eref
         | iref
         | cref
         | spanx
         | vspace
         | x_abnf-char-sequence
         | x_anchor-alias
         | x_bcp14
         | x_dfn
         | x_h
         | x_q
         | x_ref
         | x_sup)*
      }



Reschke                                                        [Page 39]

Documentation             RFC2629 through XSLT              October 2009


  }

  # Allow x:indent-with attribute on <artwork>
  attlist.artwork &=
    attribute x:indent-with { ATEXT }?

  # Allow anchor attribute on <author>
  attlist.author &=
    attribute anchor { xsd:ID }?

    # Extend attribute set for <iref> (see Section 10.22)
  attlist.iref &=
    attribute x:for-anchor { ATEXT }?

  # Extend attribute set for <list> (see Section 10.23)
  attlist.list &=
    attribute x:indent { ATEXT }?

  # Extend attribute set for <preamble>
  attlist.preamble &=
    attribute anchor { xsd:ID }?

  # Extend attribute set for <rfc>
  attlist.rfc &=
    attribute grddl:transformation { ATEXT }?,
    attribute x:maturity-level { "proposed" | "draft" | "internet" }?

  # Extend attribute set for <section> (see Section 10.25)
  attlist.section &=
    attribute x:fixed-section-number { ATEXT }?

  # Allow anchor attribute on <spanx>
  attlist.spanx &=
    attribute anchor { xsd:ID }?

  # Extend attribute set for <xref> (see Section 10.26)
  attlist.xref &=
    attribute x:fmt  { "()" | "," | "anchor" | "of" | "number" | "sec" |
                       "none" }?,
    attribute x:rel  { ATEXT }?,
    attribute x:sec  { ATEXT }?

  # Conversion to ABNF char sequence (see Section 10.1)
  x_abnf-char-sequence =
    element x:abnf-char-sequence {
      TEXT
    }




Reschke                                                        [Page 40]

Documentation             RFC2629 through XSLT              October 2009


  # Aliasing of anchors (see Section 10.2)
  x_anchor-alias =
    element x:anchor-alias {
      attribute value { TEXT },
      empty
    }

  # Including Author information
  # (experimental)
  x_include-author =
    element x:include-author {
      attribute target { xsd:IDREF }
    }

  # Setting section numbers for internally generated sections
  # (experimental)
  x_assign-section-number =
    element x:assign-section-number {
      attribute builtin-target { "authors" },
      attribute number { TEXT },
      empty
    }

  # Bottom line of box drawing (see Section 10.4)
  x_bb =
    element x:bb {
      (TEXT
        | iref
        | xref
        | x_bb
        | x_bc
        | x_bt
        | x_ref)*
    }

  # Center line of box drawing (see Section 10.5)
  x_bc =
    element x:bc {
      (TEXT
        | iref
        | xref
        | x_bb
        | x_bc
        | x_bt
        | x_ref)*
    }

  # BCP14/RFC2119 keywords (see Section 10.3)



Reschke                                                        [Page 41]

Documentation             RFC2629 through XSLT              October 2009


  x_bcp14 =
    element x:bcp14 {
      "MAY"
      | "MUST"
      | "MUST NOT"
      | "NOT RECOMMENDED"
      | "OPTIONAL"
      | "RECOMMENDED"
      | "REQUIRED"
      | "SHALL"
      | "SHALL NOT"
      | "SHOULD"
      | "SHOULD NOT"
    }

  # Blockquote (see Section 10.6)
  x_blockquote =
    element x:blockquote {
      attribute cite { URI }?,
      t+
    }

  # Boilerplate (see Section 10.6)
  x_boilerplate =
    element x:boilerplate {
      section+
    }

  # Top line of box drawing (see Section 10.8)
  x_bt =
    element x:bt {
      (TEXT
        | iref
        | xref
        | x_bb
        | x_bc
        | x_bt
        | x_ref)*
    }

  # Definition (see Section 10.9)
  x_dfn =
    element x:dfn {
      attribute anchor { xsd:ID }?,
      (TEXT
        | iref)*
    }




Reschke                                                        [Page 42]

Documentation             RFC2629 through XSLT              October 2009


  # Heading (see Section 10.10)
  x_h =
    element x:h {
      TEXT
    }

  # Heading (see Section 10.11)
  x_highlight =
    element x:highlight {
      TEXT
    }

  # Length Measurement (see Section 10.12)
  x_length-of =
    element x:length-of {
      attribute indented { NUMBER }?,
      attribute target { xsd:IDREF },
      empty
    }

  # Link (see Section 10.13)
  x_link =
    element x:link {
      attribute href { URI },
      attribute title { TEXT }?,
      attribute rel { TEXT },
      empty
    }

  # Extended list item (see Section 10.14)
  x_lt =
    element x:lt {
      attribute anchor { xsd:ID }?,
      attribute hangText { TEXT }?,
      t+
    }

  # Note (see Section 10.15)
  x_note =
    element x:note {
      t+
    }

  # Signal XML content (see Section 10.16)
  x_parse-xml =
    element x:parse-xml {
      TEXT
    }



Reschke                                                        [Page 43]

Documentation             RFC2629 through XSLT              October 2009


  # Inline quote (see Section 10.17)
  x_q =
    element x:q {
      TEXT
    }

  # Anchor reference (see Section 10.18)
  x_ref =
    element x:ref {
      attribute anchor { xsd:ID }?,
      TEXT
    }

  # source information (see Section 10.19)
  x_source =
    element x:source {
      attribute basename { ATEXT }?,
      attribute href { URI },
      empty
    }

  # superscript (see Section 10.20)
  x_sup =
    element x:sup {
      TEXT
    }

  # Inline Span
  x_span =
    element x:span {
      attribute anchor { xsd:ID }?,
      (TEXT
        | x_parse-xml)*
    }

  # Nop (for alignment in source)
  x_x =
    element x:x {
      empty
    }

  # Embed RDF statements
  rdf_Description =
    element rdf:Description {
      rdf_content
    }

  rdf_content =



Reschke                                                        [Page 44]

Documentation             RFC2629 through XSLT              October 2009


    ( TEXT | element * { rdf_content })*


















































Reschke                                                        [Page 45]

Documentation             RFC2629 through XSLT              October 2009


Appendix B.  Implementation Notes

B.1.  Recognized type attributes for <artwork> element

   Specific values in the <artwork> element's "type" attribute are
   recognized and cause a different visual style to be used:

   +-------------------------------------+-----------------------------+
   | Media Type                          | Comment                     |
   +-------------------------------------+-----------------------------+
   | abnf                                | ABNF as per [RFC5234]       |
   |                                     |                             |
   | abnf2616                            | ABNF as per [RFC2616],      |
   |                                     | Section 2.1                 |
   |                                     |                             |
   | application/relax-ng-compact-syntax | Relax NG Compact Syntax as  |
   |                                     | per [RNC]                   |
   |                                     |                             |
   | application/xml-dtd                 | XML DTD                     |
   |                                     |                             |
   | message/http; msgtype="request"     | HTTP message, as per        |
   |                                     | [RFC2616], Section 19.1     |
   |                                     |                             |
   | message/http; msgtype="response"    | HTTP message, as per        |
   |                                     | [RFC2616], Section 19.1     |
   +-------------------------------------+-----------------------------+

























Reschke                                                        [Page 46]

Documentation             RFC2629 through XSLT              October 2009


Appendix C.  Examples

C.1.  Using the 'Internal Subset'

   The prolog of the XML document can both be used to refer to an
   external DTD, and also to define internal entities (Section 2.8 of
   [XML]):

   <?xml version="1.0"?>
   <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

   <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

     <!-- use "&MAY;" for a BCP 14 "MAY", see Section 10.3 -->
     <!ENTITY MAY
     "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>MAY</bcp14>">

     <!-- re-declare "&nbsp;" as code point 160 (non-breaking space) -->
     <!-- you may need this for UAs that do not read external DTDs -->
     <!ENTITY nbsp
     "&#160;">

     <!-- allow later RFC2616 reference using "&rfc2616;" -->
     "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml">

   ]>

   Note: including entities from a remote site will not work in Firefox,
   see <https://bugzilla.mozilla.org/show_bug.cgi?id=22942>.

C.2.  Customization

   The XSLT code can be customized by creating a custom XSLT file that
   uses <xsl:import> to include the original code, and just overrides
   particular rules.
















Reschke                                                        [Page 47]

Documentation             RFC2629 through XSLT              October 2009


   For instance, the code below overrides several attributes in
   "rfc2629toFO.xslt", changing the color, spacing and font family for
   headers.

   <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  version="1.0">

     <xsl:import href="rfc2629toFO.xslt"/>

     <xsl:attribute-set name="h1">
       <xsl:attribute name="color">darkblue</xsl:attribute>
       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
       <xsl:attribute name="space-before">24pt</xsl:attribute>
     </xsl:attribute-set>

     <xsl:attribute-set name="h2">
       <xsl:attribute name="color">darkblue</xsl:attribute>
       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
       <xsl:attribute name="space-before">18pt</xsl:attribute>
       <xsl:attribute name="space-after">3pt</xsl:attribute>
     </xsl:attribute-set>

     <xsl:attribute-set name="h3">
       <xsl:attribute name="color">darkblue</xsl:attribute>
       <xsl:attribute name="font-family">sans-serif</xsl:attribute>
       <xsl:attribute name="space-before">16pt</xsl:attribute>
       <xsl:attribute name="space-after">2pt</xsl:attribute>
     </xsl:attribute-set>

   </xsl:transform>

      Note: the name for the attribute sets may change in the future as
      more working is done with respect to customizability.  In any
      case, overriding the settings in a separate file will be easier to
      maintain.  Please contact the author if you find yourself trying
      to override style definitions that currently do not use attribute
      sets.

      Note: the CSS style information used in "rfc2629.xslt" can be
      overriden in a similar (but less granular) way: just overwrite the
      template called "insertCss".  As for XSL-FO, the class names may
      change in future.









Reschke                                                        [Page 48]

Documentation             RFC2629 through XSLT              October 2009


Appendix D.  License

   Copyright (c) 2006-2009, Julian Reschke
   (julian.reschke@greenbytes.de)

   All rights reserved.

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:

   o  Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.

   o  Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in
      the documentation and/or other materials provided with the
      distribution.

   o  Neither the name of Julian Reschke nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT
   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

















Reschke                                                        [Page 49]

Documentation             RFC2629 through XSLT              October 2009


Appendix E.  Change Logs

E.1.  Package

   2006-01-01  Switch to BSD License.

   2007-01-12  Update to xml2rfc v1.33pre2.

   2007-03-31  Update to xml2rfc v1.33pre3.

   2007-05-01  Add XSLT test cases.

   2008-07-18  Experimental support for inlined rdf:Description elements
      (ignored by the formatter, extracted by rfc2629grddl).

   2008-12-04  Update to xml2rfc v1.34pre2.

   2009-02-24  Experimental support for February 2009 boilerplate
      changes, and for the x:boilerplate element.

   2009-07-08  Support new boilerplate ordering in RFCs published since
      July 2009.  Fix problems with one-column text tables.

   2009-07-19  When possible, calculate the actual Expiry date for
      Internet Drafts (full date must be available).

   2009-08-01  For '$xml2rfc-ext-authors-section='end'", move the index
      in front of the authors section.

   2009-08-04  Consider /rfc/@ipr="pre5378Trust200902" when producing
      RFCs, not IDs.

   2009-08-29  Support alignment for artwork containing images (as
      opposed to, well, artwork).

   2009-09-01  Allow xref in cref (as extension).

   2009-09-14  Refactor handling of processing instructions.

   2009-09-24  Fix typo in Status Of This Memo, present since November
      2008.  Fix formatting of iprExtract attribute.  Starting with
      Internet Draft publication dates after 2009-11-30: use new Trust
      Legal Provisions text; for Internet Drafts: move Abstract up, and
      move "pre5378" escape clause to the Copyright Notice.  Add support
      for refparent PI.  For RFCs: use new TLP text as of September
      2009.  Incorporate xml2rfc v1.34pre4.





Reschke                                                        [Page 50]

Documentation             RFC2629 through XSLT              October 2009


   2009-10-06  Starting with Internet Draft publication dates after
      2009-10-31: use new Trust Legal Provisions text; for Internet
      Drafts: move Abstract up, and move "pre5378" escape clause to the
      Copyright Notice.  Incorporate xml2rfc v1.34pre5.

   2009-10-27  Upgrade to xml2rfc v1.34.

E.2.  amazon-asin.xslt

   2003-11-16  Initial release.

   2005-04-02  Fix two DTD issues.

E.3.  check-references.xslt

   2003-11-16  Initial release.

   2004-05-11  Add document status; print references type.

   2005-01-01  Add experimental check for ID status.

   2005-04-01  Add fixes from Bill Fenner.

   2005-12-03  Add checks against local copy of
      <http://www.w3.org/2002/01/tr-automation/tr.rdf>.

   2006-07-22  Add checks for standards levels.

   2006-08-06  "check-ietf-references.xslt" replaced by "check-
      references.xslt".

   2007-01-04  Use information online at <http://tools.ietf.org/> to
      retrieve Internet-Draft status information.

   2007-06-16  Fix bug looking up ref type when inside change markup.

   2008-06-14  Enhance output when draft was updated, and then published
      as RFC.

   2008-07-12  Add XSLT2-based link target checking.

   2008-08-10  Change keywords for "intended-level" to proposed/draft/
      internet, optionally extract intended level from /rfc/@
      x:maturity-level attribute.







Reschke                                                        [Page 51]

Documentation             RFC2629 through XSLT              October 2009


E.4.  gen-reference-graph.xslt

   2006-09-03  New.

   2007-06-07  Use Carlisle method [15] to define exslt:node-set in
      msxsml (which means that the stylesheet can now be used with MSXML
      as well).

   2007-10-15  Use W3C data from tr.rdf as well (experimental).

E.5.  rfc2629.xslt

   2001-03-28  Code rearranged, generate numbered section anchors for
      paragraphs (t) as well.  Fixes in index handling.

   2001-04-12  Moved HTML output into XHTML namespace.

   2001-10-02  Fixed default location for RFCs and numbering of section
      references.  Support ?rfc editing processing instruction.

   2001-10-07  Made telephone number links active.

   2001-10-08  Support for vspace element.

   2001-10-09  Experimental support for rfc-issue PI.

   2001-11-11  Support rfc private PI.  Removed bogus code reporting the
      WG in the header.

   2001-11-11  Support rfc private PI.  Removed bogus code reporting the
      WG in the header.

   2001-12-17  Support title attribute on references element

   2002-01-05  Support for list/@style="@format"

   2002-01-09  Display "closed" RFC issues as deleted

   2002-01-14  Experimentally and optionally parse XML encountered in
      artwork elements (requires MSXSL).

   2002-01-27  Some cleanup.  Moved RFC issues from PIs into namespaced
      elements.

   2002-01-29  Added support for sortrefs PI.  Added support for figure
      names.





Reschke                                                        [Page 52]

Documentation             RFC2629 through XSLT              October 2009


   2002-02-07  Highlight parts of artwork which are too wide (72
      characters).

   2002-02-12  Code rearrangement for static texts.  Fixes for section
      numbering.  TOC generation rewritten.

   2002-02-15  Support for irefs in sections; support iref @primary=true

   2002-03-03  Moved anchor prefix into a constant.  Added sanity checks
      on user anchor names.

   2002-03-23  Bugfix in detection of matching org names when creating
      the header.  Fixed sorting in subitems.

   2002-04-02  Fix TOC link HTML generation when no TOC is generated
      (created broken HTML table code).

   2002-04-03  Made rendering of references more tolerant re: missing
      parts.

   2002-04-08  Fixed reference numbering when references are split into
      separate sections.

   2002-04-16  Fix default namespace (shouldn't be set for HTML output
      method).

   2002-04-19  Lowercase internal CSS selectors for Mozilla compliance.
      Do not put TOC into ul element.

   2002-04-21  Make numbered list inside numbered lists use alphanumeric
      numbering.

   2002-05-05  Updated issue/editing support.

   2002-05-15  Bugfix for section numbering after introduction of ed:
      replace

   2002-06-21  When producing private documents, do not include document
      status, copyright etc.

   2002-07-08  Fix xrefs to Appendices.

   2002-07-19  Make artwork lightyellow for easier reading. (fielding)

   2002-10-09  Translate references title to anchor name to avoid non-
      uri characters. (fielding)





Reschke                                                        [Page 53]

Documentation             RFC2629 through XSLT              October 2009


   2002-10-13  Support for tocdepth PI.

   2002-11-03  Added temporariry workaround for Mozilla/Transformiix
      result tree fragment problem. (search for
      'http://bugzilla.mozilla.org/show_bug.cgi?id=143668')

   2002-12-25  xref code: attempt to uppercase "section" and "appendix"
      when at the start of a sentence.

   2003-02-02  fixed code for vspace blankLines="0", enhanced display
      for list with "format" style, got rid of HTML blockquote elements,
      added support for "hangIndent"

   2003-04-10  experimental support for appendix and spanx elements

   2003-04-19  fixed counting of list numbers in "format %" styles (one
      counter per unique format string).  Added more spanx styles.

   2003-05-02  experimental texttable support

   2003-05-02  Make mailto links optional (default = none) (jre: default
      and PI name changed) (fielding)

   2003-05-04  experimental support for HTML link elements; fix default
      for table header alignment default

   2003-05-06  support for "background" PI.

   2003-05-11  change %c format to lowercase alphabetic. add support for
      keyword elements (generate META tag). fix various HTML conformance
      problems. added experimental support for role attribute. do not
      number paragraphs in unnumbered sections. update boilerplate
      texts. support for "iprnotified" PI. bugfix list numbering. strip
      whitespace when building tel: URIs.

   2003-05-12  more conformance fixes (layout moved into CSS, move lists
      and figures out of para content, do not use tables for list
      formatting)

   2003-05-13  add DC.Creator meta tag, refactoring

   2003-05-16  put nbsps between "section" and section number (xref).

   2003-05-18  author summary: add missing comma.







Reschke                                                        [Page 54]

Documentation             RFC2629 through XSLT              October 2009


   2003-06-06  fix index generation bug (transposed characters in key
      generation).  Enhance sentence start detection (xref starting a
      section was using lowercase "section").

   2003-06-22  exp. support for xref/@format.  Add missing support for
      eref w/o content. exp. support for annotations in reference
      elements.  Code cleanup reference table formatting.

   2003-07-09  Another fix for DC.Creator meta tag creation based on
      RFC2731

   2003-07-24  Fix namespace name for DC.Creator.

   2003-08-06  Cleanup node-set support (only use exslt (saxon, xalan,
      libxslt) extension functions; remove Transformix workarounds that
      stopped to work in Moz 1.4)

   2003-08-09  Generate HTML lang tag.

   2003-08-10  Map spanx/verb to HTML "samp" element.  Fix author name
      display in references (reverse surname/initials for last author),
      add "Ed.".  Fix internal bookmark generation.

   2003-08-17  Add DCMI dates, identifiers and abstract.  Add PI to
      suppress DCMI generation.  Do not add TOC entry to Copyright
      Statement when there is none.  Align RFC2629 PI names and
      parameter names.  Change style for inline URIs generated by eref.
      Add header and footer support.  Enhance CSS paging properties.
      Support topblock PI.  Added hooks for proper XHTML generation
      through separate XSLT.  Enhance warning and error messages.  Add
      support for artwork image display.  Table formatting fixes
      (borders, thead continuation).

   2003-08-18  Add workaround for MSXML4 node-set and Mozilla node-set
      issues (fallback just displays are warning).

   2003-10-06  Add workaround for broken pre/ins handling in Mozilla
      (see <http://bugzilla.mozilla.org/show_bug.cgi?id=204401>).  Make
      use of cite attribute on ed:replace.  CSS cleanup.

   2003-10-08  Fix minor issue detecting the same org for the header
      (caused by IE's non-standard whitespace handling).  Fix default
      handling for /rfc/@category.

   2003-11-09  Inherit ed:entered-by from ancestor elements.  Change CSS
      color for inserted text to green.  Generate issues-list anchor.
      Do not complain about missing targets when the xref element is
      below ed:del.  Remove code that attempted to distinguish section/



Reschke                                                        [Page 55]

Documentation             RFC2629 through XSLT              October 2009


      Section when producing links - always use uppercase.  Fix date
      rendering for issue resolutions.

   2003-11-29  Fix color values for table backgrounds for issue
      rendering.  Change rendering of issue links to use inline-styles.
      Add colored issue markers to issues.

   2003-12-13  Fix inheritance of ed:entered-by attribute.  Display note
      elements inside change tracking as well.

   2004-01-18  When PI compact = 'yes', make most CSS print page breaks
      conditional.

   2004-02-20  Support for RFC3667 IPR changes (xml2rfc 1.22); see <http
      ://lists.xml.resource.org/pipermail/xml2rfc/2004-February/
      001088.html>.

   2004-03-11  Add "(if approved)" to "updates" and "obsoletes" unless
      the document has an RFC number.

   2004-04-01  Fix RFC3667 output, see <http://lists.xml.resource.org/
      pipermail/xml2rfc/2004-April/001208.html>.

   2004-04-04  Add support for section/top attribute.  Move references
      into plain section container.

   2004-04-06  Do not emit identical para anchors for deleted content.

   2004-04-14  Fix references TOC generation when there are no
      references.

   2004-04-24  Fix RFC3667 output, see
      <http://xml.resource.org/pipermail/xml2rfc/2004-April/
      001246.html>.

   2004-05-09  Add custom support for generating compound index
      documents.  Add anchors for each Index letter.  Add experimental
      cref support.  Fix conditional page breaks before References
      section.

   2004-05-16  Refactor external index generation.

   2004-05-20  Rewrite anchor generation for comments.

   2004-05-22  Enhance issues rendering (add links to changes).






Reschke                                                        [Page 56]

Documentation             RFC2629 through XSLT              October 2009


   2004-05-30  Allow single quote as delimiter in processing
      instructions as well.  Move block-level issue pointers to floats.
      Disable issue pointers for print media.  Add "purple numbers".
      Add hrefs to section headings.  Add non-printing index key letter
      list to start of index.

   2004-06-01  Use &#xb6; instead of # for PNs.

   2004-07-18  Add support for list style=letters (thanks Roy F.).  Make
      PNs optional; add new PI.

   2004-09-05  Fix index links into unnumbered sections.  Bring IPR
      boilerplate in-line with xml2rfc 1.25.  Add experimental CSS3
      paged media support.  Various HTML fixes.

   2004-09-21  Enhance checking of artwork width.

   2004-09-26  Add check for unused references.  Uppercase letters in
      list style letters when nested into another list.

   2004-10-10  Fix internal change track pointers.

   2004-11-01  Allow change tracking on references (as a whole).
      Rewrite artwork handling so that it allows change tracking inside
      artwork.  Also allow a subset of text markup inside artwork, such
      as xrefs (note this requires post-processing the source to make it
      compliant to RFC2629bis).

   2004-11-03  Enhanced placement of iref anchors.

   2004-11-06  Index: display irefs that appeared (with primary=true)
      inside artwork elements in a monospaced font.

   2004-11-14  Add special code so that changes in section titles can be
      change-tracked.

   2005-01-14  Bugfixes for HtmlToXhtml converter.

   2005-01-22  Enhance generation of HTML h* elements (for Mozilla
      Outliner).

   2005-01-31  Put vertical space around top-level TOC entries in TOC.
      Switch to pt-based CSS.  Re-arrange top section.  Make hr elements
      reflect new-page settings in TXT output (compact-PI).  Fix page
      number in footer (CSS print) and add some more experimental
      support for paged media (tested with Prince 4.1 alpha).  Rewrite
      TOC and Index generation to generate HTML lists.  Cleanup id
      generation for paragraphs.  Reduce whitespace in output.  Fix



Reschke                                                        [Page 57]

Documentation             RFC2629 through XSLT              October 2009


      vspace implementation.  Use right/left dqoutes and copyright sign
      where appropriate.

   2005-02-04  Add <link> element to references section.  Fix newly
      introduced bug in references processing.

   2005-02-05  Integrate various fixes/enhancements by Roy Fielding:
      spelling of "Authors' Addresses", comma setting in references,
      position of "Authors" section, optionally place authors addresses
      at end (PI), trailing dots in section numbers, switch to verdana
      default font in CSS.  Add experimental support for centered
      artwork.

   2005-02-09  Fixes in spacing and links of references section titles.
      Enhance sorting in references when change tracking is in place.
      Re-add figure centering support.  Add missing 2nd part of
      "Author's Adresses" fix.

   2005-02-25  Align section number format with xml2rfc1.29.

   2005-03-28  Get rid of table elements in Author's section.  Add
      experimental hCard (<http://developers.technorati.com/wiki/hCard>)
      support.

   2005-04-03  Add RFC3978-style IPR statement support.
      (fenner@research.att.com)

   2005-04-11  Cleanup author display. hCard related fixes.

   2005-05-07  Minor fixes to allow change tracking in doc title.  Add
      experimental support for table border styles.  CSS cleanup.

   2005-06-18  Implement missing support for references to texttables.

   2005-09-25  Use (-moz-)column-count when printing the index.

   2005-10-04  Report missing element templates with xsl:message.

   2005-10-15  Process t/@anchor.

   2005-10-23  More workarounds for Mozilla's broken del/ins handling
      (this time for figures).

   2005-10-27  lowercase hCard class names







Reschke                                                        [Page 58]

Documentation             RFC2629 through XSLT              October 2009


   2005-11-22  Enhance diagnostics for XML-in-artwork extension

   2005-11-26  Fix formatting of section numbers for sections inserted
      into <back>.

   2005-12-12  Fix some validity problems when change tracking occured
      inside lists.

   2005-12-18  Add change tracking inside the index.

   2006-02-04  Add prev/next links to highlighted changes (change
      tracking extension).

   2006-02-10  Catch errors instantiating MSXML component.

   2006-02-11  References: add "work in progress" for Internet Drafts.

   2006-02-27  Fix front matter (lowercase Internet-Draft, say "Intended
      status" for non-RFC documents).  Start work on experimental
      extension for simplified internal links.

   2006-03-19  Tweaks to IESG Copyright stuff; support submissionType
      attribute.  Fix duplicate reference anchors in HTML output.
      Reduce HTML Tidy warnings.  Fix reference to normative ASCII
      version (now requires trailing ".txt").  Tweaks to hCard
      generation.  Started to move non-issue-tracking extensions into
      namespace "http://purl.org/net/xml2rfc/ext".

   2006-03-27  Moved "simple reference" extension into namespace
      "http://purl.org/net/xml2rfc/ext" and add documentation.  HTML
      conformance enhancements.

   2006-04-02  Cleanup special code for automated XHTML XSLT generation.

   2006-04-21  Generate <CITE> elements where appropiate.  Introduce
      x:blockquote, x:dfn, x:h and x:q elements.

   2006-05-06  Introduce x:bcp14 element.

   2006-05-14  Fix content model for x:blockquote.

   2006-06-18  Add box drawing support (x:bt, x:bc, x:bb).

   2006-06-20  HTML validity fixes (legal chars in anchors in index).







Reschke                                                        [Page 59]

Documentation             RFC2629 through XSLT              October 2009


   2006-06-24  Reduce leading empty lines in artwork.  Move <dt> style
      info into CSS.

   2006-07-14  Fix rendering of multiple street address entries (missing
      line break).

   2006-07-24  Add extension for deep linking into RFCs, do not generate
      empty list items in TOC output, avoid empty <dt> elements for list
      items without hangText attribute.

   2006-08-01  Allow @anchor on more elements; start work on Relax NG
      grammar for extensions.  Reduce generated style elements (use CSS
      classes instead).  Consistently use "id" instead of "name".
      Change default target for RFC links to
      "http://tools.ietf.org/html/rfcNNNN".

   2006-08-06  Include appendices defined in <appendix> elements in TOC
      (please consider them deprecated anyhow!).  Generate links to
      "http://tools.ietf.org/html/draft-*" for Internet Drafts.  Replace
      x:frag by x:rel, allowing any kind of relative reference instead
      of just fragments.

   2006-08-30  Reduce textual differences between HTML output and what
      xml2rfc produces in TXT output mode (section refs/reference
      targets).  Add small workaround for Opera 9.0.1's problem with
      node-set().

   2006-10-29  Fix problem generating internal links to change markup
      within references section.  Enhancements when generating numbered
      references for deleted references.  Allow inclusion of references
      into the index (through include-references-in-index extension).
      Fix a bug that caused the newer version of the IETF boilerplate to
      be produced rather than the pre-RFC3667 one.  Update to RFC4287
      boilerplate.

   2006-11-11  Add extension attribute x:for-anchor to <iref> handling.

   2006-11-26  Experimental (and limited) support for <x:lt>.

   2006-12-04  Fix bugs in processing documents that have both the ipr
      and the number attribute set on the rfc root element.  Add support
      for x:fmt='none' on xrefs.  Add different pre style based on
      artwork type attributes (experimental).

   2006-12-13  Add x:fmt='anchor' for xref elements.






Reschke                                                        [Page 60]

Documentation             RFC2629 through XSLT              October 2009


   2007-01-07  Fix root template for compatibility for the exslt:node-
      set implementation in Firefox3.

   2007-01-29  Avoid empty table entry in front matter when organization
      is not specified for an author.

   2007-02-10  Allow change tracking in table rows.

   2007-03-09  Add hcard profile URI (<http://www.w3.org/2006/03/hcard>)
      to head element.  Add warning for misplaced <t> elements (after
      section).

   2007-03-21  Fix internal linking from reference entries in index for
      some xref types.  Minor CSS tweaks contributed by MTR.  Allow
      turning on text justification through a PI.  Improve iref anchor
      generation to generate less instable anchors.

   2007-03-28  Fixes for numbering of ed:inserted references sections.

   2007-05-04  Do not generate anchors for edits in deleted sections.
      Enhance HTML conformance.

   2007-05-19  Enhance diagnostics when using Saxon (needs Saxon's "-l"
      command line parameter to keep line number information).  Add
      warning when symref PI is missing (default will change in the
      future).  Add support for overriding computed section numbers
      (when formatting historic documents).

   2007-06-07  Change default for symrefs PI to "yes" (see change in
      xml2rfc 1.33pre4).  Warn about docName attributes that appear to
      contain a file extension.

   2007-06-26  Workaround author/@initials values without trailing dot,
      as in xml2rfc.tcl.

   2007-07-14  Enhance index generation for references that use @x:sec
      attribute.

   2007-09-09  Fix: sortrefs is a nop when symrefs=no.

   2007-10-17  Work in progress: add support for referencing sections in
      sibling documents by anchor name.

   2007-10-17  Work in progress (continued): support for referencing
      sections in sibling documents by anchor name.






Reschke                                                        [Page 61]

Documentation             RFC2629 through XSLT              October 2009


   2007-12-31  Emit warning when updating/obsoleting stuff that's not
      referenced.

   2008-02-03  Support xml2rfc-1.33pre5's suppress-title attribute on
      texttable and figure.

   2008-02-06  Extension: allow <eref> below <cref>.

   2008-02-17  Extensions: add x:span and x:length-of.

   2008-02-20  Add new RFC boilerplate (as changed in 2007-08).

   2008-02-27  Improve diagnostics for artwork width problems; add
      defaulting of publication dates (requires XSLT processor
      supporting exslt:date, or msxml).

   2008-02-29  Enhance CSS for link elements in the front header, update
      rules for generating "Acknowledgment" statement.

   2008-03-01  Use line numbers in diagnostics in Saxon8/9 as well.

   2008-03-02  Fix a bug in the logic choosing the boilerplate,
      resulting in obsolete text being inserted into IDs.

   2008-04-01  Add support for superscript element.

   2008-06-28  Add sanity checks for email addresses, allow multiple
      email elements.

   2008-07-06  Add x:abnf-char-sequence.

   2008-08-21  Add x:note.

   2008-09-06  Add experimental support for SVG images.

   2008-09-17  Add experimental support for x:author.  Fix xref/@
      format=none.

   2008-10-10  Fix a huge bug, causing text content after an XML comment
      to be ignored.

   2009-02-24  Use table/caption when needed.

   2009-03-07  Fix bug that caused text to disappear in the output in
      presence of processing instructions.






Reschke                                                        [Page 62]

Documentation             RFC2629 through XSLT              October 2009


   2009-03-12  Make inlined comments bookmarkable.

   2009-04-09  Upgrade to DC-HTML from RFC 2731 (affects head/@profile).

   2009-07-08  Remove table/@summary in output; the value getting
      inserted was just repeating stuff that appeared in the preamble.

   2009-08-01  Implement table alignment (HTML output only for now).

   2009-08-18  Replicate Dublin Core "abstract" metadata into meta/@
      name=description (search engines do use it).

   2009-09-02  Fix default/left alignment of table columns, remove silly
      table summmary attributes.

   2009-09-24  Support double-sided layout using CSS page:left/right
      selectors.

E.6.  rfc2629toFO.xslt

   2003-11-16  Initial release.

   2003-11-29  Enhance handling of unknown list styles.

   2004-04-04  Update reference section handling.

   2004-04-17  Use XSL-WD-1.1-style fo:bookmark and index handling and
      add postprocessors for existing implementations.  Unify PDF info
      generation by using XEP (postprocessors) will convert.

   2004-04-20  Add experimental cref support.

   2004-06-14  Set correct index-item defaults.

   2004-07-18  Add list style=letters.

   2004-09-03  Make URLs in text break where they are allowed to break
      by inserting zero-width spaces.

   2004-09-26  Fix letter-style inside nested lists.

   2004-10-31  Update handling of artwork.

   2004-11-13  Fix handling of references inside ed:* markup.  Fix
      whitespace handling in artwork.






Reschke                                                        [Page 63]

Documentation             RFC2629 through XSLT              October 2009


   2004-11-27  Irefs in artwork generate monospaced entries in index.

   2005-01-31  Fix TOC generation that was broken after changes in main
      XSLT.

   2005-02-05  Bring in sync with cosmetic changes in rfc2629.xslt.

   2005-05-07  Minor fix for change tracking in document title.  Support
      for table styles.

   2005-06-18  Fix references to tables.

   2005-10-15  Process t/@anchor.

   2006-02-11  References: add "work in progress" for Internet Drafts.

   2006-06-02  Use XSL 1.1 WD Feb 2006.

   2007-03-21  Support optional text justification.

   2007-05-19  Various improvements in spacing; also allow overriding
      the automatic list indentation via list/x:indent.

   2009-04-08  Fix spacing in headers; add support for formatting for
      double-sided printing.

   2009-08-01  Remove surplus empty pages when not generating double-
      sided output.

E.7.  xsl11toAn.xslt

   2004-05-17  Initial release.

   2006-06-02  Use XSL 1.1 WD Feb 2006.

E.8.  xsl11toFop.xslt

   2004-05-17  Initial release.

   2006-06-02  Use XSL 1.1 WD Feb 2006.

E.9.  xsl11toFop-0.95.xslt

   2009-09-12  Support for FOP 0.20.5 and FOP 0.93 removed.  Please use
      FOP 0.95.






Reschke                                                        [Page 64]

Documentation             RFC2629 through XSLT              October 2009


   2008-03-15  Add a workaround to the fo:inline workaround (sigh).

E.10.  xsl11toXep.xslt

   2004-05-17  Initial release.

   2004-09-04  Fix xep:index-item attributes.

   2006-06-02  Use XSL 1.1 WD Feb 2006.










































Reschke                                                        [Page 65]

Documentation             RFC2629 through XSLT              October 2009


Index

   A
      abnf-char-sequence Extension Element  22, 36
      allow-markup-in-artwork PI pseudo-attribute  8
      alternate HTML LINK element  16
      anchor-alias Extension Element  22, 36
      Anchors
         rfc.abstract  13
         rfc.authors  13
         rfc.copyright  13
         rfc.copyrightnotice  13
         rfc.figure.n  13
         rfc.figure.u.n  13
         rfc.index  13
         rfc.ipr  13
         rfc.iref.n  13
         rfc.note.n  13
         rfc.references  13
         rfc.section.n  13
         rfc.section.n.p.m  13
         rfc.status  13
         rfc.toc  13
         rfc.xref.name.n  13
      AntennaHouse XSL Formatter  20
      Apache FOP  20
      appendix HTML LINK element  16
      assign-section-number Extension Element  36
      author HTML LINK element  16
      authors-section PI pseudo-attribute  8

   B
      background PI pseudo-attribute  6
      bb Extension Element  23, 36
      bc Extension Element  23, 36
      bcp14 Extension Element  22, 36
      blockquote Extension Element  23, 36
      boilerplate Extension Element  23, 36
      bt Extension Element  24, 36

   C
      chapter HTML LINK element  16
      CHM format  19
      comments PI pseudo-attribute  6
      compact PI pseudo-attribute  6
      contents HTML LINK element  16
      copyright HTML LINK element  16
      Creator DCMI property  17



Reschke                                                        [Page 66]

Documentation             RFC2629 through XSLT              October 2009


   D
      Date.Issued DCMI property  17
      DCMI properties
         Creator  17
         Date.Issued  17
         Description.Abstract  17
         Identifier  17
         isPartOf  17
         Relation.Replaces  17
      Description.Abstract DCMI property  17
      dfn Extension Element  24, 36
      duplex PI pseudo-attribute  8

   E
      editing PI pseudo-attribute  6
      Extension Elements
         abnf-char-sequence  22, 36
         anchor-alias  22, 36
         assign-section-number  36
         bb  23, 36
         bc  23, 36
         bcp14  22, 36
         blockquote  23, 36
         boilerplate  23, 36
         bt  24, 36
         dfn  24, 36
         h  24, 36
         highlight  24, 36
         include-author  36
         length-of  24, 36
         link  24, 36
         lt  25, 36
         note  25, 36
         parse-xml  25, 36
         q  25, 36
         rdf:Description  36
         ref  25, 36
         source  26, 36
         span  36
         sup  26, 36
         x  36

   F
      Firefox
         1.*/2.*  15
         3.*  14
      footer PI pseudo-attribute  6




Reschke                                                        [Page 67]

Documentation             RFC2629 through XSLT              October 2009


   G
      generator HTML META element  17
      Google Chrome  14
      Grammar  36

   H
      h Extension Element  24, 36
      header PI pseudo-attribute  6
      highlight Extension Element  24, 36
      HTML compliance  16
      HTML LINK elements
         alternate  16
         appendix  16
         author  16
         chapter  16
         contents  16
         copyright  16
         index  16
      HTML META elements
         generator  17
         keywords  17

   I
      Identifier DCMI property  17
      include PI pseudo-attribute  7
      include-author Extension Element  36
      include-references-in-index PI pseudo-attribute  8
      index HTML LINK element  16
      inline PI pseudo-attribute  6
      Internet Explorer 5.5  14
      Internet Explorer 6  14
      Internet Explorer 7  14
      Internet Explorer 8  14
      iprnotified PI pseudo-attribute  6
      isPartOf DCMI property  17

   J
      justification PI pseudo-attribute  8

   K
      keywords HTML META element  17

   L
      length-of Extension Element  24, 36
      link Extension Element  24, 36
      linkmailto PI pseudo-attribute  6
      lt Extension Element  25, 36




Reschke                                                        [Page 68]

Documentation             RFC2629 through XSLT              October 2009


   M
      Microsoft Help  19
      Mozilla  14-15
      MSXML3  14
      MSXML4  14

   N
      needLines PI pseudo-attribute  7
      NoScript  14
      note Extension Element  25, 36

   O
      Opera  14-15

   P
      Parameters
         xml2rfc-background  6
         xml2rfc-comments  6
         xml2rfc-compact  6
         xml2rfc-editing  6
         xml2rfc-ext-allow-markup-in-artwork  8
         xml2rfc-ext-authors-section  8
         xml2rfc-ext-duplex  8
         xml2rfc-ext-include-references-in-index  8
         xml2rfc-ext-justification  8
         xml2rfc-ext-parse-xml-in-artwork  8
         xml2rfc-ext-sec-no-trailing-dots  8
         xml2rfc-ext-support-rfc2731  8
         xml2rfc-footer  6
         xml2rfc-header  6
         xml2rfc-inline  6
         xml2rfc-iprnotified  6
         xml2rfc-linkmailto  6
         xml2rfc-private  6
         xml2rfc-refparent  6
         xml2rfc-rfcedstyle  6
         xml2rfc-sortrefs  6
         xml2rfc-symrefs  6
         xml2rfc-toc  6
         xml2rfc-tocdepth  6
         xml2rfc-topblock  6
      parse-xml Extension Element  25, 36
      parse-xml-in-artwork PI pseudo-attribute  8
      private PI pseudo-attribute  6
      Processing Instruction pseudo attributes
         allow-markup-in-artwork  8
         authors-section  8
         background  6



Reschke                                                        [Page 69]

Documentation             RFC2629 through XSLT              October 2009


         comments  6
         compact  6
         duplex  8
         editing  6
         footer  6
         header  6
         ijustification  8
         include  7
         include-references-in-index  8
         inline  6
         iprnotified  6
         linkmailto  6
         needLines  7
         parse-xml-in-artwork  8
         private  6
         refparent  6
         rfcedstyle  6
         sec-no-trailing-dots  8
         slides  7
         sortrefs  6
         strict  7
         subcompact  7
         support-rfc2731  8
         symrefs  6
         toc  6
         tocdepth  6
         tocindent  7
         tocompact  7
         topblock  6

   Q
      q Extension Element  25, 36

   R
      rdf:Description Extension Element  36
      ref Extension Element  25, 36
      refparent PI pseudo-attribute  6
      Relation.Replaces DCMI property  17
      RELAX NG Compact Schema  36
      rfc.abstract anchor  13
      rfc.authors anchor  13
      rfc.copyright anchor  13
      rfc.copyrightnotice anchor  13
      rfc.figure.n anchor  13
      rfc.figure.u.n anchor  13
      rfc.index anchor  13
      rfc.ipr anchor  13
      rfc.iref.n anchor  13



Reschke                                                        [Page 70]

Documentation             RFC2629 through XSLT              October 2009


      rfc.note.n anchor  13
      rfc.references anchor  13
      rfc.references.n anchor  13
      rfc.section.n anchor  13
      rfc.section.n.p.m anchor  13
      rfc.status anchor  13
      rfc.toc anchor  13
      rfc.xref.name.n anchor  13
      rfcedstyle PI pseudo-attribute  6

   S
      Safari  14-15
         3.*  14
      Saxon  14
      Schema  36
      sec-no-trailing-dots PI pseudo-attribute  8
      slides PI pseudo-attribute  7
      sortrefs PI pseudo-attribute  6
      source Extension Element  26, 36
      span Extension Element  36
      strict PI pseudo-attribute  7
      subcompact PI pseudo-attribute  7
      sup Extension Element  26, 36
      support-rfc2731 PI pseudo-attribute  8
      symrefs PI pseudo-attribute  6

   T
      toc PI pseudo-attribute  6
      tocdepth PI pseudo-attribute  6
      tocindent PI pseudo-attribute  7
      tocompact PI pseudo-attribute  7
      topblock PI pseudo-attribute  6

   X
      x Extension Element  36
      Xalan  14
      xml-stylesheet PI  16
      xml2rfc-background parameter  6
      xml2rfc-comments parameter  6
      xml2rfc-editing parameter  6
      xml2rfc-ext-allow-markup-in-artwork parameter  8
      xml2rfc-ext-authors-section parameter  8
      xml2rfc-ext-duplex  8
      xml2rfc-ext-include-references-in-index parameter  8
      xml2rfc-ext-justification parameter  8
      xml2rfc-ext-parse-xml-in-artwork parameter  8
      xml2rfc-ext-sec-no-trailing-dots parameter  8
      xml2rfc-ext-support-rfc2731 parameter  8



Reschke                                                        [Page 71]

Documentation             RFC2629 through XSLT              October 2009


      xml2rfc-footer parameter  6
      xml2rfc-header parameter  6
      xml2rfc-inline parameter  6
      xml2rfc-iprnotified parameter  6
      xml2rfc-linkmailto parameter  6
      xml2rfc-private parameter  6
      xml2rfc-refparent parameter  6
      xml2rfc-rfcedstyle parameter  6
      xml2rfc-sortrefs parameter  6
      xml2rfc-symrefs parameter  6
      xml2rfc-toc parameter  6
      xml2rfc-tocdepth parameter  6
      xml2rfc-topblock parameter  6
      xsltproc  14
         passing parameters  5




































Reschke                                                        [Page 72]

Documentation             RFC2629 through XSLT              October 2009


Author's Address

   Julian F. Reschke
   greenbytes GmbH
   Hafenweg 16
   Muenster, NW  48155
   Germany

   Phone: +49 251 2807760
   Email: julian.reschke@greenbytes.de
   URI:   http://greenbytes.de/tech/webdav/








































Reschke                                                        [Page 73]

