Changeset 2232 for rfc2629xslt


Ignore:
Timestamp:
01/05/13 08:13:40 (10 years ago)
Author:
julian.reschke@…
Message:

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

Location:
rfc2629xslt
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • rfc2629xslt/rfc2629.xslt

    r2218 r2232  
    4747                >
    4848
    49 <xsl:strip-space elements="back front list middle rfc section"/>               
     49<xsl:strip-space elements="back figure front list middle reference references rfc section"/>               
    5050               
    5151<xsl:output method="html" encoding="iso-8859-1" version="4.0" doctype-public="-//W3C//DTD HTML 4.01//EN" indent="no"/>
     
    10101010<!-- this is a named template because <back> may be absent -->
    10111011<xsl:template name="back">
     1012  <xsl:call-template name="check-no-text-content"/>
    10121013
    10131014  <!-- add editorial comments -->
     
    10651066
    10661067<xsl:template match="figure">
     1068  <xsl:call-template name="check-no-text-content"/>
    10671069  <xsl:if test="@anchor!=''">
    10681070    <xsl:call-template name="check-anchor"/>
     
    10811083
    10821084<xsl:template match="front">
     1085  <xsl:call-template name="check-no-text-content"/>
    10831086  <xsl:if test="$xml2rfc-topblock!='no'">
    10841087    <!-- collect information for left column -->
     
    13021305
    13031306<xsl:template match="list[@style='empty' or not(@style)]">
     1307  <xsl:call-template name="check-no-text-content"/>
    13041308  <ul class="empty">
    13051309    <xsl:call-template name="insertInsDelClass"/>
     
    13091313
    13101314<xsl:template match="list[starts-with(@style,'format ')]">
     1315  <xsl:call-template name="check-no-text-content"/>
    13111316  <dl>
    13121317    <xsl:call-template name="insertInsDelClass"/>
     
    13161321
    13171322<xsl:template match="list[@style='hanging']">
     1323  <xsl:call-template name="check-no-text-content"/>
    13181324  <dl>
    13191325    <xsl:call-template name="insertInsDelClass"/>
     
    13231329
    13241330<xsl:template match="list[@style='numbers']">
     1331  <xsl:call-template name="check-no-text-content"/>
    13251332  <ol>
    13261333    <xsl:call-template name="insertInsDelClass"/>
     
    13311338<!-- numbered list inside numbered list -->
    13321339<xsl:template match="list[@style='numbers']/t/list[@style='numbers']" priority="9">
     1340  <xsl:call-template name="check-no-text-content"/>
    13331341  <ol class="la">
    13341342    <xsl:call-template name="insertInsDelClass"/>
     
    13381346
    13391347<xsl:template match="list[@style='letters']">
     1348  <xsl:call-template name="check-no-text-content"/>
    13401349  <ol class="la">
    13411350    <xsl:call-template name="insertInsDelClass"/>
     
    13531362   
    13541363<xsl:template match="list[@style='symbols']">
     1364  <xsl:call-template name="check-no-text-content"/>
    13551365  <ul>
    13561366    <xsl:call-template name="insertInsDelClass"/>
     
    16071617
    16081618<xsl:template match="reference">
     1619  <xsl:call-template name="check-no-text-content"/>
    16091620
    16101621  <!-- check for reference to reference -->
     
    18301841
    18311842<xsl:template match="references">
     1843  <xsl:call-template name="check-no-text-content"/>
    18321844
    18331845  <xsl:variable name="name">
     
    19111923
    19121924<xsl:template match="rfc">
    1913  
     1925  <xsl:call-template name="check-no-text-content"/>
    19141926  <xsl:variable name="ignored">
    19151927    <xsl:call-template name="parse-pis">
     
    21712183
    21722184<xsl:template match="section|appendix">
     2185  <xsl:call-template name="check-no-text-content"/>
    21732186
    21742187  <xsl:if test="self::appendix">
     
    66406653    <xsl:text>http://greenbytes.de/tech/webdav/rfc2629.xslt, </xsl:text>
    66416654    <!-- when RCS keyword substitution in place, add version info -->
    6642     <xsl:if test="contains('$Revision: 1.593 $',':')">
    6643       <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.593 $', 'Revision: '),'$','')),', ')" />
     6655    <xsl:if test="contains('$Revision: 1.594 $',':')">
     6656      <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.594 $', 'Revision: '),'$','')),', ')" />
    66446657    </xsl:if>
    6645     <xsl:if test="contains('$Date: 2013/03/13 16:48:21 $',':')">
    6646       <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2013/03/13 16:48:21 $', 'Date: '),'$','')),', ')" />
     6658    <xsl:if test="contains('$Date: 2013/04/30 16:11:28 $',':')">
     6659      <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2013/04/30 16:11:28 $', 'Date: '),'$','')),', ')" />
    66476660    </xsl:if>
    66486661    <xsl:value-of select="concat('XSLT vendor: ',system-property('xsl:vendor'),' ',system-property('xsl:vendor-url'))" />
     
    74047417</xsl:template>
    74057418
     7419<xsl:template name="check-no-text-content">
     7420  <xsl:if test="text()!=''">
     7421    <xsl:call-template name="warning">
     7422      <xsl:with-param name="msg">No text content allowed inside &lt;<xsl:value-of select="name(.)"/>&gt;, but found: <xsl:value-of select="text()"/></xsl:with-param>
     7423    </xsl:call-template>
     7424  </xsl:if>
     7425</xsl:template>
     7426
    74067427<!-- disabled for now because of https://bugzilla.gnome.org/show_bug.cgi?id=677901
    74077428<xsl:function name="exslt:node-set">
  • rfc2629xslt/rfc2629toXHTML.xslt

    r2218 r2232  
    33<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:date="http://exslt.org/dates-and-times" xmlns:ed="http://greenbytes.de/2002/rfcedit" xmlns:exslt="http://exslt.org/common" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:myns="mailto:julian.reschke@greenbytes.de?subject=rcf2629.xslt" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:saxon="http://saxon.sf.net/" xmlns:saxon-old="http://icl.com/saxon" xmlns:x="http://purl.org/net/xml2rfc/ext" xmlns:xhtml="http://www.w3.org/1999/xhtml" version="2.0" exclude-result-prefixes="date ed exslt msxsl myns rdf saxon saxon-old x xhtml">
    44
    5 <xsl:strip-space elements="back front list middle rfc section"/>               
     5<xsl:strip-space elements="back figure front list middle reference references rfc section"/>               
    66               
    77<xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" encoding="UTF-8" method="xml"/>
     
    878878<!-- this is a named template because <back> may be absent -->
    879879<xsl:template name="back">
     880  <xsl:call-template name="check-no-text-content"/>
    880881
    881882  <!-- add editorial comments -->
     
    933934
    934935<xsl:template match="figure">
     936  <xsl:call-template name="check-no-text-content"/>
    935937  <xsl:if test="@anchor!=''">
    936938    <xsl:call-template name="check-anchor"/>
     
    949951
    950952<xsl:template match="front">
     953  <xsl:call-template name="check-no-text-content"/>
    951954  <xsl:if test="$xml2rfc-topblock!='no'">
    952955    <!-- collect information for left column -->
     
    11701173
    11711174<xsl:template match="list[@style='empty' or not(@style)]">
     1175  <xsl:call-template name="check-no-text-content"/>
    11721176  <ul xmlns="http://www.w3.org/1999/xhtml" class="empty">
    11731177    <xsl:call-template name="insertInsDelClass"/>
     
    11771181
    11781182<xsl:template match="list[starts-with(@style,'format ')]">
     1183  <xsl:call-template name="check-no-text-content"/>
    11791184  <dl xmlns="http://www.w3.org/1999/xhtml">
    11801185    <xsl:call-template name="insertInsDelClass"/>
     
    11841189
    11851190<xsl:template match="list[@style='hanging']">
     1191  <xsl:call-template name="check-no-text-content"/>
    11861192  <dl xmlns="http://www.w3.org/1999/xhtml">
    11871193    <xsl:call-template name="insertInsDelClass"/>
     
    11911197
    11921198<xsl:template match="list[@style='numbers']">
     1199  <xsl:call-template name="check-no-text-content"/>
    11931200  <ol xmlns="http://www.w3.org/1999/xhtml">
    11941201    <xsl:call-template name="insertInsDelClass"/>
     
    11991206<!-- numbered list inside numbered list -->
    12001207<xsl:template match="list[@style='numbers']/t/list[@style='numbers']" priority="9">
     1208  <xsl:call-template name="check-no-text-content"/>
    12011209  <ol xmlns="http://www.w3.org/1999/xhtml" class="la">
    12021210    <xsl:call-template name="insertInsDelClass"/>
     
    12061214
    12071215<xsl:template match="list[@style='letters']">
     1216  <xsl:call-template name="check-no-text-content"/>
    12081217  <ol xmlns="http://www.w3.org/1999/xhtml" class="la">
    12091218    <xsl:call-template name="insertInsDelClass"/>
     
    12211230   
    12221231<xsl:template match="list[@style='symbols']">
     1232  <xsl:call-template name="check-no-text-content"/>
    12231233  <ul xmlns="http://www.w3.org/1999/xhtml">
    12241234    <xsl:call-template name="insertInsDelClass"/>
     
    14751485
    14761486<xsl:template match="reference">
     1487  <xsl:call-template name="check-no-text-content"/>
    14771488
    14781489  <!-- check for reference to reference -->
     
    16981709
    16991710<xsl:template match="references">
     1711  <xsl:call-template name="check-no-text-content"/>
    17001712
    17011713  <xsl:variable name="name">
     
    17791791
    17801792<xsl:template match="rfc">
    1781  
     1793  <xsl:call-template name="check-no-text-content"/>
    17821794  <xsl:variable name="ignored">
    17831795    <xsl:call-template name="parse-pis">
     
    20392051
    20402052<xsl:template match="section|appendix">
     2053  <xsl:call-template name="check-no-text-content"/>
    20412054
    20422055  <xsl:if test="self::appendix">
     
    64976510    <xsl:text>http://greenbytes.de/tech/webdav/rfc2629.xslt, </xsl:text>
    64986511    <!-- when RCS keyword substitution in place, add version info -->
    6499     <xsl:if test="contains('$Revision: 1.593 $',':')">
    6500       <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.593 $', 'Revision: '),'$','')),', ')"/>
     6512    <xsl:if test="contains('$Revision: 1.594 $',':')">
     6513      <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.594 $', 'Revision: '),'$','')),', ')"/>
    65016514    </xsl:if>
    6502     <xsl:if test="contains('$Date: 2013/03/13 16:48:21 $',':')">
    6503       <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2013/03/13 16:48:21 $', 'Date: '),'$','')),', ')"/>
     6515    <xsl:if test="contains('$Date: 2013/04/30 16:11:28 $',':')">
     6516      <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2013/04/30 16:11:28 $', 'Date: '),'$','')),', ')"/>
    65046517    </xsl:if>
    65056518    <xsl:value-of select="concat('XSLT vendor: ',system-property('xsl:vendor'),' ',system-property('xsl:vendor-url'))"/>
     
    72557268</xsl:template>
    72567269
     7270<xsl:template name="check-no-text-content">
     7271  <xsl:if test="text()!=''">
     7272    <xsl:call-template name="warning">
     7273      <xsl:with-param name="msg">No text content allowed inside &lt;<xsl:value-of select="name(.)"/>&gt;, but found: <xsl:value-of select="text()"/></xsl:with-param>
     7274    </xsl:call-template>
     7275  </xsl:if>
     7276</xsl:template>
     7277
    72577278<!-- disabled for now because of https://bugzilla.gnome.org/show_bug.cgi?id=677901
    72587279<xsl:function name="exslt:node-set">
  • rfc2629xslt/rfc2629xslt.html

    r2218 r2232  
    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.593, 2013/03/13 16:48:21, 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">November 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><a href="#rfc.section.1">1.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1">Introduction</a></li><li><a href="#rfc.section.2">2.</a>&nbsp;&nbsp;&nbsp;<a href="#supported.elements">Supported RFC2629 elements</a><ul><li><a href="#rfc.section.2.1">2.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.2.1">Extension elements</a></li></ul></li><li><a href="#rfc.section.3">3.</a>&nbsp;&nbsp;&nbsp;<a href="#processing.instructions">Processing Instructions</a><ul><li><a href="#rfc.section.3.1">3.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.1">Supported xml2rfc-compatible PIs</a></li><li><a href="#rfc.section.3.2">3.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.2">Unsupported xml2rfc-compatible PIs</a></li><li><a href="#rfc.section.3.3">3.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.3">Extension PIs</a></li></ul></li><li><a href="#rfc.section.4">4.</a>&nbsp;&nbsp;&nbsp;<a href="#anchors">Anchors</a></li><li><a href="#rfc.section.5">5.</a>&nbsp;&nbsp;&nbsp;<a href="#xslt.engines">Supported XSLT engines</a><ul><li><a href="#rfc.section.5.1">5.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.1">Standalone Engines</a></li><li><a href="#rfc.section.5.2">5.2</a>&nbsp;&nbsp;&nbsp;<a href="#xslt.engines.browser">In-Browser Engines</a></li></ul></li><li><a href="#rfc.section.6">6.</a>&nbsp;&nbsp;&nbsp;<a href="#output.html">Transforming to HTML</a><ul><li><a href="#rfc.section.6.1">6.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6.1">HTML compliance</a></li><li><a href="#rfc.section.6.2">6.2</a>&nbsp;&nbsp;&nbsp;<a href="#html.link">Standard HTML LINK elements</a></li><li><a href="#rfc.section.6.3">6.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6.3">Standard HTML metadata</a></li><li><a href="#rfc.section.6.4">6.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></li><li><a href="#rfc.section.6.5">6.5</a>&nbsp;&nbsp;&nbsp;<a href="#hcard">Experimental hCard support</a></li></ul></li><li><a href="#rfc.section.7">7.</a>&nbsp;&nbsp;&nbsp;<a href="#output.xhtml">Transforming to XHTML</a></li><li><a href="#rfc.section.8">8.</a>&nbsp;&nbsp;&nbsp;<a href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></li><li><a href="#rfc.section.9">9.</a>&nbsp;&nbsp;&nbsp;<a href="#output.pdf">Transforming to PDF</a><ul><li><a href="#rfc.section.9.1">9.1</a>&nbsp;&nbsp;&nbsp;<a href="#output.pdf.fop">Via XSL-FO</a><ul><li><a href="#rfc.section.9.1.1">9.1.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9.1.1">Extension feature matrix</a></li><li><a href="#rfc.section.9.1.2">9.1.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9.1.2">Example: producing output for Apache FOP</a></li></ul></li><li><a href="#rfc.section.9.2">9.2</a>&nbsp;&nbsp;&nbsp;<a href="#output.pdf.html">Via X(HTML)</a></li></ul></li><li><a href="#rfc.section.10">10.</a>&nbsp;&nbsp;&nbsp;<a href="#output.epub">Transforming to ePub</a></li><li><a href="#rfc.section.11">11.</a>&nbsp;&nbsp;&nbsp;<a href="#extensions">Generic Extensions</a><ul><li><a href="#rfc.section.11.1">11.1</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.abnf-char-sequence">&lt;abnf-char-sequence&gt; element</a></li><li><a href="#rfc.section.11.2">11.2</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.anchor-alias">&lt;anchor-alias&gt; element</a></li><li><a href="#rfc.section.11.3">11.3</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.bcp14">&lt;bcp14&gt; element</a></li><li><a href="#rfc.section.11.4">11.4</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.bb">&lt;bb&gt; element</a></li><li><a href="#rfc.section.11.5">11.5</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.bc">&lt;bc&gt; element</a></li><li><a href="#rfc.section.11.6">11.6</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.blockquote">&lt;blockquote&gt; element</a></li><li><a href="#rfc.section.11.7">11.7</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.boilerplate">&lt;boilerplate&gt; element</a></li><li><a href="#rfc.section.11.8">11.8</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.bt">&lt;bt&gt; element</a></li><li><a href="#rfc.section.11.9">11.9</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.dfn">&lt;dfn&gt; element</a></li><li><a href="#rfc.section.11.10">11.10</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.feedback">&lt;feedback&gt; element</a></li><li><a href="#rfc.section.11.11">11.11</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.h">&lt;h&gt; element</a></li><li><a href="#rfc.section.11.12">11.12</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.highlight">&lt;highlight&gt; element</a></li><li><a href="#rfc.section.11.13">11.13</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.length-of">&lt;length-of&gt; element</a></li><li><a href="#rfc.section.11.14">11.14</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.link">&lt;link&gt; element</a></li><li><a href="#rfc.section.11.15">11.15</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.lt">&lt;lt&gt; element</a></li><li><a href="#rfc.section.11.16">11.16</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.note">&lt;note&gt; element</a></li><li><a href="#rfc.section.11.17">11.17</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.parse-xml">&lt;parse-xml&gt; element</a></li><li><a href="#rfc.section.11.18">11.18</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.prose">&lt;prose&gt; element</a></li><li><a href="#rfc.section.11.19">11.19</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.q">&lt;q&gt; element</a></li><li><a href="#rfc.section.11.20">11.20</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.ref">&lt;ref&gt; element</a></li><li><a href="#rfc.section.11.21">11.21</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.source">&lt;source&gt; element</a></li><li><a href="#rfc.section.11.22">11.22</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.sup">&lt;sup&gt; element</a></li><li><a href="#rfc.section.11.23">11.23</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.artwork">Extensions to Xml2rfc &lt;artwork&gt; element</a></li><li><a href="#rfc.section.11.24">11.24</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.iref">Extensions to Xml2rfc &lt;iref&gt; element</a></li><li><a href="#rfc.section.11.25">11.25</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.list">Extensions to Xml2rfc &lt;list&gt; element</a></li><li><a href="#rfc.section.11.26">11.26</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.rfc">Extensions to Xml2rfc &lt;rfc&gt; element</a></li><li><a href="#rfc.section.11.27">11.27</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.section">Extensions to Xml2rfc &lt;section&gt; element</a></li><li><a href="#rfc.section.11.28">11.28</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.xref">Extensions to Xml2rfc &lt;xref&gt; element</a></li></ul></li><li><a href="#rfc.section.12">12.</a>&nbsp;&nbsp;&nbsp;<a href="#utilities">Utilities</a><ul><li><a href="#rfc.section.12.1">12.1</a>&nbsp;&nbsp;&nbsp;<a href="#checking-references">Checking References</a></li><li><a href="#rfc.section.12.2">12.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.2">Generating Graphs from References</a></li><li><a href="#rfc.section.12.3">12.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.3">Producing reference entries for books</a></li><li><a href="#rfc.section.12.4">12.4</a>&nbsp;&nbsp;&nbsp;<a href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></li><li><a href="#rfc.section.12.5">12.5</a>&nbsp;&nbsp;&nbsp;<a href="#extract-artwork">Extracting artwork</a></li><li><a href="#rfc.section.12.6">12.6</a>&nbsp;&nbsp;&nbsp;<a href="#grddl">GRRDL</a></li></ul></li><li><a href="#rfc.section.13">13.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.references">Informative References</a></li><li><a href="#rfc.authors">Author's Address</a></li><li><a href="#rfc.section.A">A.</a>&nbsp;&nbsp;&nbsp;<a href="#grammar">RELAX NG Compact Schema</a></li><li><a href="#rfc.section.B">B.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.B">Implementation Notes</a><ul><li><a href="#rfc.section.B.1">B.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.B.1">Recognized type attributes for &lt;artwork&gt; element</a></li></ul></li><li><a href="#rfc.section.C">C.</a>&nbsp;&nbsp;&nbsp;<a href="#examples">Examples</a><ul><li><a href="#rfc.section.C.1">C.1</a>&nbsp;&nbsp;&nbsp;<a href="#examples.internalsubset">Using the 'Internal Subset'</a></li><li><a href="#rfc.section.C.2">C.2</a>&nbsp;&nbsp;&nbsp;<a href="#examples.customizing">Customization</a></li></ul></li><li><a href="#rfc.section.D">D.</a>&nbsp;&nbsp;&nbsp;<a href="#boilerplate">Producing the IETF 'Boilerplate'</a><ul><li><a href="#rfc.section.D.1">D.1</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr">The /rfc/@ipr Attribute</a><ul><li><a href="#rfc.section.D.1.1">D.1.1</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-current">Current Values: '*trust200902'</a><ul><li><a href="#rfc.section.D.1.1.1">D.1.1.1</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-trust200902">trust200902</a></li><li><a href="#rfc.section.D.1.1.2">D.1.1.2</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-noModificationTrust200902">noModificationTrust200902</a></li><li><a href="#rfc.section.D.1.1.3">D.1.1.3</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-noDerivativesTrust200902">noDerivativesTrust200902</a></li><li><a href="#rfc.section.D.1.1.4">D.1.1.4</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-pre5378Trust200902">pre5378Trust200902</a></li></ul></li><li><a href="#rfc.section.D.1.2">D.1.2</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-historic">Historic Values</a><ul><li><a href="#rfc.section.D.1.2.1">D.1.2.1</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-200811">Historic Values: '*trust200811'</a></li><li><a href="#rfc.section.D.1.2.2">D.1.2.2</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-3978">Historic Values: '*3978'</a></li><li><a href="#rfc.section.D.1.2.3">D.1.2.3</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-3667">Historic Values: '*3667'</a></li><li><a href="#rfc.section.D.1.2.4">D.1.2.4</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-2026">Historic Values: '*2026'</a></li></ul></li></ul></li><li><a href="#rfc.section.D.2">D.2</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-category">The /rfc/@category Attribute</a></li><li><a href="#rfc.section.D.3">D.3</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-submissiontype">The /rfc/@submissionType Attribute</a></li><li><a href="#rfc.section.D.4">D.4</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-consensus">The /rfc/@consensus Attribute</a></li><li><a href="#rfc.section.D.5">D.5</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-number">The /rfc/@number Attribute</a></li><li><a href="#rfc.section.D.6">D.6</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-docname">The /rfc/@docName Attribute</a></li><li><a href="#rfc.section.D.7">D.7</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-obsoletes">The /rfc/@obsoletes Attribute</a></li><li><a href="#rfc.section.D.8">D.8</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-updates">The /rfc/@updates Attribute</a></li></ul></li><li><a href="#rfc.section.E">E.</a>&nbsp;&nbsp;&nbsp;<a href="#license">License</a></li><li><a href="#rfc.section.F">F.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F">Change Logs</a><ul><li><a href="#rfc.section.F.1">F.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.1">Package</a></li><li><a href="#rfc.section.F.2">F.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.2">amazon-asin.xslt</a></li><li><a href="#rfc.section.F.3">F.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.3">check-references.xslt</a></li><li><a href="#rfc.section.F.4">F.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.4">gen-reference-graph.xslt</a></li><li><a href="#rfc.section.F.5">F.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.5">rfc2629.xslt</a></li><li><a href="#rfc.section.F.6">F.6</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.6">rfc2629toFO.xslt</a></li><li><a href="#rfc.section.F.7">F.7</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.7">xsl11toAn.xslt</a></li><li><a href="#rfc.section.F.8">F.8</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.8">xsl11toFop.xslt</a></li><li><a href="#rfc.section.F.9">F.9</a>&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.594, 2013/04/30 16:11:28, 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">November 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><a href="#rfc.section.1">1.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1">Introduction</a></li><li><a href="#rfc.section.2">2.</a>&nbsp;&nbsp;&nbsp;<a href="#supported.elements">Supported RFC2629 elements</a><ul><li><a href="#rfc.section.2.1">2.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.2.1">Extension elements</a></li></ul></li><li><a href="#rfc.section.3">3.</a>&nbsp;&nbsp;&nbsp;<a href="#processing.instructions">Processing Instructions</a><ul><li><a href="#rfc.section.3.1">3.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.1">Supported xml2rfc-compatible PIs</a></li><li><a href="#rfc.section.3.2">3.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.2">Unsupported xml2rfc-compatible PIs</a></li><li><a href="#rfc.section.3.3">3.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.3">Extension PIs</a></li></ul></li><li><a href="#rfc.section.4">4.</a>&nbsp;&nbsp;&nbsp;<a href="#anchors">Anchors</a></li><li><a href="#rfc.section.5">5.</a>&nbsp;&nbsp;&nbsp;<a href="#xslt.engines">Supported XSLT engines</a><ul><li><a href="#rfc.section.5.1">5.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.1">Standalone Engines</a></li><li><a href="#rfc.section.5.2">5.2</a>&nbsp;&nbsp;&nbsp;<a href="#xslt.engines.browser">In-Browser Engines</a></li></ul></li><li><a href="#rfc.section.6">6.</a>&nbsp;&nbsp;&nbsp;<a href="#output.html">Transforming to HTML</a><ul><li><a href="#rfc.section.6.1">6.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6.1">HTML compliance</a></li><li><a href="#rfc.section.6.2">6.2</a>&nbsp;&nbsp;&nbsp;<a href="#html.link">Standard HTML LINK elements</a></li><li><a href="#rfc.section.6.3">6.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6.3">Standard HTML metadata</a></li><li><a href="#rfc.section.6.4">6.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></li><li><a href="#rfc.section.6.5">6.5</a>&nbsp;&nbsp;&nbsp;<a href="#hcard">Experimental hCard support</a></li></ul></li><li><a href="#rfc.section.7">7.</a>&nbsp;&nbsp;&nbsp;<a href="#output.xhtml">Transforming to XHTML</a></li><li><a href="#rfc.section.8">8.</a>&nbsp;&nbsp;&nbsp;<a href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></li><li><a href="#rfc.section.9">9.</a>&nbsp;&nbsp;&nbsp;<a href="#output.pdf">Transforming to PDF</a><ul><li><a href="#rfc.section.9.1">9.1</a>&nbsp;&nbsp;&nbsp;<a href="#output.pdf.fop">Via XSL-FO</a><ul><li><a href="#rfc.section.9.1.1">9.1.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9.1.1">Extension feature matrix</a></li><li><a href="#rfc.section.9.1.2">9.1.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9.1.2">Example: producing output for Apache FOP</a></li></ul></li><li><a href="#rfc.section.9.2">9.2</a>&nbsp;&nbsp;&nbsp;<a href="#output.pdf.html">Via X(HTML)</a></li></ul></li><li><a href="#rfc.section.10">10.</a>&nbsp;&nbsp;&nbsp;<a href="#output.epub">Transforming to ePub</a></li><li><a href="#rfc.section.11">11.</a>&nbsp;&nbsp;&nbsp;<a href="#extensions">Generic Extensions</a><ul><li><a href="#rfc.section.11.1">11.1</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.abnf-char-sequence">&lt;abnf-char-sequence&gt; element</a></li><li><a href="#rfc.section.11.2">11.2</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.anchor-alias">&lt;anchor-alias&gt; element</a></li><li><a href="#rfc.section.11.3">11.3</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.bcp14">&lt;bcp14&gt; element</a></li><li><a href="#rfc.section.11.4">11.4</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.bb">&lt;bb&gt; element</a></li><li><a href="#rfc.section.11.5">11.5</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.bc">&lt;bc&gt; element</a></li><li><a href="#rfc.section.11.6">11.6</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.blockquote">&lt;blockquote&gt; element</a></li><li><a href="#rfc.section.11.7">11.7</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.boilerplate">&lt;boilerplate&gt; element</a></li><li><a href="#rfc.section.11.8">11.8</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.bt">&lt;bt&gt; element</a></li><li><a href="#rfc.section.11.9">11.9</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.dfn">&lt;dfn&gt; element</a></li><li><a href="#rfc.section.11.10">11.10</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.feedback">&lt;feedback&gt; element</a></li><li><a href="#rfc.section.11.11">11.11</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.h">&lt;h&gt; element</a></li><li><a href="#rfc.section.11.12">11.12</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.highlight">&lt;highlight&gt; element</a></li><li><a href="#rfc.section.11.13">11.13</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.length-of">&lt;length-of&gt; element</a></li><li><a href="#rfc.section.11.14">11.14</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.link">&lt;link&gt; element</a></li><li><a href="#rfc.section.11.15">11.15</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.lt">&lt;lt&gt; element</a></li><li><a href="#rfc.section.11.16">11.16</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.note">&lt;note&gt; element</a></li><li><a href="#rfc.section.11.17">11.17</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.parse-xml">&lt;parse-xml&gt; element</a></li><li><a href="#rfc.section.11.18">11.18</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.prose">&lt;prose&gt; element</a></li><li><a href="#rfc.section.11.19">11.19</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.q">&lt;q&gt; element</a></li><li><a href="#rfc.section.11.20">11.20</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.ref">&lt;ref&gt; element</a></li><li><a href="#rfc.section.11.21">11.21</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.source">&lt;source&gt; element</a></li><li><a href="#rfc.section.11.22">11.22</a>&nbsp;&nbsp;&nbsp;<a href="#ext.element.sup">&lt;sup&gt; element</a></li><li><a href="#rfc.section.11.23">11.23</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.artwork">Extensions to Xml2rfc &lt;artwork&gt; element</a></li><li><a href="#rfc.section.11.24">11.24</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.iref">Extensions to Xml2rfc &lt;iref&gt; element</a></li><li><a href="#rfc.section.11.25">11.25</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.list">Extensions to Xml2rfc &lt;list&gt; element</a></li><li><a href="#rfc.section.11.26">11.26</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.rfc">Extensions to Xml2rfc &lt;rfc&gt; element</a></li><li><a href="#rfc.section.11.27">11.27</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.section">Extensions to Xml2rfc &lt;section&gt; element</a></li><li><a href="#rfc.section.11.28">11.28</a>&nbsp;&nbsp;&nbsp;<a href="#ext-rfc2629.xref">Extensions to Xml2rfc &lt;xref&gt; element</a></li></ul></li><li><a href="#rfc.section.12">12.</a>&nbsp;&nbsp;&nbsp;<a href="#utilities">Utilities</a><ul><li><a href="#rfc.section.12.1">12.1</a>&nbsp;&nbsp;&nbsp;<a href="#checking-references">Checking References</a></li><li><a href="#rfc.section.12.2">12.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.2">Generating Graphs from References</a></li><li><a href="#rfc.section.12.3">12.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.3">Producing reference entries for books</a></li><li><a href="#rfc.section.12.4">12.4</a>&nbsp;&nbsp;&nbsp;<a href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></li><li><a href="#rfc.section.12.5">12.5</a>&nbsp;&nbsp;&nbsp;<a href="#extract-artwork">Extracting artwork</a></li><li><a href="#rfc.section.12.6">12.6</a>&nbsp;&nbsp;&nbsp;<a href="#grddl">GRRDL</a></li></ul></li><li><a href="#rfc.section.13">13.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.references">Informative References</a></li><li><a href="#rfc.authors">Author's Address</a></li><li><a href="#rfc.section.A">A.</a>&nbsp;&nbsp;&nbsp;<a href="#grammar">RELAX NG Compact Schema</a></li><li><a href="#rfc.section.B">B.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.B">Implementation Notes</a><ul><li><a href="#rfc.section.B.1">B.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.B.1">Recognized type attributes for &lt;artwork&gt; element</a></li></ul></li><li><a href="#rfc.section.C">C.</a>&nbsp;&nbsp;&nbsp;<a href="#examples">Examples</a><ul><li><a href="#rfc.section.C.1">C.1</a>&nbsp;&nbsp;&nbsp;<a href="#examples.internalsubset">Using the 'Internal Subset'</a></li><li><a href="#rfc.section.C.2">C.2</a>&nbsp;&nbsp;&nbsp;<a href="#examples.customizing">Customization</a></li></ul></li><li><a href="#rfc.section.D">D.</a>&nbsp;&nbsp;&nbsp;<a href="#boilerplate">Producing the IETF 'Boilerplate'</a><ul><li><a href="#rfc.section.D.1">D.1</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr">The /rfc/@ipr Attribute</a><ul><li><a href="#rfc.section.D.1.1">D.1.1</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-current">Current Values: '*trust200902'</a><ul><li><a href="#rfc.section.D.1.1.1">D.1.1.1</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-trust200902">trust200902</a></li><li><a href="#rfc.section.D.1.1.2">D.1.1.2</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-noModificationTrust200902">noModificationTrust200902</a></li><li><a href="#rfc.section.D.1.1.3">D.1.1.3</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-noDerivativesTrust200902">noDerivativesTrust200902</a></li><li><a href="#rfc.section.D.1.1.4">D.1.1.4</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-pre5378Trust200902">pre5378Trust200902</a></li></ul></li><li><a href="#rfc.section.D.1.2">D.1.2</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-historic">Historic Values</a><ul><li><a href="#rfc.section.D.1.2.1">D.1.2.1</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-200811">Historic Values: '*trust200811'</a></li><li><a href="#rfc.section.D.1.2.2">D.1.2.2</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-3978">Historic Values: '*3978'</a></li><li><a href="#rfc.section.D.1.2.3">D.1.2.3</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-3667">Historic Values: '*3667'</a></li><li><a href="#rfc.section.D.1.2.4">D.1.2.4</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-ipr-2026">Historic Values: '*2026'</a></li></ul></li></ul></li><li><a href="#rfc.section.D.2">D.2</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-category">The /rfc/@category Attribute</a></li><li><a href="#rfc.section.D.3">D.3</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-submissiontype">The /rfc/@submissionType Attribute</a></li><li><a href="#rfc.section.D.4">D.4</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-consensus">The /rfc/@consensus Attribute</a></li><li><a href="#rfc.section.D.5">D.5</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-number">The /rfc/@number Attribute</a></li><li><a href="#rfc.section.D.6">D.6</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-docname">The /rfc/@docName Attribute</a></li><li><a href="#rfc.section.D.7">D.7</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-obsoletes">The /rfc/@obsoletes Attribute</a></li><li><a href="#rfc.section.D.8">D.8</a>&nbsp;&nbsp;&nbsp;<a href="#attribute-updates">The /rfc/@updates Attribute</a></li></ul></li><li><a href="#rfc.section.E">E.</a>&nbsp;&nbsp;&nbsp;<a href="#license">License</a></li><li><a href="#rfc.section.F">F.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F">Change Logs</a><ul><li><a href="#rfc.section.F.1">F.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.1">Package</a></li><li><a href="#rfc.section.F.2">F.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.2">amazon-asin.xslt</a></li><li><a href="#rfc.section.F.3">F.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.3">check-references.xslt</a></li><li><a href="#rfc.section.F.4">F.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.4">gen-reference-graph.xslt</a></li><li><a href="#rfc.section.F.5">F.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.5">rfc2629.xslt</a></li><li><a href="#rfc.section.F.6">F.6</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.6">rfc2629toFO.xslt</a></li><li><a href="#rfc.section.F.7">F.7</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.7">xsl11toAn.xslt</a></li><li><a href="#rfc.section.F.8">F.8</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.F.8">xsl11toFop.xslt</a></li><li><a href="#rfc.section.F.9">F.9</a>&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;
    376 </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 \
     376</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 \
    377377  xml2rfc-toc=yes xml2rfc-ext-support-rfc2731=no &gt; result.html
    378 </pre><div id="rfc.figure.u.3"></div> <p>Using XSLT parameters (xsltproc):</p>  <pre class="text">xsltproc --param xml2rfc-toc '"yes"' \
     378</pre><div id="rfc.figure.u.3"></div><p>Using XSLT parameters (xsltproc):</p><pre class="text">xsltproc --param xml2rfc-toc '"yes"' \
    379379   --param xml2rfc-ext-support-rfc2731 '"no"' \
    380380   rfc2629.xslt source.xml &gt; result.html
    381 </pre>  <p>(note the required quoting of string parameters)<span id="rfc.iref.x.1"></span></p> <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a>&nbsp;Supported xml2rfc-compatible PIs</h2><div id="rfc.table.u.1"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>XSLT parameter name</th><th>default</th><th>comment</th></tr></thead><tbody><tr><td class="left">rfc</td><td class="left">background<div id="rfc.iref.b.1"></div><div id="rfc.iref.p.1"></div></td><td class="left">xml2rfc-background<div id="rfc.iref.x.2"></div>  <div id="rfc.iref.p.2"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">compact<div id="rfc.iref.c.1"></div><div id="rfc.iref.p.3"></div></td><td class="left">xml2rfc-compact<div id="rfc.iref.x.3"></div>  <div id="rfc.iref.p.4"></div></td><td class="left">"no"</td><td class="left">only applies to HTML output method when printing</td></tr><tr><td class="left">rfc</td><td class="left">comments<div id="rfc.iref.c.2"></div><div id="rfc.iref.p.5"></div></td><td class="left">xml2rfc-comments<div id="rfc.iref.x.4"></div>  <div id="rfc.iref.p.6"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">editing<div id="rfc.iref.e.1"></div><div id="rfc.iref.p.7"></div></td><td class="left">xml2rfc-editing<div id="rfc.iref.x.5"></div>  <div id="rfc.iref.p.8"></div></td><td class="left">"no"</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">footer<div id="rfc.iref.f.1"></div><div id="rfc.iref.p.9"></div></td><td class="left">xml2rfc-footer<div id="rfc.iref.x.6"></div>  <div id="rfc.iref.p.10"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">header<div id="rfc.iref.h.1"></div><div id="rfc.iref.p.11"></div></td><td class="left">xml2rfc-header<div id="rfc.iref.x.7"></div>  <div id="rfc.iref.p.12"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">inline<div id="rfc.iref.i.1"></div><div id="rfc.iref.p.13"></div></td><td class="left">xml2rfc-inline<div id="rfc.iref.x.8"></div>  <div id="rfc.iref.p.14"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">iprnotified<div id="rfc.iref.i.2"></div><div id="rfc.iref.p.15"></div></td><td class="left">xml2rfc-iprnotified<div id="rfc.iref.x.9"></div>  <div id="rfc.iref.p.16"></div></td><td class="left">"no"</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">linkmailto<div id="rfc.iref.l.1"></div><div id="rfc.iref.p.17"></div></td><td class="left">xml2rfc-linkmailto<div id="rfc.iref.x.10"></div>  <div id="rfc.iref.p.18"></div></td><td class="left">"yes"</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">private<div id="rfc.iref.p.19"></div><div id="rfc.iref.p.20"></div></td><td class="left">xml2rfc-private<div id="rfc.iref.x.11"></div>  <div id="rfc.iref.p.21"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">refparent<div id="rfc.iref.r.1"></div><div id="rfc.iref.p.22"></div></td><td class="left">xml2rfc-private<div id="rfc.iref.x.12"></div>  <div id="rfc.iref.p.23"></div></td><td class="left">"References"</td><td class="left">Title for References sections when automatically inserted</td></tr><tr><td class="left">rfc</td><td class="left">rfcedstyle<div id="rfc.iref.r.2"></div><div id="rfc.iref.p.24"></div></td><td class="left">xml2rfc-rfcedstyle<div id="rfc.iref.x.13"></div>  <div id="rfc.iref.p.25"></div></td><td class="left">(not set)</td><td class="left">(limited support)</td></tr><tr><td class="left">rfc</td><td class="left">sortrefs<div id="rfc.iref.s.1"></div><div id="rfc.iref.p.26"></div></td><td class="left">xml2rfc-sortrefs<div id="rfc.iref.x.14"></div>  <div id="rfc.iref.p.27"></div></td><td class="left">"no"</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">symrefs<div id="rfc.iref.s.2"></div><div id="rfc.iref.p.28"></div></td><td class="left">xml2rfc-symrefs<div id="rfc.iref.x.15"></div>  <div id="rfc.iref.p.29"></div></td><td class="left">"yes"</td><td class="left">The default has changed from "no" to "yes" as of June 6, 2007 and xml2rfc 1.33pre4.</td></tr><tr><td class="left">rfc</td><td class="left">toc<div id="rfc.iref.t.1"></div><div id="rfc.iref.p.30"></div></td><td class="left">xml2rfc-toc<div id="rfc.iref.x.16"></div>  <div id="rfc.iref.p.31"></div></td><td class="left">"no"</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">tocdepth<div id="rfc.iref.t.2"></div><div id="rfc.iref.p.32"></div></td><td class="left">xml2rfc-tocdepth<div id="rfc.iref.x.17"></div>  <div id="rfc.iref.p.33"></div></td><td class="left">99</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">topblock<div id="rfc.iref.t.3"></div><div id="rfc.iref.p.34"></div></td><td class="left">xml2rfc-topblock<div id="rfc.iref.x.18"></div>  <div id="rfc.iref.p.35"></div></td><td class="left">"yes"</td><td class="left"></td></tr></tbody></table></div><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a>&nbsp;Unsupported xml2rfc-compatible PIs</h2><div id="rfc.table.u.2"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>comment</th></tr></thead><tbody><tr><td class="left">rfc</td><td class="left">include<div id="rfc.iref.i.3"></div><div id="rfc.iref.p.36"></div></td><td class="left">incompatible with XML/XSLT processing model, please use external entities instead</td></tr><tr><td class="left">rfc</td><td class="left">needLines<div id="rfc.iref.n.1"></div><div id="rfc.iref.p.37"></div></td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">slides<div id="rfc.iref.s.3"></div><div id="rfc.iref.p.38"></div></td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">strict<div id="rfc.iref.s.4"></div><div id="rfc.iref.p.39"></div></td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">subcompact<div id="rfc.iref.s.5"></div><div id="rfc.iref.p.40"></div></td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">tocindent<div id="rfc.iref.t.4"></div><div id="rfc.iref.p.41"></div></td><td class="left">(defaults to "yes")</td></tr><tr><td class="left">rfc</td><td class="left">tocompact<div id="rfc.iref.t.5"></div><div id="rfc.iref.p.42"></div></td><td class="left"></td></tr></tbody></table></div><h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a>&nbsp;Extension PIs</h2><div id="rfc.table.u.3"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>XSLT parameter name</th><th>default</th><th>description</th></tr></thead><tbody><tr><td class="left">rfc-ext</td><td class="left">allow-markup-in-artwork<div id="rfc.iref.a.1"></div><div id="rfc.iref.p.43"></div></td><td class="left">xml2rfc-allow-markup-in-artwork<div id="rfc.iref.x.19"></div>  <div id="rfc.iref.p.44"></div></td><td class="left">"no"</td><td class="left">Enables support for specific elements inside abstract elements (using this extension makes the document incompatible to the RFC2629bis DTD; see description of conversion XSLT in <a href="#clean-for-dtd" title="Down-converting to RFC2629bis DTD">Section&nbsp;12.4</a>).</td></tr><tr><td class="left">rfc-ext</td><td class="left">authors-section<div id="rfc.iref.a.2"></div><div id="rfc.iref.p.45"></div></td><td class="left">xml2rfc-ext-authors-section<div id="rfc.iref.x.20"></div>  <div id="rfc.iref.p.46"></div></td><td class="left"></td><td class="left">When "end", place the authors section at the end (just before the copyright statements). This seems to be the preferred order in the newest RFCs.</td></tr><tr><td class="left">rfc-ext</td><td class="left">duplex<div id="rfc.iref.d.1"></div><div id="rfc.iref.p.47"></div></td><td class="left">xml2rfc-ext-duplex<div id="rfc.iref.x.21"></div>  <div id="rfc.iref.p.48"></div></td><td class="left">no</td><td class="left">When set to "yes", format the PDF output for doublesided printing.</td></tr><tr><td class="left">rfc-ext</td><td class="left">include-index<div id="rfc.iref.i.4"></div><div id="rfc.iref.p.49"></div></td><td class="left">xml2rfc-ext-include-index<div id="rfc.iref.x.22"></div>  <div id="rfc.iref.p.50"></div></td><td class="left">"yes"</td><td class="left">When set to "no", no index will be generated.</td></tr><tr><td class="left">rfc-ext</td><td class="left">include-references-in-index<div id="rfc.iref.i.5"></div><div id="rfc.iref.p.51"></div></td><td class="left">xml2rfc-ext-include-references-in-index<div id="rfc.iref.x.23"></div>  <div id="rfc.iref.p.52"></div></td><td class="left"></td><td class="left">When set to "yes", index entries are generated for all references.</td></tr><tr><td class="left">rfc-ext</td><td class="left">justification<div id="rfc.iref.j.1"></div><div id="rfc.iref.p.53"></div></td><td class="left">xml2rfc-ext-justification<div id="rfc.iref.x.24"></div>  <div id="rfc.iref.p.54"></div></td><td class="left">"never"</td><td class="left">"never": never emit justified text, "always": always emit justified text, "print": only emit justified text for print media.</td></tr><tr><td class="left">rfc-ext</td><td class="left">parse-xml-in-artwork<div id="rfc.iref.p.55"></div><div id="rfc.iref.p.56"></div></td><td class="left">xml2rfc-parse-xml-in-artwork<div id="rfc.iref.x.25"></div>  <div id="rfc.iref.p.57"></div></td><td class="left">"no"</td><td class="left">May be used to enable parsing of XML content in figures (MSXML only).</td></tr><tr><td class="left">rfc-ext</td><td class="left">support-rfc2731<div id="rfc.iref.s.6"></div><div id="rfc.iref.p.58"></div></td><td class="left">xml2rfc-ext-support-rfc2731<div id="rfc.iref.x.26"></div>  <div id="rfc.iref.p.59"></div></td><td class="left">"yes"</td><td class="left">Decides whether the HTML transformation should generate META tags according <a href="#rfc2731.properties" title="Dublin Core (RFC2731) metadata">Section&nbsp;6.4</a>.</td></tr><tr><td class="left">rfc-ext</td><td class="left">sec-no-trailing-dots<div id="rfc.iref.s.7"></div><div id="rfc.iref.p.60"></div></td><td class="left">xml2rfc-ext-sec-no-trailing-dots<div id="rfc.iref.x.27"></div>  <div id="rfc.iref.p.61"></div></td><td class="left"></td><td class="left">When set to "yes", add trailing dots to section numbers. This seems to be the preferred format in the newest RFCs.</td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.4" class="np"><a href="#rfc.section.4">4.</a>&nbsp;<a id="anchors" href="#anchors">Anchors</a></h1><p id="rfc.section.4.p.1">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).</p><div id="rfc.table.u.4"><p>The following anchors get auto-generated:</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>Anchor name</th><th>Description</th></tr></thead><tbody><tr><td class="left">rfc.abstract <div id="rfc.iref.r.3"></div><div id="rfc.iref.a.3"></div></td><td class="left">Abstract</td></tr><tr><td class="left">rfc.authors <div id="rfc.iref.r.4"></div><div id="rfc.iref.a.4"></div></td><td class="left">Authors section</td></tr><tr><td class="left">rfc.copyright <div id="rfc.iref.r.5"></div><div id="rfc.iref.a.5"></div></td><td class="left">Copyright section</td></tr><tr><td class="left">rfc.copyrightnotice <div id="rfc.iref.r.6"></div><div id="rfc.iref.a.6"></div></td><td class="left">Copyright notice</td></tr><tr><td class="left">rfc.figure.<em>n</em>  <div id="rfc.iref.r.7"></div><div id="rfc.iref.a.7"></div></td><td class="left">Figures (titled)</td></tr><tr><td class="left">rfc.figure.u.<em>n</em>  <div id="rfc.iref.r.8"></div><div id="rfc.iref.a.8"></div></td><td class="left">Figures (untitled)</td></tr><tr><td class="left">rfc.index <div id="rfc.iref.r.9"></div><div id="rfc.iref.a.9"></div></td><td class="left">Index</td></tr><tr><td class="left">rfc.ipr <div id="rfc.iref.r.10"></div><div id="rfc.iref.a.10"></div></td><td class="left">Intellectual Property</td></tr><tr><td class="left">rfc.iref.<em>n</em>  <div id="rfc.iref.r.11"></div><div id="rfc.iref.a.11"></div></td><td class="left">Internal references</td></tr><tr><td class="left">rfc.note.<em>n</em>  <div id="rfc.iref.r.12"></div><div id="rfc.iref.a.12"></div></td><td class="left">Notes (from front section)</td></tr><tr><td class="left">rfc.references <div id="rfc.iref.r.13"></div><div id="rfc.iref.a.13"></div></td><td class="left">References</td></tr><tr><td class="left">rfc.references.<em>n</em>  <div id="rfc.iref.r.14"></div><div id="rfc.iref.a.14"></div></td><td class="left">Additional references</td></tr><tr><td class="left">rfc.section.<em>n</em>  <div id="rfc.iref.r.15"></div><div id="rfc.iref.a.15"></div></td><td class="left">Section <em>n</em></td></tr><tr><td class="left">rfc.section.<em>n</em>.p.<em>m</em>  <div id="rfc.iref.r.16"></div><div id="rfc.iref.a.16"></div></td><td class="left">Section <em>n</em>, paragraph <em>m</em></td></tr><tr><td class="left">rfc.status <div id="rfc.iref.r.17"></div><div id="rfc.iref.a.17"></div></td><td class="left">Status of memo</td></tr><tr><td class="left">rfc.table.<em>n</em>  <div id="rfc.iref.r.18"></div><div id="rfc.iref.a.18"></div></td><td class="left">Tables (titled)</td></tr><tr><td class="left">rfc.table.u.<em>n</em>  <div id="rfc.iref.r.19"></div><div id="rfc.iref.a.19"></div></td><td class="left">Tables (untitled)</td></tr><tr><td class="left">rfc.toc <div id="rfc.iref.r.20"></div><div id="rfc.iref.a.20"></div></td><td class="left">Table of contents</td></tr><tr><td class="left">rfc.xref.<em>name</em>.<em>n</em>  <div id="rfc.iref.r.21"></div><div id="rfc.iref.a.21"></div></td><td class="left">References to reference <em>n</em> to <em>name</em></td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.5" class="np"><a href="#rfc.section.5">5.</a>&nbsp;<a id="xslt.engines" href="#xslt.engines">Supported XSLT engines</a></h1><p id="rfc.section.5.p.1">The transformation requires a non-standard extension function (see <a href="http://www.exslt.org/exsl/functions/node-set/index.html">exsl:node-set</a>) which is however widely available. XSLT processors that do not support this extension (or a functional equivalent, such as msxsl:node-set) currently are not supported.</p><div id="exsl-date-time"><p id="rfc.section.5.p.2">Input documents do not always specify the date completely. In this case, the transformation attempts to let the XSLT engine to compute the system date, using either scripting in Microsoft's XSLT engine, or the <a href="http://www.exslt.org/date/functions/date-time/">exsl:date-time</a> extension function.</p></div><h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a>&nbsp;Standalone Engines</h2><p id="rfc.section.5.1.p.1">The following XSLT engines are believed to work well: </p><ul><li>Windows: <span id="rfc.iref.m.1"></span><span id="rfc.iref.m.2"></span>MSXML3 and MSXML4 (&lt;<a href="http://msdn.microsoft.com/xml">http://msdn.microsoft.com/xml</a>&gt;; command line processor "msxsl" is available from <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2FB55371-C94E-4373-B0E9-DB4816552E41">Microsoft Download Center</a>)</li><li>Java: <span id="rfc.iref.s.8"></span>Saxon (&lt;<a href="http://saxon.sourceforge.net/">http://saxon.sourceforge.net/</a>&gt;)</li><li>Java: <span id="rfc.iref.x.28"></span>Xalan (&lt;<a href="http://xml.apache.org/xalan-j/">http://xml.apache.org/xalan-j/</a>&gt;)</li><li>C/C++: <span id="rfc.iref.x.29"></span>xsltproc (libxslt) (&lt;<a href="http://xmlsoft.org/XSLT/">http://xmlsoft.org/XSLT/</a>&gt;, make sure that you have a current version)</li></ul><h2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a>&nbsp;<a id="xslt.engines.browser" href="#xslt.engines.browser">In-Browser Engines</a></h2><p id="rfc.section.5.2.p.1">The following browsers seem to work fine: </p><ul><li><p><span id="rfc.iref.i.6"></span>Internet Explorer 5.5 (Windows version, if MSXML3 is installed)</p></li><li><p><span id="rfc.iref.i.7"></span><span id="rfc.iref.i.8"></span><span id="rfc.iref.i.9"></span><span id="rfc.iref.i.10"></span>Internet Explorer 6 and newer</p></li><li><div id="firefox3"><p><span id="rfc.iref.m.3"></span><span id="rfc.iref.f.2"></span>Firefox 3.0 and newer</p></div><p> </p><ul><li>Be aware that XSLT execution can be suppressed using <span id="rfc.iref.n.2"></span><a href="https://addons.mozilla.org/de/firefox/addon/722">NoScript</a></li><li>Firefox does not load external DTDs nor external entities, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=22942">Mozilla Bug 22942</a>, thus entities like &amp;nbsp; need to be declared in the internal subset (<a href="#examples.internalsubset" title="Using the 'Internal Subset'">Appendix&nbsp;C.1</a>)</li><li>There seems to be a new problem in Firefox 4 where it occasionally does the initial rendering with the wrong width (people who can reproduce this problem please comment on &lt;<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=640390">https://bugzilla.mozilla.org/show_bug.cgi?id=640390</a>&gt;.</li><li>Date computation is available in Firefox starting with Firefox 6 (see &lt;<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=603159">https://bugzilla.mozilla.org/show_bug.cgi?id=603159</a>&gt;)</li></ul></li><li><p><span id="rfc.iref.s.9"></span><span id="rfc.iref.s.10"></span>Safari 3 (starting with version 3.0.4)</p><p> </p><ul><li>Date computation not available (see &lt;<a href="https://bugs.webkit.org/show_bug.cgi?id=4079">https://bugs.webkit.org/show_bug.cgi?id=4079</a>&gt;)</li></ul></li><li><p><span id="rfc.iref.g.1"></span>Google Chrome</p><p> </p><ul><li>Date computation not available (see &lt;<a href="https://bugs.webkit.org/show_bug.cgi?id=4079">https://bugs.webkit.org/show_bug.cgi?id=4079</a>&gt;)</li></ul></li><li><p><span id="rfc.iref.o.1"></span>Opera (starting with version 10)</p><p> </p><ul><li>Date computation not available</li></ul></li></ul><p id="rfc.section.5.2.p.2">The following browsers are known not to work properly: </p><ul><li><div id="firefox12"><p><span id="rfc.iref.m.4"></span><span id="rfc.iref.f.3"></span>Firefox 1.*/2.*: (missing extension function - see change request at Mozilla BugZilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=193678">193678</a>)</p></div></li><li><div id="opera"><p><span id="rfc.iref.o.2"></span>Opera 9.21: execution fails, potentially to a somewhat complex XPath expression (reported to Opera as bug 245725).</p></div></li><li><p>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).</p></li><li><div id="safari"><p><span id="rfc.iref.s.11"></span>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 &lt;<a href="http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html">http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html</a>&gt; and &lt;<a href="http://bugs.webkit.org/show_bug.cgi?id=4079">http://bugs.webkit.org/show_bug.cgi?id=4079</a>&gt;.</p></div></li></ul><hr class="noprint"><h1 id="rfc.section.6" class="np"><a href="#rfc.section.6">6.</a>&nbsp;<a id="output.html" href="#output.html">Transforming to HTML</a></h1><p id="rfc.section.6.p.1">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:</p><div id="rfc.iref.x.30"></div><div id="rfc.figure.u.4"></div><pre class="text">  &lt;?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?&gt;
    382 </pre><p id="rfc.section.6.p.3">(and ensure that <samp>rfc2629.xslt</samp> is present).</p><h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a>&nbsp;HTML compliance</h2><p id="rfc.section.6.1.p.1">The transformation result is supposed to conform to the HTML 4.01 strict DTD <a href="#HTML" id="rfc.xref.HTML.1"><cite title="HTML 4.01 Specification">[HTML]</cite></a>. This can be checked using the W3C's online validator at &lt;<a href="http://validator.w3.org">http://validator.w3.org</a>&gt;<span id="rfc.iref.h.2"></span>.</p><h2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a>&nbsp;<a id="html.link" href="#html.link">Standard HTML LINK elements</a></h2><p id="rfc.section.6.2.p.1">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 <a href="https://addons.mozilla.org/firefox/2933/">Link Widgets</a> extension.</p><div id="rfc.table.u.5"><p>The following LINK elements are produced:</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>LINK type</th><th>description</th></tr></thead><tbody><tr><td class="left">alternate<div id="rfc.iref.a.22"></div><div id="rfc.iref.h.3"></div></td><td class="left">for RFCs, a link to the authorative ASCII version on the IETF web site</td></tr><tr><td class="left">appendic<div id="rfc.iref.a.23"></div><div id="rfc.iref.h.4"></div></td><td class="left">pointer to all top-level appendics</td></tr><tr><td class="left">author<div id="rfc.iref.a.24"></div><div id="rfc.iref.h.5"></div></td><td class="left">pointer to "authors" section</td></tr><tr><td class="left">chapter<div id="rfc.iref.c.3"></div><div id="rfc.iref.h.6"></div></td><td class="left">pointer to all top-level sections</td></tr><tr><td class="left">contents<div id="rfc.iref.c.4"></div><div id="rfc.iref.h.7"></div></td><td class="left">pointer to table of contents</td></tr><tr><td class="left">copyright<div id="rfc.iref.c.5"></div><div id="rfc.iref.h.8"></div></td><td class="left">pointer to copyright statement</td></tr><tr><td class="left">index<div id="rfc.iref.i.11"></div><div id="rfc.iref.h.9"></div></td><td class="left">pointer to index</td></tr></tbody></table></div><div id="rfc.figure.u.5"></div> <p>The figure below shows how Mozilla Firefox 1.0 displays the Site Navigation Bar for rfc2396.xml.</p>  <p><img src="rfc2629xslt-fig1.png" alt="&#xA;(LINK elements displayed in Mozilla Firefox for RFC2396.xml)&#xA;" width="509" height="235"></p> <h2 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a>&nbsp;Standard HTML metadata</h2><div id="rfc.table.u.6"><p>The following standard HTML META elements are produced:</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>META name</th><th>description</th></tr></thead><tbody><tr><td class="left">generator<div id="rfc.iref.g.2"></div><div id="rfc.iref.h.10"></div></td><td class="left">from XSLT engine version and stylesheet version</td></tr><tr><td class="left">keywords<div id="rfc.iref.k.1"></div><div id="rfc.iref.h.11"></div></td><td class="left">from keyword elements in front section</td></tr></tbody></table></div><h2 id="rfc.section.6.4"><a href="#rfc.section.6.4">6.4</a>&nbsp;<a id="rfc2731.properties" href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></h2><p id="rfc.section.6.4.p.1">Unless turned off using the "rfc-ext support-rfc2731" processing instruction, the transformation will generate metadata according to <a href="#RFC2731" id="rfc.xref.RFC2731.1"><cite title="Encoding Dublin Core Metadata in HTML">[RFC2731]</cite></a> and <a href="#DC-HTML" id="rfc.xref.DC-HTML.1"><cite title="Expressing Dublin Core metadata using HTML/XHTML meta and link elements">[DC-HTML]</cite></a>.</p><div id="rfc.table.u.7"><p>The following DCMI properties are produced:</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>META name</th><th>description</th></tr></thead><tbody><tr><td class="left">DC.Creator<div id="rfc.iref.c.6"></div><div id="rfc.iref.d.2"></div></td><td class="left">from author information in front section</td></tr><tr><td class="left">DC.Date.Issued<div id="rfc.iref.d.3"></div><div id="rfc.iref.d.4"></div></td><td class="left">from date information in front section</td></tr><tr><td class="left">DC.Description.Abstract<div id="rfc.iref.d.5"></div><div id="rfc.iref.d.6"></div></td><td class="left">from abstract</td></tr><tr><td class="left">DC.Identifier<div id="rfc.iref.i.12"></div><div id="rfc.iref.d.7"></div></td><td class="left">document URN <a href="#RFC2648" id="rfc.xref.RFC2648.1"><cite title="A URN Namespace for IETF Documents">[RFC2648]</cite></a> from "docName" attribute</td></tr><tr><td class="left">DC.isPartOf<div id="rfc.iref.i.13"></div><div id="rfc.iref.d.8"></div></td><td class="left">RFC ISSN (for RFCs)</td></tr><tr><td class="left">DC.Relation.Replaces<div id="rfc.iref.r.22"></div><div id="rfc.iref.d.9"></div></td><td class="left">from "obsoletes" attribute</td></tr></tbody></table></div><h2 id="rfc.section.6.5"><a href="#rfc.section.6.5">6.5</a>&nbsp;<a id="hcard" href="#hcard">Experimental hCard support</a></h2><p id="rfc.section.6.5.p.1">The generated author information is formatted in <a href="http://microformats.org/wiki/hcard">hCard</a> format.</p><hr class="noprint"><h1 id="rfc.section.7" class="np"><a href="#rfc.section.7">7.</a>&nbsp;<a id="output.xhtml" href="#output.xhtml">Transforming to XHTML</a></h1><p id="rfc.section.7.p.1">Transforming to XHTML requires slightly different XSLT output options and is implemented by the derived transformation script <samp>rfc2629toXHTML.xslt</samp>.</p><ul class="empty"><li> <b>Note:</b> Microsoft Internet Explorer does <em>not</em> support XHTML. Therefore it usually makes more sense to generate plain old HTML.</li></ul><hr class="noprint"><h1 id="rfc.section.8" class="np"><a href="#rfc.section.8">8.</a>&nbsp;<a id="output.chm" href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></h1><p id="rfc.section.8.p.1"> <span id="rfc.iref.c.7"></span>  <span id="rfc.iref.m.5"></span> To generate a CHM file using Microsoft's HTML Help Compiler (hhc), three files are required in addition to the HTML file. </p><ol><li>hhc - table of contents file (HTML)</li><li>hhk - index file (HTML)</li><li>hhp - project file (plain text)</li></ol><p id="rfc.section.8.p.2">The three files are generated with three specific transformations, each requiring the additional XSLT parameter "basename" to specify the filename prefix.</p><div id="rfc.figure.u.6"></div> <p>Example:</p>  <pre class="text">saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616  &gt; rfc2616.hhp
     381</pre><p>(note the required quoting of string parameters)<span id="rfc.iref.x.1"></span></p><h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a>&nbsp;Supported xml2rfc-compatible PIs</h2><div id="rfc.table.u.1"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>XSLT parameter name</th><th>default</th><th>comment</th></tr></thead><tbody><tr><td class="left">rfc</td><td class="left">background<div id="rfc.iref.b.1"></div><div id="rfc.iref.p.1"></div></td><td class="left">xml2rfc-background<div id="rfc.iref.x.2"></div>  <div id="rfc.iref.p.2"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">compact<div id="rfc.iref.c.1"></div><div id="rfc.iref.p.3"></div></td><td class="left">xml2rfc-compact<div id="rfc.iref.x.3"></div>  <div id="rfc.iref.p.4"></div></td><td class="left">"no"</td><td class="left">only applies to HTML output method when printing</td></tr><tr><td class="left">rfc</td><td class="left">comments<div id="rfc.iref.c.2"></div><div id="rfc.iref.p.5"></div></td><td class="left">xml2rfc-comments<div id="rfc.iref.x.4"></div>  <div id="rfc.iref.p.6"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">editing<div id="rfc.iref.e.1"></div><div id="rfc.iref.p.7"></div></td><td class="left">xml2rfc-editing<div id="rfc.iref.x.5"></div>  <div id="rfc.iref.p.8"></div></td><td class="left">"no"</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">footer<div id="rfc.iref.f.1"></div><div id="rfc.iref.p.9"></div></td><td class="left">xml2rfc-footer<div id="rfc.iref.x.6"></div>  <div id="rfc.iref.p.10"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">header<div id="rfc.iref.h.1"></div><div id="rfc.iref.p.11"></div></td><td class="left">xml2rfc-header<div id="rfc.iref.x.7"></div>  <div id="rfc.iref.p.12"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">inline<div id="rfc.iref.i.1"></div><div id="rfc.iref.p.13"></div></td><td class="left">xml2rfc-inline<div id="rfc.iref.x.8"></div>  <div id="rfc.iref.p.14"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">iprnotified<div id="rfc.iref.i.2"></div><div id="rfc.iref.p.15"></div></td><td class="left">xml2rfc-iprnotified<div id="rfc.iref.x.9"></div>  <div id="rfc.iref.p.16"></div></td><td class="left">"no"</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">linkmailto<div id="rfc.iref.l.1"></div><div id="rfc.iref.p.17"></div></td><td class="left">xml2rfc-linkmailto<div id="rfc.iref.x.10"></div>  <div id="rfc.iref.p.18"></div></td><td class="left">"yes"</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">private<div id="rfc.iref.p.19"></div><div id="rfc.iref.p.20"></div></td><td class="left">xml2rfc-private<div id="rfc.iref.x.11"></div>  <div id="rfc.iref.p.21"></div></td><td class="left">(not set)</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">refparent<div id="rfc.iref.r.1"></div><div id="rfc.iref.p.22"></div></td><td class="left">xml2rfc-private<div id="rfc.iref.x.12"></div>  <div id="rfc.iref.p.23"></div></td><td class="left">"References"</td><td class="left">Title for References sections when automatically inserted</td></tr><tr><td class="left">rfc</td><td class="left">rfcedstyle<div id="rfc.iref.r.2"></div><div id="rfc.iref.p.24"></div></td><td class="left">xml2rfc-rfcedstyle<div id="rfc.iref.x.13"></div>  <div id="rfc.iref.p.25"></div></td><td class="left">(not set)</td><td class="left">(limited support)</td></tr><tr><td class="left">rfc</td><td class="left">sortrefs<div id="rfc.iref.s.1"></div><div id="rfc.iref.p.26"></div></td><td class="left">xml2rfc-sortrefs<div id="rfc.iref.x.14"></div>  <div id="rfc.iref.p.27"></div></td><td class="left">"no"</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">symrefs<div id="rfc.iref.s.2"></div><div id="rfc.iref.p.28"></div></td><td class="left">xml2rfc-symrefs<div id="rfc.iref.x.15"></div>  <div id="rfc.iref.p.29"></div></td><td class="left">"yes"</td><td class="left">The default has changed from "no" to "yes" as of June 6, 2007 and xml2rfc 1.33pre4.</td></tr><tr><td class="left">rfc</td><td class="left">toc<div id="rfc.iref.t.1"></div><div id="rfc.iref.p.30"></div></td><td class="left">xml2rfc-toc<div id="rfc.iref.x.16"></div>  <div id="rfc.iref.p.31"></div></td><td class="left">"no"</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">tocdepth<div id="rfc.iref.t.2"></div><div id="rfc.iref.p.32"></div></td><td class="left">xml2rfc-tocdepth<div id="rfc.iref.x.17"></div>  <div id="rfc.iref.p.33"></div></td><td class="left">99</td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">topblock<div id="rfc.iref.t.3"></div><div id="rfc.iref.p.34"></div></td><td class="left">xml2rfc-topblock<div id="rfc.iref.x.18"></div>  <div id="rfc.iref.p.35"></div></td><td class="left">"yes"</td><td class="left"></td></tr></tbody></table></div><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a>&nbsp;Unsupported xml2rfc-compatible PIs</h2><div id="rfc.table.u.2"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>comment</th></tr></thead><tbody><tr><td class="left">rfc</td><td class="left">include<div id="rfc.iref.i.3"></div><div id="rfc.iref.p.36"></div></td><td class="left">incompatible with XML/XSLT processing model, please use external entities instead</td></tr><tr><td class="left">rfc</td><td class="left">needLines<div id="rfc.iref.n.1"></div><div id="rfc.iref.p.37"></div></td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">slides<div id="rfc.iref.s.3"></div><div id="rfc.iref.p.38"></div></td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">strict<div id="rfc.iref.s.4"></div><div id="rfc.iref.p.39"></div></td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">subcompact<div id="rfc.iref.s.5"></div><div id="rfc.iref.p.40"></div></td><td class="left"></td></tr><tr><td class="left">rfc</td><td class="left">tocindent<div id="rfc.iref.t.4"></div><div id="rfc.iref.p.41"></div></td><td class="left">(defaults to "yes")</td></tr><tr><td class="left">rfc</td><td class="left">tocompact<div id="rfc.iref.t.5"></div><div id="rfc.iref.p.42"></div></td><td class="left"></td></tr></tbody></table></div><h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a>&nbsp;Extension PIs</h2><div id="rfc.table.u.3"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>XSLT parameter name</th><th>default</th><th>description</th></tr></thead><tbody><tr><td class="left">rfc-ext</td><td class="left">allow-markup-in-artwork<div id="rfc.iref.a.1"></div><div id="rfc.iref.p.43"></div></td><td class="left">xml2rfc-allow-markup-in-artwork<div id="rfc.iref.x.19"></div>  <div id="rfc.iref.p.44"></div></td><td class="left">"no"</td><td class="left">Enables support for specific elements inside abstract elements (using this extension makes the document incompatible to the RFC2629bis DTD; see description of conversion XSLT in <a href="#clean-for-dtd" title="Down-converting to RFC2629bis DTD">Section&nbsp;12.4</a>).</td></tr><tr><td class="left">rfc-ext</td><td class="left">authors-section<div id="rfc.iref.a.2"></div><div id="rfc.iref.p.45"></div></td><td class="left">xml2rfc-ext-authors-section<div id="rfc.iref.x.20"></div>  <div id="rfc.iref.p.46"></div></td><td class="left"></td><td class="left">When "end", place the authors section at the end (just before the copyright statements). This seems to be the preferred order in the newest RFCs.</td></tr><tr><td class="left">rfc-ext</td><td class="left">duplex<div id="rfc.iref.d.1"></div><div id="rfc.iref.p.47"></div></td><td class="left">xml2rfc-ext-duplex<div id="rfc.iref.x.21"></div>  <div id="rfc.iref.p.48"></div></td><td class="left">no</td><td class="left">When set to "yes", format the PDF output for doublesided printing.</td></tr><tr><td class="left">rfc-ext</td><td class="left">include-index<div id="rfc.iref.i.4"></div><div id="rfc.iref.p.49"></div></td><td class="left">xml2rfc-ext-include-index<div id="rfc.iref.x.22"></div>  <div id="rfc.iref.p.50"></div></td><td class="left">"yes"</td><td class="left">When set to "no", no index will be generated.</td></tr><tr><td class="left">rfc-ext</td><td class="left">include-references-in-index<div id="rfc.iref.i.5"></div><div id="rfc.iref.p.51"></div></td><td class="left">xml2rfc-ext-include-references-in-index<div id="rfc.iref.x.23"></div>  <div id="rfc.iref.p.52"></div></td><td class="left"></td><td class="left">When set to "yes", index entries are generated for all references.</td></tr><tr><td class="left">rfc-ext</td><td class="left">justification<div id="rfc.iref.j.1"></div><div id="rfc.iref.p.53"></div></td><td class="left">xml2rfc-ext-justification<div id="rfc.iref.x.24"></div>  <div id="rfc.iref.p.54"></div></td><td class="left">"never"</td><td class="left">"never": never emit justified text, "always": always emit justified text, "print": only emit justified text for print media.</td></tr><tr><td class="left">rfc-ext</td><td class="left">parse-xml-in-artwork<div id="rfc.iref.p.55"></div><div id="rfc.iref.p.56"></div></td><td class="left">xml2rfc-parse-xml-in-artwork<div id="rfc.iref.x.25"></div>  <div id="rfc.iref.p.57"></div></td><td class="left">"no"</td><td class="left">May be used to enable parsing of XML content in figures (MSXML only).</td></tr><tr><td class="left">rfc-ext</td><td class="left">support-rfc2731<div id="rfc.iref.s.6"></div><div id="rfc.iref.p.58"></div></td><td class="left">xml2rfc-ext-support-rfc2731<div id="rfc.iref.x.26"></div>  <div id="rfc.iref.p.59"></div></td><td class="left">"yes"</td><td class="left">Decides whether the HTML transformation should generate META tags according <a href="#rfc2731.properties" title="Dublin Core (RFC2731) metadata">Section&nbsp;6.4</a>.</td></tr><tr><td class="left">rfc-ext</td><td class="left">sec-no-trailing-dots<div id="rfc.iref.s.7"></div><div id="rfc.iref.p.60"></div></td><td class="left">xml2rfc-ext-sec-no-trailing-dots<div id="rfc.iref.x.27"></div>  <div id="rfc.iref.p.61"></div></td><td class="left"></td><td class="left">When set to "yes", add trailing dots to section numbers. This seems to be the preferred format in the newest RFCs.</td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.4" class="np"><a href="#rfc.section.4">4.</a>&nbsp;<a id="anchors" href="#anchors">Anchors</a></h1><p id="rfc.section.4.p.1">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).</p><div id="rfc.table.u.4"><p>The following anchors get auto-generated:</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>Anchor name</th><th>Description</th></tr></thead><tbody><tr><td class="left">rfc.abstract <div id="rfc.iref.r.3"></div><div id="rfc.iref.a.3"></div></td><td class="left">Abstract</td></tr><tr><td class="left">rfc.authors <div id="rfc.iref.r.4"></div><div id="rfc.iref.a.4"></div></td><td class="left">Authors section</td></tr><tr><td class="left">rfc.copyright <div id="rfc.iref.r.5"></div><div id="rfc.iref.a.5"></div></td><td class="left">Copyright section</td></tr><tr><td class="left">rfc.copyrightnotice <div id="rfc.iref.r.6"></div><div id="rfc.iref.a.6"></div></td><td class="left">Copyright notice</td></tr><tr><td class="left">rfc.figure.<em>n</em>  <div id="rfc.iref.r.7"></div><div id="rfc.iref.a.7"></div></td><td class="left">Figures (titled)</td></tr><tr><td class="left">rfc.figure.u.<em>n</em>  <div id="rfc.iref.r.8"></div><div id="rfc.iref.a.8"></div></td><td class="left">Figures (untitled)</td></tr><tr><td class="left">rfc.index <div id="rfc.iref.r.9"></div><div id="rfc.iref.a.9"></div></td><td class="left">Index</td></tr><tr><td class="left">rfc.ipr <div id="rfc.iref.r.10"></div><div id="rfc.iref.a.10"></div></td><td class="left">Intellectual Property</td></tr><tr><td class="left">rfc.iref.<em>n</em>  <div id="rfc.iref.r.11"></div><div id="rfc.iref.a.11"></div></td><td class="left">Internal references</td></tr><tr><td class="left">rfc.note.<em>n</em>  <div id="rfc.iref.r.12"></div><div id="rfc.iref.a.12"></div></td><td class="left">Notes (from front section)</td></tr><tr><td class="left">rfc.references <div id="rfc.iref.r.13"></div><div id="rfc.iref.a.13"></div></td><td class="left">References</td></tr><tr><td class="left">rfc.references.<em>n</em>  <div id="rfc.iref.r.14"></div><div id="rfc.iref.a.14"></div></td><td class="left">Additional references</td></tr><tr><td class="left">rfc.section.<em>n</em>  <div id="rfc.iref.r.15"></div><div id="rfc.iref.a.15"></div></td><td class="left">Section <em>n</em></td></tr><tr><td class="left">rfc.section.<em>n</em>.p.<em>m</em>  <div id="rfc.iref.r.16"></div><div id="rfc.iref.a.16"></div></td><td class="left">Section <em>n</em>, paragraph <em>m</em></td></tr><tr><td class="left">rfc.status <div id="rfc.iref.r.17"></div><div id="rfc.iref.a.17"></div></td><td class="left">Status of memo</td></tr><tr><td class="left">rfc.table.<em>n</em>  <div id="rfc.iref.r.18"></div><div id="rfc.iref.a.18"></div></td><td class="left">Tables (titled)</td></tr><tr><td class="left">rfc.table.u.<em>n</em>  <div id="rfc.iref.r.19"></div><div id="rfc.iref.a.19"></div></td><td class="left">Tables (untitled)</td></tr><tr><td class="left">rfc.toc <div id="rfc.iref.r.20"></div><div id="rfc.iref.a.20"></div></td><td class="left">Table of contents</td></tr><tr><td class="left">rfc.xref.<em>name</em>.<em>n</em>  <div id="rfc.iref.r.21"></div><div id="rfc.iref.a.21"></div></td><td class="left">References to reference <em>n</em> to <em>name</em></td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.5" class="np"><a href="#rfc.section.5">5.</a>&nbsp;<a id="xslt.engines" href="#xslt.engines">Supported XSLT engines</a></h1><p id="rfc.section.5.p.1">The transformation requires a non-standard extension function (see <a href="http://www.exslt.org/exsl/functions/node-set/index.html">exsl:node-set</a>) which is however widely available. XSLT processors that do not support this extension (or a functional equivalent, such as msxsl:node-set) currently are not supported.</p><div id="exsl-date-time"><p id="rfc.section.5.p.2">Input documents do not always specify the date completely. In this case, the transformation attempts to let the XSLT engine to compute the system date, using either scripting in Microsoft's XSLT engine, or the <a href="http://www.exslt.org/date/functions/date-time/">exsl:date-time</a> extension function.</p></div><h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a>&nbsp;Standalone Engines</h2><p id="rfc.section.5.1.p.1">The following XSLT engines are believed to work well: </p><ul><li>Windows: <span id="rfc.iref.m.1"></span><span id="rfc.iref.m.2"></span>MSXML3 and MSXML4 (&lt;<a href="http://msdn.microsoft.com/xml">http://msdn.microsoft.com/xml</a>&gt;; command line processor "msxsl" is available from <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2FB55371-C94E-4373-B0E9-DB4816552E41">Microsoft Download Center</a>)</li><li>Java: <span id="rfc.iref.s.8"></span>Saxon (&lt;<a href="http://saxon.sourceforge.net/">http://saxon.sourceforge.net/</a>&gt;)</li><li>Java: <span id="rfc.iref.x.28"></span>Xalan (&lt;<a href="http://xml.apache.org/xalan-j/">http://xml.apache.org/xalan-j/</a>&gt;)</li><li>C/C++: <span id="rfc.iref.x.29"></span>xsltproc (libxslt) (&lt;<a href="http://xmlsoft.org/XSLT/">http://xmlsoft.org/XSLT/</a>&gt;, make sure that you have a current version)</li></ul><h2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a>&nbsp;<a id="xslt.engines.browser" href="#xslt.engines.browser">In-Browser Engines</a></h2><p id="rfc.section.5.2.p.1">The following browsers seem to work fine: </p><ul><li><p><span id="rfc.iref.i.6"></span>Internet Explorer 5.5 (Windows version, if MSXML3 is installed)</p></li><li><p><span id="rfc.iref.i.7"></span><span id="rfc.iref.i.8"></span><span id="rfc.iref.i.9"></span><span id="rfc.iref.i.10"></span>Internet Explorer 6 and newer</p></li><li><div id="firefox3"><p><span id="rfc.iref.m.3"></span><span id="rfc.iref.f.2"></span>Firefox 3.0 and newer</p></div><p> </p><ul><li>Be aware that XSLT execution can be suppressed using <span id="rfc.iref.n.2"></span><a href="https://addons.mozilla.org/de/firefox/addon/722">NoScript</a></li><li>Firefox does not load external DTDs nor external entities, see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=22942">Mozilla Bug 22942</a>, thus entities like &amp;nbsp; need to be declared in the internal subset (<a href="#examples.internalsubset" title="Using the 'Internal Subset'">Appendix&nbsp;C.1</a>)</li><li>There seems to be a new problem in Firefox 4 where it occasionally does the initial rendering with the wrong width (people who can reproduce this problem please comment on &lt;<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=640390">https://bugzilla.mozilla.org/show_bug.cgi?id=640390</a>&gt;.</li><li>Date computation is available in Firefox starting with Firefox 6 (see &lt;<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=603159">https://bugzilla.mozilla.org/show_bug.cgi?id=603159</a>&gt;)</li></ul></li><li><p><span id="rfc.iref.s.9"></span><span id="rfc.iref.s.10"></span>Safari 3 (starting with version 3.0.4)</p><p> </p><ul><li>Date computation not available (see &lt;<a href="https://bugs.webkit.org/show_bug.cgi?id=4079">https://bugs.webkit.org/show_bug.cgi?id=4079</a>&gt;)</li></ul></li><li><p><span id="rfc.iref.g.1"></span>Google Chrome</p><p> </p><ul><li>Date computation not available (see &lt;<a href="https://bugs.webkit.org/show_bug.cgi?id=4079">https://bugs.webkit.org/show_bug.cgi?id=4079</a>&gt;)</li></ul></li><li><p><span id="rfc.iref.o.1"></span>Opera (starting with version 10)</p><p> </p><ul><li>Date computation not available</li></ul></li></ul><p id="rfc.section.5.2.p.2">The following browsers are known not to work properly: </p><ul><li><div id="firefox12"><p><span id="rfc.iref.m.4"></span><span id="rfc.iref.f.3"></span>Firefox 1.*/2.*: (missing extension function - see change request at Mozilla BugZilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=193678">193678</a>)</p></div></li><li><div id="opera"><p><span id="rfc.iref.o.2"></span>Opera 9.21: execution fails, potentially to a somewhat complex XPath expression (reported to Opera as bug 245725).</p></div></li><li><p>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).</p></li><li><div id="safari"><p><span id="rfc.iref.s.11"></span>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 &lt;<a href="http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html">http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html</a>&gt; and &lt;<a href="http://bugs.webkit.org/show_bug.cgi?id=4079">http://bugs.webkit.org/show_bug.cgi?id=4079</a>&gt;.</p></div></li></ul><hr class="noprint"><h1 id="rfc.section.6" class="np"><a href="#rfc.section.6">6.</a>&nbsp;<a id="output.html" href="#output.html">Transforming to HTML</a></h1><p id="rfc.section.6.p.1">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:</p><div id="rfc.iref.x.30"></div><div id="rfc.figure.u.4"></div><pre class="text">  &lt;?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?&gt;
     382</pre><p id="rfc.section.6.p.3">(and ensure that <samp>rfc2629.xslt</samp> is present).</p><h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a>&nbsp;HTML compliance</h2><p id="rfc.section.6.1.p.1">The transformation result is supposed to conform to the HTML 4.01 strict DTD <a href="#HTML" id="rfc.xref.HTML.1"><cite title="HTML 4.01 Specification">[HTML]</cite></a>. This can be checked using the W3C's online validator at &lt;<a href="http://validator.w3.org">http://validator.w3.org</a>&gt;<span id="rfc.iref.h.2"></span>.</p><h2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a>&nbsp;<a id="html.link" href="#html.link">Standard HTML LINK elements</a></h2><p id="rfc.section.6.2.p.1">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 <a href="https://addons.mozilla.org/firefox/2933/">Link Widgets</a> extension.</p><div id="rfc.table.u.5"><p>The following LINK elements are produced:</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>LINK type</th><th>description</th></tr></thead><tbody><tr><td class="left">alternate<div id="rfc.iref.a.22"></div><div id="rfc.iref.h.3"></div></td><td class="left">for RFCs, a link to the authorative ASCII version on the IETF web site</td></tr><tr><td class="left">appendic<div id="rfc.iref.a.23"></div><div id="rfc.iref.h.4"></div></td><td class="left">pointer to all top-level appendics</td></tr><tr><td class="left">author<div id="rfc.iref.a.24"></div><div id="rfc.iref.h.5"></div></td><td class="left">pointer to "authors" section</td></tr><tr><td class="left">chapter<div id="rfc.iref.c.3"></div><div id="rfc.iref.h.6"></div></td><td class="left">pointer to all top-level sections</td></tr><tr><td class="left">contents<div id="rfc.iref.c.4"></div><div id="rfc.iref.h.7"></div></td><td class="left">pointer to table of contents</td></tr><tr><td class="left">copyright<div id="rfc.iref.c.5"></div><div id="rfc.iref.h.8"></div></td><td class="left">pointer to copyright statement</td></tr><tr><td class="left">index<div id="rfc.iref.i.11"></div><div id="rfc.iref.h.9"></div></td><td class="left">pointer to index</td></tr></tbody></table></div><div id="rfc.figure.u.5"></div><p>The figure below shows how Mozilla Firefox 1.0 displays the Site Navigation Bar for rfc2396.xml.</p><p><img src="rfc2629xslt-fig1.png" alt="&#xA;(LINK elements displayed in Mozilla Firefox for RFC2396.xml)&#xA;" width="509" height="235"></p><h2 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a>&nbsp;Standard HTML metadata</h2><div id="rfc.table.u.6"><p>The following standard HTML META elements are produced:</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>META name</th><th>description</th></tr></thead><tbody><tr><td class="left">generator<div id="rfc.iref.g.2"></div><div id="rfc.iref.h.10"></div></td><td class="left">from XSLT engine version and stylesheet version</td></tr><tr><td class="left">keywords<div id="rfc.iref.k.1"></div><div id="rfc.iref.h.11"></div></td><td class="left">from keyword elements in front section</td></tr></tbody></table></div><h2 id="rfc.section.6.4"><a href="#rfc.section.6.4">6.4</a>&nbsp;<a id="rfc2731.properties" href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></h2><p id="rfc.section.6.4.p.1">Unless turned off using the "rfc-ext support-rfc2731" processing instruction, the transformation will generate metadata according to <a href="#RFC2731" id="rfc.xref.RFC2731.1"><cite title="Encoding Dublin Core Metadata in HTML">[RFC2731]</cite></a> and <a href="#DC-HTML" id="rfc.xref.DC-HTML.1"><cite title="Expressing Dublin Core metadata using HTML/XHTML meta and link elements">[DC-HTML]</cite></a>.</p><div id="rfc.table.u.7"><p>The following DCMI properties are produced:</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th>META name</th><th>description</th></tr></thead><tbody><tr><td class="left">DC.Creator<div id="rfc.iref.c.6"></div><div id="rfc.iref.d.2"></div></td><td class="left">from author information in front section</td></tr><tr><td class="left">DC.Date.Issued<div id="rfc.iref.d.3"></div><div id="rfc.iref.d.4"></div></td><td class="left">from date information in front section</td></tr><tr><td class="left">DC.Description.Abstract<div id="rfc.iref.d.5"></div><div id="rfc.iref.d.6"></div></td><td class="left">from abstract</td></tr><tr><td class="left">DC.Identifier<div id="rfc.iref.i.12"></div><div id="rfc.iref.d.7"></div></td><td class="left">document URN <a href="#RFC2648" id="rfc.xref.RFC2648.1"><cite title="A URN Namespace for IETF Documents">[RFC2648]</cite></a> from "docName" attribute</td></tr><tr><td class="left">DC.isPartOf<div id="rfc.iref.i.13"></div><div id="rfc.iref.d.8"></div></td><td class="left">RFC ISSN (for RFCs)</td></tr><tr><td class="left">DC.Relation.Replaces<div id="rfc.iref.r.22"></div><div id="rfc.iref.d.9"></div></td><td class="left">from "obsoletes" attribute</td></tr></tbody></table></div><h2 id="rfc.section.6.5"><a href="#rfc.section.6.5">6.5</a>&nbsp;<a id="hcard" href="#hcard">Experimental hCard support</a></h2><p id="rfc.section.6.5.p.1">The generated author information is formatted in <a href="http://microformats.org/wiki/hcard">hCard</a> format.</p><hr class="noprint"><h1 id="rfc.section.7" class="np"><a href="#rfc.section.7">7.</a>&nbsp;<a id="output.xhtml" href="#output.xhtml">Transforming to XHTML</a></h1><p id="rfc.section.7.p.1">Transforming to XHTML requires slightly different XSLT output options and is implemented by the derived transformation script <samp>rfc2629toXHTML.xslt</samp>.</p><ul class="empty"><li> <b>Note:</b> Microsoft Internet Explorer does <em>not</em> support XHTML. Therefore it usually makes more sense to generate plain old HTML.</li></ul><hr class="noprint"><h1 id="rfc.section.8" class="np"><a href="#rfc.section.8">8.</a>&nbsp;<a id="output.chm" href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></h1><p id="rfc.section.8.p.1"> <span id="rfc.iref.c.7"></span>  <span id="rfc.iref.m.5"></span> To generate a CHM file using Microsoft's HTML Help Compiler (hhc), three files are required in addition to the HTML file. </p><ol><li>hhc - table of contents file (HTML)</li><li>hhk - index file (HTML)</li><li>hhp - project file (plain text)</li></ol><p id="rfc.section.8.p.2">The three files are generated with three specific transformations, each requiring the additional XSLT parameter "basename" to specify the filename prefix.</p><div id="rfc.figure.u.6"></div><p>Example:</p><pre class="text">saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616  &gt; rfc2616.hhp
    383383saxon rfc2616.xml rfc2629toHhc.xslt basename=rfc2616  &gt; rfc2616.hhc
    384384saxon rfc2616.xml rfc2629toHhk.xslt basename=rfc2616  &gt; rfc2616.hhk
    385385hhc rfc2616.hhp
    386 </pre> <hr class="noprint"><h1 id="rfc.section.9" class="np"><a href="#rfc.section.9">9.</a>&nbsp;<a id="output.pdf" href="#output.pdf">Transforming to PDF</a></h1><h2 id="rfc.section.9.1"><a href="#rfc.section.9.1">9.1</a>&nbsp;<a id="output.pdf.fop" href="#output.pdf.fop">Via XSL-FO</a></h2><p id="rfc.section.9.1.p.1">Transformation to XSL-FO <a href="#XSL-FO" id="rfc.xref.XSL-FO.1"><cite title="Extensible Stylesheet Language (XSL) Version 1.1">[XSL-FO]</cite></a> format is available through <samp>rfc2629toFO.xslt</samp> (which includes <samp>rfc2629.xslt</samp>, so keep both in the same folder).</p><p id="rfc.section.9.1.p.2">Compared to HTML user agents, XSL-FO engines unfortunately either come as open source (for instance, <span id="rfc.iref.a.25"></span>Apache FOP) or feature-complete (for instance, <span id="rfc.iref.a.26"></span> AntennaHouse XSL Formatter), but not both at the same time.</p><p id="rfc.section.9.1.p.3">As Apache FOP needs special workarounds (index generation), and some popular extensions aren't standardized yet, the translation produces a generic output (hopefully) conforming to <a href="#XSL-FO" id="rfc.xref.XSL-FO.2"><cite title="Extensible Stylesheet Language (XSL) Version 1.1">[XSL-FO]</cite></a>. Specific backends (<samp>xsl11toFop.xslt</samp>, <samp>xsl11toXep.xslt</samp>, <samp>xsl11toAn.xslt</samp>) then provide post-processing for the individual processors.</p><div class="note" id="rfc.section.9.1.p.4"> <p> <b>Note:</b> the output is currently targeted at Apache FOP 1.0.</p> </div><h3 id="rfc.section.9.1.1"><a href="#rfc.section.9.1.1">9.1.1</a>&nbsp;Extension feature matrix</h3><div id="rfc.table.u.8"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th></th><th class="center" style="width: 20%;">PDF anchors</th><th class="center" style="width: 20%;">PDF bookmarks</th><th class="center" style="width: 20%;">PDF document information</th><th class="center" style="width: 20%;">Index cleanup</th></tr></thead><tbody><tr><td class="left"><a href="http://www.w3.org/TR/2003/WD-xsl11-20031217/">XSL 1.1 WD</a></td><td class="center">no, but can be auto-generated from "id" attributes</td><td class="center"><a href="http://www.w3.org/TR/2003/WD-xsl11-20031217/#d0e12873">yes</a></td><td class="center">no, but uses XEP output extensions</td><td class="center"><a href="http://www.w3.org/TR/2003/WD-xsl11-20031217/#d0e12534">yes</a></td></tr><tr><td class="left"><a href="http://www.antennahouse.com/">Antenna House XSL formatter</a></td><td class="center">no</td><td class="center"><a href="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</a> (from XSL 1.1 bookmarks)</td><td class="center"><a href="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</a> (from XEP document info)</td><td class="center"><a href="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</a> (just page duplicate elimination, from XSL 1.1 page index)</td></tr><tr><td class="left"><a href="http://xml.apache.org/fop/">Apache FOP</a></td><td class="center"><a href="http://xml.apache.org/fop/extensions.html#named-destinations">yes</a></td><td class="center"><a href="http://xml.apache.org/fop/extensions.html#bookmarks">yes</a> (from XSL 1.1 bookmarks)</td><td class="center"><a href="http://xmlgraphics.apache.org/fop/0.95/metadata.html#xmp-in-fo">yes</a></td><td class="center">no</td></tr><tr><td class="left"><a href="http://xep.xattic.com/">RenderX XEP</a></td><td class="center">no</td><td class="center"><a href="http://xep.xattic.com/xep/spec.html">yes</a> (from XSL 1.1 bookmarks)</td><td class="center"><a href="http://xep.xattic.com/xep/spec.html">yes</a></td><td class="center"><a href="http://xep.xattic.com/xep/spec.html">yes</a> (from XSL 1.1 page index)</td></tr></tbody></table></div><h3 id="rfc.section.9.1.2"><a href="#rfc.section.9.1.2">9.1.2</a>&nbsp;Example: producing output for Apache FOP</h3><div id="rfc.figure.u.7"></div> <p>Example:</p>  <pre class="text">saxon rfc2616.xml rfc2629toFo.xslt &gt; tmp.fo
     386</pre><hr class="noprint"><h1 id="rfc.section.9" class="np"><a href="#rfc.section.9">9.</a>&nbsp;<a id="output.pdf" href="#output.pdf">Transforming to PDF</a></h1><h2 id="rfc.section.9.1"><a href="#rfc.section.9.1">9.1</a>&nbsp;<a id="output.pdf.fop" href="#output.pdf.fop">Via XSL-FO</a></h2><p id="rfc.section.9.1.p.1">Transformation to XSL-FO <a href="#XSL-FO" id="rfc.xref.XSL-FO.1"><cite title="Extensible Stylesheet Language (XSL) Version 1.1">[XSL-FO]</cite></a> format is available through <samp>rfc2629toFO.xslt</samp> (which includes <samp>rfc2629.xslt</samp>, so keep both in the same folder).</p><p id="rfc.section.9.1.p.2">Compared to HTML user agents, XSL-FO engines unfortunately either come as open source (for instance, <span id="rfc.iref.a.25"></span>Apache FOP) or feature-complete (for instance, <span id="rfc.iref.a.26"></span> AntennaHouse XSL Formatter), but not both at the same time.</p><p id="rfc.section.9.1.p.3">As Apache FOP needs special workarounds (index generation), and some popular extensions aren't standardized yet, the translation produces a generic output (hopefully) conforming to <a href="#XSL-FO" id="rfc.xref.XSL-FO.2"><cite title="Extensible Stylesheet Language (XSL) Version 1.1">[XSL-FO]</cite></a>. Specific backends (<samp>xsl11toFop.xslt</samp>, <samp>xsl11toXep.xslt</samp>, <samp>xsl11toAn.xslt</samp>) then provide post-processing for the individual processors.</p><div class="note" id="rfc.section.9.1.p.4"> <p> <b>Note:</b> the output is currently targeted at Apache FOP 1.0.</p> </div><h3 id="rfc.section.9.1.1"><a href="#rfc.section.9.1.1">9.1.1</a>&nbsp;Extension feature matrix</h3><div id="rfc.table.u.8"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th></th><th class="center" style="width: 20%;">PDF anchors</th><th class="center" style="width: 20%;">PDF bookmarks</th><th class="center" style="width: 20%;">PDF document information</th><th class="center" style="width: 20%;">Index cleanup</th></tr></thead><tbody><tr><td class="left"><a href="http://www.w3.org/TR/2003/WD-xsl11-20031217/">XSL 1.1 WD</a></td><td class="center">no, but can be auto-generated from "id" attributes</td><td class="center"><a href="http://www.w3.org/TR/2003/WD-xsl11-20031217/#d0e12873">yes</a></td><td class="center">no, but uses XEP output extensions</td><td class="center"><a href="http://www.w3.org/TR/2003/WD-xsl11-20031217/#d0e12534">yes</a></td></tr><tr><td class="left"><a href="http://www.antennahouse.com/">Antenna House XSL formatter</a></td><td class="center">no</td><td class="center"><a href="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</a> (from XSL 1.1 bookmarks)</td><td class="center"><a href="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</a> (from XEP document info)</td><td class="center"><a href="http://www.antennahouse.com/XSL20/axf-extension.htm">yes</a> (just page duplicate elimination, from XSL 1.1 page index)</td></tr><tr><td class="left"><a href="http://xml.apache.org/fop/">Apache FOP</a></td><td class="center"><a href="http://xml.apache.org/fop/extensions.html#named-destinations">yes</a></td><td class="center"><a href="http://xml.apache.org/fop/extensions.html#bookmarks">yes</a> (from XSL 1.1 bookmarks)</td><td class="center"><a href="http://xmlgraphics.apache.org/fop/0.95/metadata.html#xmp-in-fo">yes</a></td><td class="center">no</td></tr><tr><td class="left"><a href="http://xep.xattic.com/">RenderX XEP</a></td><td class="center">no</td><td class="center"><a href="http://xep.xattic.com/xep/spec.html">yes</a> (from XSL 1.1 bookmarks)</td><td class="center"><a href="http://xep.xattic.com/xep/spec.html">yes</a></td><td class="center"><a href="http://xep.xattic.com/xep/spec.html">yes</a> (from XSL 1.1 page index)</td></tr></tbody></table></div><h3 id="rfc.section.9.1.2"><a href="#rfc.section.9.1.2">9.1.2</a>&nbsp;Example: producing output for Apache FOP</h3><div id="rfc.figure.u.7"></div><p>Example:</p><pre class="text">saxon rfc2616.xml rfc2629toFo.xslt &gt; tmp.fo
    387387saxon tmp.fo xsl11toFop.xslt &gt; rfc2629.fo
    388 </pre> <h2 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a>&nbsp;<a id="output.pdf.html" href="#output.pdf.html">Via X(HTML)</a></h2><p id="rfc.section.9.2.p.1">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.</p><p id="rfc.section.9.2.p.2">An alternative is PrinceXML (see &lt;<a href="http://www.princexml.com/">http://www.princexml.com/</a>&gt;), which can produce PDF directly from (X)HTML input, based on the CSS printing information.</p><div id="rfc.figure.u.8"></div> <p>For instance, PDF output with text justification turned on can be produced with:</p>  <pre class="text">saxon input.xml rfc2629toXHTML.xslt xml2rfc-ext-justification=print \
     388</pre><h2 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a>&nbsp;<a id="output.pdf.html" href="#output.pdf.html">Via X(HTML)</a></h2><p id="rfc.section.9.2.p.1">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.</p><p id="rfc.section.9.2.p.2">An alternative is PrinceXML (see &lt;<a href="http://www.princexml.com/">http://www.princexml.com/</a>&gt;), which can produce PDF directly from (X)HTML input, based on the CSS printing information.</p><div id="rfc.figure.u.8"></div><p>For instance, PDF output with text justification turned on can be produced with:</p><pre class="text">saxon input.xml rfc2629toXHTML.xslt xml2rfc-ext-justification=print \
    389389  &gt; output.xhtml
    390 prince output.xhtml output.pdf</pre> <hr class="noprint"><h1 id="rfc.section.10" class="np"><a href="#rfc.section.10">10.</a>&nbsp;<a id="output.epub" href="#output.epub">Transforming to ePub</a></h1><p id="rfc.section.10.p.1">Experimental transformation to ePub format is available through a set of stylesheets, and the Unix Shell script <samp>mkepub.sh</samp> (which requires that "zip" and either "saxon" or "xsltproc" are installed).</p><div id="rfc.figure.u.9"></div> <p>For instance, an epub version of rfc2616.xml can be generated like this:</p>  <pre class="text">mkepub.sh rfc2616.xml
    391 </pre> <hr class="noprint"><h1 id="rfc.section.11" class="np"><a href="#rfc.section.11">11.</a>&nbsp;<a id="extensions" href="#extensions">Generic Extensions</a></h1><p id="rfc.section.11.p.1">This section documents extensions implemented in <samp>rfc2629.xslt</samp>, using the extension namespace "http://purl.org/net/xml2rfc/ext".</p><div id="rfc.iref.e.2"></div><div id="rfc.iref.a.27"></div><h2 id="rfc.section.11.1"><a href="#rfc.section.11.1">11.1</a>&nbsp;<a id="ext.element.abnf-char-sequence" href="#ext.element.abnf-char-sequence">&lt;abnf-char-sequence&gt; element</a></h2><p id="rfc.section.11.1.p.1">Converts the contained quoted string into a hex-encoded character sequence, for use in case-sensitive ABNF productions.</p><p id="rfc.section.11.1.p.2">For instance, "&lt;x:abnf-char-sequence&gt;"HTTP"&lt;/x:abnf-char-sequence&gt;" gets converted to "%x48.54.54.50".</p><div id="rfc.iref.e.3"></div><div id="rfc.iref.a.28"></div><h2 id="rfc.section.11.2"><a href="#rfc.section.11.2">11.2</a>&nbsp;<a id="ext.element.anchor-alias" href="#ext.element.anchor-alias">&lt;anchor-alias&gt; element</a></h2><p id="rfc.section.11.2.p.1">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 &lt;<a href="#ext.element.ref" class="smpl">ref</a>&gt; element for intra-document references.</p><p id="rfc.section.11.2.p.2">Note that the anchor alias is not subject to the naming constraints that apply to anchor elements (which are <a href="http://www.w3.org/TR/REC-xml/#NT-Name">XML names</a>).</p><div id="rfc.iref.e.4"></div><div id="rfc.iref.b.2"></div><h2 id="rfc.section.11.3"><a href="#rfc.section.11.3">11.3</a>&nbsp;<a id="ext.element.bcp14" href="#ext.element.bcp14">&lt;bcp14&gt; element</a></h2><p id="rfc.section.11.3.p.1">This element marks the content as being one of the normative keywords defined in <a href="#RFC2119" id="rfc.xref.RFC2119.1"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>.</p><div id="rfc.figure.u.10"></div> <p>The DOCTYPE definition below allows using these keywords using XML entity expansion: such as in "...server &amp;MUST; accept...".</p>  <pre class="text">&lt;!DOCTYPE rfc [
     390prince output.xhtml output.pdf</pre><hr class="noprint"><h1 id="rfc.section.10" class="np"><a href="#rfc.section.10">10.</a>&nbsp;<a id="output.epub" href="#output.epub">Transforming to ePub</a></h1><p id="rfc.section.10.p.1">Experimental transformation to ePub format is available through a set of stylesheets, and the Unix Shell script <samp>mkepub.sh</samp> (which requires that "zip" and either "saxon" or "xsltproc" are installed).</p><div id="rfc.figure.u.9"></div><p>For instance, an epub version of rfc2616.xml can be generated like this:</p><pre class="text">mkepub.sh rfc2616.xml
     391</pre><hr class="noprint"><h1 id="rfc.section.11" class="np"><a href="#rfc.section.11">11.</a>&nbsp;<a id="extensions" href="#extensions">Generic Extensions</a></h1><p id="rfc.section.11.p.1">This section documents extensions implemented in <samp>rfc2629.xslt</samp>, using the extension namespace "http://purl.org/net/xml2rfc/ext".</p><div id="rfc.iref.e.2"></div><div id="rfc.iref.a.27"></div><h2 id="rfc.section.11.1"><a href="#rfc.section.11.1">11.1</a>&nbsp;<a id="ext.element.abnf-char-sequence" href="#ext.element.abnf-char-sequence">&lt;abnf-char-sequence&gt; element</a></h2><p id="rfc.section.11.1.p.1">Converts the contained quoted string into a hex-encoded character sequence, for use in case-sensitive ABNF productions.</p><p id="rfc.section.11.1.p.2">For instance, "&lt;x:abnf-char-sequence&gt;"HTTP"&lt;/x:abnf-char-sequence&gt;" gets converted to "%x48.54.54.50".</p><div id="rfc.iref.e.3"></div><div id="rfc.iref.a.28"></div><h2 id="rfc.section.11.2"><a href="#rfc.section.11.2">11.2</a>&nbsp;<a id="ext.element.anchor-alias" href="#ext.element.anchor-alias">&lt;anchor-alias&gt; element</a></h2><p id="rfc.section.11.2.p.1">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 &lt;<a href="#ext.element.ref" class="smpl">ref</a>&gt; element for intra-document references.</p><p id="rfc.section.11.2.p.2">Note that the anchor alias is not subject to the naming constraints that apply to anchor elements (which are <a href="http://www.w3.org/TR/REC-xml/#NT-Name">XML names</a>).</p><div id="rfc.iref.e.4"></div><div id="rfc.iref.b.2"></div><h2 id="rfc.section.11.3"><a href="#rfc.section.11.3">11.3</a>&nbsp;<a id="ext.element.bcp14" href="#ext.element.bcp14">&lt;bcp14&gt; element</a></h2><p id="rfc.section.11.3.p.1">This element marks the content as being one of the normative keywords defined in <a href="#RFC2119" id="rfc.xref.RFC2119.1"><cite title="Key words for use in RFCs to Indicate Requirement Levels">[RFC2119]</cite></a>.</p><div id="rfc.figure.u.10"></div><p>The DOCTYPE definition below allows using these keywords using XML entity expansion: such as in "...server &amp;MUST; accept...".</p><pre class="text">&lt;!DOCTYPE rfc [
    392392 &lt;!ENTITY MAY "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
    393393   &gt;MAY&lt;/bcp14&gt;"&gt;
     
    409409   &gt;SHOULD&lt;/bcp14&gt;"&gt;
    410410 &lt;!ENTITY SHOULD-NOT "&lt;bcp14 xmlns='http://purl.org/net/xml2rfc/ext'
    411    &gt;SHOULD NOT&lt;/bcp14&gt;"&gt;]&gt;</pre> <div id="rfc.iref.e.5"></div><div id="rfc.iref.b.3"></div><h2 id="rfc.section.11.4"><a href="#rfc.section.11.4">11.4</a>&nbsp;<a id="ext.element.bb" href="#ext.element.bb">&lt;bb&gt; element</a></h2><p id="rfc.section.11.4.p.1">Marking up a string as &lt;bb&gt; indicates that it represents the bottom line of a box drawing, replacing the "+" and "-" characters accordingly.</p><div id="rfc.iref.e.6"></div><div id="rfc.iref.b.4"></div><h2 id="rfc.section.11.5"><a href="#rfc.section.11.5">11.5</a>&nbsp;<a id="ext.element.bc" href="#ext.element.bc">&lt;bc&gt; element</a></h2><p id="rfc.section.11.5.p.1">Marking up a string as &lt;bc&gt; indicates that it represents a center line of a box drawing, replacing the "|" character accordingly.</p><div id="rfc.iref.e.7"></div><div id="rfc.iref.b.5"></div><h2 id="rfc.section.11.6"><a href="#rfc.section.11.6">11.6</a>&nbsp;<a id="ext.element.blockquote" href="#ext.element.blockquote">&lt;blockquote&gt; element</a></h2><p id="rfc.section.11.6.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-BLOCKQUOTE">blockquote</a>" element in <a href="#HTML" id="rfc.xref.HTML.2"><cite title="HTML 4.01 Specification">[HTML]</cite></a> (note this is a block-level element!). It should contain one or more &lt;t&gt; child elements.</p><div id="rfc.iref.e.8"></div><div id="rfc.iref.b.6"></div><h2 id="rfc.section.11.7"><a href="#rfc.section.11.7">11.7</a>&nbsp;<a id="ext.element.boilerplate" href="#ext.element.boilerplate">&lt;boilerplate&gt; element</a></h2><p id="rfc.section.11.7.p.1">Can be used to include boilerplate (status, copyright, ...) into the front or back section. &lt;section&gt; elements within &lt;x:boilerplate&gt; appear as unnumbered sections in the output.</p><p id="rfc.section.11.7.p.2"> <em>This element currently can not be "down-translated" for use in xml2rfc!</em> </p><div id="rfc.iref.e.9"></div><div id="rfc.iref.b.7"></div><h2 id="rfc.section.11.8"><a href="#rfc.section.11.8">11.8</a>&nbsp;<a id="ext.element.bt" href="#ext.element.bt">&lt;bt&gt; element</a></h2><p id="rfc.section.11.8.p.1">Marking up a string as &lt;bt&gt; indicates that it represents the top line of a box drawing, replacing the "+" and "-" characters accordingly.</p><div id="rfc.iref.e.10"></div><div id="rfc.iref.d.10"></div><h2 id="rfc.section.11.9"><a href="#rfc.section.11.9">11.9</a>&nbsp;<a id="ext.element.dfn" href="#ext.element.dfn">&lt;dfn&gt; element</a></h2><p id="rfc.section.11.9.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-DFN">dfn</a>" element in <a href="#HTML" id="rfc.xref.HTML.3"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><div id="rfc.iref.e.11"></div><div id="rfc.iref.f.4"></div><h2 id="rfc.section.11.10"><a href="#rfc.section.11.10">11.10</a>&nbsp;<a id="ext.element.feedback" href="#ext.element.feedback">&lt;feedback&gt; element</a></h2><p id="rfc.section.11.10.p.1">This elements allows declaring a feedback link for document reviewers. The template string takes the form of a URI template, such as:</p><div id="rfc.figure.u.11"></div> <pre class="text">&lt;x:feedback template="mailto:ietf-http-wg@w3.org?subject={docname},%20%22{section}%22&amp;amp;body=&amp;lt;{ref}&amp;gt;:"/&gt;
    412 </pre><p id="rfc.section.11.10.p.3">where "docname" is substituted by the document name, "section" is substituted by section title (number and name), and "ref" is substituted by a URI pointing to the section being referenced.</p><div id="rfc.iref.e.12"></div><div id="rfc.iref.h.12"></div><h2 id="rfc.section.11.11"><a href="#rfc.section.11.11">11.11</a>&nbsp;<a id="ext.element.h" href="#ext.element.h">&lt;h&gt; element</a></h2><p id="rfc.section.11.11.p.1">This element is like the "<a href="http://www.w3.org/TR/2006/WD-xhtml2-20060726/mod-structural.html#edef_structural_h">h</a>" element in <a href="#XHTML2" id="rfc.xref.XHTML2.1"><cite title="XHTML&#8482; 2.0">[XHTML2]</cite></a>.</p><div id="rfc.iref.e.13"></div><div id="rfc.iref.h.13"></div><h2 id="rfc.section.11.12"><a href="#rfc.section.11.12">11.12</a>&nbsp;<a id="ext.element.highlight" href="#ext.element.highlight">&lt;highlight&gt; element</a></h2><p id="rfc.section.11.12.p.1">Used to highlight text passages, currently only allowed in &lt;artwork&gt;.</p><p id="rfc.section.11.12.p.2"> <b>Note:</b> this is stripped when generating input for xml2rfc, so please use with care.</p><div id="rfc.iref.e.14"></div><div id="rfc.iref.l.2"></div><h2 id="rfc.section.11.13"><a href="#rfc.section.11.13">11.13</a>&nbsp;<a id="ext.element.length-of" href="#ext.element.length-of">&lt;length-of&gt; element</a></h2><p id="rfc.section.11.13.p.1">This element can be used to insert the length of another formatted section (in decimal).</p><div id="rfc.figure.u.12"></div> <p>Example: computing the Content-Length header value</p>  <pre class="text">&lt;artwork&gt;
     411   &gt;SHOULD NOT&lt;/bcp14&gt;"&gt;]&gt;</pre><div id="rfc.iref.e.5"></div><div id="rfc.iref.b.3"></div><h2 id="rfc.section.11.4"><a href="#rfc.section.11.4">11.4</a>&nbsp;<a id="ext.element.bb" href="#ext.element.bb">&lt;bb&gt; element</a></h2><p id="rfc.section.11.4.p.1">Marking up a string as &lt;bb&gt; indicates that it represents the bottom line of a box drawing, replacing the "+" and "-" characters accordingly.</p><div id="rfc.iref.e.6"></div><div id="rfc.iref.b.4"></div><h2 id="rfc.section.11.5"><a href="#rfc.section.11.5">11.5</a>&nbsp;<a id="ext.element.bc" href="#ext.element.bc">&lt;bc&gt; element</a></h2><p id="rfc.section.11.5.p.1">Marking up a string as &lt;bc&gt; indicates that it represents a center line of a box drawing, replacing the "|" character accordingly.</p><div id="rfc.iref.e.7"></div><div id="rfc.iref.b.5"></div><h2 id="rfc.section.11.6"><a href="#rfc.section.11.6">11.6</a>&nbsp;<a id="ext.element.blockquote" href="#ext.element.blockquote">&lt;blockquote&gt; element</a></h2><p id="rfc.section.11.6.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-BLOCKQUOTE">blockquote</a>" element in <a href="#HTML" id="rfc.xref.HTML.2"><cite title="HTML 4.01 Specification">[HTML]</cite></a> (note this is a block-level element!). It should contain one or more &lt;t&gt; child elements.</p><div id="rfc.iref.e.8"></div><div id="rfc.iref.b.6"></div><h2 id="rfc.section.11.7"><a href="#rfc.section.11.7">11.7</a>&nbsp;<a id="ext.element.boilerplate" href="#ext.element.boilerplate">&lt;boilerplate&gt; element</a></h2><p id="rfc.section.11.7.p.1">Can be used to include boilerplate (status, copyright, ...) into the front or back section. &lt;section&gt; elements within &lt;x:boilerplate&gt; appear as unnumbered sections in the output.</p><p id="rfc.section.11.7.p.2"> <em>This element currently can not be "down-translated" for use in xml2rfc!</em> </p><div id="rfc.iref.e.9"></div><div id="rfc.iref.b.7"></div><h2 id="rfc.section.11.8"><a href="#rfc.section.11.8">11.8</a>&nbsp;<a id="ext.element.bt" href="#ext.element.bt">&lt;bt&gt; element</a></h2><p id="rfc.section.11.8.p.1">Marking up a string as &lt;bt&gt; indicates that it represents the top line of a box drawing, replacing the "+" and "-" characters accordingly.</p><div id="rfc.iref.e.10"></div><div id="rfc.iref.d.10"></div><h2 id="rfc.section.11.9"><a href="#rfc.section.11.9">11.9</a>&nbsp;<a id="ext.element.dfn" href="#ext.element.dfn">&lt;dfn&gt; element</a></h2><p id="rfc.section.11.9.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-DFN">dfn</a>" element in <a href="#HTML" id="rfc.xref.HTML.3"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><div id="rfc.iref.e.11"></div><div id="rfc.iref.f.4"></div><h2 id="rfc.section.11.10"><a href="#rfc.section.11.10">11.10</a>&nbsp;<a id="ext.element.feedback" href="#ext.element.feedback">&lt;feedback&gt; element</a></h2><p id="rfc.section.11.10.p.1">This elements allows declaring a feedback link for document reviewers. The template string takes the form of a URI template, such as:</p><div id="rfc.figure.u.11"></div><pre class="text">&lt;x:feedback template="mailto:ietf-http-wg@w3.org?subject={docname},%20%22{section}%22&amp;amp;body=&amp;lt;{ref}&amp;gt;:"/&gt;
     412</pre><p id="rfc.section.11.10.p.3">where "docname" is substituted by the document name, "section" is substituted by section title (number and name), and "ref" is substituted by a URI pointing to the section being referenced.</p><div id="rfc.iref.e.12"></div><div id="rfc.iref.h.12"></div><h2 id="rfc.section.11.11"><a href="#rfc.section.11.11">11.11</a>&nbsp;<a id="ext.element.h" href="#ext.element.h">&lt;h&gt; element</a></h2><p id="rfc.section.11.11.p.1">This element is like the "<a href="http://www.w3.org/TR/2006/WD-xhtml2-20060726/mod-structural.html#edef_structural_h">h</a>" element in <a href="#XHTML2" id="rfc.xref.XHTML2.1"><cite title="XHTML&#8482; 2.0">[XHTML2]</cite></a>.</p><div id="rfc.iref.e.13"></div><div id="rfc.iref.h.13"></div><h2 id="rfc.section.11.12"><a href="#rfc.section.11.12">11.12</a>&nbsp;<a id="ext.element.highlight" href="#ext.element.highlight">&lt;highlight&gt; element</a></h2><p id="rfc.section.11.12.p.1">Used to highlight text passages, currently only allowed in &lt;artwork&gt;.</p><p id="rfc.section.11.12.p.2"> <b>Note:</b> this is stripped when generating input for xml2rfc, so please use with care.</p><div id="rfc.iref.e.14"></div><div id="rfc.iref.l.2"></div><h2 id="rfc.section.11.13"><a href="#rfc.section.11.13">11.13</a>&nbsp;<a id="ext.element.length-of" href="#ext.element.length-of">&lt;length-of&gt; element</a></h2><p id="rfc.section.11.13.p.1">This element can be used to insert the length of another formatted section (in decimal).</p><div id="rfc.figure.u.12"></div><p>Example: computing the Content-Length header value</p><pre class="text">&lt;artwork&gt;
    413413...
    414414Content-Length: &lt;x:length-of target="req"/&gt;
     
    416416&lt;x:span anchor="req"&gt;123456789
    417417&lt;x:span&gt;&lt;artwork/&gt;
    418 </pre> <p id="rfc.section.11.13.p.3">The lenght computation counts line ends as two characters (CRLF).</p><p id="rfc.section.11.13.p.4">Note that indentation characters in artwork <em>will</em> be counted. The "indented" attribute allows to specify the amount of indentation to be substracted from the computed length.</p><div id="rfc.iref.e.15"></div><div id="rfc.iref.l.3"></div><h2 id="rfc.section.11.14"><a href="#rfc.section.11.14">11.14</a>&nbsp;<a id="ext.element.link" href="#ext.element.link">&lt;link&gt; element</a></h2><p id="rfc.section.11.14.p.1">This element can be added as a top-level child element below &lt;rfc&gt; to indicate additional link information. It's currently used only when generating HTML output, in which case an HTML <a href="http://www.w3.org/TR/html4/struct/links.html#edef-LINK">&lt;link&gt;</a> element with identical attributes gets generated.</p><div id="rfc.figure.u.13"></div> <p>Example: generating HTML link element</p>  <pre class="text">        &lt;x:link xmlns="http://purl.org/net/xml2rfc/ext"
     418</pre><p id="rfc.section.11.13.p.3">The lenght computation counts line ends as two characters (CRLF).</p><p id="rfc.section.11.13.p.4">Note that indentation characters in artwork <em>will</em> be counted. The "indented" attribute allows to specify the amount of indentation to be substracted from the computed length.</p><div id="rfc.iref.e.15"></div><div id="rfc.iref.l.3"></div><h2 id="rfc.section.11.14"><a href="#rfc.section.11.14">11.14</a>&nbsp;<a id="ext.element.link" href="#ext.element.link">&lt;link&gt; element</a></h2><p id="rfc.section.11.14.p.1">This element can be added as a top-level child element below &lt;rfc&gt; to indicate additional link information. It's currently used only when generating HTML output, in which case an HTML <a href="http://www.w3.org/TR/html4/struct/links.html#edef-LINK">&lt;link&gt;</a> element with identical attributes gets generated.</p><div id="rfc.figure.u.13"></div><p>Example: generating HTML link element</p><pre class="text">        &lt;x:link xmlns="http://purl.org/net/xml2rfc/ext"
    419419            rel="Bookmark"
    420420            title="IETF WEBDAV Working Group"
    421             href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/&gt;</pre> <p id="rfc.section.11.14.p.3">If the attribute "basename" is present, it is used to compute the target href based on the output format being generated (this is handy for "next"/"prev" links in a series of documents. In this case, the href attribute is not required.</p><div id="rfc.figure.u.14"></div> <p>For instance:</p>  <pre class="text">        &lt;x:link xmlns="http://purl.org/net/xml2rfc/ext"
     421            href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/&gt;</pre><p id="rfc.section.11.14.p.3">If the attribute "basename" is present, it is used to compute the target href based on the output format being generated (this is handy for "next"/"prev" links in a series of documents. In this case, the href attribute is not required.</p><div id="rfc.figure.u.14"></div><p>For instance:</p><pre class="text">        &lt;x:link xmlns="http://purl.org/net/xml2rfc/ext"
    422422            rel="next"
    423423            title="Part2"
    424             basename="draft-foobar-protocol-p2-latest"/&gt;</pre> <div id="rfc.iref.e.16"></div><div id="rfc.iref.l.4"></div><h2 id="rfc.section.11.15"><a href="#rfc.section.11.15">11.15</a>&nbsp;<a id="ext.element.lt" href="#ext.element.lt">&lt;lt&gt; element</a></h2><p id="rfc.section.11.15.p.1">Used for grouping multiple &lt;t&gt; elements into a single list item.</p><div id="rfc.iref.e.17"></div><div id="rfc.iref.n.3"></div><h2 id="rfc.section.11.16"><a href="#rfc.section.11.16">11.16</a>&nbsp;<a id="ext.element.note" href="#ext.element.note">&lt;note&gt; element</a></h2><p id="rfc.section.11.16.p.1">Can be used to add a note, usually indented by a few characters. It should contain one or more &lt;t&gt; child elements.</p><div id="rfc.iref.e.18"></div><div id="rfc.iref.p.62"></div><h2 id="rfc.section.11.17"><a href="#rfc.section.11.17">11.17</a>&nbsp;<a id="ext.element.parse-xml" href="#ext.element.parse-xml">&lt;parse-xml&gt; element</a></h2><p id="rfc.section.11.17.p.1">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).</p><div id="rfc.iref.e.19"></div><div id="rfc.iref.p.63"></div><h2 id="rfc.section.11.18"><a href="#rfc.section.11.18">11.18</a>&nbsp;<a id="ext.element.prose" href="#ext.element.prose">&lt;prose&gt; element</a></h2><p id="rfc.section.11.18.p.1">This element can be used inside &lt;reference&gt; to add plain text (before the date, when present).</p><div id="rfc.iref.e.20"></div><div id="rfc.iref.q.1"></div><h2 id="rfc.section.11.19"><a href="#rfc.section.11.19">11.19</a>&nbsp;<a id="ext.element.q" href="#ext.element.q">&lt;q&gt; element</a></h2><p id="rfc.section.11.19.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-Q">q</a>" element in <a href="#HTML" id="rfc.xref.HTML.4"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><div id="rfc.iref.e.21"></div><div id="rfc.iref.r.23"></div><h2 id="rfc.section.11.20"><a href="#rfc.section.11.20">11.20</a>&nbsp;<a id="ext.element.ref" href="#ext.element.ref">&lt;ref&gt; element</a></h2><p id="rfc.section.11.20.p.1">This element is a simplified variant of the &lt;xref&gt; 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 &lt;<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>&gt;, it allows referring to other parts of the document with minimal additional markup.</p><p id="rfc.section.11.20.p.2">For instance, given an alias definition such as</p><div id="rfc.figure.u.15"></div> <pre class="text">      &lt;section title="Test" anchor="test"&gt;
     424            basename="draft-foobar-protocol-p2-latest"/&gt;</pre><div id="rfc.iref.e.16"></div><div id="rfc.iref.l.4"></div><h2 id="rfc.section.11.15"><a href="#rfc.section.11.15">11.15</a>&nbsp;<a id="ext.element.lt" href="#ext.element.lt">&lt;lt&gt; element</a></h2><p id="rfc.section.11.15.p.1">Used for grouping multiple &lt;t&gt; elements into a single list item.</p><div id="rfc.iref.e.17"></div><div id="rfc.iref.n.3"></div><h2 id="rfc.section.11.16"><a href="#rfc.section.11.16">11.16</a>&nbsp;<a id="ext.element.note" href="#ext.element.note">&lt;note&gt; element</a></h2><p id="rfc.section.11.16.p.1">Can be used to add a note, usually indented by a few characters. It should contain one or more &lt;t&gt; child elements.</p><div id="rfc.iref.e.18"></div><div id="rfc.iref.p.62"></div><h2 id="rfc.section.11.17"><a href="#rfc.section.11.17">11.17</a>&nbsp;<a id="ext.element.parse-xml" href="#ext.element.parse-xml">&lt;parse-xml&gt; element</a></h2><p id="rfc.section.11.17.p.1">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).</p><div id="rfc.iref.e.19"></div><div id="rfc.iref.p.63"></div><h2 id="rfc.section.11.18"><a href="#rfc.section.11.18">11.18</a>&nbsp;<a id="ext.element.prose" href="#ext.element.prose">&lt;prose&gt; element</a></h2><p id="rfc.section.11.18.p.1">This element can be used inside &lt;reference&gt; to add plain text (before the date, when present).</p><div id="rfc.iref.e.20"></div><div id="rfc.iref.q.1"></div><h2 id="rfc.section.11.19"><a href="#rfc.section.11.19">11.19</a>&nbsp;<a id="ext.element.q" href="#ext.element.q">&lt;q&gt; element</a></h2><p id="rfc.section.11.19.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-Q">q</a>" element in <a href="#HTML" id="rfc.xref.HTML.4"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><div id="rfc.iref.e.21"></div><div id="rfc.iref.r.23"></div><h2 id="rfc.section.11.20"><a href="#rfc.section.11.20">11.20</a>&nbsp;<a id="ext.element.ref" href="#ext.element.ref">&lt;ref&gt; element</a></h2><p id="rfc.section.11.20.p.1">This element is a simplified variant of the &lt;xref&gt; 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 &lt;<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>&gt;, it allows referring to other parts of the document with minimal additional markup.</p><p id="rfc.section.11.20.p.2">For instance, given an alias definition such as</p><div id="rfc.figure.u.15"></div><pre class="text">      &lt;section title="Test" anchor="test"&gt;
    425425        &lt;x:anchor-alias value="alias1"/&gt;
    426426        &lt;x:anchor-alias value="alias 2"/&gt;
    427427        ...
    428       &lt;/section&gt;</pre> <p id="rfc.section.11.20.p.4">the following simple references</p><div id="rfc.figure.u.16"></div> <pre class="text">      &lt;x:ref&gt;test&lt;/x:ref&gt;
     428      &lt;/section&gt;</pre><p id="rfc.section.11.20.p.4">the following simple references</p><div id="rfc.figure.u.16"></div><pre class="text">      &lt;x:ref&gt;test&lt;/x:ref&gt;
    429429      &lt;x:ref&gt;alias1&lt;/x:ref&gt;
    430       &lt;x:ref&gt;alias 2&lt;/x:ref&gt;</pre> <p id="rfc.section.11.20.p.6">are equivalent to...:</p><div id="rfc.figure.u.17"></div> <pre class="text">      &lt;xref target="test"&gt;test&lt;/xref&gt;
     430      &lt;x:ref&gt;alias 2&lt;/x:ref&gt;</pre><p id="rfc.section.11.20.p.6">are equivalent to...:</p><div id="rfc.figure.u.17"></div><pre class="text">      &lt;xref target="test"&gt;test&lt;/xref&gt;
    431431      &lt;xref target="test"&gt;alias1&lt;/xref&gt;
    432       &lt;xref target="test"&gt;alias 2&lt;/xref&gt;</pre> <div id="rfc.iref.e.22"></div><div id="rfc.iref.s.12"></div><h2 id="rfc.section.11.21"><a href="#rfc.section.11.21">11.21</a>&nbsp;<a id="ext.element.source" href="#ext.element.source">&lt;source&gt; element</a></h2><p id="rfc.section.11.21.p.1">Can be used to enhance a &lt;reference&gt; with information about the location for the XML source. This can be used by the &lt;xref&gt; processing code to automatically extract the target section number.</p><div id="rfc.figure.u.18"></div> <p>For example:</p>  <pre class="text">      ...
     432      &lt;xref target="test"&gt;alias 2&lt;/xref&gt;</pre><div id="rfc.iref.e.22"></div><div id="rfc.iref.s.12"></div><h2 id="rfc.section.11.21"><a href="#rfc.section.11.21">11.21</a>&nbsp;<a id="ext.element.source" href="#ext.element.source">&lt;source&gt; element</a></h2><p id="rfc.section.11.21.p.1">Can be used to enhance a &lt;reference&gt; with information about the location for the XML source. This can be used by the &lt;xref&gt; processing code to automatically extract the target section number.</p><div id="rfc.figure.u.18"></div><p>For example:</p><pre class="text">      ...
    433433      &lt;xref target="RFC2616" x:fmt="of" x:rel="#PUT" /&gt;
    434434      ...
     
    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> 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 \
     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
     
    472472&lt;http://www.dlib.org/dlib/july96/lagoze/07lagoze.html&gt;: ok
    473473&lt;http://www.w3.org/pub/WWW/TR/REC-PICS-labels-961031.html&gt;: ok
    474 </pre><p id="rfc.section.12.1.p.6">Recognized formats in the &lt;seriesInfo&gt; element are: </p><ul><li>for RFCs, the name attribute must be "RFC", and the value attribute must be the number of the RFC,</li><li>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),</li><li>for W3C documents, the name attribute must be "W3C", must start with "W3C&nbsp;", or must start with "World Wide Web Consortium&nbsp;", and the value attribute must be the "shorthand" name of the specification, such as "REC-xml-19980210".</li></ul><div class="note" id="rfc.section.12.1.p.7"> <p> <b>Note:</b> this stylesheet will need network access to check links and status of Internet Drafts. When running a Java-based XSLT engine, you may have to supply Java system properties specifying the HTTP proxy to be used, such as "-Dhttp.proxyHost=hostname -Dhttp.proxyPort=80".</p> </div><h2 id="rfc.section.12.2"><a href="#rfc.section.12.2">12.2</a>&nbsp;Generating Graphs from References</h2><p id="rfc.section.12.2.p.1"> <samp>gen-reference-graph.xslt</samp> generates a graph of RFC dependencies, using the same base data as in <samp>check-references.xslt</samp> (see <a href="#checking-references" title="Checking References">Section&nbsp;12.1</a>). Its output is a "dot" file, to be processed by GraphViz (see &lt;<a href="http://www.graphviz.org/">http://www.graphviz.org/</a>&gt;).</p><div id="rfc.figure.u.20"></div> <p>The picture below shows the RFC dependencies in RFC2629.</p>  <p><img src="rfc2629xslt-fig2.png" alt="&#xA;(PNG output obtained from GraphViz)&#xA;"></p> <h2 id="rfc.section.12.3"><a href="#rfc.section.12.3">12.3</a>&nbsp;Producing reference entries for books</h2><p id="rfc.section.12.3.p.1"> <samp>amazon-asin.xslt</samp> uses the Amazon web services to generate a &lt;reference&gt; element for a given ASIN (ISBN).</p><div id="rfc.figure.u.21"></div> <p>For instance:</p>  <pre class="text">&lt;?xml version="1.0" encoding="utf-8"?&gt;
     474</pre><p id="rfc.section.12.1.p.6">Recognized formats in the &lt;seriesInfo&gt; element are: </p><ul><li>for RFCs, the name attribute must be "RFC", and the value attribute must be the number of the RFC,</li><li>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),</li><li>for W3C documents, the name attribute must be "W3C", must start with "W3C&nbsp;", or must start with "World Wide Web Consortium&nbsp;", and the value attribute must be the "shorthand" name of the specification, such as "REC-xml-19980210".</li></ul><div class="note" id="rfc.section.12.1.p.7"> <p> <b>Note:</b> this stylesheet will need network access to check links and status of Internet Drafts. When running a Java-based XSLT engine, you may have to supply Java system properties specifying the HTTP proxy to be used, such as "-Dhttp.proxyHost=hostname -Dhttp.proxyPort=80".</p> </div><h2 id="rfc.section.12.2"><a href="#rfc.section.12.2">12.2</a>&nbsp;Generating Graphs from References</h2><p id="rfc.section.12.2.p.1"> <samp>gen-reference-graph.xslt</samp> generates a graph of RFC dependencies, using the same base data as in <samp>check-references.xslt</samp> (see <a href="#checking-references" title="Checking References">Section&nbsp;12.1</a>). Its output is a "dot" file, to be processed by GraphViz (see &lt;<a href="http://www.graphviz.org/">http://www.graphviz.org/</a>&gt;).</p><div id="rfc.figure.u.20"></div><p>The picture below shows the RFC dependencies in RFC2629.</p><p><img src="rfc2629xslt-fig2.png" alt="&#xA;(PNG output obtained from GraphViz)&#xA;"></p><h2 id="rfc.section.12.3"><a href="#rfc.section.12.3">12.3</a>&nbsp;Producing reference entries for books</h2><p id="rfc.section.12.3.p.1"> <samp>amazon-asin.xslt</samp> uses the Amazon web services to generate a &lt;reference&gt; element for a given ASIN (ISBN).</p><div id="rfc.figure.u.21"></div><p>For instance:</p><pre class="text">&lt;?xml version="1.0" encoding="utf-8"?&gt;
    475475&lt;references&gt;
    476476 &lt;reference target="urn:isbn:0134516591"&gt;
     
    491491 &lt;/reference&gt;
    492492&lt;/references&gt;
    493 </pre><p id="rfc.section.12.3.p.3">Note that the resulting XML usually requires checking, in this case Amazon's database is playing tricks with Marshall's name...</p><h2 id="rfc.section.12.4"><a href="#rfc.section.12.4">12.4</a>&nbsp;<a id="clean-for-dtd" href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></h2><p id="rfc.section.12.4.p.1"> <samp>clean-for-DTD.xslt</samp> 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).</p><p id="rfc.section.12.4.p.2">The following mappings are done: </p><ul><li>&lt;iref&gt; elements inside &lt;artwork&gt; elements are moved in front of the enclosing &lt;figure&gt; element.</li><li>&lt;xref&gt; elements inside &lt;artwork&gt; are expanded just like in regular text (that is, the markup is stripped, but the element is replaced by the applicable replacement text).</li><li>&lt;x:<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.bcp14" class="smpl">bcp14</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.bb" class="smpl">bb</a>&gt;, &lt;x:<a href="#ext.element.bc" class="smpl">bc</a>&gt; and &lt;x:<a href="#ext.element.bt" class="smpl">bt</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.blockquote" class="smpl">blockquote</a>&gt; elements get converted to indented text (through a &lt;list&gt; element).</li><li>&lt;x:<a href="#ext.element.dfn" class="smpl">dfn</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.h" class="smpl">h</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.link" class="smpl">link</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.lt" class="smpl">lt</a>&gt; elements get collapsed into a single &lt;lt&gt; element with added &lt;vspace&gt; added to simulate paragraph breaks.</li><li>&lt;x:<a href="#ext.element.note" class="smpl">note</a>&gt; elements get converted to indented text (through a &lt;list&gt; element).</li><li>&lt;x:<a href="#ext.element.q" class="smpl">q</a>&gt; elements get stripped, with apostrophes added around the text.</li><li>&lt;x:<a href="#ext.element.prose" class="smpl">prose</a>&gt; elements are transformed into &lt;seriesInfo&gt; elements (which is an abuse of the element and only a workaround until xml2rfc gets a matching extension).</li><li>&lt;x:<a href="#ext.element.ref" class="smpl">ref</a>&gt; elements get replaced by &lt;xref&gt; elements, targetting either the anchor or another anchor with matching &lt;x:<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>&gt; child element.</li></ul><h2 id="rfc.section.12.5"><a href="#rfc.section.12.5">12.5</a>&nbsp;<a id="extract-artwork" href="#extract-artwork">Extracting artwork</a></h2><p id="rfc.section.12.5.p.1">With <samp>extract-artwork.xslt</samp>, 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).</p><div id="rfc.figure.u.22"></div><p>For instance:</p>  <pre class="text">saxon rfc3986.xml extract-artwork.xslt name=uri.abnf
    494 </pre> <p id="rfc.section.12.5.p.3">In addition, artwork of a specific type can be extracted, such as with:</p><div id="rfc.figure.u.23"></div> <pre class="text">saxon rfc3986.xml extract-artwork.xslt type=abnf
    495 </pre> <p id="rfc.section.12.5.p.5">When extracting by type, artwork elements with a specified name can be excluded; this can be handy when the document uses some kind of schema language, and an appendix contains the collected schema, repeating definitions from earlier on. Example:</p><div id="rfc.figure.u.24"></div><pre class="text">saxon rfc3986.xml extract-artwork.xslt type=abnf except-name=clschm
    496 </pre><h2 id="rfc.section.12.6"><a href="#rfc.section.12.6">12.6</a>&nbsp;<a id="grddl" href="#grddl">GRRDL</a></h2><p id="rfc.section.12.6.p.1"> <samp>rfc2629grddl.xslt</samp> extracts RDF information. This is experimental work-in-progress. See &lt;<a href="http://www.w3.org/TR/grddl/">http://www.w3.org/TR/grddl/</a>&gt; for more information.</p><h1 class="np" id="rfc.references"><a href="#rfc.section.13" id="rfc.section.13">13.</a> Informative References</h1><table>                              <tr><td class="reference"><b id="BCP97">[BCP97]</b></td><td class="top"><a href="mailto:klensin+ietf@jck.com">Klensin, J.</a> and <a href="mailto:hartmans-ietf@mit.edu" title="MIT">S. Hartman</a>, &#8220;<a href="http://tools.ietf.org/html/rfc4897">Handling Normative References to Standards-Track Documents</a>&#8221;, BCP&nbsp;97, RFC&nbsp;4897, June&nbsp;2007.</td></tr><tr><td class="reference"><b id="DC-HTML">[DC-HTML]</b></td><td class="top"><a href="mailto:pete.johnston@eduserv.org.uk" title="Eduserv Foundation">Johnston, P.</a> and <a href="mailto:andy.powell@eduserv.org.uk" title="Eduserv Foundation">A. Powell</a>, &#8220;<a href="http://dublincore.org/documents/2008/08/04/dc-html/">Expressing Dublin Core metadata using HTML/XHTML meta and link elements</a>&#8221;, Dublin Core Metadata Initiative, August&nbsp;2008, &lt;<a href="http://dublincore.org/documents/2008/08/04/dc-html/">http://dublincore.org/documents/2008/08/04/dc-html/</a>&gt;.</td></tr><tr><td class="reference"><b id="HTML">[HTML]</b></td><td class="top"><a href="mailto:dsr@w3.org" title="W3C">Raggett, D.</a>, Hors, A., and I. Jacobs, &#8220;<a href="http://www.w3.org/TR/html401/">HTML 4.01 Specification</a>&#8221;, W3C&nbsp;REC-html401-19991224, December&nbsp;1999, &lt;<a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a>&gt;.</td></tr><tr><td class="reference"><b id="RFC2026">[RFC2026]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2026">The Internet Standards Process -- Revision 3</a>&#8221;, BCP&nbsp;9, RFC&nbsp;2026, October&nbsp;1996.</td></tr><tr><td class="reference"><b id="RFC2119">[RFC2119]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>&#8221;, BCP&nbsp;14, RFC&nbsp;2119, March&nbsp;1997.</td></tr><tr><td class="reference"><b id="RFC2616">[RFC2616]</b></td><td class="top"><a href="mailto:fielding@ics.uci.edu" title="University of California, Irvine, Information and Computer Science">Fielding, R.</a>, <a href="mailto:jg@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">Gettys, J.</a>, <a href="mailto:mogul@wrl.dec.com" title="Compaq Computer Corporation, Western Research Laboratory">Mogul, J.</a>, <a href="mailto:frystyk@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">Nielsen, H.</a>, <a href="mailto:masinter@parc.xerox.com" title="Xerox Corporation">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, and <a href="mailto:timbl@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">T. Berners-Lee</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>&#8221;, RFC&nbsp;2616, June&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC2629">[RFC2629]</b></td><td class="top"><a href="mailto:mrose@not.invisible.net" title="Invisible Worlds, Inc.">Rose, M.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2629">Writing I-Ds and RFCs using XML</a>&#8221;, RFC&nbsp;2629, June&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC2648">[RFC2648]</b></td><td class="top"><a href="mailto:jayhawk@att.com" title="AT&amp;T">Moats, R.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2648">A URN Namespace for IETF Documents</a>&#8221;, RFC&nbsp;2648, August&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC2731">[RFC2731]</b></td><td class="top"><a href="mailto:jak@ckm.ucsf.edu" title="University of California, San Francisco,  Center for Knowledge Management">Kunze, J.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2731">Encoding Dublin Core Metadata in HTML</a>&#8221;, RFC&nbsp;2731, December&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC5234">[RFC5234]</b></td><td class="top"><a href="mailto:dcrocker@bbiw.net" title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a href="mailto:paul.overell@thus.net" title="THUS plc.">P. Overell</a>, &#8220;<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>&#8221;, STD&nbsp;68, RFC&nbsp;5234, January&nbsp;2008.</td></tr><tr><td class="reference"><b id="RFC5741">[RFC5741]</b></td><td class="top">Daigle, L. and O. Kolkman, &#8220;<a href="http://tools.ietf.org/html/rfc5741">RFC Streams, Headers, and Boilerplates</a>&#8221;, RFC&nbsp;5741, December&nbsp;2009.</td></tr><tr><td class="reference"><b id="RNC">[RNC]</b></td><td class="top"><a href="mailto:jjc@jclark.com">Clark, J.</a>, &#8220;<a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">RELAX NG Compact Syntax</a>&#8221;, OASIS, Nov&nbsp;2002, &lt;<a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">http://www.oasis-open.org/committees/relax-ng/compact-20021121.html</a>&gt;.</td></tr><tr><td class="reference"><b id="XHTML2">[XHTML2]</b></td><td class="top">Axelsson, J., Birbeck, M., Dubinko, M., Epperson, B., Ishikawa, M., McCarron, S., Navarro, A., and S. Pemberton, &#8220;<a href="http://www.w3.org/TR/xhtml2">XHTML&#8482; 2.0</a>&#8221;, W3C&nbsp;WD-xhtml2-20060726, July&nbsp;2006, &lt;<a href="http://www.w3.org/TR/xhtml2">http://www.w3.org/TR/xhtml2</a>&gt;.</td></tr><tr><td class="reference"><b id="XML">[XML]</b></td><td class="top"><a href="mailto:tbray@textuality.com" title="Textuality and Netscape">Bray, T.</a>, <a href="mailto:jeanpa@microsoft.com" title="Microsoft">Paoli, J.</a>, <a href="mailto:cmsmcq@w3.org" title="W3C">Sperberg-McQueen, C.</a>, <a href="mailto:eve.maler@east.sun.com" title="Sun Microsystems">Maler, E.</a>, and F. Yergeau, &#8220;<a href="http://www.w3.org/TR/2008/REC-xml-20081126/">Extensible Markup Language (XML) 1.0 (Fifth Edition)</a>&#8221;, W3C&nbsp;REC-xml-20081126, November&nbsp;2008, &lt;<a href="http://www.w3.org/TR/2008/REC-xml-20081126/">http://www.w3.org/TR/2008/REC-xml-20081126/</a>&gt;.</td></tr><tr><td class="reference"><b id="XSL-FO">[XSL-FO]</b></td><td class="top"><a href="mailto:alrb@us.ibm.com" title="IBM">Berglund, A.</a>, &#8220;<a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">Extensible Stylesheet Language (XSL) Version 1.1</a>&#8221;, W3C&nbsp;REC-xsl11-20061205, Dec&nbsp;2006, &lt;<a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">http://www.w3.org/TR/2006/REC-xsl11-20061205/</a>&gt;.</td></tr></table><hr class="noprint"><div class="avoidbreak"><h1 id="rfc.authors" class="np"><a href="#rfc.authors">Author's Address</a></h1><address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span><span class="n hidden"><span class="family-name">Reschke</span><span class="given-name">Julian F.</span></span></span><span class="org vcardline">greenbytes GmbH</span><span class="adr"><span class="street-address vcardline">Hafenweg 16</span><span class="vcardline"><span class="locality">Muenster</span>, <span class="region">NW</span>&nbsp;<span class="postal-code">48155</span></span><span class="country-name vcardline">Germany</span></span><span class="vcardline tel">Phone: <a href="tel:+492512807760"><span class="value">+49 251 2807760</span></a></span><span class="vcardline">EMail: <a href="mailto:julian.reschke@greenbytes.de"><span class="email">julian.reschke@greenbytes.de</span></a></span><span class="vcardline">URI: <a href="http://greenbytes.de/tech/webdav/" class="url">http://greenbytes.de/tech/webdav/</a></span></address></div><hr class="noprint"><div id="rfc.iref.g.3"></div><div id="rfc.iref.s.14"></div><div id="rfc.iref.r.24"></div><h1 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a>&nbsp;<a id="grammar" href="#grammar">RELAX NG Compact Schema</a></h1><p id="rfc.section.A.p.1">The RelaxNG schema (<a href="#RNC" id="rfc.xref.RNC.1"><cite title="RELAX NG Compact Syntax">[RNC]</cite></a>) below can be used to validate input documents (for instance, with <a href="http://www.thaiopensource.com/relaxng/jing.html">Jing</a>).</p><p id="rfc.section.A.p.2"> <em>Note that this is work in progress, and doesn't yet cover all extensions completely.</em> </p><div id="rfc.figure.u.25"></div> <pre class="inline"><em># WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.</em>
     493</pre><p id="rfc.section.12.3.p.3">Note that the resulting XML usually requires checking, in this case Amazon's database is playing tricks with Marshall's name...</p><h2 id="rfc.section.12.4"><a href="#rfc.section.12.4">12.4</a>&nbsp;<a id="clean-for-dtd" href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></h2><p id="rfc.section.12.4.p.1"> <samp>clean-for-DTD.xslt</samp> 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).</p><p id="rfc.section.12.4.p.2">The following mappings are done: </p><ul><li>&lt;iref&gt; elements inside &lt;artwork&gt; elements are moved in front of the enclosing &lt;figure&gt; element.</li><li>&lt;xref&gt; elements inside &lt;artwork&gt; are expanded just like in regular text (that is, the markup is stripped, but the element is replaced by the applicable replacement text).</li><li>&lt;x:<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.bcp14" class="smpl">bcp14</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.bb" class="smpl">bb</a>&gt;, &lt;x:<a href="#ext.element.bc" class="smpl">bc</a>&gt; and &lt;x:<a href="#ext.element.bt" class="smpl">bt</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.blockquote" class="smpl">blockquote</a>&gt; elements get converted to indented text (through a &lt;list&gt; element).</li><li>&lt;x:<a href="#ext.element.dfn" class="smpl">dfn</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.h" class="smpl">h</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.link" class="smpl">link</a>&gt; elements get stripped.</li><li>&lt;x:<a href="#ext.element.lt" class="smpl">lt</a>&gt; elements get collapsed into a single &lt;lt&gt; element with added &lt;vspace&gt; added to simulate paragraph breaks.</li><li>&lt;x:<a href="#ext.element.note" class="smpl">note</a>&gt; elements get converted to indented text (through a &lt;list&gt; element).</li><li>&lt;x:<a href="#ext.element.q" class="smpl">q</a>&gt; elements get stripped, with apostrophes added around the text.</li><li>&lt;x:<a href="#ext.element.prose" class="smpl">prose</a>&gt; elements are transformed into &lt;seriesInfo&gt; elements (which is an abuse of the element and only a workaround until xml2rfc gets a matching extension).</li><li>&lt;x:<a href="#ext.element.ref" class="smpl">ref</a>&gt; elements get replaced by &lt;xref&gt; elements, targetting either the anchor or another anchor with matching &lt;x:<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>&gt; child element.</li></ul><h2 id="rfc.section.12.5"><a href="#rfc.section.12.5">12.5</a>&nbsp;<a id="extract-artwork" href="#extract-artwork">Extracting artwork</a></h2><p id="rfc.section.12.5.p.1">With <samp>extract-artwork.xslt</samp>, 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).</p><div id="rfc.figure.u.22"></div><p>For instance:</p><pre class="text">saxon rfc3986.xml extract-artwork.xslt name=uri.abnf
     494</pre><p id="rfc.section.12.5.p.3">In addition, artwork of a specific type can be extracted, such as with:</p><div id="rfc.figure.u.23"></div><pre class="text">saxon rfc3986.xml extract-artwork.xslt type=abnf
     495</pre><p id="rfc.section.12.5.p.5">When extracting by type, artwork elements with a specified name can be excluded; this can be handy when the document uses some kind of schema language, and an appendix contains the collected schema, repeating definitions from earlier on. Example:</p><div id="rfc.figure.u.24"></div><pre class="text">saxon rfc3986.xml extract-artwork.xslt type=abnf except-name=clschm
     496</pre><h2 id="rfc.section.12.6"><a href="#rfc.section.12.6">12.6</a>&nbsp;<a id="grddl" href="#grddl">GRRDL</a></h2><p id="rfc.section.12.6.p.1"> <samp>rfc2629grddl.xslt</samp> extracts RDF information. This is experimental work-in-progress. See &lt;<a href="http://www.w3.org/TR/grddl/">http://www.w3.org/TR/grddl/</a>&gt; for more information.</p><h1 class="np" id="rfc.references"><a href="#rfc.section.13" id="rfc.section.13">13.</a> Informative References</h1><table><tr><td class="reference"><b id="BCP97">[BCP97]</b></td><td class="top"><a href="mailto:klensin+ietf@jck.com">Klensin, J.</a> and <a href="mailto:hartmans-ietf@mit.edu" title="MIT">S. Hartman</a>, &#8220;<a href="http://tools.ietf.org/html/rfc4897">Handling Normative References to Standards-Track Documents</a>&#8221;, BCP&nbsp;97, RFC&nbsp;4897, June&nbsp;2007.</td></tr><tr><td class="reference"><b id="DC-HTML">[DC-HTML]</b></td><td class="top"><a href="mailto:pete.johnston@eduserv.org.uk" title="Eduserv Foundation">Johnston, P.</a> and <a href="mailto:andy.powell@eduserv.org.uk" title="Eduserv Foundation">A. Powell</a>, &#8220;<a href="http://dublincore.org/documents/2008/08/04/dc-html/">Expressing Dublin Core metadata using HTML/XHTML meta and link elements</a>&#8221;, Dublin Core Metadata Initiative, August&nbsp;2008, &lt;<a href="http://dublincore.org/documents/2008/08/04/dc-html/">http://dublincore.org/documents/2008/08/04/dc-html/</a>&gt;.</td></tr><tr><td class="reference"><b id="HTML">[HTML]</b></td><td class="top"><a href="mailto:dsr@w3.org" title="W3C">Raggett, D.</a>, Hors, A., and I. Jacobs, &#8220;<a href="http://www.w3.org/TR/html401/">HTML 4.01 Specification</a>&#8221;, W3C&nbsp;REC-html401-19991224, December&nbsp;1999, &lt;<a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a>&gt;.</td></tr><tr><td class="reference"><b id="RFC2026">[RFC2026]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2026">The Internet Standards Process -- Revision 3</a>&#8221;, BCP&nbsp;9, RFC&nbsp;2026, October&nbsp;1996.</td></tr><tr><td class="reference"><b id="RFC2119">[RFC2119]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>&#8221;, BCP&nbsp;14, RFC&nbsp;2119, March&nbsp;1997.</td></tr><tr><td class="reference"><b id="RFC2616">[RFC2616]</b></td><td class="top"><a href="mailto:fielding@ics.uci.edu" title="University of California, Irvine, Information and Computer Science">Fielding, R.</a>, <a href="mailto:jg@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">Gettys, J.</a>, <a href="mailto:mogul@wrl.dec.com" title="Compaq Computer Corporation, Western Research Laboratory">Mogul, J.</a>, <a href="mailto:frystyk@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">Nielsen, H.</a>, <a href="mailto:masinter@parc.xerox.com" title="Xerox Corporation">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, and <a href="mailto:timbl@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">T. Berners-Lee</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>&#8221;, RFC&nbsp;2616, June&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC2629">[RFC2629]</b></td><td class="top"><a href="mailto:mrose@not.invisible.net" title="Invisible Worlds, Inc.">Rose, M.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2629">Writing I-Ds and RFCs using XML</a>&#8221;, RFC&nbsp;2629, June&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC2648">[RFC2648]</b></td><td class="top"><a href="mailto:jayhawk@att.com" title="AT&amp;T">Moats, R.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2648">A URN Namespace for IETF Documents</a>&#8221;, RFC&nbsp;2648, August&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC2731">[RFC2731]</b></td><td class="top"><a href="mailto:jak@ckm.ucsf.edu" title="University of California, San Francisco,  Center for Knowledge Management">Kunze, J.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2731">Encoding Dublin Core Metadata in HTML</a>&#8221;, RFC&nbsp;2731, December&nbsp;1999.</td></tr><tr><td class="reference"><b id="RFC5234">[RFC5234]</b></td><td class="top"><a href="mailto:dcrocker@bbiw.net" title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a href="mailto:paul.overell@thus.net" title="THUS plc.">P. Overell</a>, &#8220;<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>&#8221;, STD&nbsp;68, RFC&nbsp;5234, January&nbsp;2008.</td></tr><tr><td class="reference"><b id="RFC5741">[RFC5741]</b></td><td class="top">Daigle, L. and O. Kolkman, &#8220;<a href="http://tools.ietf.org/html/rfc5741">RFC Streams, Headers, and Boilerplates</a>&#8221;, RFC&nbsp;5741, December&nbsp;2009.</td></tr><tr><td class="reference"><b id="RNC">[RNC]</b></td><td class="top"><a href="mailto:jjc@jclark.com">Clark, J.</a>, &#8220;<a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">RELAX NG Compact Syntax</a>&#8221;, OASIS, Nov&nbsp;2002, &lt;<a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">http://www.oasis-open.org/committees/relax-ng/compact-20021121.html</a>&gt;.</td></tr><tr><td class="reference"><b id="XHTML2">[XHTML2]</b></td><td class="top">Axelsson, J., Birbeck, M., Dubinko, M., Epperson, B., Ishikawa, M., McCarron, S., Navarro, A., and S. Pemberton, &#8220;<a href="http://www.w3.org/TR/xhtml2">XHTML&#8482; 2.0</a>&#8221;, W3C&nbsp;WD-xhtml2-20060726, July&nbsp;2006, &lt;<a href="http://www.w3.org/TR/xhtml2">http://www.w3.org/TR/xhtml2</a>&gt;.</td></tr><tr><td class="reference"><b id="XML">[XML]</b></td><td class="top"><a href="mailto:tbray@textuality.com" title="Textuality and Netscape">Bray, T.</a>, <a href="mailto:jeanpa@microsoft.com" title="Microsoft">Paoli, J.</a>, <a href="mailto:cmsmcq@w3.org" title="W3C">Sperberg-McQueen, C.</a>, <a href="mailto:eve.maler@east.sun.com" title="Sun Microsystems">Maler, E.</a>, and F. Yergeau, &#8220;<a href="http://www.w3.org/TR/2008/REC-xml-20081126/">Extensible Markup Language (XML) 1.0 (Fifth Edition)</a>&#8221;, W3C&nbsp;REC-xml-20081126, November&nbsp;2008, &lt;<a href="http://www.w3.org/TR/2008/REC-xml-20081126/">http://www.w3.org/TR/2008/REC-xml-20081126/</a>&gt;.</td></tr><tr><td class="reference"><b id="XSL-FO">[XSL-FO]</b></td><td class="top"><a href="mailto:alrb@us.ibm.com" title="IBM">Berglund, A.</a>, &#8220;<a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">Extensible Stylesheet Language (XSL) Version 1.1</a>&#8221;, W3C&nbsp;REC-xsl11-20061205, Dec&nbsp;2006, &lt;<a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">http://www.w3.org/TR/2006/REC-xsl11-20061205/</a>&gt;.</td></tr></table><hr class="noprint"><div class="avoidbreak"><h1 id="rfc.authors" class="np"><a href="#rfc.authors">Author's Address</a></h1><address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span><span class="n hidden"><span class="family-name">Reschke</span><span class="given-name">Julian F.</span></span></span><span class="org vcardline">greenbytes GmbH</span><span class="adr"><span class="street-address vcardline">Hafenweg 16</span><span class="vcardline"><span class="locality">Muenster</span>, <span class="region">NW</span>&nbsp;<span class="postal-code">48155</span></span><span class="country-name vcardline">Germany</span></span><span class="vcardline tel">Phone: <a href="tel:+492512807760"><span class="value">+49 251 2807760</span></a></span><span class="vcardline">EMail: <a href="mailto:julian.reschke@greenbytes.de"><span class="email">julian.reschke@greenbytes.de</span></a></span><span class="vcardline">URI: <a href="http://greenbytes.de/tech/webdav/" class="url">http://greenbytes.de/tech/webdav/</a></span></address></div><hr class="noprint"><div id="rfc.iref.g.3"></div><div id="rfc.iref.s.14"></div><div id="rfc.iref.r.24"></div><h1 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a>&nbsp;<a id="grammar" href="#grammar">RELAX NG Compact Schema</a></h1><p id="rfc.section.A.p.1">The RelaxNG schema (<a href="#RNC" id="rfc.xref.RNC.1"><cite title="RELAX NG Compact Syntax">[RNC]</cite></a>) below can be used to validate input documents (for instance, with <a href="http://www.thaiopensource.com/relaxng/jing.html">Jing</a>).</p><p id="rfc.section.A.p.2"> <em>Note that this is work in progress, and doesn't yet cover all extensions completely.</em> </p><div id="rfc.figure.u.25"></div><pre class="inline"><em># WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.</em>
    497497
    498498<em># Define our extension namespace</em>
     
    978978  &lt;!ENTITY mydraft PUBLIC "reference.mydraft.xml"&gt;
    979979]&gt;
    980 </pre>  <p>Note: including entities from a remote site will not work in Firefox, see &lt;<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=22942">https://bugzilla.mozilla.org/show_bug.cgi?id=22942</a>&gt;.</p> <h2 id="rfc.section.C.2"><a href="#rfc.section.C.2">C.2</a>&nbsp;<a id="examples.customizing" href="#examples.customizing">Customization</a></h2><p id="rfc.section.C.2.p.1">The XSLT code can be customized by creating a custom XSLT file that uses &lt;xsl:import&gt; to include the original code, and just overrides particular rules.</p><div id="rfc.figure.u.27"></div> <p>For instance, the code below overrides several attributes in <samp>rfc2629toFO.xslt</samp>, changing the color, spacing and font family for headers.</p>  <pre class="text">&lt;xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     980</pre><p>Note: including entities from a remote site will not work in Firefox, see &lt;<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=22942">https://bugzilla.mozilla.org/show_bug.cgi?id=22942</a>&gt;.</p><h2 id="rfc.section.C.2"><a href="#rfc.section.C.2">C.2</a>&nbsp;<a id="examples.customizing" href="#examples.customizing">Customization</a></h2><p id="rfc.section.C.2.p.1">The XSLT code can be customized by creating a custom XSLT file that uses &lt;xsl:import&gt; to include the original code, and just overrides particular rules.</p><div id="rfc.figure.u.27"></div><p>For instance, the code below overrides several attributes in <samp>rfc2629toFO.xslt</samp>, changing the color, spacing and font family for headers.</p><pre class="text">&lt;xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    981981               version="1.0"&gt;
    982982
  • rfc2629xslt/samples/rfc2629.xslt

    r2218 r2232  
    4747                >
    4848
    49 <xsl:strip-space elements="back front list middle rfc section"/>               
     49<xsl:strip-space elements="back figure front list middle reference references rfc section"/>               
    5050               
    5151<xsl:output method="html" encoding="iso-8859-1" version="4.0" doctype-public="-//W3C//DTD HTML 4.01//EN" indent="no"/>
     
    10101010<!-- this is a named template because <back> may be absent -->
    10111011<xsl:template name="back">
     1012  <xsl:call-template name="check-no-text-content"/>
    10121013
    10131014  <!-- add editorial comments -->
     
    10651066
    10661067<xsl:template match="figure">
     1068  <xsl:call-template name="check-no-text-content"/>
    10671069  <xsl:if test="@anchor!=''">
    10681070    <xsl:call-template name="check-anchor"/>
     
    10811083
    10821084<xsl:template match="front">
     1085  <xsl:call-template name="check-no-text-content"/>
    10831086  <xsl:if test="$xml2rfc-topblock!='no'">
    10841087    <!-- collect information for left column -->
     
    13021305
    13031306<xsl:template match="list[@style='empty' or not(@style)]">
     1307  <xsl:call-template name="check-no-text-content"/>
    13041308  <ul class="empty">
    13051309    <xsl:call-template name="insertInsDelClass"/>
     
    13091313
    13101314<xsl:template match="list[starts-with(@style,'format ')]">
     1315  <xsl:call-template name="check-no-text-content"/>
    13111316  <dl>
    13121317    <xsl:call-template name="insertInsDelClass"/>
     
    13161321
    13171322<xsl:template match="list[@style='hanging']">
     1323  <xsl:call-template name="check-no-text-content"/>
    13181324  <dl>
    13191325    <xsl:call-template name="insertInsDelClass"/>
     
    13231329
    13241330<xsl:template match="list[@style='numbers']">
     1331  <xsl:call-template name="check-no-text-content"/>
    13251332  <ol>
    13261333    <xsl:call-template name="insertInsDelClass"/>
     
    13311338<!-- numbered list inside numbered list -->
    13321339<xsl:template match="list[@style='numbers']/t/list[@style='numbers']" priority="9">
     1340  <xsl:call-template name="check-no-text-content"/>
    13331341  <ol class="la">
    13341342    <xsl:call-template name="insertInsDelClass"/>
     
    13381346
    13391347<xsl:template match="list[@style='letters']">
     1348  <xsl:call-template name="check-no-text-content"/>
    13401349  <ol class="la">
    13411350    <xsl:call-template name="insertInsDelClass"/>
     
    13531362   
    13541363<xsl:template match="list[@style='symbols']">
     1364  <xsl:call-template name="check-no-text-content"/>
    13551365  <ul>
    13561366    <xsl:call-template name="insertInsDelClass"/>
     
    16071617
    16081618<xsl:template match="reference">
     1619  <xsl:call-template name="check-no-text-content"/>
    16091620
    16101621  <!-- check for reference to reference -->
     
    18301841
    18311842<xsl:template match="references">
     1843  <xsl:call-template name="check-no-text-content"/>
    18321844
    18331845  <xsl:variable name="name">
     
    19111923
    19121924<xsl:template match="rfc">
    1913  
     1925  <xsl:call-template name="check-no-text-content"/>
    19141926  <xsl:variable name="ignored">
    19151927    <xsl:call-template name="parse-pis">
     
    21712183
    21722184<xsl:template match="section|appendix">
     2185  <xsl:call-template name="check-no-text-content"/>
    21732186
    21742187  <xsl:if test="self::appendix">
     
    66406653    <xsl:text>http://greenbytes.de/tech/webdav/rfc2629.xslt, </xsl:text>
    66416654    <!-- when RCS keyword substitution in place, add version info -->
    6642     <xsl:if test="contains('$Revision: 1.593 $',':')">
    6643       <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.593 $', 'Revision: '),'$','')),', ')" />
     6655    <xsl:if test="contains('$Revision: 1.594 $',':')">
     6656      <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.594 $', 'Revision: '),'$','')),', ')" />
    66446657    </xsl:if>
    6645     <xsl:if test="contains('$Date: 2013/03/13 16:48:21 $',':')">
    6646       <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2013/03/13 16:48:21 $', 'Date: '),'$','')),', ')" />
     6658    <xsl:if test="contains('$Date: 2013/04/30 16:11:28 $',':')">
     6659      <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2013/04/30 16:11:28 $', 'Date: '),'$','')),', ')" />
    66476660    </xsl:if>
    66486661    <xsl:value-of select="concat('XSLT vendor: ',system-property('xsl:vendor'),' ',system-property('xsl:vendor-url'))" />
     
    74047417</xsl:template>
    74057418
     7419<xsl:template name="check-no-text-content">
     7420  <xsl:if test="text()!=''">
     7421    <xsl:call-template name="warning">
     7422      <xsl:with-param name="msg">No text content allowed inside &lt;<xsl:value-of select="name(.)"/>&gt;, but found: <xsl:value-of select="text()"/></xsl:with-param>
     7423    </xsl:call-template>
     7424  </xsl:if>
     7425</xsl:template>
     7426
    74067427<!-- disabled for now because of https://bugzilla.gnome.org/show_bug.cgi?id=677901
    74077428<xsl:function name="exslt:node-set">
  • rfc2629xslt/testcase.html

    r2218 r2232  
    385385    }
    386386}
    387 </style><link rel="Contents" href="#rfc.toc"><link rel="Author" href="#rfc.authors"><link rel="Index" href="#rfc.index"><link rel="Chapter" title="1 Lists" href="#rfc.section.1"><link rel="Chapter" title="2 spanx" href="#rfc.section.2"><link rel="Chapter" title="3 Tables" href="#rfc.section.3"><link rel="Chapter" title="4 Figures" href="#rfc.section.4"><link rel="Chapter" title="5 References" href="#rfc.section.5"><link rel="Chapter" title="6 Paragraph formatting" href="#rfc.section.6"><link rel="Chapter" title="7 Sections" href="#rfc.section.7"><link rel="Chapter" title="8 Comments" href="#rfc.section.8"><link rel="Chapter" title="9 Artwork Width" href="#rfc.section.9"><link rel="Chapter" title="10 Extensions" href="#rfc.section.10"><link rel="Chapter" title="11 Blank Lines" href="#rfc.section.11"><link rel="Chapter" title="12 Other" href="#rfc.section.12"><link rel="Chapter" href="#rfc.section.13" title="13 References"><meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.593, 2013/03/13 16:48:21, XSLT vendor: SAXON 6.5.5 from Michael Kay http://saxon.sf.net/"><meta name="keywords" content="RFC2629, test case, xml2rfc"><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 test cases</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">January 2011</td></tr></tbody></table><p class="title">Test cases for RFC2629 formatting</p><hr class="noprint"><h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1><ul class="toc"><li><a href="#rfc.section.1">1.</a>&nbsp;&nbsp;&nbsp;<a href="#lists">Lists</a><ul><li><a href="#rfc.section.1.1">1.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.1">hanging list</a></li><li><a href="#rfc.section.1.2">1.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.2">numbered list</a></li><li><a href="#rfc.section.1.3">1.3</a>&nbsp;&nbsp;&nbsp;<a href="#ordered.list.letters">ordered list (letters)</a></li><li><a href="#rfc.section.1.4">1.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.4">no explicit counters</a></li><li><a href="#rfc.section.1.5">1.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.5">with explicit counters</a></li><li><a href="#rfc.section.1.6">1.6</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.6">Nested list</a></li><li><a href="#rfc.section.1.7">1.7</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.7">list without style</a></li><li><a href="#rfc.section.1.8">1.8</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.8">list with multiple paragraphs in a single list item</a></li></ul></li><li><a href="#rfc.section.2">2.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.2">spanx</a></li><li><a href="#rfc.section.3">3.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3">Tables</a><ul><li><a href="#rfc.section.3.1">3.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.1">no borders</a></li><li><a href="#rfc.section.3.2">3.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.2">borders around headers</a></li><li><a href="#rfc.section.3.3">3.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.3">example from xml2rc README</a></li><li><a href="#rfc.section.3.4">3.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.4">no column titles</a></li><li><a href="#rfc.section.3.5">3.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.5">referencing tables</a></li><li><a href="#rfc.section.3.6">3.6</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.6">table captions</a></li><li><a href="#rfc.section.3.7">3.7</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.7">single column</a></li><li><a href="#rfc.section.3.8">3.8</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.8">table alignment</a></li></ul></li><li><a href="#rfc.section.4">4.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4">Figures</a><ul><li><a href="#rfc.section.4.1">4.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.1">with preamble, no title...</a></li><li><a href="#rfc.section.4.2">4.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.2">with postamble and title...</a></li><li><a href="#rfc.section.4.3">4.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.3">Whitespace handling</a></li><li><a href="#rfc.section.4.4">4.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.4">Whitespace around figures</a></li><li><a href="#rfc.section.4.5">4.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.5">SVG</a></li><li><a href="#rfc.section.4.6">4.6</a>&nbsp;&nbsp;&nbsp;<a href="#code.components">Code Components</a></li></ul></li><li><a href="#rfc.section.5">5.</a>&nbsp;&nbsp;&nbsp;<a href="#refs">References</a><ul><li><a href="#rfc.section.5.1">5.1</a>&nbsp;&nbsp;&nbsp;<a href="#xref.with.no.content">xref with no content</a></li><li><a href="#rfc.section.5.2">5.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.2">xref to named &lt;t&gt; element</a></li><li><a href="#rfc.section.5.3">5.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.3">xref to named &lt;spanx&gt; element</a></li><li><a href="#rfc.section.5.4">5.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.4">xref to named &lt;t&gt; element inside list</a></li><li><a href="#rfc.section.5.5">5.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.5">xref to named &lt;cref&gt; element</a></li><li><a href="#rfc.section.5.6">5.6</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.6">xref to named &lt;t&gt; element inside list</a></li><li><a href="#rfc.section.5.7">5.7</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.7">xref with no auto-formatting</a></li><li><a href="#rfc.section.5.8">5.8</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.8">xref with content and auto-formatting</a></li><li><a href="#rfc.section.5.9">5.9</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.9">xref with content and no formatting</a></li><li><a href="#rfc.section.5.10">5.10</a>&nbsp;&nbsp;&nbsp;<a href="#formatting.none">xref with content and 'none' formatting</a></li><li><a href="#rfc.section.5.11">5.11</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.11">xref with no content and anchor formatting</a></li><li><a href="#rfc.section.5.12">5.12</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.12">eref with no content</a></li><li><a href="#rfc.section.5.13">5.13</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.13">eref with content</a></li><li><a href="#rfc.section.5.14">5.14</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.14">iref inside paragraph</a></li></ul></li><li><a href="#rfc.section.6">6.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6">Paragraph formatting</a></li><li><a href="#rfc.section.7">7.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7">Sections</a><ul><li><a href="#rfc.section.7.1">7.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7.1">Subsection with TOC entry</a></li><li class="excluded"><ul><li><a href="#rfc.section.7.2.1">7.2.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7.2.1">Sub-subsection with TOC entry</a></li></ul></li></ul></li><li><a href="#rfc.section.8">8.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.8">Comments</a></li><li><a href="#rfc.section.9">9.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9">Artwork Width</a></li><li><a href="#rfc.section.10">10.</a>&nbsp;&nbsp;&nbsp;<a href="#extensions">Extensions</a><ul><li><a href="#rfc.section.10.1">10.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.1">Markup in figure/artwork</a></li><li><a href="#rfc.section.10.2">10.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.2">Measuring Lengths</a></li><li><a href="#rfc.section.10.3">10.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.3">Quotations</a></li><li><a href="#rfc.section.10.4">10.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.4">Subsections</a></li><li><a href="#rfc.section.10.5">10.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.5">Box Drawing</a></li><li><a href="#rfc.section.10.6">10.6</a>&nbsp;&nbsp;&nbsp;<a href="#computed.reference.targets">Computed Reference Targets</a></li><li><a href="#rfc.section.10.7">10.7</a>&nbsp;&nbsp;&nbsp;<a href="#abnf.support">ABNF Support</a></li></ul></li><li><a href="#rfc.section.11">11.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.11">Blank Lines</a></li><li><a href="#rfc.section.12">12.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12">Other</a><ul><li><a href="#rfc.section.12.1">12.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.1">Comments in Text</a></li><li><a href="#rfc.section.12.2">12.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.2">Special Characters</a><ul><li><a href="#rfc.section.12.2.1">12.2.1</a>&nbsp;&nbsp;&nbsp;<a href="#nbsp">Non-Breaking Space</a></li><li><a href="#rfc.section.12.2.2">12.2.2</a>&nbsp;&nbsp;&nbsp;<a href="#nbhy">Non-Breaking Hyphen</a></li><li><a href="#rfc.section.12.2.3">12.2.3</a>&nbsp;&nbsp;&nbsp;<a href="#dashes">Dashes</a></li></ul></li></ul></li><li><a href="#rfc.section.13">13.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.references">References</a></li><li><a href="#rfc.comments">Editorial Comments</a></li><li><a href="#rfc.authors">Author's Address</a></li><li><a href="#rfc.index">Index</a></li></ul><ul class="toc"><li>Figures
    388         <ul><li><a href="#rfc.figure.1">Figure 1: another figure</a></li></ul></li></ul><hr class="noprint"><h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a>&nbsp;<a id="lists" href="#lists">Lists</a></h1><h2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a>&nbsp;hanging list</h2><dl><dt>Name:</dt><dd>timeout</dd><dt>Namespace:</dt><dd>DAV:</dd><dt>Purpose:</dt><dd>The timeout associated with a lock</dd><dt>Value:</dt><dd>TimeType ;Defined in section 9.8</dd></dl><h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a>&nbsp;numbered list</h2><p id="rfc.section.1.2.p.1">A numbered list: </p><ol><li>one</li><li>two</li><li>three</li></ol><h2 id="rfc.section.1.3"><a href="#rfc.section.1.3">1.3</a>&nbsp;<a id="ordered.list.letters" href="#ordered.list.letters">ordered list (letters)</a></h2><p id="rfc.section.1.3.p.1">An ordered list using letters: </p><ol class="la"><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li id="ordered.list.letters.last">three</li></ol><h2 id="rfc.section.1.4"><a href="#rfc.section.1.4">1.4</a>&nbsp;no explicit counters</h2><p id="rfc.section.1.4.p.1">Example for numbered list with user-defined-format: </p><dl><dt>R1:</dt><dd>R1</dd><dt>R2:</dt><dd>R2</dd></dl><p id="rfc.section.1.4.p.2">Another list: </p><dl><dt>S1:</dt><dd>S1</dd><dt>S2:</dt><dd>S2</dd></dl><p id="rfc.section.1.4.p.3">Next list should continue counting R's: </p><dl><dt>R3:</dt><dd>R3</dd><dt>R4:</dt><dd>R4</dd></dl><p id="rfc.section.1.4.p.4">Same with character-based numbering: </p><dl><dt>c-a:</dt><dd>c-a</dd><dt>c-b:</dt><dd>c-b</dd></dl><h2 id="rfc.section.1.5"><a href="#rfc.section.1.5">1.5</a>&nbsp;with explicit counters</h2><p id="rfc.section.1.5.p.1">A few requirements: </p><dl><dt>R1:</dt><dd>req R1</dd><dt>R2:</dt><dd>req R2</dd></dl><p id="rfc.section.1.5.p.2">More requirements: </p><dl><dt>R3:</dt><dd>req R3</dd><dt>R4:</dt><dd>req R4</dd></dl><p id="rfc.section.1.5.p.3">A few rules: </p><dl><dt>R1:</dt><dd>rule R1</dd><dt>R2:</dt><dd>rule R2</dd><dt>R3:</dt><dd>rule R3</dd></dl><p id="rfc.section.1.5.p.4">Explicit counter with name matching it's format string: </p><dl><dt>c-c:</dt><dd>c-c</dd><dt>c-d:</dt><dd>c-d</dd></dl><p id="rfc.section.1.5.p.5">Same, without counter: </p><dl><dt>c-e:</dt><dd>c-e</dd><dt>c-f:</dt><dd>c-f</dd></dl><h2 id="rfc.section.1.6"><a href="#rfc.section.1.6">1.6</a>&nbsp;Nested list</h2><p id="rfc.section.1.6.p.1"> </p><ol><li>One</li><li>Two <ol class="ua"><li>17</li><li>42</li></ol> </li><li>Three</li></ol><h2 id="rfc.section.1.7"><a href="#rfc.section.1.7">1.7</a>&nbsp;list without style</h2><ul class="empty"><li>One</li><li>Two</li><li>Three</li></ul><h2 id="rfc.section.1.8"><a href="#rfc.section.1.8">1.8</a>&nbsp;list with multiple paragraphs in a single list item</h2><ol><li><p>Simple list item.</p></li><li><p>This one has two paragraphs. This is the first one.</p><p>This one has two paragraphs. This is the second one.</p></li><li><p>Another simple list item.</p></li></ol><hr class="noprint"><h1 id="rfc.section.2" class="np"><a href="#rfc.section.2">2.</a>&nbsp;spanx</h1><p id="rfc.section.2.p.1">This is <em>default</em>.</p><p id="rfc.section.2.p.2">This is <em>emph(asized)</em>.</p><p id="rfc.section.2.p.3">This is <strong>strong</strong>.</p><p id="rfc.section.2.p.4">This is <samp>verb(atim)</samp>.</p><p id="rfc.section.2.p.5">Here is <samp>a carriage return inside</samp> a spanx element.</p><hr class="noprint"><h1 id="rfc.section.3" class="np"><a href="#rfc.section.3">3.</a>&nbsp;Tables</h1><div id="rfc.table.u.1"><p>The list of valid keywords are:</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th class="right" style="width: 20%;">keyword</th><th class="center" style="width: 20%;">default</th><th class="left">meaning</th><th class="left">not aligned</th></tr></thead><tbody><tr><td class="right">strict</td><td class="center">no</td><td class="left">try to enforce the ID-nits conventions and DTD validity</td><td class="left">a</td></tr><tr><td class="right">iprnotified</td><td class="center">no</td><td class="left">include boilerplate from Section 10.4(d) of <a href="#RFC2026" id="rfc.xref.RFC2026.1"><cite title="The Internet Standards Process -- Revision 3">[RFC2026]</cite></a></td><td class="left">bb bb</td></tr><tr><td class="right">compact</td><td class="center">no</td><td class="left">when producing a txt/nroff file, try to conserve vertical whitespace</td><td class="left">ccc ccc ccc</td></tr><tr><td class="right">subcompact</td><td class="center">compact</td><td class="left">if compact is "yes", then setting this to "no" will make things a little less compact</td><td class="left">dddd dddd dddd dddd</td></tr><tr><td class="right">needLines</td><td class="center">n/a</td><td class="left">an integer hint indicating how many contiguous lines are needed at this point in the output</td><td class="left">eeeee eeeee eeeee eeeee eeeee</td></tr><tr><td class="right">here come empty cells</td><td class="center"></td><td class="left"></td><td class="left"></td></tr></tbody></table><p>Remember, that as with everything else in XML, keywords and values are case-sensitive.</p></div><h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a>&nbsp;no borders</h2><div id="rfc.table.1"><div id="tablenoborder"></div><p>The table below should appear with no borders.</p><table class="tt none center" cellpadding="3" cellspacing="0"><caption>Table 1: a table with no borders</caption><thead><tr><th class="left">C1</th><th class="left">C2</th></tr></thead><tbody><tr><td class="left">11</td><td class="left">12</td></tr><tr><td class="left">21</td><td class="left">22</td></tr></tbody></table></div><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a>&nbsp;borders around headers</h2><div id="rfc.table.u.2"><p>The table below should appear with borders just around the headers.</p><table class="tt headers center" cellpadding="3" cellspacing="0"><thead><tr><th class="left">C1</th><th class="left">C2</th></tr></thead><tbody><tr><td class="left">11</td><td class="left">12</td></tr><tr><td class="left">21</td><td class="left">22</td></tr></tbody></table></div><h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a>&nbsp;example from xml2rc README</h2><div id="rfc.table.2"><div id="table_example"></div><p>So, putting it all together, we have, e.g.,</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 2</caption><thead><tr><th class="center">ttcol #1</th><th class="center">ttcol #2</th></tr></thead><tbody><tr><td class="center">c #1</td><td class="center">c #2</td></tr><tr><td class="center">c #3</td><td class="center">c #4</td></tr><tr><td class="center">c #5</td><td class="center">c #6</td></tr></tbody></table><p>which is a very simple example.</p></div><h2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a>&nbsp;no column titles</h2><div id="rfc.table.3"><div id="tablenotitles"></div><p>The table below should appear with no titles.</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 3: a table with no column titles</caption><tbody><tr><td class="left">11</td><td class="left">12</td></tr><tr><td class="left">21</td><td class="left">22</td></tr></tbody></table></div><div id="rfc.table.4"><div id="tableonetitle"></div><p>The table below should appear with column titles (one being non-empty).</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 4: a table with a single column title</caption><thead><tr><th class="left">FOO</th><th class="left"></th></tr></thead><tbody><tr><td class="left">11</td><td class="left">12</td></tr><tr><td class="left">21</td><td class="left">22</td></tr></tbody></table></div><h2 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a>&nbsp;referencing tables</h2><p id="rfc.section.3.5.p.1"> <a href="#tablenoborder">Table&nbsp;1</a> shows a table with no borders.</p><p id="rfc.section.3.5.p.2"> <a href="#tablenoborder">The table above</a> shows a table with no borders.</p><h2 id="rfc.section.3.6"><a href="#rfc.section.3.6">3.6</a>&nbsp;table captions</h2><div id="rfc.table.u.3"><p>No anchor, no title</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td class="left">-</td><td class="left">-</td></tr></tbody></table></div><div id="rfc.table.5"><div id="texttable1"></div><p>Anchor (not being referenced), no title</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 5</caption><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td class="left">yes</td><td class="left">-</td></tr></tbody></table></div><div id="rfc.table.6"><p>No anchor, with title</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 6: title</caption><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td class="left">-</td><td class="left">"title"</td></tr></tbody></table></div><div id="rfc.table.7"><div id="texttable2"></div><p>Both anchor and title</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 7: title</caption><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td class="left">yes</td><td class="left">"title"</td></tr></tbody></table></div><h2 id="rfc.section.3.7"><a href="#rfc.section.3.7">3.7</a>&nbsp;single column</h2><div id="rfc.table.u.4"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th class="left">title</th></tr></thead><tbody><tr><td class="left">1</td></tr><tr><td class="left">2</td></tr></tbody></table></div><h2 id="rfc.section.3.8"><a href="#rfc.section.3.8">3.8</a>&nbsp;table alignment</h2><div id="rfc.table.u.5"><table class="tt full left" cellpadding="3" cellspacing="0"><thead><tr><th class="left">left</th></tr></thead><tbody><tr><td class="left">1</td></tr></tbody></table></div><div id="rfc.table.u.6"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th class="left">center</th></tr></thead><tbody><tr><td class="left">1</td></tr></tbody></table></div><div id="rfc.table.u.7"><table class="tt full right" cellpadding="3" cellspacing="0"><thead><tr><th class="left">right</th></tr></thead><tbody><tr><td class="left">1</td></tr></tbody></table></div><div id="rfc.table.u.8"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th class="left">default</th></tr></thead><tbody><tr><td class="left">1</td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.4" class="np"><a href="#rfc.section.4">4.</a>&nbsp;Figures</h1><h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a>&nbsp;with preamble, no title...</h2><div id="rfc.figure.u.1"></div> <p>with preamble, no title...</p>  <pre>  +--+
     387</style><link rel="Contents" href="#rfc.toc"><link rel="Author" href="#rfc.authors"><link rel="Index" href="#rfc.index"><link rel="Chapter" title="1 Lists" href="#rfc.section.1"><link rel="Chapter" title="2 spanx" href="#rfc.section.2"><link rel="Chapter" title="3 Tables" href="#rfc.section.3"><link rel="Chapter" title="4 Figures" href="#rfc.section.4"><link rel="Chapter" title="5 References" href="#rfc.section.5"><link rel="Chapter" title="6 Paragraph formatting" href="#rfc.section.6"><link rel="Chapter" title="7 Sections" href="#rfc.section.7"><link rel="Chapter" title="8 Comments" href="#rfc.section.8"><link rel="Chapter" title="9 Artwork Width" href="#rfc.section.9"><link rel="Chapter" title="10 Extensions" href="#rfc.section.10"><link rel="Chapter" title="11 Blank Lines" href="#rfc.section.11"><link rel="Chapter" title="12 Other" href="#rfc.section.12"><link rel="Chapter" href="#rfc.section.13" title="13 References"><meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.594, 2013/04/30 16:11:28, XSLT vendor: SAXON 6.5.5 from Michael Kay http://saxon.sf.net/"><meta name="keywords" content="RFC2629, test case, xml2rfc"><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 test cases</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">January 2011</td></tr></tbody></table><p class="title">Test cases for RFC2629 formatting</p><hr class="noprint"><h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1><ul class="toc"><li><a href="#rfc.section.1">1.</a>&nbsp;&nbsp;&nbsp;<a href="#lists">Lists</a><ul><li><a href="#rfc.section.1.1">1.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.1">hanging list</a></li><li><a href="#rfc.section.1.2">1.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.2">numbered list</a></li><li><a href="#rfc.section.1.3">1.3</a>&nbsp;&nbsp;&nbsp;<a href="#ordered.list.letters">ordered list (letters)</a></li><li><a href="#rfc.section.1.4">1.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.4">no explicit counters</a></li><li><a href="#rfc.section.1.5">1.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.5">with explicit counters</a></li><li><a href="#rfc.section.1.6">1.6</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.6">Nested list</a></li><li><a href="#rfc.section.1.7">1.7</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.7">list without style</a></li><li><a href="#rfc.section.1.8">1.8</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.8">list with multiple paragraphs in a single list item</a></li></ul></li><li><a href="#rfc.section.2">2.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.2">spanx</a></li><li><a href="#rfc.section.3">3.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3">Tables</a><ul><li><a href="#rfc.section.3.1">3.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.1">no borders</a></li><li><a href="#rfc.section.3.2">3.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.2">borders around headers</a></li><li><a href="#rfc.section.3.3">3.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.3">example from xml2rc README</a></li><li><a href="#rfc.section.3.4">3.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.4">no column titles</a></li><li><a href="#rfc.section.3.5">3.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.5">referencing tables</a></li><li><a href="#rfc.section.3.6">3.6</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.6">table captions</a></li><li><a href="#rfc.section.3.7">3.7</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.7">single column</a></li><li><a href="#rfc.section.3.8">3.8</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.8">table alignment</a></li></ul></li><li><a href="#rfc.section.4">4.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4">Figures</a><ul><li><a href="#rfc.section.4.1">4.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.1">with preamble, no title...</a></li><li><a href="#rfc.section.4.2">4.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.2">with postamble and title...</a></li><li><a href="#rfc.section.4.3">4.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.3">Whitespace handling</a></li><li><a href="#rfc.section.4.4">4.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.4">Whitespace around figures</a></li><li><a href="#rfc.section.4.5">4.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.5">SVG</a></li><li><a href="#rfc.section.4.6">4.6</a>&nbsp;&nbsp;&nbsp;<a href="#code.components">Code Components</a></li></ul></li><li><a href="#rfc.section.5">5.</a>&nbsp;&nbsp;&nbsp;<a href="#refs">References</a><ul><li><a href="#rfc.section.5.1">5.1</a>&nbsp;&nbsp;&nbsp;<a href="#xref.with.no.content">xref with no content</a></li><li><a href="#rfc.section.5.2">5.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.2">xref to named &lt;t&gt; element</a></li><li><a href="#rfc.section.5.3">5.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.3">xref to named &lt;spanx&gt; element</a></li><li><a href="#rfc.section.5.4">5.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.4">xref to named &lt;t&gt; element inside list</a></li><li><a href="#rfc.section.5.5">5.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.5">xref to named &lt;cref&gt; element</a></li><li><a href="#rfc.section.5.6">5.6</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.6">xref to named &lt;t&gt; element inside list</a></li><li><a href="#rfc.section.5.7">5.7</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.7">xref with no auto-formatting</a></li><li><a href="#rfc.section.5.8">5.8</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.8">xref with content and auto-formatting</a></li><li><a href="#rfc.section.5.9">5.9</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.9">xref with content and no formatting</a></li><li><a href="#rfc.section.5.10">5.10</a>&nbsp;&nbsp;&nbsp;<a href="#formatting.none">xref with content and 'none' formatting</a></li><li><a href="#rfc.section.5.11">5.11</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.11">xref with no content and anchor formatting</a></li><li><a href="#rfc.section.5.12">5.12</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.12">eref with no content</a></li><li><a href="#rfc.section.5.13">5.13</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.13">eref with content</a></li><li><a href="#rfc.section.5.14">5.14</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.14">iref inside paragraph</a></li></ul></li><li><a href="#rfc.section.6">6.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6">Paragraph formatting</a></li><li><a href="#rfc.section.7">7.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7">Sections</a><ul><li><a href="#rfc.section.7.1">7.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7.1">Subsection with TOC entry</a></li><li class="excluded"><ul><li><a href="#rfc.section.7.2.1">7.2.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7.2.1">Sub-subsection with TOC entry</a></li></ul></li></ul></li><li><a href="#rfc.section.8">8.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.8">Comments</a></li><li><a href="#rfc.section.9">9.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9">Artwork Width</a></li><li><a href="#rfc.section.10">10.</a>&nbsp;&nbsp;&nbsp;<a href="#extensions">Extensions</a><ul><li><a href="#rfc.section.10.1">10.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.1">Markup in figure/artwork</a></li><li><a href="#rfc.section.10.2">10.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.2">Measuring Lengths</a></li><li><a href="#rfc.section.10.3">10.3</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.3">Quotations</a></li><li><a href="#rfc.section.10.4">10.4</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.4">Subsections</a></li><li><a href="#rfc.section.10.5">10.5</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.5">Box Drawing</a></li><li><a href="#rfc.section.10.6">10.6</a>&nbsp;&nbsp;&nbsp;<a href="#computed.reference.targets">Computed Reference Targets</a></li><li><a href="#rfc.section.10.7">10.7</a>&nbsp;&nbsp;&nbsp;<a href="#abnf.support">ABNF Support</a></li></ul></li><li><a href="#rfc.section.11">11.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.11">Blank Lines</a></li><li><a href="#rfc.section.12">12.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12">Other</a><ul><li><a href="#rfc.section.12.1">12.1</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.1">Comments in Text</a></li><li><a href="#rfc.section.12.2">12.2</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.2">Special Characters</a><ul><li><a href="#rfc.section.12.2.1">12.2.1</a>&nbsp;&nbsp;&nbsp;<a href="#nbsp">Non-Breaking Space</a></li><li><a href="#rfc.section.12.2.2">12.2.2</a>&nbsp;&nbsp;&nbsp;<a href="#nbhy">Non-Breaking Hyphen</a></li><li><a href="#rfc.section.12.2.3">12.2.3</a>&nbsp;&nbsp;&nbsp;<a href="#dashes">Dashes</a></li></ul></li></ul></li><li><a href="#rfc.section.13">13.</a>&nbsp;&nbsp;&nbsp;<a href="#rfc.references">References</a></li><li><a href="#rfc.comments">Editorial Comments</a></li><li><a href="#rfc.authors">Author's Address</a></li><li><a href="#rfc.index">Index</a></li></ul><ul class="toc"><li>Figures
     388        <ul><li><a href="#rfc.figure.1">Figure 1: another figure</a></li></ul></li></ul><hr class="noprint"><h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a>&nbsp;<a id="lists" href="#lists">Lists</a></h1><h2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a>&nbsp;hanging list</h2><dl><dt>Name:</dt><dd>timeout</dd><dt>Namespace:</dt><dd>DAV:</dd><dt>Purpose:</dt><dd>The timeout associated with a lock</dd><dt>Value:</dt><dd>TimeType ;Defined in section 9.8</dd></dl><h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a>&nbsp;numbered list</h2><p id="rfc.section.1.2.p.1">A numbered list: </p><ol><li>one</li><li>two</li><li>three</li></ol><h2 id="rfc.section.1.3"><a href="#rfc.section.1.3">1.3</a>&nbsp;<a id="ordered.list.letters" href="#ordered.list.letters">ordered list (letters)</a></h2><p id="rfc.section.1.3.p.1">An ordered list using letters: </p><ol class="la"><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li>three</li><li>one</li><li>two</li><li id="ordered.list.letters.last">three</li></ol><h2 id="rfc.section.1.4"><a href="#rfc.section.1.4">1.4</a>&nbsp;no explicit counters</h2><p id="rfc.section.1.4.p.1">Example for numbered list with user-defined-format: </p><dl><dt>R1:</dt><dd>R1</dd><dt>R2:</dt><dd>R2</dd></dl><p id="rfc.section.1.4.p.2">Another list: </p><dl><dt>S1:</dt><dd>S1</dd><dt>S2:</dt><dd>S2</dd></dl><p id="rfc.section.1.4.p.3">Next list should continue counting R's: </p><dl><dt>R3:</dt><dd>R3</dd><dt>R4:</dt><dd>R4</dd></dl><p id="rfc.section.1.4.p.4">Same with character-based numbering: </p><dl><dt>c-a:</dt><dd>c-a</dd><dt>c-b:</dt><dd>c-b</dd></dl><h2 id="rfc.section.1.5"><a href="#rfc.section.1.5">1.5</a>&nbsp;with explicit counters</h2><p id="rfc.section.1.5.p.1">A few requirements: </p><dl><dt>R1:</dt><dd>req R1</dd><dt>R2:</dt><dd>req R2</dd></dl><p id="rfc.section.1.5.p.2">More requirements: </p><dl><dt>R3:</dt><dd>req R3</dd><dt>R4:</dt><dd>req R4</dd></dl><p id="rfc.section.1.5.p.3">A few rules: </p><dl><dt>R1:</dt><dd>rule R1</dd><dt>R2:</dt><dd>rule R2</dd><dt>R3:</dt><dd>rule R3</dd></dl><p id="rfc.section.1.5.p.4">Explicit counter with name matching it's format string: </p><dl><dt>c-c:</dt><dd>c-c</dd><dt>c-d:</dt><dd>c-d</dd></dl><p id="rfc.section.1.5.p.5">Same, without counter: </p><dl><dt>c-e:</dt><dd>c-e</dd><dt>c-f:</dt><dd>c-f</dd></dl><h2 id="rfc.section.1.6"><a href="#rfc.section.1.6">1.6</a>&nbsp;Nested list</h2><p id="rfc.section.1.6.p.1"> </p><ol><li>One</li><li>Two <ol class="ua"><li>17</li><li>42</li></ol> </li><li>Three</li></ol><h2 id="rfc.section.1.7"><a href="#rfc.section.1.7">1.7</a>&nbsp;list without style</h2><ul class="empty"><li>One</li><li>Two</li><li>Three</li></ul><h2 id="rfc.section.1.8"><a href="#rfc.section.1.8">1.8</a>&nbsp;list with multiple paragraphs in a single list item</h2><ol><li><p>Simple list item.</p></li><li><p>This one has two paragraphs. This is the first one.</p><p>This one has two paragraphs. This is the second one.</p></li><li><p>Another simple list item.</p></li></ol><hr class="noprint"><h1 id="rfc.section.2" class="np"><a href="#rfc.section.2">2.</a>&nbsp;spanx</h1><p id="rfc.section.2.p.1">This is <em>default</em>.</p><p id="rfc.section.2.p.2">This is <em>emph(asized)</em>.</p><p id="rfc.section.2.p.3">This is <strong>strong</strong>.</p><p id="rfc.section.2.p.4">This is <samp>verb(atim)</samp>.</p><p id="rfc.section.2.p.5">Here is <samp>a carriage return inside</samp> a spanx element.</p><hr class="noprint"><h1 id="rfc.section.3" class="np"><a href="#rfc.section.3">3.</a>&nbsp;Tables</h1><div id="rfc.table.u.1"><p>The list of valid keywords are:</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th class="right" style="width: 20%;">keyword</th><th class="center" style="width: 20%;">default</th><th class="left">meaning</th><th class="left">not aligned</th></tr></thead><tbody><tr><td class="right">strict</td><td class="center">no</td><td class="left">try to enforce the ID-nits conventions and DTD validity</td><td class="left">a</td></tr><tr><td class="right">iprnotified</td><td class="center">no</td><td class="left">include boilerplate from Section 10.4(d) of <a href="#RFC2026" id="rfc.xref.RFC2026.1"><cite title="The Internet Standards Process -- Revision 3">[RFC2026]</cite></a></td><td class="left">bb bb</td></tr><tr><td class="right">compact</td><td class="center">no</td><td class="left">when producing a txt/nroff file, try to conserve vertical whitespace</td><td class="left">ccc ccc ccc</td></tr><tr><td class="right">subcompact</td><td class="center">compact</td><td class="left">if compact is "yes", then setting this to "no" will make things a little less compact</td><td class="left">dddd dddd dddd dddd</td></tr><tr><td class="right">needLines</td><td class="center">n/a</td><td class="left">an integer hint indicating how many contiguous lines are needed at this point in the output</td><td class="left">eeeee eeeee eeeee eeeee eeeee</td></tr><tr><td class="right">here come empty cells</td><td class="center"></td><td class="left"></td><td class="left"></td></tr></tbody></table><p>Remember, that as with everything else in XML, keywords and values are case-sensitive.</p></div><h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a>&nbsp;no borders</h2><div id="rfc.table.1"><div id="tablenoborder"></div><p>The table below should appear with no borders.</p><table class="tt none center" cellpadding="3" cellspacing="0"><caption>Table 1: a table with no borders</caption><thead><tr><th class="left">C1</th><th class="left">C2</th></tr></thead><tbody><tr><td class="left">11</td><td class="left">12</td></tr><tr><td class="left">21</td><td class="left">22</td></tr></tbody></table></div><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a>&nbsp;borders around headers</h2><div id="rfc.table.u.2"><p>The table below should appear with borders just around the headers.</p><table class="tt headers center" cellpadding="3" cellspacing="0"><thead><tr><th class="left">C1</th><th class="left">C2</th></tr></thead><tbody><tr><td class="left">11</td><td class="left">12</td></tr><tr><td class="left">21</td><td class="left">22</td></tr></tbody></table></div><h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a>&nbsp;example from xml2rc README</h2><div id="rfc.table.2"><div id="table_example"></div><p>So, putting it all together, we have, e.g.,</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 2</caption><thead><tr><th class="center">ttcol #1</th><th class="center">ttcol #2</th></tr></thead><tbody><tr><td class="center">c #1</td><td class="center">c #2</td></tr><tr><td class="center">c #3</td><td class="center">c #4</td></tr><tr><td class="center">c #5</td><td class="center">c #6</td></tr></tbody></table><p>which is a very simple example.</p></div><h2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a>&nbsp;no column titles</h2><div id="rfc.table.3"><div id="tablenotitles"></div><p>The table below should appear with no titles.</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 3: a table with no column titles</caption><tbody><tr><td class="left">11</td><td class="left">12</td></tr><tr><td class="left">21</td><td class="left">22</td></tr></tbody></table></div><div id="rfc.table.4"><div id="tableonetitle"></div><p>The table below should appear with column titles (one being non-empty).</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 4: a table with a single column title</caption><thead><tr><th class="left">FOO</th><th class="left"></th></tr></thead><tbody><tr><td class="left">11</td><td class="left">12</td></tr><tr><td class="left">21</td><td class="left">22</td></tr></tbody></table></div><h2 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a>&nbsp;referencing tables</h2><p id="rfc.section.3.5.p.1"> <a href="#tablenoborder">Table&nbsp;1</a> shows a table with no borders.</p><p id="rfc.section.3.5.p.2"> <a href="#tablenoborder">The table above</a> shows a table with no borders.</p><h2 id="rfc.section.3.6"><a href="#rfc.section.3.6">3.6</a>&nbsp;table captions</h2><div id="rfc.table.u.3"><p>No anchor, no title</p><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td class="left">-</td><td class="left">-</td></tr></tbody></table></div><div id="rfc.table.5"><div id="texttable1"></div><p>Anchor (not being referenced), no title</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 5</caption><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td class="left">yes</td><td class="left">-</td></tr></tbody></table></div><div id="rfc.table.6"><p>No anchor, with title</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 6: title</caption><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td class="left">-</td><td class="left">"title"</td></tr></tbody></table></div><div id="rfc.table.7"><div id="texttable2"></div><p>Both anchor and title</p><table class="tt full center" cellpadding="3" cellspacing="0"><caption>Table 7: title</caption><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td class="left">yes</td><td class="left">"title"</td></tr></tbody></table></div><h2 id="rfc.section.3.7"><a href="#rfc.section.3.7">3.7</a>&nbsp;single column</h2><div id="rfc.table.u.4"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th class="left">title</th></tr></thead><tbody><tr><td class="left">1</td></tr><tr><td class="left">2</td></tr></tbody></table></div><h2 id="rfc.section.3.8"><a href="#rfc.section.3.8">3.8</a>&nbsp;table alignment</h2><div id="rfc.table.u.5"><table class="tt full left" cellpadding="3" cellspacing="0"><thead><tr><th class="left">left</th></tr></thead><tbody><tr><td class="left">1</td></tr></tbody></table></div><div id="rfc.table.u.6"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th class="left">center</th></tr></thead><tbody><tr><td class="left">1</td></tr></tbody></table></div><div id="rfc.table.u.7"><table class="tt full right" cellpadding="3" cellspacing="0"><thead><tr><th class="left">right</th></tr></thead><tbody><tr><td class="left">1</td></tr></tbody></table></div><div id="rfc.table.u.8"><table class="tt full center" cellpadding="3" cellspacing="0"><thead><tr><th class="left">default</th></tr></thead><tbody><tr><td class="left">1</td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.4" class="np"><a href="#rfc.section.4">4.</a>&nbsp;Figures</h1><h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a>&nbsp;with preamble, no title...</h2><div id="rfc.figure.u.1"></div><p>with preamble, no title...</p><pre>  +--+
    389389  |  |
    390390  +--+
    391 </pre> <h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a>&nbsp;with postamble and title...</h2><div id="testfig"></div><div id="rfc.figure.1"></div> <pre>  +--+
     391</pre><h2 id="rfc.section.4.2"><a href="#rfc.section.4.2">4.2</a>&nbsp;with postamble and title...</h2><div id="testfig"></div><div id="rfc.figure.1"></div><pre>  +--+
    392392  |  |
    393393  +--+
    394 </pre>  <p>with postamble and title...</p> <p class="figure">Figure 1: another figure</p><p id="rfc.section.4.2.p.2">The figure above has the title "<a href="#testfig">another figure</a>".</p><h2 id="rfc.section.4.3"><a href="#rfc.section.4.3">4.3</a>&nbsp;Whitespace handling</h2><p id="rfc.section.4.3.p.1">Para...</p><div id="rfc.figure.u.2"></div> <p>Leading whitespace</p>  <pre>test test (leading ws)</pre> <p id="rfc.section.4.3.p.3">Para...</p><div id="rfc.figure.u.3"></div> <p>Trailing whitespace</p>  <pre>test test (trailing ws)
    395    </pre> <p id="rfc.section.4.3.p.5">Para...</p><div id="rfc.figure.u.4"></div> <p>No whitespace</p>  <pre>test test (no ws)</pre> <p id="rfc.section.4.3.p.7">Para...</p><h2 id="rfc.section.4.4"><a href="#rfc.section.4.4">4.4</a>&nbsp;Whitespace around figures</h2><p id="rfc.section.4.4.p.1">spacing paragraph</p><div id="rfc.figure.u.5"></div><pre>ART</pre><p id="rfc.section.4.4.p.3">spacing paragraph</p><div id="rfc.figure.u.6"></div><p>preamble, then</p><pre>ART</pre><p id="rfc.section.4.4.p.5">spacing paragraph</p><div id="rfc.figure.u.7"></div><pre>ART</pre><p>then postamble</p><p id="rfc.section.4.4.p.7">spacing paragraph</p><h2 id="rfc.section.4.5"><a href="#rfc.section.4.5">4.5</a>&nbsp;SVG</h2><p id="rfc.section.4.5.p.1">Inclusion of SVG:</p><div id="rfc.figure.u.8"></div><p><object data="testcase.svg" type="image/svg+xml" width="476" height="332">  Fallback content for UAs that do not support SVG.
     394</pre><p>with postamble and title...</p><p class="figure">Figure 1: another figure</p><p id="rfc.section.4.2.p.2">The figure above has the title "<a href="#testfig">another figure</a>".</p><h2 id="rfc.section.4.3"><a href="#rfc.section.4.3">4.3</a>&nbsp;Whitespace handling</h2><p id="rfc.section.4.3.p.1">Para...</p><div id="rfc.figure.u.2"></div><p>Leading whitespace</p><pre>test test (leading ws)</pre><p id="rfc.section.4.3.p.3">Para...</p><div id="rfc.figure.u.3"></div><p>Trailing whitespace</p><pre>test test (trailing ws)
     395   </pre><p id="rfc.section.4.3.p.5">Para...</p><div id="rfc.figure.u.4"></div><p>No whitespace</p><pre>test test (no ws)</pre><p id="rfc.section.4.3.p.7">Para...</p><h2 id="rfc.section.4.4"><a href="#rfc.section.4.4">4.4</a>&nbsp;Whitespace around figures</h2><p id="rfc.section.4.4.p.1">spacing paragraph</p><div id="rfc.figure.u.5"></div><pre>ART</pre><p id="rfc.section.4.4.p.3">spacing paragraph</p><div id="rfc.figure.u.6"></div><p>preamble, then</p><pre>ART</pre><p id="rfc.section.4.4.p.5">spacing paragraph</p><div id="rfc.figure.u.7"></div><pre>ART</pre><p>then postamble</p><p id="rfc.section.4.4.p.7">spacing paragraph</p><h2 id="rfc.section.4.5"><a href="#rfc.section.4.5">4.5</a>&nbsp;SVG</h2><p id="rfc.section.4.5.p.1">Inclusion of SVG:</p><div id="rfc.figure.u.8"></div><p><object data="testcase.svg" type="image/svg+xml" width="476" height="332">  Fallback content for UAs that do not support SVG.
    396396</object></p><h2 id="rfc.section.4.6"><a href="#rfc.section.4.6">4.6</a>&nbsp;<a id="code.components" href="#code.components">Code Components</a></h2><p id="rfc.section.4.6.p.1">Marking up Code Components according to the <a href="http://trustee.ietf.org/docs/IETF-Trust-License-Policy.pdf">Legal Provisions Relating to IETF Documents</a>:</p><div id="rfc.figure.u.9"></div><pre class="ccmarker cct"><span>&lt;CODE BEGINS&gt;</span></pre><pre class="text">int main(int argc, char **argv) {
    397397  return -1;
    398398}
    399 </pre><pre class="ccmarker ccb"><span>&lt;CODE ENDS&gt;</span></pre><hr class="noprint"><h1 id="rfc.section.5" class="np"><a href="#rfc.section.5">5.</a>&nbsp;<a id="refs" href="#refs">References</a></h1><h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a>&nbsp;<a id="xref.with.no.content" href="#xref.with.no.content">xref with no content</a></h2><div id="xref.with.no.content.first.sentence"><p id="rfc.section.5.1.p.1"> <a href="#refs" title="References">Section&nbsp;5</a> is the parent section.</p></div><h2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a>&nbsp;xref to named &lt;t&gt; element</h2><p id="rfc.section.5.2.p.1">With content: see <a href="#xref.with.no.content.first.sentence" id="rfc.xref.xref.with.no.content.first.sentence.1">first sentence</a> of previous section.</p><p id="rfc.section.5.2.p.2">Without content: see <a href="#xref.with.no.content.first.sentence">Paragraph&nbsp;1</a>.</p><h2 id="rfc.section.5.3"><a href="#rfc.section.5.3">5.3</a>&nbsp;xref to named &lt;spanx&gt; element</h2><p id="rfc.section.5.3.p.1"> <em id="spanx.anchor">With content</em>: see <a href="#spanx.anchor" id="rfc.xref.spanx.anchor.1">this sentence</a>.</p><h2 id="rfc.section.5.4"><a href="#rfc.section.5.4">5.4</a>&nbsp;xref to named &lt;t&gt; element inside list</h2><p id="rfc.section.5.4.p.1">With content: see <a href="#listelement.anchor" id="rfc.xref.listelement.anchor.1">first element in list below</a>.</p><p id="rfc.section.5.4.p.2"> </p><dl><dt id="listelement.anchor">test</dt><dd>Test</dd></dl><h2 id="rfc.section.5.5"><a href="#rfc.section.5.5">5.5</a>&nbsp;xref to named &lt;cref&gt; element</h2><p id="rfc.section.5.5.p.1">With content: see <a href="#comment-test" id="rfc.xref.comment-test.1">test comment</a>.</p><p id="rfc.section.5.5.p.2">Without content: see <a href="#comment-test">Comment&nbsp;comment-test</a>.</p><h2 id="rfc.section.5.6"><a href="#rfc.section.5.6">5.6</a>&nbsp;xref to named &lt;t&gt; element inside list</h2><p id="rfc.section.5.6.p.1">See <a href="#ordered.list.letters.last" id="rfc.xref.ordered.list.letters.last.1">last entry</a> in <a href="#ordered.list.letters" title="ordered list (letters)">Section&nbsp;1.3</a>.</p><h2 id="rfc.section.5.7"><a href="#rfc.section.5.7">5.7</a>&nbsp;xref with no auto-formatting</h2><p id="rfc.section.5.7.p.1">So far we have sections <a href="#lists" title="Lists">1</a> ("<a href="#lists" title="Lists">Lists</a>") through <a href="#refs" title="References">5</a> ("<a href="#refs" title="References">References</a>").</p><h2 id="rfc.section.5.8"><a href="#rfc.section.5.8">5.8</a>&nbsp;xref with content and auto-formatting</h2><p id="rfc.section.5.8.p.1">This is a subsection of References (<a href="#refs" title="References">Section&nbsp;5</a>).</p><h2 id="rfc.section.5.9"><a href="#rfc.section.5.9">5.9</a>&nbsp;xref with content and no formatting</h2><p id="rfc.section.5.9.p.1">This is a subsection of References. Here we are referring to <cite title="The Internet Standards Process -- Revision 3" id="rfc.xref.RFC2026.2">RFC 2026</cite>, without emitting extra formatting.</p><h2 id="rfc.section.5.10"><a href="#rfc.section.5.10">5.10</a>&nbsp;<a id="formatting.none" href="#formatting.none">xref with content and 'none' formatting</a></h2><p id="rfc.section.5.10.p.1">Here we are referring to <a href="#RFC2026" id="rfc.xref.RFC2026.3">RFC 2026</a>, without emitting extra formatting.</p><p id="rfc.section.5.10.p.2">Here we are referring to <a href="#formatting.none">this Section</a>, without emitting extra formatting.</p><h2 id="rfc.section.5.11"><a href="#rfc.section.5.11">5.11</a>&nbsp;xref with no content and anchor formatting</h2><p id="rfc.section.5.11.p.1">See [<a href="#RFC2026" id="rfc.xref.RFC2026.4"><cite title="The Internet Standards Process -- Revision 3">RFC2026</cite></a>, <a href="#RFC2396" id="rfc.xref.RFC2396.1"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">RFC2396</cite></a>].</p><h2 id="rfc.section.5.12"><a href="#rfc.section.5.12">5.12</a>&nbsp;eref with no content</h2><p id="rfc.section.5.12.p.1">See also &lt;<a href="http://greenbytes.de/tech/webdav">http://greenbytes.de/tech/webdav</a>&gt;. Here's another one that is quite long: &lt;<a href="http://greenbytes.de/tech/webdav/draft-reschke-rfc3744bis-issues.html#5.7_inherited-acl-set-protected">http://greenbytes.de/tech/webdav/draft-reschke-rfc3744bis-issues.html#5.7_inherited-acl-set-protected</a>&gt;. Does it break properly?</p><h2 id="rfc.section.5.13"><a href="#rfc.section.5.13">5.13</a>&nbsp;eref with content</h2><p id="rfc.section.5.13.p.1">See also <a href="http://greenbytes.de/tech/webdav">greenbytes WebDAV resources</a>.</p><h2 id="rfc.section.5.14"><a href="#rfc.section.5.14">5.14</a>&nbsp;iref inside paragraph</h2><p id="rfc.section.5.14.p.1">This paragraph contains an <span id="rfc.iref.i.1"></span>inline iref.</p><hr class="noprint"><h1 id="rfc.section.6" class="np"><a href="#rfc.section.6">6.</a>&nbsp;Paragraph formatting</h1><p id="rfc.section.6.p.1">This is the first sentence of the paragraph. This is the second sentence of the paragraph (with two leading blanks). Here's another sentence that was started on a separate line in the input file.</p><p id="rfc.section.6.p.2">This is the second paragraph.</p><hr class="noprint"><h1 id="rfc.section.7" class="np"><a href="#rfc.section.7">7.</a>&nbsp;Sections</h1><h2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a>&nbsp;Subsection with TOC entry</h2><h2 id="rfc.section.7.2"><a href="#rfc.section.7.2">7.2</a>&nbsp;Subsection without TOC entry</h2><h3 id="rfc.section.7.2.1"><a href="#rfc.section.7.2.1">7.2.1</a>&nbsp;Sub-subsection with TOC entry</h3><hr class="noprint"><h1 id="rfc.section.8" class="np"><a href="#rfc.section.8">8.</a>&nbsp;Comments</h1><p id="rfc.section.8.p.1">This line contains a few comments. <span class="comment" title="JRE: No anchor, source given.">[<a href="#comment-test">comment-test</a>]</span> This line contains a few comments. <span class="comment" title="Anchor given, no source.">[<a href="#comment1">comment1</a>]</span> This line contains a few comments. <span class="comment" title="JRE: Both specified.">[<a href="#comment2">comment2</a>]</span> This line contains a few comments. <span class="comment" title="No anchor, no source.">[<a href="#rfc.comment.1">rfc.comment.1</a>]</span> This line contains a few comments. <span class="comment" title="No anchor, no source, but embedded markup: <http://xml.resource.org&gt;.">[<a href="#rfc.comment.2">rfc.comment.2</a>]</span> This line contains a few comments.</p><hr class="noprint"><h1 id="rfc.section.9" class="np"><a href="#rfc.section.9">9.</a>&nbsp;Artwork Width</h1><div id="rfc.figure.u.10"></div> <p>This should fit (69 characters plus three spaces of indentation in text output).</p>  <pre>012345678901234567890123456789012345678901234567890123456789012345678
    400 </pre> <div id="rfc.figure.u.11"></div> <p>This shouldn't.</p>  <pre>0123456789012345678901234567890123456789012345678901234567890123456789
    401 </pre> <div id="rfc.figure.u.12"></div><pre>(IN TEXT OUTPUT INDENTED BY 10)
     399</pre><pre class="ccmarker ccb"><span>&lt;CODE ENDS&gt;</span></pre><hr class="noprint"><h1 id="rfc.section.5" class="np"><a href="#rfc.section.5">5.</a>&nbsp;<a id="refs" href="#refs">References</a></h1><h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a>&nbsp;<a id="xref.with.no.content" href="#xref.with.no.content">xref with no content</a></h2><div id="xref.with.no.content.first.sentence"><p id="rfc.section.5.1.p.1"> <a href="#refs" title="References">Section&nbsp;5</a> is the parent section.</p></div><h2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a>&nbsp;xref to named &lt;t&gt; element</h2><p id="rfc.section.5.2.p.1">With content: see <a href="#xref.with.no.content.first.sentence" id="rfc.xref.xref.with.no.content.first.sentence.1">first sentence</a> of previous section.</p><p id="rfc.section.5.2.p.2">Without content: see <a href="#xref.with.no.content.first.sentence">Paragraph&nbsp;1</a>.</p><h2 id="rfc.section.5.3"><a href="#rfc.section.5.3">5.3</a>&nbsp;xref to named &lt;spanx&gt; element</h2><p id="rfc.section.5.3.p.1"> <em id="spanx.anchor">With content</em>: see <a href="#spanx.anchor" id="rfc.xref.spanx.anchor.1">this sentence</a>.</p><h2 id="rfc.section.5.4"><a href="#rfc.section.5.4">5.4</a>&nbsp;xref to named &lt;t&gt; element inside list</h2><p id="rfc.section.5.4.p.1">With content: see <a href="#listelement.anchor" id="rfc.xref.listelement.anchor.1">first element in list below</a>.</p><p id="rfc.section.5.4.p.2"> </p><dl><dt id="listelement.anchor">test</dt><dd>Test</dd></dl><h2 id="rfc.section.5.5"><a href="#rfc.section.5.5">5.5</a>&nbsp;xref to named &lt;cref&gt; element</h2><p id="rfc.section.5.5.p.1">With content: see <a href="#comment-test" id="rfc.xref.comment-test.1">test comment</a>.</p><p id="rfc.section.5.5.p.2">Without content: see <a href="#comment-test">Comment&nbsp;comment-test</a>.</p><h2 id="rfc.section.5.6"><a href="#rfc.section.5.6">5.6</a>&nbsp;xref to named &lt;t&gt; element inside list</h2><p id="rfc.section.5.6.p.1">See <a href="#ordered.list.letters.last" id="rfc.xref.ordered.list.letters.last.1">last entry</a> in <a href="#ordered.list.letters" title="ordered list (letters)">Section&nbsp;1.3</a>.</p><h2 id="rfc.section.5.7"><a href="#rfc.section.5.7">5.7</a>&nbsp;xref with no auto-formatting</h2><p id="rfc.section.5.7.p.1">So far we have sections <a href="#lists" title="Lists">1</a> ("<a href="#lists" title="Lists">Lists</a>") through <a href="#refs" title="References">5</a> ("<a href="#refs" title="References">References</a>").</p><h2 id="rfc.section.5.8"><a href="#rfc.section.5.8">5.8</a>&nbsp;xref with content and auto-formatting</h2><p id="rfc.section.5.8.p.1">This is a subsection of References (<a href="#refs" title="References">Section&nbsp;5</a>).</p><h2 id="rfc.section.5.9"><a href="#rfc.section.5.9">5.9</a>&nbsp;xref with content and no formatting</h2><p id="rfc.section.5.9.p.1">This is a subsection of References. Here we are referring to <cite title="The Internet Standards Process -- Revision 3" id="rfc.xref.RFC2026.2">RFC 2026</cite>, without emitting extra formatting.</p><h2 id="rfc.section.5.10"><a href="#rfc.section.5.10">5.10</a>&nbsp;<a id="formatting.none" href="#formatting.none">xref with content and 'none' formatting</a></h2><p id="rfc.section.5.10.p.1">Here we are referring to <a href="#RFC2026" id="rfc.xref.RFC2026.3">RFC 2026</a>, without emitting extra formatting.</p><p id="rfc.section.5.10.p.2">Here we are referring to <a href="#formatting.none">this Section</a>, without emitting extra formatting.</p><h2 id="rfc.section.5.11"><a href="#rfc.section.5.11">5.11</a>&nbsp;xref with no content and anchor formatting</h2><p id="rfc.section.5.11.p.1">See [<a href="#RFC2026" id="rfc.xref.RFC2026.4"><cite title="The Internet Standards Process -- Revision 3">RFC2026</cite></a>, <a href="#RFC2396" id="rfc.xref.RFC2396.1"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">RFC2396</cite></a>].</p><h2 id="rfc.section.5.12"><a href="#rfc.section.5.12">5.12</a>&nbsp;eref with no content</h2><p id="rfc.section.5.12.p.1">See also &lt;<a href="http://greenbytes.de/tech/webdav">http://greenbytes.de/tech/webdav</a>&gt;. Here's another one that is quite long: &lt;<a href="http://greenbytes.de/tech/webdav/draft-reschke-rfc3744bis-issues.html#5.7_inherited-acl-set-protected">http://greenbytes.de/tech/webdav/draft-reschke-rfc3744bis-issues.html#5.7_inherited-acl-set-protected</a>&gt;. Does it break properly?</p><h2 id="rfc.section.5.13"><a href="#rfc.section.5.13">5.13</a>&nbsp;eref with content</h2><p id="rfc.section.5.13.p.1">See also <a href="http://greenbytes.de/tech/webdav">greenbytes WebDAV resources</a>.</p><h2 id="rfc.section.5.14"><a href="#rfc.section.5.14">5.14</a>&nbsp;iref inside paragraph</h2><p id="rfc.section.5.14.p.1">This paragraph contains an <span id="rfc.iref.i.1"></span>inline iref.</p><hr class="noprint"><h1 id="rfc.section.6" class="np"><a href="#rfc.section.6">6.</a>&nbsp;Paragraph formatting</h1><p id="rfc.section.6.p.1">This is the first sentence of the paragraph. This is the second sentence of the paragraph (with two leading blanks). Here's another sentence that was started on a separate line in the input file.</p><p id="rfc.section.6.p.2">This is the second paragraph.</p><hr class="noprint"><h1 id="rfc.section.7" class="np"><a href="#rfc.section.7">7.</a>&nbsp;Sections</h1><h2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a>&nbsp;Subsection with TOC entry</h2><h2 id="rfc.section.7.2"><a href="#rfc.section.7.2">7.2</a>&nbsp;Subsection without TOC entry</h2><h3 id="rfc.section.7.2.1"><a href="#rfc.section.7.2.1">7.2.1</a>&nbsp;Sub-subsection with TOC entry</h3><hr class="noprint"><h1 id="rfc.section.8" class="np"><a href="#rfc.section.8">8.</a>&nbsp;Comments</h1><p id="rfc.section.8.p.1">This line contains a few comments. <span class="comment" title="JRE: No anchor, source given.">[<a href="#comment-test">comment-test</a>]</span> This line contains a few comments. <span class="comment" title="Anchor given, no source.">[<a href="#comment1">comment1</a>]</span> This line contains a few comments. <span class="comment" title="JRE: Both specified.">[<a href="#comment2">comment2</a>]</span> This line contains a few comments. <span class="comment" title="No anchor, no source.">[<a href="#rfc.comment.1">rfc.comment.1</a>]</span> This line contains a few comments. <span class="comment" title="No anchor, no source, but embedded markup: <http://xml.resource.org&gt;.">[<a href="#rfc.comment.2">rfc.comment.2</a>]</span> This line contains a few comments.</p><hr class="noprint"><h1 id="rfc.section.9" class="np"><a href="#rfc.section.9">9.</a>&nbsp;Artwork Width</h1><div id="rfc.figure.u.10"></div><p>This should fit (69 characters plus three spaces of indentation in text output).</p><pre>012345678901234567890123456789012345678901234567890123456789012345678
     400</pre><div id="rfc.figure.u.11"></div><p>This shouldn't.</p><pre>0123456789012345678901234567890123456789012345678901234567890123456789
     401</pre><div id="rfc.figure.u.12"></div><pre>(IN TEXT OUTPUT INDENTED BY 10)
    402402012345678901234567890123456789012345678901234567890123456789012
    403 </pre><hr class="noprint"><h1 id="rfc.section.10" class="np"><a href="#rfc.section.10">10.</a>&nbsp;<a id="extensions" href="#extensions">Extensions</a></h1><p id="rfc.section.10.p.1">These are tests for extensions done in <samp>rfc2629.xslt</samp>. Do not expect them to work out-of-the-box in <samp>xml2rfc</samp>.</p><h2 id="rfc.section.10.1"><a href="#rfc.section.10.1">10.1</a>&nbsp;Markup in figure/artwork</h2><div id="rfc.figure.u.13"></div> <pre>Internal References: a test reference to <a href="#RFC2396" id="rfc.xref.RFC2396.2"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>
     403</pre><hr class="noprint"><h1 id="rfc.section.10" class="np"><a href="#rfc.section.10">10.</a>&nbsp;<a id="extensions" href="#extensions">Extensions</a></h1><p id="rfc.section.10.p.1">These are tests for extensions done in <samp>rfc2629.xslt</samp>. Do not expect them to work out-of-the-box in <samp>xml2rfc</samp>.</p><h2 id="rfc.section.10.1"><a href="#rfc.section.10.1">10.1</a>&nbsp;Markup in figure/artwork</h2><div id="rfc.figure.u.13"></div><pre>Internal References: a test reference to <a href="#RFC2396" id="rfc.xref.RFC2396.2"><cite title="Uniform Resource Identifiers (URI): Generic Syntax">[RFC2396]</cite></a>
    404404
    405405External References: a test reference to &lt;<a href="http://xml.resource.org">http://xml.resource.org</a>&gt;
     
    408408
    409409Styling: <em>&lt;spanx&gt;</em> inside artwork
    410 </pre> <h2 id="rfc.section.10.2"><a href="#rfc.section.10.2">10.2</a>&nbsp;Measuring Lengths</h2><div id="rfc.figure.u.14"></div> <pre class="text2">PUT / HTTP/1.1
     410</pre><h2 id="rfc.section.10.2"><a href="#rfc.section.10.2">10.2</a>&nbsp;Measuring Lengths</h2><div id="rfc.figure.u.14"></div><pre class="text2">PUT / HTTP/1.1
    411411Host: example.org
    412412Content-Type: application/xml
    413413Content-Length: 6
    414414
    415 <span id="req1">&lt;foo/&gt;</span></pre><div id="rfc.figure.u.15"></div> <p>...without indentation:</p>  <pre class="text2">PUT / HTTP/1.1
     415<span id="req1">&lt;foo/&gt;</span></pre><div id="rfc.figure.u.15"></div><p>...without indentation:</p><pre class="text2">PUT / HTTP/1.1
    416416Host: example.org
    417417Content-Type: text/plain
     
    420420<span id="req2">Line 1
    421421Line 2
    422 </span></pre><div id="rfc.figure.u.16"></div> <p>...with indentation:</p>  <pre class="text2">  PUT / HTTP/1.1
     422</span></pre><div id="rfc.figure.u.16"></div><p>...with indentation:</p><pre class="text2">  PUT / HTTP/1.1
    423423  Host: example.org
    424424  Content-Type: text/plain
     
    427427<span id="req3">  Line 1
    428428  Line 2
    429 </span></pre><h2 id="rfc.section.10.3"><a href="#rfc.section.10.3">10.3</a>&nbsp;Quotations</h2><p id="rfc.section.10.3.p.1">Here's a quote: <q>This is a Quote.</q> </p><p id="rfc.section.10.3.p.2">Here's a block level quote:</p><blockquote id="rfc.section.10.3.p.3"> <p>Here's a quote.</p>  <p>More text.</p> </blockquote><h2 id="rfc.section.10.4"><a href="#rfc.section.10.4">10.4</a>&nbsp;Subsections</h2><p id="rfc.section.10.4.p.1"> <b>Foo</b> </p><p id="rfc.section.10.4.p.2">The line above should be marked up similar to a subsection heading.</p><h2 id="rfc.section.10.5"><a href="#rfc.section.10.5">10.5</a>&nbsp;Box Drawing</h2><div id="rfc.figure.u.17"></div> <p>The figure below should use box drawing characters instead of "+", "-" and "|".</p>  <pre>  &#9484;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9488;
     429</span></pre><h2 id="rfc.section.10.3"><a href="#rfc.section.10.3">10.3</a>&nbsp;Quotations</h2><p id="rfc.section.10.3.p.1">Here's a quote: <q>This is a Quote.</q> </p><p id="rfc.section.10.3.p.2">Here's a block level quote:</p><blockquote id="rfc.section.10.3.p.3"> <p>Here's a quote.</p>  <p>More text.</p> </blockquote><h2 id="rfc.section.10.4"><a href="#rfc.section.10.4">10.4</a>&nbsp;Subsections</h2><p id="rfc.section.10.4.p.1"> <b>Foo</b> </p><p id="rfc.section.10.4.p.2">The line above should be marked up similar to a subsection heading.</p><h2 id="rfc.section.10.5"><a href="#rfc.section.10.5">10.5</a>&nbsp;Box Drawing</h2><div id="rfc.figure.u.17"></div><p>The figure below should use box drawing characters instead of "+", "-" and "|".</p><pre>  &#9484;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9488;
    430430  &#9474; This is a Box. &#9474;
    431431  &#9492;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9496;
    432   </pre> <h2 id="rfc.section.10.6"><a href="#rfc.section.10.6">10.6</a>&nbsp;<a id="computed.reference.targets" href="#computed.reference.targets">Computed Reference Targets</a></h2><p id="rfc.section.10.6.p.1">Referring to this section by anchor name indirectly through the references: Section 10.6 of <a href="#TSTCS" id="rfc.xref.TSTCS.1"><cite title="Test cases for RFC2629 formatting">[TSTCS]</cite></a>.</p><p id="rfc.section.10.6.p.2">(default formatting): Section 10.6 of <a href="#TSTCS" id="rfc.xref.TSTCS.2"><cite title="Test cases for RFC2629 formatting">[TSTCS]</cite></a>.</p><div id="rfc.figure.u.18"></div><pre>  Default inside a figure: <a href="#TSTCS" id="rfc.xref.TSTCS.3"><cite title="Test cases for RFC2629 formatting">[TSTCS]</cite></a>, Section 10.6
     432  </pre><h2 id="rfc.section.10.6"><a href="#rfc.section.10.6">10.6</a>&nbsp;<a id="computed.reference.targets" href="#computed.reference.targets">Computed Reference Targets</a></h2><p id="rfc.section.10.6.p.1">Referring to this section by anchor name indirectly through the references: Section 10.6 of <a href="#TSTCS" id="rfc.xref.TSTCS.1"><cite title="Test cases for RFC2629 formatting">[TSTCS]</cite></a>.</p><p id="rfc.section.10.6.p.2">(default formatting): Section 10.6 of <a href="#TSTCS" id="rfc.xref.TSTCS.2"><cite title="Test cases for RFC2629 formatting">[TSTCS]</cite></a>.</p><div id="rfc.figure.u.18"></div><pre>  Default inside a figure: <a href="#TSTCS" id="rfc.xref.TSTCS.3"><cite title="Test cases for RFC2629 formatting">[TSTCS]</cite></a>, Section 10.6
    433433</pre><p id="rfc.section.10.6.p.4">With a broken anchor: Appendix ERROR: Anchor 'a-target-that-isnt-defined' in TSTCS not found in source file 'testcase.xml'. of <a href="#TSTCS" id="rfc.xref.TSTCS.4"><cite title="Test cases for RFC2629 formatting">[TSTCS]</cite></a>.</p><h2 id="rfc.section.10.7"><a href="#rfc.section.10.7">10.7</a>&nbsp;<a id="abnf.support" href="#abnf.support">ABNF Support</a></h2><div id="rfc.figure.u.19"></div><pre>case-insensitive1 = "abcdefghijlkmnopqrstuvwxyz"
    434434case-insensitive2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    435435case-sensitive1 = %x61.62.63.64.65.66.67.68.69.6A.6C.6B.6D.6E.6F.70.71.72.73.74.75.76.77.78.79.7A
    436436case-sensitive2 = %x41.42.43.44.45.46.47.48.49.4A.4B.4C.4D.4E.4F.50.51.52.53.54.55.56.57.58.59.5A
    437 </pre><hr class="noprint"><h1 id="rfc.section.11" class="np"><a href="#rfc.section.11">11.</a>&nbsp;Blank Lines</h1><p id="rfc.section.11.p.1">Just a forced <br> line break.</p><p id="rfc.section.11.p.2">One <br><br> blank line.</p><p id="rfc.section.11.p.3">Seven <br><br><br><br><br><br><br><br> blank lines.</p><p id="rfc.section.11.p.4">999 <br> blank lines (this is likely an attempt to force a pagebreak, thus the generated HTML should <em>not</em> contain the blank lines, but only one).</p><hr class="noprint"><h1 id="rfc.section.12" class="np"><a href="#rfc.section.12">12.</a>&nbsp;Other</h1><h2 id="rfc.section.12.1"><a href="#rfc.section.12.1">12.1</a>&nbsp;Comments in Text</h2><p id="rfc.section.12.1.p.1">First sentence (before XML comment, invisible here).  Second sentence.</p><h2 id="rfc.section.12.2"><a href="#rfc.section.12.2">12.2</a>&nbsp;Special Characters</h2><h3 id="rfc.section.12.2.1"><a href="#rfc.section.12.2.1">12.2.1</a>&nbsp;<a id="nbsp" href="#nbsp">Non-Breaking Space</a></h3><p id="rfc.section.12.2.1.p.1">Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space.</p><h3 id="rfc.section.12.2.2"><a href="#rfc.section.12.2.2">12.2.2</a>&nbsp;<a id="nbhy" href="#nbhy">Non-Breaking Hyphen</a></h3><p id="rfc.section.12.2.2.p.1">Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. (wrt Apache FOP, see &lt;<a href="http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-users/200905.mbox/%3C4A035745.10601@freemail.gr%3E">http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-users/200905.mbox/%3C4A035745.10601@freemail.gr%3E</a>&gt;)</p><h3 id="rfc.section.12.2.3"><a href="#rfc.section.12.2.3">12.2.3</a>&nbsp;<a id="dashes" href="#dashes">Dashes</a></h3><p id="rfc.section.12.2.3.p.1">mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces.</p><p id="rfc.section.12.2.3.p.2">mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces.</p><p id="rfc.section.12.2.3.p.3">mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces.</p><h1 class="np" id="rfc.references"><a href="#rfc.section.13" id="rfc.section.13">13.</a> References</h1><table> <tr><td class="reference"><b id="RFC2026">[RFC2026]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2026">The Internet Standards Process -- Revision 3</a>&#8221;, BCP&nbsp;9, RFC&nbsp;2026, October&nbsp;1996.</td></tr>  <tr><td class="reference"><b id="RFC2396">[RFC2396]</b></td><td class="top"><a href="mailto:timbl@w3.org" title="World Wide Web Consortium">Berners-Lee, T.</a>, <a href="mailto:fielding@ics.uci.edu" title="Department of Information and Computer Science">Fielding, R.</a>, and <a href="mailto:masinter@parc.xerox.com" title="Xerox PARC">L. Masinter</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2396">Uniform Resource Identifiers (URI): Generic Syntax</a>&#8221;, RFC&nbsp;2396, August&nbsp;1998.<br>This RFC will soon be updated, check &lt;<a href="http://cvs.apache.org/viewcvs.cgi/*checkout*/ietf-uri/rev-2002/rfc2396bis.html">http://cvs.apache.org/viewcvs.cgi/*checkout*/ietf-uri/rev-2002/rfc2396bis.html</a>&gt; for the latest draft.<br>The issues list is at &lt;<a href="http://cvs.apache.org/viewcvs.cgi/*checkout*/ietf-uri/rev-2002/issues.html">http://cvs.apache.org/viewcvs.cgi/*checkout*/ietf-uri/rev-2002/issues.html</a>&gt;.</td></tr>  <tr><td class="reference"><b id="TSTCS">[TSTCS]</b></td><td class="top"><a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">Reschke, J.</a>, &#8220;Test cases for RFC2629 formatting&#8221;, March&nbsp;2008.</td></tr> </table><hr class="noprint"><h1 class="np"><a id="rfc.comments" href="#rfc.comments">Editorial Comments</a></h1><dl><dt id="comment-test">
     437</pre><hr class="noprint"><h1 id="rfc.section.11" class="np"><a href="#rfc.section.11">11.</a>&nbsp;Blank Lines</h1><p id="rfc.section.11.p.1">Just a forced <br> line break.</p><p id="rfc.section.11.p.2">One <br><br> blank line.</p><p id="rfc.section.11.p.3">Seven <br><br><br><br><br><br><br><br> blank lines.</p><p id="rfc.section.11.p.4">999 <br> blank lines (this is likely an attempt to force a pagebreak, thus the generated HTML should <em>not</em> contain the blank lines, but only one).</p><hr class="noprint"><h1 id="rfc.section.12" class="np"><a href="#rfc.section.12">12.</a>&nbsp;Other</h1><h2 id="rfc.section.12.1"><a href="#rfc.section.12.1">12.1</a>&nbsp;Comments in Text</h2><p id="rfc.section.12.1.p.1">First sentence (before XML comment, invisible here).  Second sentence.</p><h2 id="rfc.section.12.2"><a href="#rfc.section.12.2">12.2</a>&nbsp;Special Characters</h2><h3 id="rfc.section.12.2.1"><a href="#rfc.section.12.2.1">12.2.1</a>&nbsp;<a id="nbsp" href="#nbsp">Non-Breaking Space</a></h3><p id="rfc.section.12.2.1.p.1">Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space. Non&nbsp;breaking&nbsp;space.</p><h3 id="rfc.section.12.2.2"><a href="#rfc.section.12.2.2">12.2.2</a>&nbsp;<a id="nbhy" href="#nbhy">Non-Breaking Hyphen</a></h3><p id="rfc.section.12.2.2.p.1">Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. Non&#8209;breaking&#8209;hyphen. (wrt Apache FOP, see &lt;<a href="http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-users/200905.mbox/%3C4A035745.10601@freemail.gr%3E">http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-users/200905.mbox/%3C4A035745.10601@freemail.gr%3E</a>&gt;)</p><h3 id="rfc.section.12.2.3"><a href="#rfc.section.12.2.3">12.2.3</a>&nbsp;<a id="dashes" href="#dashes">Dashes</a></h3><p id="rfc.section.12.2.3.p.1">mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces. mdash &#8212; with regular spaces.</p><p id="rfc.section.12.2.3.p.2">mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces. mdash&#8212;with no spaces.</p><p id="rfc.section.12.2.3.p.3">mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces. mdash&#8202;&#8212;&#8202;with thin spaces.</p><h1 class="np" id="rfc.references"><a href="#rfc.section.13" id="rfc.section.13">13.</a> References</h1><table><tr><td class="reference"><b id="RFC2026">[RFC2026]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2026">The Internet Standards Process -- Revision 3</a>&#8221;, BCP&nbsp;9, RFC&nbsp;2026, October&nbsp;1996.</td></tr><tr><td class="reference"><b id="RFC2396">[RFC2396]</b></td><td class="top"><a href="mailto:timbl@w3.org" title="World Wide Web Consortium">Berners-Lee, T.</a>, <a href="mailto:fielding@ics.uci.edu" title="Department of Information and Computer Science">Fielding, R.</a>, and <a href="mailto:masinter@parc.xerox.com" title="Xerox PARC">L. Masinter</a>, &#8220;<a href="http://tools.ietf.org/html/rfc2396">Uniform Resource Identifiers (URI): Generic Syntax</a>&#8221;, RFC&nbsp;2396, August&nbsp;1998.<br>This RFC will soon be updated, check &lt;<a href="http://cvs.apache.org/viewcvs.cgi/*checkout*/ietf-uri/rev-2002/rfc2396bis.html">http://cvs.apache.org/viewcvs.cgi/*checkout*/ietf-uri/rev-2002/rfc2396bis.html</a>&gt; for the latest draft.<br>The issues list is at &lt;<a href="http://cvs.apache.org/viewcvs.cgi/*checkout*/ietf-uri/rev-2002/issues.html">http://cvs.apache.org/viewcvs.cgi/*checkout*/ietf-uri/rev-2002/issues.html</a>&gt;.</td></tr><tr><td class="reference"><b id="TSTCS">[TSTCS]</b></td><td class="top"><a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">Reschke, J.</a>, &#8220;Test cases for RFC2629 formatting&#8221;, March&nbsp;2008.</td></tr></table><hr class="noprint"><h1 class="np"><a id="rfc.comments" href="#rfc.comments">Editorial Comments</a></h1><dl><dt id="comment-test">
    438438        [comment-test]
    439439      </dt><dd>No anchor, source given. --JRE</dd><dt id="comment1">
Note: See TracChangeset for help on using the changeset viewer.