Ignore:
Timestamp:
Jul 2, 2012, 5:17:58 AM (7 years ago)
Author:
julian.reschke@…
Message:

bump up document dates and update to latest version of rfc2629.xslt

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rfc2629xslt/rfc2629xslt.html

    r1667 r1699  
    345345  }
    346346  @top-right {
    347        content: "March 2012";
     347       content: "June 2012";
    348348  }
    349349  @top-center {
     
    372372    }
    373373}
    374 </style><link rel="Contents" href="#rfc.toc"><link rel="Author" href="#rfc.authors"><link rel="Index" href="#rfc.index"><link rel="Chapter" title="1 Introduction" href="#rfc.section.1"><link rel="Chapter" title="2 Supported RFC2629 elements" href="#rfc.section.2"><link rel="Chapter" title="3 Processing Instructions" href="#rfc.section.3"><link rel="Chapter" title="4 Anchors" href="#rfc.section.4"><link rel="Chapter" title="5 Supported XSLT engines" href="#rfc.section.5"><link rel="Chapter" title="6 Transforming to HTML" href="#rfc.section.6"><link rel="Chapter" title="7 Transforming to XHTML" href="#rfc.section.7"><link rel="Chapter" title="8 Transforming to CHM (Microsoft Compiled Help)" href="#rfc.section.8"><link rel="Chapter" title="9 Transforming to PDF" href="#rfc.section.9"><link rel="Chapter" title="10 Transforming to ePub" href="#rfc.section.10"><link rel="Chapter" title="11 Generic Extensions" href="#rfc.section.11"><link rel="Chapter" title="12 Utilities" href="#rfc.section.12"><link rel="Chapter" href="#rfc.section.13" title="13 Informative References"><link rel="Appendix" title="A RELAX NG Compact Schema" href="#rfc.section.A"><link rel="Appendix" title="B Implementation Notes" href="#rfc.section.B"><link rel="Appendix" title="C Examples" href="#rfc.section.C"><link rel="Appendix" title="D Producing the IETF 'Boilerplate'" href="#rfc.section.D"><link rel="Appendix" title="E License" href="#rfc.section.E"><link rel="Appendix" title="F Change Logs" href="#rfc.section.F"><meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.579, 2012-05-24 20:24:05, XSLT vendor: SAXON 6.5.5 from Michael Kay http://saxon.sf.net/"><meta name="keywords" content="RFC2629, xml2rfc, XSLT, hCard, XSL-FO, PDF, GRDDL, epub, Dublin Core"><link rel="schema.dct" href="http://purl.org/dc/terms/"><meta name="dct.creator" content="Reschke, J. F."></head><body><table class="header"><tbody><tr><td class="left">RFC2629 through XSLT</td><td class="right">J. Reschke</td></tr><tr><td class="left"></td><td class="right">greenbytes</td></tr><tr><td class="left"></td><td class="right">March 2012</td></tr></tbody></table><p class="title">Transforming RFC2629-formatted XML through XSLT</p><hr class="noprint"><h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1><ul class="toc"><li>1.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1">Introduction</a></li><li>2.&nbsp;&nbsp;&nbsp;<a href="#supported.elements">Supported RFC2629 elements</a><ul><li>2.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.2.1">Extension elements</a></li></ul></li><li>3.&nbsp;&nbsp;&nbsp;<a href="#processing.instructions">Processing Instructions</a><ul><li>3.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.1">Supported xml2rfc-compatible PIs</a></li><li>3.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.2">Unsupported xml2rfc-compatible PIs</a></li><li>3.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.3">Extension PIs</a></li></ul></li><li>4.&nbsp;&nbsp;&nbsp;<a href="#anchors">Anchors</a></li><li>5.&nbsp;&nbsp;&nbsp;<a href="#xslt.engines">Supported XSLT engines</a><ul><li>5.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.1">Standalone Engines</a></li><li>5.2&nbsp;&nbsp;&nbsp;<a href="#xslt.engines.browser">In-Browser Engines</a></li></ul></li><li>6.&nbsp;&nbsp;&nbsp;<a href="#output.html">Transforming to HTML</a><ul><li>6.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6.1">HTML compliance</a></li><li>6.2&nbsp;&nbsp;&nbsp;<a href="#html.link">Standard HTML LINK elements</a></li><li>6.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6.3">Standard HTML metadata</a></li><li>6.4&nbsp;&nbsp;&nbsp;<a href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></li><li>6.5&nbsp;&nbsp;&nbsp;<a href="#hcard">Experimental hCard support</a></li></ul></li><li>7.&nbsp;&nbsp;&nbsp;<a href="#output.xhtml">Transforming to XHTML</a></li><li>8.&nbsp;&nbsp;&nbsp;<a href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></li><li>9.&nbsp;&nbsp;&nbsp;<a href="#output.pdf">Transforming to PDF</a><ul><li>9.1&nbsp;&nbsp;&nbsp;<a href="#output.pdf.fop">Via XSL-FO</a><ul><li>9.1.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9.1.1">Extension feature matrix</a></li><li>9.1.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9.1.2">Example: producing output for Apache FOP</a></li></ul></li><li>9.2&nbsp;&nbsp;&nbsp;<a href="#output.pdf.html">Via X(HTML)</a></li></ul></li><li>10.&nbsp;&nbsp;&nbsp;<a href="#output.epub">Transforming to ePub</a></li><li>11.&nbsp;&nbsp;&nbsp;<a href="#extensions">Generic Extensions</a><ul><li>11.1&nbsp;&nbsp;&nbsp;<a href="#ext.element.abnf-char-sequence">&lt;abnf-char-sequence&gt; element</a></li><li>11.2&nbsp;&nbsp;&nbsp;<a href="#ext.element.anchor-alias">&lt;anchor-alias&gt; element</a></li><li>11.3&nbsp;&nbsp;&nbsp;<a href="#ext.element.bcp14">&lt;bcp14&gt; element</a></li><li>11.4&nbsp;&nbsp;&nbsp;<a href="#ext.element.bb">&lt;bb&gt; element</a></li><li>11.5&nbsp;&nbsp;&nbsp;<a href="#ext.element.bc">&lt;bc&gt; element</a></li><li>11.6&nbsp;&nbsp;&nbsp;<a href="#ext.element.blockquote">&lt;blockquote&gt; element</a></li><li>11.7&nbsp;&nbsp;&nbsp;<a href="#ext.element.boilerplate">&lt;boilerplate&gt; element</a></li><li>11.8&nbsp;&nbsp;&nbsp;<a href="#ext.element.bt">&lt;bt&gt; element</a></li><li>11.9&nbsp;&nbsp;&nbsp;<a href="#ext.element.dfn">&lt;dfn&gt; element</a></li><li>11.10&nbsp;&nbsp;&nbsp;<a href="#ext.element.feedback">&lt;feedback&gt; element</a></li><li>11.11&nbsp;&nbsp;&nbsp;<a href="#ext.element.h">&lt;h&gt; element</a></li><li>11.12&nbsp;&nbsp;&nbsp;<a href="#ext.element.highlight">&lt;highlight&gt; element</a></li><li>11.13&nbsp;&nbsp;&nbsp;<a href="#ext.element.length-of">&lt;length-of&gt; element</a></li><li>11.14&nbsp;&nbsp;&nbsp;<a href="#ext.element.link">&lt;link&gt; element</a></li><li>11.15&nbsp;&nbsp;&nbsp;<a href="#ext.element.lt">&lt;lt&gt; element</a></li><li>11.16&nbsp;&nbsp;&nbsp;<a href="#ext.element.note">&lt;note&gt; element</a></li><li>11.17&nbsp;&nbsp;&nbsp;<a href="#ext.element.parse-xml">&lt;parse-xml&gt; element</a></li><li>11.18&nbsp;&nbsp;&nbsp;<a href="#ext.element.prose">&lt;prose&gt; element</a></li><li>11.19&nbsp;&nbsp;&nbsp;<a href="#ext.element.q">&lt;q&gt; element</a></li><li>11.20&nbsp;&nbsp;&nbsp;<a href="#ext.element.ref">&lt;ref&gt; element</a></li><li>11.21&nbsp;&nbsp;&nbsp;<a href="#ext.element.source">&lt;source&gt; element</a></li><li>11.22&nbsp;&nbsp;&nbsp;<a href="#ext.element.sup">&lt;sup&gt; element</a></li><li>11.23&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.artwork">Extensions to Xml2rfc &lt;artwork&gt; element</a></li><li>11.24&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.iref">Extensions to Xml2rfc &lt;iref&gt; element</a></li><li>11.25&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.list">Extensions to Xml2rfc &lt;list&gt; element</a></li><li>11.26&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.rfc">Extensions to Xml2rfc &lt;rfc&gt; element</a></li><li>11.27&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.section">Extensions to Xml2rfc &lt;section&gt; element</a></li><li>11.28&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.xref">Extensions to Xml2rfc &lt;xref&gt; element</a></li></ul></li><li>12.&nbsp;&nbsp;&nbsp;<a href="#utilities">Utilities</a><ul><li>12.1&nbsp;&nbsp;&nbsp;<a href="#checking-references">Checking References</a></li><li>12.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.2">Generating Graphs from References</a></li><li>12.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.3">Producing reference entries for books</a></li><li>12.4&nbsp;&nbsp;&nbsp;<a href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></li><li>12.5&nbsp;&nbsp;&nbsp;<a href="#extract-artwork">Extracting artwork</a></li><li>12.6&nbsp;&nbsp;&nbsp;<a href="#grddl">GRRDL</a></li></ul></li><li>13.&nbsp;&nbsp;&nbsp;<a href="#rfc.references">Informative References</a></li><li><a href="#rfc.authors">Author's Address</a></li><li>A.&nbsp;&nbsp;&nbsp;<a href="#grammar">RELAX NG Compact Schema</a></li><li>B.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.B">Implementation Notes</a><ul><li>B.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.B.1">Recognized type attributes for &lt;artwork&gt; element</a></li></ul></li><li>C.&nbsp;&nbsp;&nbsp;<a href="#examples">Examples</a><ul><li>C.1&nbsp;&nbsp;&nbsp;<a href="#examples.internalsubset">Using the 'Internal Subset'</a></li><li>C.2&nbsp;&nbsp;&nbsp;<a href="#examples.customizing">Customization</a></li></ul></li><li>D.&nbsp;&nbsp;&nbsp;<a href="#boilerplate">Producing the IETF 'Boilerplate'</a><ul><li>D.1&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr">The /rfc/@ipr Attribute</a><ul><li>D.1.1&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-current">Current Values: '*trust200902'</a><ul><li>D.1.1.1&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-trust200902">trust200902</a></li><li>D.1.1.2&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-noModificationTrust200902">noModificationTrust200902</a></li><li>D.1.1.3&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-noDerivativesTrust200902">noDerivativesTrust200902</a></li><li>D.1.1.4&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-pre5378Trust200902">pre5378Trust200902</a></li></ul></li><li>D.1.2&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-historic">Historic Values</a><ul><li>D.1.2.1&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-200811">Historic Values: '*trust200811'</a></li><li>D.1.2.2&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-3978">Historic Values: '*3978'</a></li><li>D.1.2.3&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-3667">Historic Values: '*3667'</a></li><li>D.1.2.4&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-2026">Historic Values: '*2026'</a></li></ul></li></ul></li><li>D.2&nbsp;&nbsp;&nbsp;<a href="#attribute-category">The /rfc/@category Attribute</a></li><li>D.3&nbsp;&nbsp;&nbsp;<a href="#attribute-submissiontype">The /rfc/@submissionType Attribute</a></li><li>D.4&nbsp;&nbsp;&nbsp;<a href="#attribute-consensus">The /rfc/@consensus Attribute</a></li><li>D.5&nbsp;&nbsp;&nbsp;<a href="#attribute-number">The /rfc/@number Attribute</a></li><li>D.6&nbsp;&nbsp;&nbsp;<a href="#attribute-docname">The /rfc/@docName Attribute</a></li><li>D.7&nbsp;&nbsp;&nbsp;<a href="#attribute-obsoletes">The /rfc/@obsoletes Attribute</a></li><li>D.8&nbsp;&nbsp;&nbsp;<a href="#attribute-updates">The /rfc/@updates Attribute</a></li></ul></li><li>E.&nbsp;&nbsp;&nbsp;<a href="#license">License</a></li><li>F.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F">Change Logs</a><ul><li>F.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.1">Package</a></li><li>F.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.2">amazon-asin.xslt</a></li><li>F.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.3">check-references.xslt</a></li><li>F.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.4">gen-reference-graph.xslt</a></li><li>F.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.5">rfc2629.xslt</a></li><li>F.6&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.6">rfc2629toFO.xslt</a></li><li>F.7&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.7">xsl11toAn.xslt</a></li><li>F.8&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.8">xsl11toFop.xslt</a></li><li>F.9&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.9">xsl11toXep.xslt</a></li></ul></li><li><a href="#rfc.index">Index</a></li></ul><hr class="noprint"><h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a>&nbsp;Introduction</h1><p id="rfc.section.1.p.1">This document describes a set of XSLT transformations that can be used to transform RFC2629-compliant XML (see <a href="#RFC2629" id="rfc.xref.RFC2629.1"><cite title="Writing I-Ds and RFCs using XML">[RFC2629]</cite></a>) to various output formats, such as HTML and PDF. The main topics are </p><ul><li>compliance to the xml2rfc XML element set (<a href="#supported.elements" title="Supported RFC2629 elements">Section&nbsp;2</a>),</li><li>support for xml2rfc processing instructions (<a href="#processing.instructions" title="Processing Instructions">Section&nbsp;3</a>),</li><li>the names of anchor elements generated in HTML and PDF output (<a href="#anchors" title="Anchors">Section&nbsp;4</a>),</li><li>various XSLT engines that can be used (<a href="#xslt.engines" title="Supported XSLT engines">Section&nbsp;5</a>),</li><li>outputting HTML (<a href="#output.html" title="Transforming to HTML">Section&nbsp;6</a>) and XHTML (<a href="#output.xhtml" title="Transforming to XHTML">Section&nbsp;7</a>),</li><li>outputting CHM (Compiled Microsoft Help, <a href="#output.chm" title="Transforming to CHM (Microsoft Compiled Help)">Section&nbsp;8</a>),</li><li>outputting PDF (<a href="#output.pdf" title="Transforming to PDF">Section&nbsp;9</a>),</li><li>outputting ePub (<a href="#output.epub" title="Transforming to ePub">Section&nbsp;10</a>),</li><li>extensions to the xml2rfc vocabulary (<a href="#extensions" title="Generic Extensions">Section&nbsp;11</a>).</li><li>various utilities (<a href="#utilities" title="Utilities">Section&nbsp;12</a>).</li></ul><p id="rfc.section.1.p.2">The full distribution is available at &lt;<a href="http://greenbytes.de/tech/webdav/rfc2629xslt.zip">http://greenbytes.de/tech/webdav/rfc2629xslt.zip</a>&gt;.</p><hr class="noprint"><h1 id="rfc.section.2" class="np"><a href="#rfc.section.2">2.</a>&nbsp;<a id="supported.elements" href="#supported.elements">Supported RFC2629 elements</a></h1><p id="rfc.section.2.p.1"> <samp>rfc2629.xslt</samp> supports both all RFC2629 grammar elements and the extensions implemented in xml2rfc 1.36.</p><h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a>&nbsp;Extension elements</h2><p id="rfc.section.2.1.p.1"> <samp>rfc2629.xslt</samp> supports two kind of extension elements, using different XML namespaces.</p><p id="rfc.section.2.1.p.2">The first set contains (hopefully) generally useful extensions, see <a href="#extensions" title="Generic Extensions">Section&nbsp;11</a>.</p><p id="rfc.section.2.1.p.3">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.</p><hr class="noprint"><h1 id="rfc.section.3" class="np"><a href="#rfc.section.3">3.</a>&nbsp;<a id="processing.instructions" href="#processing.instructions">Processing Instructions</a></h1><p id="rfc.section.3.p.1">All PIs can be set as XSLT parameter as well, overriding any value that is found in the source file to be transformed.</p><div id="rfc.figure.u.1"></div> <p>Using processing instructions:</p>  <pre class="text">&lt;?rfc toc="yes"?&gt;
     374</style><link rel="Contents" href="#rfc.toc"><link rel="Author" href="#rfc.authors"><link rel="Index" href="#rfc.index"><link rel="Chapter" title="1 Introduction" href="#rfc.section.1"><link rel="Chapter" title="2 Supported RFC2629 elements" href="#rfc.section.2"><link rel="Chapter" title="3 Processing Instructions" href="#rfc.section.3"><link rel="Chapter" title="4 Anchors" href="#rfc.section.4"><link rel="Chapter" title="5 Supported XSLT engines" href="#rfc.section.5"><link rel="Chapter" title="6 Transforming to HTML" href="#rfc.section.6"><link rel="Chapter" title="7 Transforming to XHTML" href="#rfc.section.7"><link rel="Chapter" title="8 Transforming to CHM (Microsoft Compiled Help)" href="#rfc.section.8"><link rel="Chapter" title="9 Transforming to PDF" href="#rfc.section.9"><link rel="Chapter" title="10 Transforming to ePub" href="#rfc.section.10"><link rel="Chapter" title="11 Generic Extensions" href="#rfc.section.11"><link rel="Chapter" title="12 Utilities" href="#rfc.section.12"><link rel="Chapter" href="#rfc.section.13" title="13 Informative References"><link rel="Appendix" title="A RELAX NG Compact Schema" href="#rfc.section.A"><link rel="Appendix" title="B Implementation Notes" href="#rfc.section.B"><link rel="Appendix" title="C Examples" href="#rfc.section.C"><link rel="Appendix" title="D Producing the IETF 'Boilerplate'" href="#rfc.section.D"><link rel="Appendix" title="E License" href="#rfc.section.E"><link rel="Appendix" title="F Change Logs" href="#rfc.section.F"><meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.584, 2012-06-24 15:59:38, XSLT vendor: SAXON 6.5.5 from Michael Kay http://saxon.sf.net/"><meta name="keywords" content="RFC2629, xml2rfc, XSLT, hCard, XSL-FO, PDF, GRDDL, epub, Dublin Core"><link rel="schema.dct" href="http://purl.org/dc/terms/"><meta name="dct.creator" content="Reschke, J. F."></head><body><table class="header"><tbody><tr><td class="left">RFC2629 through XSLT</td><td class="right">J. Reschke</td></tr><tr><td class="left"></td><td class="right">greenbytes</td></tr><tr><td class="left"></td><td class="right">June 2012</td></tr></tbody></table><p class="title">Transforming RFC2629-formatted XML through XSLT</p><hr class="noprint"><h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1><ul class="toc"><li>1.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1">Introduction</a></li><li>2.&nbsp;&nbsp;&nbsp;<a href="#supported.elements">Supported RFC2629 elements</a><ul><li>2.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.2.1">Extension elements</a></li></ul></li><li>3.&nbsp;&nbsp;&nbsp;<a href="#processing.instructions">Processing Instructions</a><ul><li>3.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.1">Supported xml2rfc-compatible PIs</a></li><li>3.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.2">Unsupported xml2rfc-compatible PIs</a></li><li>3.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.3">Extension PIs</a></li></ul></li><li>4.&nbsp;&nbsp;&nbsp;<a href="#anchors">Anchors</a></li><li>5.&nbsp;&nbsp;&nbsp;<a href="#xslt.engines">Supported XSLT engines</a><ul><li>5.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.1">Standalone Engines</a></li><li>5.2&nbsp;&nbsp;&nbsp;<a href="#xslt.engines.browser">In-Browser Engines</a></li></ul></li><li>6.&nbsp;&nbsp;&nbsp;<a href="#output.html">Transforming to HTML</a><ul><li>6.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6.1">HTML compliance</a></li><li>6.2&nbsp;&nbsp;&nbsp;<a href="#html.link">Standard HTML LINK elements</a></li><li>6.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6.3">Standard HTML metadata</a></li><li>6.4&nbsp;&nbsp;&nbsp;<a href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></li><li>6.5&nbsp;&nbsp;&nbsp;<a href="#hcard">Experimental hCard support</a></li></ul></li><li>7.&nbsp;&nbsp;&nbsp;<a href="#output.xhtml">Transforming to XHTML</a></li><li>8.&nbsp;&nbsp;&nbsp;<a href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></li><li>9.&nbsp;&nbsp;&nbsp;<a href="#output.pdf">Transforming to PDF</a><ul><li>9.1&nbsp;&nbsp;&nbsp;<a href="#output.pdf.fop">Via XSL-FO</a><ul><li>9.1.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9.1.1">Extension feature matrix</a></li><li>9.1.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9.1.2">Example: producing output for Apache FOP</a></li></ul></li><li>9.2&nbsp;&nbsp;&nbsp;<a href="#output.pdf.html">Via X(HTML)</a></li></ul></li><li>10.&nbsp;&nbsp;&nbsp;<a href="#output.epub">Transforming to ePub</a></li><li>11.&nbsp;&nbsp;&nbsp;<a href="#extensions">Generic Extensions</a><ul><li>11.1&nbsp;&nbsp;&nbsp;<a href="#ext.element.abnf-char-sequence">&lt;abnf-char-sequence&gt; element</a></li><li>11.2&nbsp;&nbsp;&nbsp;<a href="#ext.element.anchor-alias">&lt;anchor-alias&gt; element</a></li><li>11.3&nbsp;&nbsp;&nbsp;<a href="#ext.element.bcp14">&lt;bcp14&gt; element</a></li><li>11.4&nbsp;&nbsp;&nbsp;<a href="#ext.element.bb">&lt;bb&gt; element</a></li><li>11.5&nbsp;&nbsp;&nbsp;<a href="#ext.element.bc">&lt;bc&gt; element</a></li><li>11.6&nbsp;&nbsp;&nbsp;<a href="#ext.element.blockquote">&lt;blockquote&gt; element</a></li><li>11.7&nbsp;&nbsp;&nbsp;<a href="#ext.element.boilerplate">&lt;boilerplate&gt; element</a></li><li>11.8&nbsp;&nbsp;&nbsp;<a href="#ext.element.bt">&lt;bt&gt; element</a></li><li>11.9&nbsp;&nbsp;&nbsp;<a href="#ext.element.dfn">&lt;dfn&gt; element</a></li><li>11.10&nbsp;&nbsp;&nbsp;<a href="#ext.element.feedback">&lt;feedback&gt; element</a></li><li>11.11&nbsp;&nbsp;&nbsp;<a href="#ext.element.h">&lt;h&gt; element</a></li><li>11.12&nbsp;&nbsp;&nbsp;<a href="#ext.element.highlight">&lt;highlight&gt; element</a></li><li>11.13&nbsp;&nbsp;&nbsp;<a href="#ext.element.length-of">&lt;length-of&gt; element</a></li><li>11.14&nbsp;&nbsp;&nbsp;<a href="#ext.element.link">&lt;link&gt; element</a></li><li>11.15&nbsp;&nbsp;&nbsp;<a href="#ext.element.lt">&lt;lt&gt; element</a></li><li>11.16&nbsp;&nbsp;&nbsp;<a href="#ext.element.note">&lt;note&gt; element</a></li><li>11.17&nbsp;&nbsp;&nbsp;<a href="#ext.element.parse-xml">&lt;parse-xml&gt; element</a></li><li>11.18&nbsp;&nbsp;&nbsp;<a href="#ext.element.prose">&lt;prose&gt; element</a></li><li>11.19&nbsp;&nbsp;&nbsp;<a href="#ext.element.q">&lt;q&gt; element</a></li><li>11.20&nbsp;&nbsp;&nbsp;<a href="#ext.element.ref">&lt;ref&gt; element</a></li><li>11.21&nbsp;&nbsp;&nbsp;<a href="#ext.element.source">&lt;source&gt; element</a></li><li>11.22&nbsp;&nbsp;&nbsp;<a href="#ext.element.sup">&lt;sup&gt; element</a></li><li>11.23&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.artwork">Extensions to Xml2rfc &lt;artwork&gt; element</a></li><li>11.24&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.iref">Extensions to Xml2rfc &lt;iref&gt; element</a></li><li>11.25&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.list">Extensions to Xml2rfc &lt;list&gt; element</a></li><li>11.26&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.rfc">Extensions to Xml2rfc &lt;rfc&gt; element</a></li><li>11.27&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.section">Extensions to Xml2rfc &lt;section&gt; element</a></li><li>11.28&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.xref">Extensions to Xml2rfc &lt;xref&gt; element</a></li></ul></li><li>12.&nbsp;&nbsp;&nbsp;<a href="#utilities">Utilities</a><ul><li>12.1&nbsp;&nbsp;&nbsp;<a href="#checking-references">Checking References</a></li><li>12.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.2">Generating Graphs from References</a></li><li>12.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.3">Producing reference entries for books</a></li><li>12.4&nbsp;&nbsp;&nbsp;<a href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></li><li>12.5&nbsp;&nbsp;&nbsp;<a href="#extract-artwork">Extracting artwork</a></li><li>12.6&nbsp;&nbsp;&nbsp;<a href="#grddl">GRRDL</a></li></ul></li><li>13.&nbsp;&nbsp;&nbsp;<a href="#rfc.references">Informative References</a></li><li><a href="#rfc.authors">Author's Address</a></li><li>A.&nbsp;&nbsp;&nbsp;<a href="#grammar">RELAX NG Compact Schema</a></li><li>B.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.B">Implementation Notes</a><ul><li>B.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.B.1">Recognized type attributes for &lt;artwork&gt; element</a></li></ul></li><li>C.&nbsp;&nbsp;&nbsp;<a href="#examples">Examples</a><ul><li>C.1&nbsp;&nbsp;&nbsp;<a href="#examples.internalsubset">Using the 'Internal Subset'</a></li><li>C.2&nbsp;&nbsp;&nbsp;<a href="#examples.customizing">Customization</a></li></ul></li><li>D.&nbsp;&nbsp;&nbsp;<a href="#boilerplate">Producing the IETF 'Boilerplate'</a><ul><li>D.1&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr">The /rfc/@ipr Attribute</a><ul><li>D.1.1&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-current">Current Values: '*trust200902'</a><ul><li>D.1.1.1&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-trust200902">trust200902</a></li><li>D.1.1.2&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-noModificationTrust200902">noModificationTrust200902</a></li><li>D.1.1.3&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-noDerivativesTrust200902">noDerivativesTrust200902</a></li><li>D.1.1.4&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-pre5378Trust200902">pre5378Trust200902</a></li></ul></li><li>D.1.2&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-historic">Historic Values</a><ul><li>D.1.2.1&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-200811">Historic Values: '*trust200811'</a></li><li>D.1.2.2&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-3978">Historic Values: '*3978'</a></li><li>D.1.2.3&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-3667">Historic Values: '*3667'</a></li><li>D.1.2.4&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-2026">Historic Values: '*2026'</a></li></ul></li></ul></li><li>D.2&nbsp;&nbsp;&nbsp;<a href="#attribute-category">The /rfc/@category Attribute</a></li><li>D.3&nbsp;&nbsp;&nbsp;<a href="#attribute-submissiontype">The /rfc/@submissionType Attribute</a></li><li>D.4&nbsp;&nbsp;&nbsp;<a href="#attribute-consensus">The /rfc/@consensus Attribute</a></li><li>D.5&nbsp;&nbsp;&nbsp;<a href="#attribute-number">The /rfc/@number Attribute</a></li><li>D.6&nbsp;&nbsp;&nbsp;<a href="#attribute-docname">The /rfc/@docName Attribute</a></li><li>D.7&nbsp;&nbsp;&nbsp;<a href="#attribute-obsoletes">The /rfc/@obsoletes Attribute</a></li><li>D.8&nbsp;&nbsp;&nbsp;<a href="#attribute-updates">The /rfc/@updates Attribute</a></li></ul></li><li>E.&nbsp;&nbsp;&nbsp;<a href="#license">License</a></li><li>F.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F">Change Logs</a><ul><li>F.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.1">Package</a></li><li>F.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.2">amazon-asin.xslt</a></li><li>F.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.3">check-references.xslt</a></li><li>F.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.4">gen-reference-graph.xslt</a></li><li>F.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.5">rfc2629.xslt</a></li><li>F.6&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.6">rfc2629toFO.xslt</a></li><li>F.7&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.7">xsl11toAn.xslt</a></li><li>F.8&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.8">xsl11toFop.xslt</a></li><li>F.9&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.9">xsl11toXep.xslt</a></li></ul></li><li><a href="#rfc.index">Index</a></li></ul><hr class="noprint"><h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a>&nbsp;Introduction</h1><p id="rfc.section.1.p.1">This document describes a set of XSLT transformations that can be used to transform RFC2629-compliant XML (see <a href="#RFC2629" id="rfc.xref.RFC2629.1"><cite title="Writing I-Ds and RFCs using XML">[RFC2629]</cite></a>) to various output formats, such as HTML and PDF. The main topics are </p><ul><li>compliance to the xml2rfc XML element set (<a href="#supported.elements" title="Supported RFC2629 elements">Section&nbsp;2</a>),</li><li>support for xml2rfc processing instructions (<a href="#processing.instructions" title="Processing Instructions">Section&nbsp;3</a>),</li><li>the names of anchor elements generated in HTML and PDF output (<a href="#anchors" title="Anchors">Section&nbsp;4</a>),</li><li>various XSLT engines that can be used (<a href="#xslt.engines" title="Supported XSLT engines">Section&nbsp;5</a>),</li><li>outputting HTML (<a href="#output.html" title="Transforming to HTML">Section&nbsp;6</a>) and XHTML (<a href="#output.xhtml" title="Transforming to XHTML">Section&nbsp;7</a>),</li><li>outputting CHM (Compiled Microsoft Help, <a href="#output.chm" title="Transforming to CHM (Microsoft Compiled Help)">Section&nbsp;8</a>),</li><li>outputting PDF (<a href="#output.pdf" title="Transforming to PDF">Section&nbsp;9</a>),</li><li>outputting ePub (<a href="#output.epub" title="Transforming to ePub">Section&nbsp;10</a>),</li><li>extensions to the xml2rfc vocabulary (<a href="#extensions" title="Generic Extensions">Section&nbsp;11</a>).</li><li>various utilities (<a href="#utilities" title="Utilities">Section&nbsp;12</a>).</li></ul><p id="rfc.section.1.p.2">The full distribution is available at &lt;<a href="http://greenbytes.de/tech/webdav/rfc2629xslt.zip">http://greenbytes.de/tech/webdav/rfc2629xslt.zip</a>&gt;.</p><hr class="noprint"><h1 id="rfc.section.2" class="np"><a href="#rfc.section.2">2.</a>&nbsp;<a id="supported.elements" href="#supported.elements">Supported RFC2629 elements</a></h1><p id="rfc.section.2.p.1"> <samp>rfc2629.xslt</samp> supports both all RFC2629 grammar elements and the extensions implemented in xml2rfc 1.36.</p><h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a>&nbsp;Extension elements</h2><p id="rfc.section.2.1.p.1"> <samp>rfc2629.xslt</samp> supports two kind of extension elements, using different XML namespaces.</p><p id="rfc.section.2.1.p.2">The first set contains (hopefully) generally useful extensions, see <a href="#extensions" title="Generic Extensions">Section&nbsp;11</a>.</p><p id="rfc.section.2.1.p.3">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.</p><hr class="noprint"><h1 id="rfc.section.3" class="np"><a href="#rfc.section.3">3.</a>&nbsp;<a id="processing.instructions" href="#processing.instructions">Processing Instructions</a></h1><p id="rfc.section.3.p.1">All PIs can be set as XSLT parameter as well, overriding any value that is found in the source file to be transformed.</p><div id="rfc.figure.u.1"></div> <p>Using processing instructions:</p>  <pre class="text">&lt;?rfc toc="yes"?&gt;
    375375&lt;?rfc-ext support-rfc2731="no"?&gt;
    376376</pre> <div id="rfc.figure.u.2"></div> <p>Using XSLT parameters (Saxon):</p>  <pre class="text">java -cp saxon.jar com.icl.saxon.StyleSheet source.xml rfc2629.xslt \
     
    438438        &lt;x:source href="rfc2616.xml"/&gt;
    439439        ...
    440     </pre> <div id="rfc.iref.e.23"></div><div id="rfc.iref.s.13"></div><h2 id="rfc.section.11.22"><a href="#rfc.section.11.22">11.22</a>&nbsp;<a id="ext.element.sup" href="#ext.element.sup">&lt;sup&gt; element</a></h2><p id="rfc.section.11.22.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-SUP">sup</a>" element in <a href="#HTML" id="rfc.xref.HTML.5"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><p id="rfc.section.11.22.p.2">Note: the down conversion to RFC2629 format replaces "x<sup>y</sup>" by "x^y".</p><h2 id="rfc.section.11.23"><a href="#rfc.section.11.23">11.23</a>&nbsp;<a id="ext-rfc2629.artwork" href="#ext-rfc2629.artwork">Extensions to Xml2rfc &lt;artwork&gt; element</a></h2><p id="rfc.section.11.23.p.1">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.</p><p id="rfc.section.11.23.p.2">As a workaround, a "x:indent-with" attribute can be specified, containing a string that will be prepended to each line when <samp>clean-for-DTD.xslt</samp> is run (see <a href="#clean-for-dtd" title="Down-converting to RFC2629bis DTD">Section&nbsp;12.4</a>).</p><h2 id="rfc.section.11.24"><a href="#rfc.section.11.24">11.24</a>&nbsp;<a id="ext-rfc2629.iref" href="#ext-rfc2629.iref">Extensions to Xml2rfc &lt;iref&gt; element</a></h2><p id="rfc.section.11.24.p.1">The extension attribute below is allowed on the standard &lt;iref&gt; element: </p><ul><li>x:for-anchor specifies that the &lt;iref&gt; will also be automatically inserted whenever the specified anchor is cross-referenced -- this may save entering lots of &lt;iref&gt; instances. As a special case, a value of "" (empty string) refers to the anchor attribute of the closest ancestor.</li></ul><h2 id="rfc.section.11.25"><a href="#rfc.section.11.25">11.25</a>&nbsp;<a id="ext-rfc2629.list" href="#ext-rfc2629.list">Extensions to Xml2rfc &lt;list&gt; element</a></h2><p id="rfc.section.11.25.p.1">The extension attribute below is allowed on the standard &lt;list&gt; element: </p><ul><li>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 <em>length of longest label in characters</em> times <em>0.8em</em>.</li></ul><p id="rfc.section.11.25.p.2">Also, the &lt;list&gt; element can take &lt;x:<a href="#ext.element.lt" class="smpl">lt</a>&gt; child elements instead of &lt;t&gt;, allowing to insert multiple paragraphs into a single list item.</p><h2 id="rfc.section.11.26"><a href="#rfc.section.11.26">11.26</a>&nbsp;<a id="ext-rfc2629.rfc" href="#ext-rfc2629.rfc">Extensions to Xml2rfc &lt;rfc&gt; element</a></h2><p id="rfc.section.11.26.p.1">The extension attributes below are allowed on the standard &lt;rfc&gt; element: </p><ul><li>grddl:transformation can be used to reference a GRDDL transform.</li><li>x:maturity-level can be used to specify the IETF Standards Track Maturity Level of "proposed", "draft" or "internet" (see <a href="http://tools.ietf.org/html/rfc2026#section-4.1">Section 4.1</a> of <a href="#RFC2026" id="rfc.xref.RFC2026.1"><cite title="The Internet Standards Process -- Revision 3">[RFC2026]</cite></a>).</li></ul><h2 id="rfc.section.11.27"><a href="#rfc.section.11.27">11.27</a>&nbsp;<a id="ext-rfc2629.section" href="#ext-rfc2629.section">Extensions to Xml2rfc &lt;section&gt; element</a></h2><p id="rfc.section.11.27.p.1">The extension attribute below is allowed on the standard &lt;list&gt; element: </p><ul><li>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.</li></ul><h2 id="rfc.section.11.28"><a href="#rfc.section.11.28">11.28</a>&nbsp;<a id="ext-rfc2629.xref" href="#ext-rfc2629.xref">Extensions to Xml2rfc &lt;xref&gt; element</a></h2><p id="rfc.section.11.28.p.1">Three extension attributes are allowed on the standard &lt;xref&gt; element: </p><ol><li>x:sec can be specified to point to a specific section of the referenced document,</li><li>x:rel may specify a relative reference to use when linking into the referenced document (if linking by section number is not available),</li><li>x:fmt defines the text format to be used.</li></ol><p id="rfc.section.11.28.p.2">The following formats are defined for the x:fmt attribute: </p><dl><dt>, (Comma)</dt><dd>[<em>reference</em>], Section <em>sec</em> </dd><dt>()</dt><dd>[<em>reference</em>] (Section <em>sec</em>)</dd><dt>anchor</dt><dd>Like the default format, but without brackets.</dd><dt>of</dt><dd>Section <em>sec</em> of [<em>reference</em>]</dd><dt>number</dt><dd> <em>sec</em> </dd><dt>none</dt><dd>No output (can be used to have xrefs to references without having them rendered as such)</dd><dt>sec</dt><dd>Section <em>sec</em> </dd></dl><p id="rfc.section.11.28.p.3">These extensions are currently only supported for &lt;xref&gt; elements without child nodes.</p><p id="rfc.section.11.28.p.4">If the processor knows how to reference the target section, it will generate a link directly to the target section, such as in <a href="#RFC2119" id="rfc.xref.RFC2119.2"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>, <a href="http://tools.ietf.org/html/rfc2119#section-5">Section 5</a>.</p><hr class="noprint"><h1 id="rfc.section.12" class="np"><a href="#rfc.section.12">12.</a>&nbsp;<a id="utilities" href="#utilities">Utilities</a></h1><h2 id="rfc.section.12.1"><a href="#rfc.section.12.1">12.1</a>&nbsp;<a id="checking-references" href="#checking-references">Checking References</a></h2><p id="rfc.section.12.1.p.1"> <samp>check-references.xslt</samp> 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 &lt;<a href="ftp://ftp.isi.edu/in-notes/rfc-index.xml">ftp://ftp.isi.edu/in-notes/rfc-index.xml</a>&gt; and &lt;<a href="http://www.w3.org/2002/01/tr-automation/tr.rdf">http://www.w3.org/2002/01/tr-automation/tr.rdf</a>&gt; and will use the XML status information provided at &lt;<a href="http://tools.ietf.org/">http://tools.ietf.org/</a>&gt;).</p><p id="rfc.section.12.1.p.2">If the document is supposed to be published on the IETF standards track, the desired level can be specified using the parameter <samp>intended-level</samp> as 'proposed', 'draft' or 'internet'. Alternatively, it can be specified inside the document using the attribute x:maturity-level on the &lt;rfc&gt; element (see <a href="#ext-rfc2629.rfc" title="Extensions to Xml2rfc <rfc&gt; element">Section&nbsp;11.26</a>).</p><p id="rfc.section.12.1.p.3"> <b>Note:</b> Downward references should be annotated using the &lt;annotate&gt; element, containing an &lt;xref&gt; to <a href="#BCP97" id="rfc.xref.BCP97.1"><cite title="Handling Normative References to Standards-Track Documents">[BCP97]</cite></a>.</p><p id="rfc.section.12.1.p.4">When an XSLT 2.0 processor is used, links in the document can be checked as well using the <samp>link-check</samp> paramerer ('yes' or 'no'). Note that this only works for http links to documents of type text/*.</p><div id="rfc.figure.u.19"></div> <p>For instance, as of 2008-07-12, the script produces for &lt;<a href="http://greenbytes.de/tech/webdav/rfc2518.xml">http://greenbytes.de/tech/webdav/rfc2518.xml</a>&gt;:</p>  <pre class="text">&gt; saxon rfc2518.xml check-references.xslt intended-status=PROPOSED \
     440    </pre> <div id="rfc.iref.e.23"></div><div id="rfc.iref.s.13"></div><h2 id="rfc.section.11.22"><a href="#rfc.section.11.22">11.22</a>&nbsp;<a id="ext.element.sup" href="#ext.element.sup">&lt;sup&gt; element</a></h2><p id="rfc.section.11.22.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-SUP">sup</a>" element in <a href="#HTML" id="rfc.xref.HTML.5"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><p id="rfc.section.11.22.p.2">Note: the down conversion to RFC2629 format replaces "x<sup>y</sup>" by "x^y".</p><h2 id="rfc.section.11.23"><a href="#rfc.section.11.23">11.23</a>&nbsp;<a id="ext-rfc2629.artwork" href="#ext-rfc2629.artwork">Extensions to Xml2rfc &lt;artwork&gt; element</a></h2><p id="rfc.section.11.23.p.1">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.</p><p id="rfc.section.11.23.p.2">As a workaround, a "x:indent-with" attribute can be specified, containing a string that will be prepended to each line when <samp>clean-for-DTD.xslt</samp> is run (see <a href="#clean-for-dtd" title="Down-converting to RFC2629bis DTD">Section&nbsp;12.4</a>).</p><h2 id="rfc.section.11.24"><a href="#rfc.section.11.24">11.24</a>&nbsp;<a id="ext-rfc2629.iref" href="#ext-rfc2629.iref">Extensions to Xml2rfc &lt;iref&gt; element</a></h2><p id="rfc.section.11.24.p.1">The extension attribute below is allowed on the standard &lt;iref&gt; element: </p><ul><li>x:for-anchor specifies that the &lt;iref&gt; will also be automatically inserted whenever the specified anchor is cross-referenced -- this may save entering lots of &lt;iref&gt; instances. As a special case, a value of "" (empty string) refers to the anchor attribute of the closest ancestor.</li></ul><h2 id="rfc.section.11.25"><a href="#rfc.section.11.25">11.25</a>&nbsp;<a id="ext-rfc2629.list" href="#ext-rfc2629.list">Extensions to Xml2rfc &lt;list&gt; element</a></h2><p id="rfc.section.11.25.p.1">The extension attribute below is allowed on the standard &lt;list&gt; element: </p><ul><li>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 <em>length of longest label in characters</em> times <em>0.8em</em>.</li></ul><p id="rfc.section.11.25.p.2">Also, the &lt;list&gt; element can take &lt;x:<a href="#ext.element.lt" class="smpl">lt</a>&gt; child elements instead of &lt;t&gt;, allowing to insert multiple paragraphs into a single list item.</p><h2 id="rfc.section.11.26"><a href="#rfc.section.11.26">11.26</a>&nbsp;<a id="ext-rfc2629.rfc" href="#ext-rfc2629.rfc">Extensions to Xml2rfc &lt;rfc&gt; element</a></h2><p id="rfc.section.11.26.p.1">The extension attributes below are allowed on the standard &lt;rfc&gt; element: </p><ul><li>grddl:transformation can be used to reference a GRDDL transform.</li><li>x:maturity-level can be used to specify the IETF Standards Track Maturity Level of "proposed", "draft" or "internet" (see <a href="http://tools.ietf.org/html/rfc2026#section-4.1">Section 4.1</a> of <a href="#RFC2026" id="rfc.xref.RFC2026.1"><cite title="The Internet Standards Process -- Revision 3">[RFC2026]</cite></a>).</li></ul><h2 id="rfc.section.11.27"><a href="#rfc.section.11.27">11.27</a>&nbsp;<a id="ext-rfc2629.section" href="#ext-rfc2629.section">Extensions to Xml2rfc &lt;section&gt; element</a></h2><p id="rfc.section.11.27.p.1">The extension attribute below is allowed on the standard &lt;list&gt; element: </p><ul><li>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.</li></ul><h2 id="rfc.section.11.28"><a href="#rfc.section.11.28">11.28</a>&nbsp;<a id="ext-rfc2629.xref" href="#ext-rfc2629.xref">Extensions to Xml2rfc &lt;xref&gt; element</a></h2><p id="rfc.section.11.28.p.1">Three extension attributes are allowed on the standard &lt;xref&gt; element: </p><ol><li>x:sec can be specified to point to a specific section of the referenced document,</li><li>x:rel may specify a relative reference to use when linking into the referenced document (if linking by section number is not available),</li><li>x:fmt defines the text format to be used.</li></ol><p id="rfc.section.11.28.p.2">The following formats are defined for the x:fmt attribute: </p><dl><dt>, (Comma)</dt><dd>[<em>reference</em>], Section <em>sec</em> </dd><dt>()</dt><dd>[<em>reference</em>] (Section <em>sec</em>)</dd><dt>anchor</dt><dd>Like the default format, but without brackets.</dd><dt>of</dt><dd>Section <em>sec</em> of [<em>reference</em>]</dd><dt>number</dt><dd> <em>sec</em> </dd><dt>none</dt><dd>No output (can be used to have xrefs to references without having them rendered as such)</dd><dt>sec</dt><dd>Section <em>sec</em> </dd></dl><p id="rfc.section.11.28.p.3">These extensions are currently only supported for &lt;xref&gt; elements without child nodes.</p><p id="rfc.section.11.28.p.4">If the processor knows how to reference the target section, it will generate a link directly to the target section, such as in <a href="#RFC2119" id="rfc.xref.RFC2119.2"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>, <a href="http://tools.ietf.org/html/rfc2119#section-5">Section 5</a>.</p><hr class="noprint"><h1 id="rfc.section.12" class="np"><a href="#rfc.section.12">12.</a>&nbsp;<a id="utilities" href="#utilities">Utilities</a></h1><h2 id="rfc.section.12.1"><a href="#rfc.section.12.1">12.1</a>&nbsp;<a id="checking-references" href="#checking-references">Checking References</a></h2><p id="rfc.section.12.1.p.1"> <samp>check-references.xslt</samp> 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 &lt;<a href="ftp://ftp.isi.edu/in-notes/rfc-index.xml">ftp://ftp.isi.edu/in-notes/rfc-index.xml</a>&gt; and &lt;<a href="http://www.w3.org/2002/01/tr-automation/tr.rdf">http://www.w3.org/2002/01/tr-automation/tr.rdf</a>&gt; and will use the XML status information provided at &lt;<a href="http://tools.ietf.org/">http://tools.ietf.org/</a>&gt;).</p><p id="rfc.section.12.1.p.2">If the document is supposed to be published on the IETF standards track, the desired level can be specified using the parameter <samp>intended-level</samp> as 'proposed', 'draft' or 'internet'. Alternatively, it can be specified inside the document using the attribute x:maturity-level on the &lt;rfc&gt; element (see <a href="#ext-rfc2629.rfc" title="Extensions to Xml2rfc <rfc&gt; element">Section&nbsp;11.26</a>).</p><p id="rfc.section.12.1.p.3"> <b>Note:</b> Downward references should be annotated using the &lt;annotate&gt; element, containing an &lt;xref&gt; to <a href="#BCP97" id="rfc.xref.BCP97.1"><cite title="Handling Normative References to Standards-Track Documents">[BCP97]</cite></a>.</p><p id="rfc.section.12.1.p.4">When an XSLT 2.0 processor is used, links in the document can be checked as well using the <samp>link-check</samp> parameter ('yes' or 'no'). Note that this only works for http links to documents of type text/*.</p><div id="rfc.figure.u.19"></div> <p>For instance, as of 2008-07-12, the script produces for &lt;<a href="http://greenbytes.de/tech/webdav/rfc2518.xml">http://greenbytes.de/tech/webdav/rfc2518.xml</a>&gt;:</p>  <pre class="text">&gt; saxon rfc2518.xml check-references.xslt intended-status=PROPOSED \
    441441  link-check=yes
    442442
Note: See TracChangeset for help on using the changeset viewer.