Changeset 1699


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

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

Files:
11 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis-authscheme-registrations/latest/draft-ietf-httpbis-authscheme-registrations.html

    r1686 r1699  
    413413  }
    414414  @top-right {
    415        content: "June 2012";
     415       content: "July 2012";
    416416  }
    417417  @top-center {
     
    422422  }
    423423  @bottom-center {
    424        content: "Expires December 24, 2012";
     424       content: "Expires January 3, 2013";
    425425  }
    426426  @bottom-right {
     
    449449      <link rel="Appendix" title="A Initial Registry Contents" href="#rfc.section.A">
    450450      <link rel="Appendix" title="B Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.B">
    451       <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.579, 2012-05-24 20:24:05, XSLT vendor: SAXON 8.9 from Saxonica http://www.saxonica.com/">
     451      <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.584, 2012-06-24 15:59:38, XSLT vendor: SAXON 8.9 from Saxonica http://www.saxonica.com/">
    452452      <link rel="schema.dct" href="http://purl.org/dc/terms/">
    453453      <meta name="dct.creator" content="Reschke, J. F.">
    454454      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-authscheme-registrations-latest">
    455       <meta name="dct.issued" scheme="ISO8601" content="2012-06-22">
     455      <meta name="dct.issued" scheme="ISO8601" content="2012-07-02">
    456456      <meta name="dct.abstract" content="This document registers Hypertext Transfer Protocol (HTTP) authentication schemes which have been defined in standards-track RFCs before the IANA HTTP Authentication Scheme Registry was established.">
    457457      <meta name="description" content="This document registers Hypertext Transfer Protocol (HTTP) authentication schemes which have been defined in standards-track RFCs before the IANA HTTP Authentication Scheme Registry was established.">
     
    470470            <tr>
    471471               <td class="left">Intended status: Informational</td>
    472                <td class="right">June 22, 2012</td>
     472               <td class="right">July 2, 2012</td>
    473473            </tr>
    474474            <tr>
    475                <td class="left">Expires: December 24, 2012</td>
     475               <td class="left">Expires: January 3, 2013</td>
    476476               <td class="right"></td>
    477477            </tr>
     
    500500         in progress”.
    501501      </p>
    502       <p>This Internet-Draft will expire on December 24, 2012.</p>
     502      <p>This Internet-Draft will expire on January 3, 2013.</p>
    503503      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    504504      <p>Copyright © 2012 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
  • draft-ietf-httpbis-authscheme-registrations/latest/draft-ietf-httpbis-authscheme-registrations.xml

    r1686 r1699  
    4242  </author>
    4343
    44   <date month="June" year="2012"/>
     44  <date month="July" year="2012"/>
    4545  <workgroup>HTTPbis Working Group</workgroup>
    4646 
  • rfc2629xslt/clean-for-DTD.xslt

    r1522 r1699  
    159159
    160160<xsl:template match="x:ref" mode="cleanup">
    161   <xsl:variable name="val" select="."/>
    162   <xsl:variable name="target" select="//*[@anchor and (@anchor=$val or x:anchor-alias/@value=$val)][not(ancestor::ed:del)]"/>
     161  <xsl:variable name="val" select="normalize-space(.)"/>
     162  <xsl:variable name="target" select="//*[@anchor and (@anchor=$val or x:anchor-alias/@value=$val)][not(ancestor::ed:del)] | //reference/x:source[x:defines=$val]"/>
     163  <xsl:if test="count($target)>1">
     164    <xsl:message terminate="yes">FATAL: multiple x:ref targets found for <xsl:value-of select="$val"/>.</xsl:message>
     165  </xsl:if>
    163166  <xsl:choose>
     167    <xsl:when test="$target/self::x:source">
     168      <!-- drop it-->
     169      <xsl:value-of select="."/>
     170    </xsl:when>
    164171    <xsl:when test="$target">
    165       <xsl:if test="count($target)!=1">
    166         <xsl:message terminate="yes">FATAL: multiple x:ref targets found for <xsl:value-of select="$val"/>.</xsl:message>
    167       </xsl:if>
    168172      <xsl:variable name="current" select="."/>
    169173      <xsl:for-each select="$target">
     
    187191      <xsl:call-template name="warning">
    188192        <xsl:with-param name="inline" select="'no'"/>
    189         <xsl:with-param name="msg">internal link target for '<xsl:value-of select="."/>' does not exist.</xsl:with-param>
     193        <xsl:with-param name="msg">internal link target for '<xsl:value-of select="$val"/>' does not exist.</xsl:with-param>
    190194      </xsl:call-template>
    191195      <xsl:value-of select="."/>
  • rfc2629xslt/rfc2629.xslt

    r1667 r1699  
    15241524      <xsl:value-of select="concat($bib/x:source/@basename,'.',$outputExtension,$ref/@x:rel)" />
    15251525    </xsl:when>
     1526    <xsl:when test="$ref and $bib/x:source/@href and $bib/x:source/@basename and $ref/@anchor">
     1527      <xsl:value-of select="concat($bib/x:source/@basename,'.',$outputExtension,'#',$ref/@anchor)" />
     1528    </xsl:when>
    15261529    <!-- tools.ietf.org won't have the "-latest" draft -->
    15271530    <xsl:when test="$bib/seriesInfo/@name='Internet-Draft' and $bib/x:source/@href and $bib/x:source/@basename and substring($bib/x:source/@basename, (string-length($bib/x:source/@basename) - string-length('-latest')) + 1)='-latest'">
    15281531      <xsl:value-of select="concat($bib/x:source/@basename,'.',$outputExtension)" />
    15291532    </xsl:when>
     1533    <!-- TODO: this should handle the case where there's one BCP entry but
     1534    multiple RFC entries in a more useful way-->
    15301535    <xsl:when test="$bib/seriesInfo/@name='RFC'">
     1536      <xsl:variable name="rfcEntries" select="$bib/seriesInfo[@name='RFC']"/>
     1537      <xsl:if test="count($rfcEntries)!=1">
     1538        <xsl:call-template name="warning">
     1539          <xsl:with-param name="msg" select="concat('seriesInfo/@name=RFC encountered multiple times for reference ',$bib/@anchor,', will generate link to first entry only')"/>
     1540        </xsl:call-template>
     1541      </xsl:if>
    15311542      <xsl:variable name="sec">
    15321543        <xsl:choose>
     
    15431554        </xsl:choose>
    15441555      </xsl:variable>
    1545       <xsl:value-of select="concat($rfcUrlPrefix,$bib/seriesInfo[@name='RFC']/@value,$rfcUrlPostfix)" />
     1556      <xsl:value-of select="concat($rfcUrlPrefix,$rfcEntries[1]/@value,$rfcUrlPostfix)" />
    15461557      <xsl:if test="$ref and $sec!='' and $rfcUrlFragSection and $rfcUrlFragAppendix">
    15471558        <xsl:choose>
     
    52345245  <xsl:if test="@anchor and @anchor!=''">
    52355246    <!-- check validity of anchor name -->
    5236     <xsl:variable name="test">
    5237       <xsl:element name="{@anchor}"/>
    5238     </xsl:variable>
    5239     <xsl:if test="count(exslt:node-set($test)//*) = 0">
     5247    <xsl:variable name="t" select="@anchor"/>
     5248    <xsl:variable name="tstart" select="substring($t,1,1)"/>
     5249
     5250    <!-- we only check for disallowed ASCII characters for now -->
     5251    <xsl:variable name="not-namestartchars">&#9;&#10;&#13;&#32;!"#$%&amp;'()*+,-./0123456789;&lt;=&gt;?@[\]^`[|}~</xsl:variable>
     5252
     5253    <xsl:if test="$tstart!=translate($tstart,$not-namestartchars,'')">
    52405254      <xsl:call-template name="error">
    5241         <xsl:with-param name="msg" select="concat('&quot;',@anchor,'&quot; is not a valid XML name')"/>
     5255        <xsl:with-param name="msg" select="concat('anchor &quot;',$t,'&quot; can not start with character &quot;',$tstart,'&quot;')"/>
    52425256      </xsl:call-template>
    52435257    </xsl:if>
    5244   </xsl:if>
     5258    <xsl:call-template name="check-anchor-non-start">
     5259      <xsl:with-param name="f" select="$t"/>
     5260      <xsl:with-param name="t" select="$t"/>
     5261    </xsl:call-template>
     5262  </xsl:if>
     5263</xsl:template>
     5264
     5265<xsl:template name="check-anchor-non-start">
     5266  <xsl:param name="f"/>
     5267  <xsl:param name="t"/>
     5268
     5269  <xsl:variable name="not-namechars">&#9;&#10;&#13;&#32;!"#$%&amp;'()*+,/;&lt;=&gt;?@[\]^`[|}~</xsl:variable>
     5270
     5271  <xsl:choose>
     5272    <xsl:when test="$t=''">
     5273      <!-- Done -->
     5274    </xsl:when>
     5275    <xsl:otherwise>
     5276      <xsl:variable name="s" select="substring($t,1,1)"/>
     5277      <xsl:choose>
     5278        <xsl:when test="$s!=translate($s,$not-namechars,'')">
     5279          <xsl:call-template name="error">
     5280            <xsl:with-param name="msg" select="concat('anchor &quot;',$f,'&quot; contains invalid character &quot;',$s,'&quot; at position ',string-length($f) - string-length($t))"/>
     5281          </xsl:call-template>
     5282        </xsl:when>
     5283        <xsl:otherwise>
     5284          <xsl:call-template name="check-anchor-non-start">
     5285            <xsl:with-param name="f" select="$f"/>
     5286            <xsl:with-param name="t" select="substring($t,2)"/>
     5287          </xsl:call-template>
     5288        </xsl:otherwise>
     5289      </xsl:choose>
     5290    </xsl:otherwise>
     5291  </xsl:choose>
    52455292</xsl:template>
    52465293
     
    52865333
    52875334<xsl:template match="x:ref">
    5288   <xsl:variable name="val" select="."/>
    5289 <!--  <xsl:variable name="target" select="//*[(@anchor and x:anchor-alias/@value=$val) or (@anchor and ed:replace/ed:ins/x:anchor-alias/@value=$val) or (@anchor=$val)]"/> -->
    5290   <xsl:variable name="target" select="key('anchor-item',$val) | key('anchor-item-alias',$val)"/>
     5335  <xsl:variable name="val" select="normalize-space(.)"/>
     5336  <xsl:variable name="target" select="key('anchor-item',$val) | key('anchor-item-alias',$val) | //reference/x:source[x:defines=$val]"/>
    52915337  <xsl:variable name="irefs" select="//iref[@x:for-anchor=$val]"/>
     5338  <xsl:if test="count($target)>1">
     5339    <xsl:call-template name="warning">
     5340      <xsl:with-param name="msg">internal link target for '<xsl:value-of select="."/>' is ambiguous; picking first.</xsl:with-param>
     5341    </xsl:call-template>
     5342  </xsl:if>
    52925343  <xsl:choose>
    5293     <xsl:when test="$target">
     5344    <xsl:when test="$target[1]/@anchor">
    52945345      <a href="#{$target[1]/@anchor}" class="smpl">
    52955346        <xsl:call-template name="copy-anchor"/>
     
    52985349          <xsl:attribute name="id"><xsl:call-template name="compute-extref-anchor"/></xsl:attribute>
    52995350        </xsl:if>
     5351        <xsl:value-of select="."/>
     5352      </a>
     5353    </xsl:when>
     5354    <xsl:when test="$target[1]/self::x:source">
     5355      <xsl:variable name="extdoc" select="document($target[1]/@href)"/>
     5356      <xsl:variable name="nodes" select="$extdoc//*[@anchor and (x:anchor-alias/@value=$val)]"/>
     5357      <xsl:if test="not($nodes)">
     5358        <xsl:call-template name="error">
     5359          <xsl:with-param name="msg">Anchor '<xsl:value-of select="$val"/>' not found in source file '<xsl:value-of select="$target[1]/@href"/>'.</xsl:with-param>
     5360        </xsl:call-template>
     5361      </xsl:if>
     5362      <xsl:variable name="t">
     5363        <xsl:call-template name="computed-auto-target">
     5364          <xsl:with-param name="bib" select="$target[1]/.."/>
     5365          <xsl:with-param name="ref" select="$nodes[1]"/>
     5366        </xsl:call-template>
     5367      </xsl:variable>
     5368      <a href="{$t}" class="smpl">
    53005369        <xsl:value-of select="."/>
    53015370      </a>
     
    65316600    <xsl:text>http://greenbytes.de/tech/webdav/rfc2629.xslt, </xsl:text>
    65326601    <!-- when RCS keyword substitution in place, add version info -->
    6533     <xsl:if test="contains('$Revision: 1.579 $',':')">
    6534       <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.579 $', 'Revision: '),'$','')),', ')" />
     6602    <xsl:if test="contains('$Revision: 1.584 $',':')">
     6603      <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.584 $', 'Revision: '),'$','')),', ')" />
    65356604    </xsl:if>
    6536     <xsl:if test="contains('$Date: 2012-05-24 20:24:05 $',':')">
    6537       <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2012-05-24 20:24:05 $', 'Date: '),'$','')),', ')" />
     6605    <xsl:if test="contains('$Date: 2012-06-24 15:59:38 $',':')">
     6606      <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2012-06-24 15:59:38 $', 'Date: '),'$','')),', ')" />
    65386607    </xsl:if>
    65396608    <xsl:value-of select="concat('XSLT vendor: ',system-property('xsl:vendor'),' ',system-property('xsl:vendor-url'))" />
     
    72957364</xsl:template>
    72967365
     7366<!-- disabled for now because of https://bugzilla.gnome.org/show_bug.cgi?id=677901
    72977367<xsl:function name="exslt:node-set">
    72987368  <xsl:param name="node"/>
    72997369  <xsl:copy-of select="$node"/>
    7300 </xsl:function>
     7370</xsl:function>-->
    73017371
    73027372</xsl:transform>
  • rfc2629xslt/rfc2629toXHTML.xslt

    r1667 r1699  
    13921392      <xsl:value-of select="concat($bib/x:source/@basename,'.',$outputExtension,$ref/@x:rel)"/>
    13931393    </xsl:when>
     1394    <xsl:when test="$ref and $bib/x:source/@href and $bib/x:source/@basename and $ref/@anchor">
     1395      <xsl:value-of select="concat($bib/x:source/@basename,'.',$outputExtension,'#',$ref/@anchor)"/>
     1396    </xsl:when>
    13941397    <!-- tools.ietf.org won't have the "-latest" draft -->
    13951398    <xsl:when test="$bib/seriesInfo/@name='Internet-Draft' and $bib/x:source/@href and $bib/x:source/@basename and substring($bib/x:source/@basename, (string-length($bib/x:source/@basename) - string-length('-latest')) + 1)='-latest'">
    13961399      <xsl:value-of select="concat($bib/x:source/@basename,'.',$outputExtension)"/>
    13971400    </xsl:when>
     1401    <!-- TODO: this should handle the case where there's one BCP entry but
     1402    multiple RFC entries in a more useful way-->
    13981403    <xsl:when test="$bib/seriesInfo/@name='RFC'">
     1404      <xsl:variable name="rfcEntries" select="$bib/seriesInfo[@name='RFC']"/>
     1405      <xsl:if test="count($rfcEntries)!=1">
     1406        <xsl:call-template name="warning">
     1407          <xsl:with-param name="msg" select="concat('seriesInfo/@name=RFC encountered multiple times for reference ',$bib/@anchor,', will generate link to first entry only')"/>
     1408        </xsl:call-template>
     1409      </xsl:if>
    13991410      <xsl:variable name="sec">
    14001411        <xsl:choose>
     
    14111422        </xsl:choose>
    14121423      </xsl:variable>
    1413       <xsl:value-of select="concat($rfcUrlPrefix,$bib/seriesInfo[@name='RFC']/@value,$rfcUrlPostfix)"/>
     1424      <xsl:value-of select="concat($rfcUrlPrefix,$rfcEntries[1]/@value,$rfcUrlPostfix)"/>
    14141425      <xsl:if test="$ref and $sec!='' and $rfcUrlFragSection and $rfcUrlFragAppendix">
    14151426        <xsl:choose>
     
    50905101  <xsl:if test="@anchor and @anchor!=''">
    50915102    <!-- check validity of anchor name -->
    5092     <xsl:variable name="test">
    5093       <xsl:element namespace="http://www.w3.org/1999/xhtml" name="{@anchor}"/>
    5094     </xsl:variable>
    5095     <xsl:if test="count(exslt:node-set($test)//*) = 0">
     5103    <xsl:variable name="t" select="@anchor"/>
     5104    <xsl:variable name="tstart" select="substring($t,1,1)"/>
     5105
     5106    <!-- we only check for disallowed ASCII characters for now -->
     5107    <xsl:variable name="not-namestartchars">   
     5108&#xD; !"#$%&amp;'()*+,-./0123456789;&lt;=&gt;?@[\]^`[|}~</xsl:variable>
     5109
     5110    <xsl:if test="$tstart!=translate($tstart,$not-namestartchars,'')">
    50965111      <xsl:call-template name="error">
    5097         <xsl:with-param name="msg" select="concat('&#34;',@anchor,'&#34; is not a valid XML name')"/>
     5112        <xsl:with-param name="msg" select="concat('anchor &#34;',$t,'&#34; can not start with character &#34;',$tstart,'&#34;')"/>
    50985113      </xsl:call-template>
    50995114    </xsl:if>
    5100   </xsl:if>
     5115    <xsl:call-template name="check-anchor-non-start">
     5116      <xsl:with-param name="f" select="$t"/>
     5117      <xsl:with-param name="t" select="$t"/>
     5118    </xsl:call-template>
     5119  </xsl:if>
     5120</xsl:template>
     5121
     5122<xsl:template name="check-anchor-non-start">
     5123  <xsl:param name="f"/>
     5124  <xsl:param name="t"/>
     5125
     5126  <xsl:variable name="not-namechars">   
     5127&#xD; !"#$%&amp;'()*+,/;&lt;=&gt;?@[\]^`[|}~</xsl:variable>
     5128
     5129  <xsl:choose>
     5130    <xsl:when test="$t=''">
     5131      <!-- Done -->
     5132    </xsl:when>
     5133    <xsl:otherwise>
     5134      <xsl:variable name="s" select="substring($t,1,1)"/>
     5135      <xsl:choose>
     5136        <xsl:when test="$s!=translate($s,$not-namechars,'')">
     5137          <xsl:call-template name="error">
     5138            <xsl:with-param name="msg" select="concat('anchor &#34;',$f,'&#34; contains invalid character &#34;',$s,'&#34; at position ',string-length($f) - string-length($t))"/>
     5139          </xsl:call-template>
     5140        </xsl:when>
     5141        <xsl:otherwise>
     5142          <xsl:call-template name="check-anchor-non-start">
     5143            <xsl:with-param name="f" select="$f"/>
     5144            <xsl:with-param name="t" select="substring($t,2)"/>
     5145          </xsl:call-template>
     5146        </xsl:otherwise>
     5147      </xsl:choose>
     5148    </xsl:otherwise>
     5149  </xsl:choose>
    51015150</xsl:template>
    51025151
     
    51425191
    51435192<xsl:template match="x:ref">
    5144   <xsl:variable name="val" select="."/>
    5145 <!--  <xsl:variable name="target" select="//*[(@anchor and x:anchor-alias/@value=$val) or (@anchor and ed:replace/ed:ins/x:anchor-alias/@value=$val) or (@anchor=$val)]"/> -->
    5146   <xsl:variable name="target" select="key('anchor-item',$val) | key('anchor-item-alias',$val)"/>
     5193  <xsl:variable name="val" select="normalize-space(.)"/>
     5194  <xsl:variable name="target" select="key('anchor-item',$val) | key('anchor-item-alias',$val) | //reference/x:source[x:defines=$val]"/>
    51475195  <xsl:variable name="irefs" select="//iref[@x:for-anchor=$val]"/>
     5196  <xsl:if test="count($target)&gt;1">
     5197    <xsl:call-template name="warning">
     5198      <xsl:with-param name="msg">internal link target for '<xsl:value-of select="."/>' is ambiguous; picking first.</xsl:with-param>
     5199    </xsl:call-template>
     5200  </xsl:if>
    51485201  <xsl:choose>
    5149     <xsl:when test="$target">
     5202    <xsl:when test="$target[1]/@anchor">
    51505203      <a xmlns="http://www.w3.org/1999/xhtml" href="#{$target[1]/@anchor}" class="smpl">
    51515204        <xsl:call-template name="copy-anchor"/>
     
    51545207          <xsl:attribute name="id"><xsl:call-template name="compute-extref-anchor"/></xsl:attribute>
    51555208        </xsl:if>
     5209        <xsl:value-of select="."/>
     5210      </a>
     5211    </xsl:when>
     5212    <xsl:when test="$target[1]/self::x:source">
     5213      <xsl:variable name="extdoc" select="document($target[1]/@href)"/>
     5214      <xsl:variable name="nodes" select="$extdoc//*[@anchor and (x:anchor-alias/@value=$val)]"/>
     5215      <xsl:if test="not($nodes)">
     5216        <xsl:call-template name="error">
     5217          <xsl:with-param name="msg">Anchor '<xsl:value-of select="$val"/>' not found in source file '<xsl:value-of select="$target[1]/@href"/>'.</xsl:with-param>
     5218        </xsl:call-template>
     5219      </xsl:if>
     5220      <xsl:variable name="t">
     5221        <xsl:call-template name="computed-auto-target">
     5222          <xsl:with-param name="bib" select="$target[1]/.."/>
     5223          <xsl:with-param name="ref" select="$nodes[1]"/>
     5224        </xsl:call-template>
     5225      </xsl:variable>
     5226      <a xmlns="http://www.w3.org/1999/xhtml" href="{$t}" class="smpl">
    51565227        <xsl:value-of select="."/>
    51575228      </a>
     
    63866457    <xsl:text>http://greenbytes.de/tech/webdav/rfc2629.xslt, </xsl:text>
    63876458    <!-- when RCS keyword substitution in place, add version info -->
    6388     <xsl:if test="contains('$Revision: 1.579 $',':')">
    6389       <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.579 $', 'Revision: '),'$','')),', ')"/>
     6459    <xsl:if test="contains('$Revision: 1.584 $',':')">
     6460      <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.584 $', 'Revision: '),'$','')),', ')"/>
    63906461    </xsl:if>
    6391     <xsl:if test="contains('$Date: 2012-05-24 20:24:05 $',':')">
    6392       <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2012-05-24 20:24:05 $', 'Date: '),'$','')),', ')"/>
     6462    <xsl:if test="contains('$Date: 2012-06-24 15:59:38 $',':')">
     6463      <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2012-06-24 15:59:38 $', 'Date: '),'$','')),', ')"/>
    63936464    </xsl:if>
    63946465    <xsl:value-of select="concat('XSLT vendor: ',system-property('xsl:vendor'),' ',system-property('xsl:vendor-url'))"/>
     
    71447215</xsl:template>
    71457216
     7217<!-- disabled for now because of https://bugzilla.gnome.org/show_bug.cgi?id=677901
    71467218<xsl:function name="exslt:node-set">
    71477219  <xsl:param name="node"/>
    71487220  <xsl:copy-of select="$node"/>
    7149 </xsl:function>
     7221</xsl:function>-->
    71507222
    71517223</xsl:transform>
  • rfc2629xslt/rfc2629xslt.html

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

    r1667 r1699  
    44RFC2629 through XSLT                                          J. Reschke
    55                                                              greenbytes
    6                                                               March 2012
     6                                                           June 24, 2012
    77
    88
     
    5656
    5757
    58 Documentation             RFC2629 through XSLT                March 2012
     58Documentation             RFC2629 through XSLT                 June 2012
    5959
    6060
     
    113113
    114114
    115 Documentation             RFC2629 through XSLT                March 2012
     115Documentation             RFC2629 through XSLT                 June 2012
    116116
    117117
     
    170170
    171171
    172 Documentation             RFC2629 through XSLT                March 2012
     172Documentation             RFC2629 through XSLT                 June 2012
    173173
    174174
     
    227227
    228228
    229 Documentation             RFC2629 through XSLT                March 2012
     229Documentation             RFC2629 through XSLT                 June 2012
    230230
    231231
     
    284284
    285285
    286 Documentation             RFC2629 through XSLT                March 2012
     286Documentation             RFC2629 through XSLT                 June 2012
    287287
    288288
     
    341341
    342342
    343 Documentation             RFC2629 through XSLT                March 2012
     343Documentation             RFC2629 through XSLT                 June 2012
    344344
    345345
     
    398398
    399399
    400 Documentation             RFC2629 through XSLT                March 2012
     400Documentation             RFC2629 through XSLT                 June 2012
    401401
    402402
     
    455455
    456456
    457 Documentation             RFC2629 through XSLT                March 2012
     457Documentation             RFC2629 through XSLT                 June 2012
    458458
    459459
     
    512512
    513513
    514 Documentation             RFC2629 through XSLT                March 2012
     514Documentation             RFC2629 through XSLT                 June 2012
    515515
    516516
     
    569569
    570570
    571 Documentation             RFC2629 through XSLT                March 2012
     571Documentation             RFC2629 through XSLT                 June 2012
    572572
    573573
     
    626626
    627627
    628 Documentation             RFC2629 through XSLT                March 2012
     628Documentation             RFC2629 through XSLT                 June 2012
    629629
    630630
     
    683683
    684684
    685 Documentation             RFC2629 through XSLT                March 2012
     685Documentation             RFC2629 through XSLT                 June 2012
    686686
    687687
     
    740740
    741741
    742 Documentation             RFC2629 through XSLT                March 2012
     742Documentation             RFC2629 through XSLT                 June 2012
    743743
    744744
     
    797797
    798798
    799 Documentation             RFC2629 through XSLT                March 2012
     799Documentation             RFC2629 through XSLT                 June 2012
    800800
    801801
     
    854854
    855855
    856 Documentation             RFC2629 through XSLT                March 2012
     856Documentation             RFC2629 through XSLT                 June 2012
    857857
    858858
     
    911911
    912912
    913 Documentation             RFC2629 through XSLT                March 2012
     913Documentation             RFC2629 through XSLT                 June 2012
    914914
    915915
     
    968968
    969969
    970 Documentation             RFC2629 through XSLT                March 2012
     970Documentation             RFC2629 through XSLT                 June 2012
    971971
    972972
     
    10251025
    10261026
    1027 Documentation             RFC2629 through XSLT                March 2012
     1027Documentation             RFC2629 through XSLT                 June 2012
    10281028
    10291029
     
    10821082
    10831083
    1084 Documentation             RFC2629 through XSLT                March 2012
     1084Documentation             RFC2629 through XSLT                 June 2012
    10851085
    10861086
     
    11391139
    11401140
    1141 Documentation             RFC2629 through XSLT                March 2012
     1141Documentation             RFC2629 through XSLT                 June 2012
    11421142
    11431143
     
    11961196
    11971197
    1198 Documentation             RFC2629 through XSLT                March 2012
     1198Documentation             RFC2629 through XSLT                 June 2012
    11991199
    12001200
     
    12531253
    12541254
    1255 Documentation             RFC2629 through XSLT                March 2012
     1255Documentation             RFC2629 through XSLT                 June 2012
    12561256
    12571257
     
    13101310
    13111311
    1312 Documentation             RFC2629 through XSLT                March 2012
     1312Documentation             RFC2629 through XSLT                 June 2012
    13131313
    13141314
     
    13671367
    13681368
    1369 Documentation             RFC2629 through XSLT                March 2012
     1369Documentation             RFC2629 through XSLT                 June 2012
    13701370
    13711371
     
    14241424
    14251425
    1426 Documentation             RFC2629 through XSLT                March 2012
     1426Documentation             RFC2629 through XSLT                 June 2012
    14271427
    14281428
     
    14811481
    14821482
    1483 Documentation             RFC2629 through XSLT                March 2012
     1483Documentation             RFC2629 through XSLT                 June 2012
    14841484
    14851485
     
    15381538
    15391539
    1540 Documentation             RFC2629 through XSLT                March 2012
     1540Documentation             RFC2629 through XSLT                 June 2012
    15411541
    15421542
     
    15951595
    15961596
    1597 Documentation             RFC2629 through XSLT                March 2012
     1597Documentation             RFC2629 through XSLT                 June 2012
    15981598
    15991599
     
    16521652
    16531653
    1654 Documentation             RFC2629 through XSLT                March 2012
     1654Documentation             RFC2629 through XSLT                 June 2012
    16551655
    16561656
     
    17091709
    17101710
    1711 Documentation             RFC2629 through XSLT                March 2012
     1711Documentation             RFC2629 through XSLT                 June 2012
    17121712
    17131713
     
    17661766
    17671767
    1768 Documentation             RFC2629 through XSLT                March 2012
     1768Documentation             RFC2629 through XSLT                 June 2012
    17691769
    17701770
     
    17901790
    17911791   When an XSLT 2.0 processor is used, links in the document can be
    1792    checked as well using the "link-check" paramerer ('yes' or 'no').
     1792   checked as well using the "link-check" parameter ('yes' or 'no').
    17931793   Note that this only works for http links to documents of type text/*.
    17941794
     
    18231823
    18241824
    1825 Documentation             RFC2629 through XSLT                March 2012
     1825Documentation             RFC2629 through XSLT                 June 2012
    18261826
    18271827
     
    18801880
    18811881
    1882 Documentation             RFC2629 through XSLT                March 2012
     1882Documentation             RFC2629 through XSLT                 June 2012
    18831883
    18841884
     
    19371937
    19381938
    1939 Documentation             RFC2629 through XSLT                March 2012
     1939Documentation             RFC2629 through XSLT                 June 2012
    19401940
    19411941
     
    19941994
    19951995
    1996 Documentation             RFC2629 through XSLT                March 2012
     1996Documentation             RFC2629 through XSLT                 June 2012
    19971997
    19981998
     
    20512051
    20522052
    2053 Documentation             RFC2629 through XSLT                March 2012
     2053Documentation             RFC2629 through XSLT                 June 2012
    20542054
    20552055
     
    21082108
    21092109
    2110 Documentation             RFC2629 through XSLT                March 2012
     2110Documentation             RFC2629 through XSLT                 June 2012
    21112111
    21122112
     
    21652165
    21662166
    2167 Documentation             RFC2629 through XSLT                March 2012
     2167Documentation             RFC2629 through XSLT                 June 2012
    21682168
    21692169
     
    22222222
    22232223
    2224 Documentation             RFC2629 through XSLT                March 2012
     2224Documentation             RFC2629 through XSLT                 June 2012
    22252225
    22262226
     
    22792279
    22802280
    2281 Documentation             RFC2629 through XSLT                March 2012
     2281Documentation             RFC2629 through XSLT                 June 2012
    22822282
    22832283
     
    23362336
    23372337
    2338 Documentation             RFC2629 through XSLT                March 2012
     2338Documentation             RFC2629 through XSLT                 June 2012
    23392339
    23402340
     
    23932393
    23942394
    2395 Documentation             RFC2629 through XSLT                March 2012
     2395Documentation             RFC2629 through XSLT                 June 2012
    23962396
    23972397
     
    24502450
    24512451
    2452 Documentation             RFC2629 through XSLT                March 2012
     2452Documentation             RFC2629 through XSLT                 June 2012
    24532453
    24542454
     
    25072507
    25082508
    2509 Documentation             RFC2629 through XSLT                March 2012
     2509Documentation             RFC2629 through XSLT                 June 2012
    25102510
    25112511
     
    25642564
    25652565
    2566 Documentation             RFC2629 through XSLT                March 2012
     2566Documentation             RFC2629 through XSLT                 June 2012
    25672567
    25682568
     
    26212621
    26222622
    2623 Documentation             RFC2629 through XSLT                March 2012
     2623Documentation             RFC2629 through XSLT                 June 2012
    26242624
    26252625
     
    26782678
    26792679
    2680 Documentation             RFC2629 through XSLT                March 2012
     2680Documentation             RFC2629 through XSLT                 June 2012
    26812681
    26822682
     
    27352735
    27362736
    2737 Documentation             RFC2629 through XSLT                March 2012
     2737Documentation             RFC2629 through XSLT                 June 2012
    27382738
    27392739
     
    27922792
    27932793
    2794 Documentation             RFC2629 through XSLT                March 2012
     2794Documentation             RFC2629 through XSLT                 June 2012
    27952795
    27962796
     
    28492849
    28502850
    2851 Documentation             RFC2629 through XSLT                March 2012
     2851Documentation             RFC2629 through XSLT                 June 2012
    28522852
    28532853
     
    29062906
    29072907
    2908 Documentation             RFC2629 through XSLT                March 2012
     2908Documentation             RFC2629 through XSLT                 June 2012
    29092909
    29102910
     
    29632963
    29642964
    2965 Documentation             RFC2629 through XSLT                March 2012
     2965Documentation             RFC2629 through XSLT                 June 2012
    29662966
    29672967
     
    30203020
    30213021
    3022 Documentation             RFC2629 through XSLT                March 2012
     3022Documentation             RFC2629 through XSLT                 June 2012
    30233023
    30243024
     
    30773077
    30783078
    3079 Documentation             RFC2629 through XSLT                March 2012
     3079Documentation             RFC2629 through XSLT                 June 2012
    30803080
    30813081
     
    31343134
    31353135
    3136 Documentation             RFC2629 through XSLT                March 2012
     3136Documentation             RFC2629 through XSLT                 June 2012
    31373137
    31383138
     
    31913191
    31923192
    3193 Documentation             RFC2629 through XSLT                March 2012
     3193Documentation             RFC2629 through XSLT                 June 2012
    31943194
    31953195
     
    32483248
    32493249
    3250 Documentation             RFC2629 through XSLT                March 2012
     3250Documentation             RFC2629 through XSLT                 June 2012
    32513251
    32523252
     
    33053305
    33063306
    3307 Documentation             RFC2629 through XSLT                March 2012
     3307Documentation             RFC2629 through XSLT                 June 2012
    33083308
    33093309
     
    33623362
    33633363
    3364 Documentation             RFC2629 through XSLT                March 2012
     3364Documentation             RFC2629 through XSLT                 June 2012
    33653365
    33663366
     
    34193419
    34203420
    3421 Documentation             RFC2629 through XSLT                March 2012
     3421Documentation             RFC2629 through XSLT                 June 2012
    34223422
    34233423
     
    34763476
    34773477
    3478 Documentation             RFC2629 through XSLT                March 2012
     3478Documentation             RFC2629 through XSLT                 June 2012
    34793479
    34803480
     
    35333533
    35343534
    3535 Documentation             RFC2629 through XSLT                March 2012
     3535Documentation             RFC2629 through XSLT                 June 2012
    35363536
    35373537
     
    35903590
    35913591
    3592 Documentation             RFC2629 through XSLT                March 2012
     3592Documentation             RFC2629 through XSLT                 June 2012
    35933593
    35943594
     
    36473647
    36483648
    3649 Documentation             RFC2629 through XSLT                March 2012
     3649Documentation             RFC2629 through XSLT                 June 2012
    36503650
    36513651
     
    37043704
    37053705
    3706 Documentation             RFC2629 through XSLT                March 2012
     3706Documentation             RFC2629 through XSLT                 June 2012
    37073707
    37083708
     
    37613761
    37623762
    3763 Documentation             RFC2629 through XSLT                March 2012
     3763Documentation             RFC2629 through XSLT                 June 2012
    37643764
    37653765
     
    38183818
    38193819
    3820 Documentation             RFC2629 through XSLT                March 2012
     3820Documentation             RFC2629 through XSLT                 June 2012
    38213821
    38223822
     
    38753875
    38763876
    3877 Documentation             RFC2629 through XSLT                March 2012
     3877Documentation             RFC2629 through XSLT                 June 2012
    38783878
    38793879
     
    39323932
    39333933
    3934 Documentation             RFC2629 through XSLT                March 2012
     3934Documentation             RFC2629 through XSLT                 June 2012
    39353935
    39363936
     
    39893989
    39903990
    3991 Documentation             RFC2629 through XSLT                March 2012
     3991Documentation             RFC2629 through XSLT                 June 2012
    39923992
    39933993
     
    40464046
    40474047
    4048 Documentation             RFC2629 through XSLT                March 2012
     4048Documentation             RFC2629 through XSLT                 June 2012
    40494049
    40504050
     
    41034103
    41044104
    4105 Documentation             RFC2629 through XSLT                March 2012
     4105Documentation             RFC2629 through XSLT                 June 2012
    41064106
    41074107
     
    41604160
    41614161
    4162 Documentation             RFC2629 through XSLT                March 2012
     4162Documentation             RFC2629 through XSLT                 June 2012
    41634163
    41644164
     
    42174217
    42184218
    4219 Documentation             RFC2629 through XSLT                March 2012
     4219Documentation             RFC2629 through XSLT                 June 2012
    42204220
    42214221
     
    42744274
    42754275
    4276 Documentation             RFC2629 through XSLT                March 2012
     4276Documentation             RFC2629 through XSLT                 June 2012
    42774277
    42784278
     
    43314331
    43324332
    4333 Documentation             RFC2629 through XSLT                March 2012
     4333Documentation             RFC2629 through XSLT                 June 2012
    43344334
    43354335
     
    43884388
    43894389
    4390 Documentation             RFC2629 through XSLT                March 2012
     4390Documentation             RFC2629 through XSLT                 June 2012
    43914391
    43924392
     
    44454445
    44464446
    4447 Documentation             RFC2629 through XSLT                March 2012
     4447Documentation             RFC2629 through XSLT                 June 2012
    44484448
    44494449
     
    45024502
    45034503
    4504 Documentation             RFC2629 through XSLT                March 2012
     4504Documentation             RFC2629 through XSLT                 June 2012
    45054505
    45064506
     
    45594559
    45604560
    4561 Documentation             RFC2629 through XSLT                March 2012
     4561Documentation             RFC2629 through XSLT                 June 2012
    45624562
    45634563
     
    46164616
    46174617
    4618 Documentation             RFC2629 through XSLT                March 2012
     4618Documentation             RFC2629 through XSLT                 June 2012
    46194619
    46204620
  • rfc2629xslt/rfc2629xslt.xml

    r1667 r1699  
    3030        </author>
    3131     
    32     <date month="March" year="2012"/>
     32    <date month="June" year="2012"/>
    3333
    3434    <keyword>RFC2629</keyword>
     
    12691269<t>
    12701270  When an XSLT 2.0 processor is used, links in the document can be checked as well
    1271   using the <spanx style='verb'>link-check</spanx> paramerer ('yes' or 'no').
     1271  using the <spanx style='verb'>link-check</spanx> parameter ('yes' or 'no').
    12721272  Note that this only works for http links to documents of type text/*.
    12731273</t>
  • rfc2629xslt/samples/rfc2629.xslt

    r1667 r1699  
    15241524      <xsl:value-of select="concat($bib/x:source/@basename,'.',$outputExtension,$ref/@x:rel)" />
    15251525    </xsl:when>
     1526    <xsl:when test="$ref and $bib/x:source/@href and $bib/x:source/@basename and $ref/@anchor">
     1527      <xsl:value-of select="concat($bib/x:source/@basename,'.',$outputExtension,'#',$ref/@anchor)" />
     1528    </xsl:when>
    15261529    <!-- tools.ietf.org won't have the "-latest" draft -->
    15271530    <xsl:when test="$bib/seriesInfo/@name='Internet-Draft' and $bib/x:source/@href and $bib/x:source/@basename and substring($bib/x:source/@basename, (string-length($bib/x:source/@basename) - string-length('-latest')) + 1)='-latest'">
    15281531      <xsl:value-of select="concat($bib/x:source/@basename,'.',$outputExtension)" />
    15291532    </xsl:when>
     1533    <!-- TODO: this should handle the case where there's one BCP entry but
     1534    multiple RFC entries in a more useful way-->
    15301535    <xsl:when test="$bib/seriesInfo/@name='RFC'">
     1536      <xsl:variable name="rfcEntries" select="$bib/seriesInfo[@name='RFC']"/>
     1537      <xsl:if test="count($rfcEntries)!=1">
     1538        <xsl:call-template name="warning">
     1539          <xsl:with-param name="msg" select="concat('seriesInfo/@name=RFC encountered multiple times for reference ',$bib/@anchor,', will generate link to first entry only')"/>
     1540        </xsl:call-template>
     1541      </xsl:if>
    15311542      <xsl:variable name="sec">
    15321543        <xsl:choose>
     
    15431554        </xsl:choose>
    15441555      </xsl:variable>
    1545       <xsl:value-of select="concat($rfcUrlPrefix,$bib/seriesInfo[@name='RFC']/@value,$rfcUrlPostfix)" />
     1556      <xsl:value-of select="concat($rfcUrlPrefix,$rfcEntries[1]/@value,$rfcUrlPostfix)" />
    15461557      <xsl:if test="$ref and $sec!='' and $rfcUrlFragSection and $rfcUrlFragAppendix">
    15471558        <xsl:choose>
     
    52345245  <xsl:if test="@anchor and @anchor!=''">
    52355246    <!-- check validity of anchor name -->
    5236     <xsl:variable name="test">
    5237       <xsl:element name="{@anchor}"/>
    5238     </xsl:variable>
    5239     <xsl:if test="count(exslt:node-set($test)//*) = 0">
     5247    <xsl:variable name="t" select="@anchor"/>
     5248    <xsl:variable name="tstart" select="substring($t,1,1)"/>
     5249
     5250    <!-- we only check for disallowed ASCII characters for now -->
     5251    <xsl:variable name="not-namestartchars">&#9;&#10;&#13;&#32;!"#$%&amp;'()*+,-./0123456789;&lt;=&gt;?@[\]^`[|}~</xsl:variable>
     5252
     5253    <xsl:if test="$tstart!=translate($tstart,$not-namestartchars,'')">
    52405254      <xsl:call-template name="error">
    5241         <xsl:with-param name="msg" select="concat('&quot;',@anchor,'&quot; is not a valid XML name')"/>
     5255        <xsl:with-param name="msg" select="concat('anchor &quot;',$t,'&quot; can not start with character &quot;',$tstart,'&quot;')"/>
    52425256      </xsl:call-template>
    52435257    </xsl:if>
    5244   </xsl:if>
     5258    <xsl:call-template name="check-anchor-non-start">
     5259      <xsl:with-param name="f" select="$t"/>
     5260      <xsl:with-param name="t" select="$t"/>
     5261    </xsl:call-template>
     5262  </xsl:if>
     5263</xsl:template>
     5264
     5265<xsl:template name="check-anchor-non-start">
     5266  <xsl:param name="f"/>
     5267  <xsl:param name="t"/>
     5268
     5269  <xsl:variable name="not-namechars">&#9;&#10;&#13;&#32;!"#$%&amp;'()*+,/;&lt;=&gt;?@[\]^`[|}~</xsl:variable>
     5270
     5271  <xsl:choose>
     5272    <xsl:when test="$t=''">
     5273      <!-- Done -->
     5274    </xsl:when>
     5275    <xsl:otherwise>
     5276      <xsl:variable name="s" select="substring($t,1,1)"/>
     5277      <xsl:choose>
     5278        <xsl:when test="$s!=translate($s,$not-namechars,'')">
     5279          <xsl:call-template name="error">
     5280            <xsl:with-param name="msg" select="concat('anchor &quot;',$f,'&quot; contains invalid character &quot;',$s,'&quot; at position ',string-length($f) - string-length($t))"/>
     5281          </xsl:call-template>
     5282        </xsl:when>
     5283        <xsl:otherwise>
     5284          <xsl:call-template name="check-anchor-non-start">
     5285            <xsl:with-param name="f" select="$f"/>
     5286            <xsl:with-param name="t" select="substring($t,2)"/>
     5287          </xsl:call-template>
     5288        </xsl:otherwise>
     5289      </xsl:choose>
     5290    </xsl:otherwise>
     5291  </xsl:choose>
    52455292</xsl:template>
    52465293
     
    52865333
    52875334<xsl:template match="x:ref">
    5288   <xsl:variable name="val" select="."/>
    5289 <!--  <xsl:variable name="target" select="//*[(@anchor and x:anchor-alias/@value=$val) or (@anchor and ed:replace/ed:ins/x:anchor-alias/@value=$val) or (@anchor=$val)]"/> -->
    5290   <xsl:variable name="target" select="key('anchor-item',$val) | key('anchor-item-alias',$val)"/>
     5335  <xsl:variable name="val" select="normalize-space(.)"/>
     5336  <xsl:variable name="target" select="key('anchor-item',$val) | key('anchor-item-alias',$val) | //reference/x:source[x:defines=$val]"/>
    52915337  <xsl:variable name="irefs" select="//iref[@x:for-anchor=$val]"/>
     5338  <xsl:if test="count($target)>1">
     5339    <xsl:call-template name="warning">
     5340      <xsl:with-param name="msg">internal link target for '<xsl:value-of select="."/>' is ambiguous; picking first.</xsl:with-param>
     5341    </xsl:call-template>
     5342  </xsl:if>
    52925343  <xsl:choose>
    5293     <xsl:when test="$target">
     5344    <xsl:when test="$target[1]/@anchor">
    52945345      <a href="#{$target[1]/@anchor}" class="smpl">
    52955346        <xsl:call-template name="copy-anchor"/>
     
    52985349          <xsl:attribute name="id"><xsl:call-template name="compute-extref-anchor"/></xsl:attribute>
    52995350        </xsl:if>
     5351        <xsl:value-of select="."/>
     5352      </a>
     5353    </xsl:when>
     5354    <xsl:when test="$target[1]/self::x:source">
     5355      <xsl:variable name="extdoc" select="document($target[1]/@href)"/>
     5356      <xsl:variable name="nodes" select="$extdoc//*[@anchor and (x:anchor-alias/@value=$val)]"/>
     5357      <xsl:if test="not($nodes)">
     5358        <xsl:call-template name="error">
     5359          <xsl:with-param name="msg">Anchor '<xsl:value-of select="$val"/>' not found in source file '<xsl:value-of select="$target[1]/@href"/>'.</xsl:with-param>
     5360        </xsl:call-template>
     5361      </xsl:if>
     5362      <xsl:variable name="t">
     5363        <xsl:call-template name="computed-auto-target">
     5364          <xsl:with-param name="bib" select="$target[1]/.."/>
     5365          <xsl:with-param name="ref" select="$nodes[1]"/>
     5366        </xsl:call-template>
     5367      </xsl:variable>
     5368      <a href="{$t}" class="smpl">
    53005369        <xsl:value-of select="."/>
    53015370      </a>
     
    65316600    <xsl:text>http://greenbytes.de/tech/webdav/rfc2629.xslt, </xsl:text>
    65326601    <!-- when RCS keyword substitution in place, add version info -->
    6533     <xsl:if test="contains('$Revision: 1.579 $',':')">
    6534       <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.579 $', 'Revision: '),'$','')),', ')" />
     6602    <xsl:if test="contains('$Revision: 1.584 $',':')">
     6603      <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.584 $', 'Revision: '),'$','')),', ')" />
    65356604    </xsl:if>
    6536     <xsl:if test="contains('$Date: 2012-05-24 20:24:05 $',':')">
    6537       <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2012-05-24 20:24:05 $', 'Date: '),'$','')),', ')" />
     6605    <xsl:if test="contains('$Date: 2012-06-24 15:59:38 $',':')">
     6606      <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2012-06-24 15:59:38 $', 'Date: '),'$','')),', ')" />
    65386607    </xsl:if>
    65396608    <xsl:value-of select="concat('XSLT vendor: ',system-property('xsl:vendor'),' ',system-property('xsl:vendor-url'))" />
     
    72957364</xsl:template>
    72967365
     7366<!-- disabled for now because of https://bugzilla.gnome.org/show_bug.cgi?id=677901
    72977367<xsl:function name="exslt:node-set">
    72987368  <xsl:param name="node"/>
    72997369  <xsl:copy-of select="$node"/>
    7300 </xsl:function>
     7370</xsl:function>-->
    73017371
    73027372</xsl:transform>
  • rfc2629xslt/testcase.html

    r1667 r1699  
    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.579, 2012-05-24 20:24:05, XSLT vendor: SAXON 6.5.5 from Michael Kay http://saxon.sf.net/"><meta name="keywords" content="RFC2629, 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>1.&nbsp;&nbsp;&nbsp;<a href="#lists">Lists</a><ul><li>1.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.1">hanging list</a></li><li>1.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.2">numbered list</a></li><li>1.3&nbsp;&nbsp;&nbsp;<a href="#ordered.list.letters">ordered list (letters)</a></li><li>1.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.4">no explicit counters</a></li><li>1.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.5">with explicit counters</a></li><li>1.6&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.6">Nested list</a></li><li>1.7&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.7">list without style</a></li><li>1.8&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.8">list with multiple paragraphs in a single list item</a></li></ul></li><li>2.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.2">spanx</a></li><li>3.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3">Tables</a><ul><li>3.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.1">no borders</a></li><li>3.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.2">borders around headers</a></li><li>3.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.3">example from xml2rc README</a></li><li>3.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.4">no column titles</a></li><li>3.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.5">referencing tables</a></li><li>3.6&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.6">table captions</a></li><li>3.7&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.7">single column</a></li><li>3.8&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.8">table alignment</a></li></ul></li><li>4.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4">Figures</a><ul><li>4.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.1">with preamble, no title...</a></li><li>4.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.2">with postamble and title...</a></li><li>4.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.3">Whitespace handling</a></li><li>4.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.4">Whitespace around figures</a></li><li>4.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.5">SVG</a></li><li>4.6&nbsp;&nbsp;&nbsp;<a href="#code.components">Code Components</a></li></ul></li><li>5.&nbsp;&nbsp;&nbsp;<a href="#refs">References</a><ul><li>5.1&nbsp;&nbsp;&nbsp;<a href="#xref.with.no.content">xref with no content</a></li><li>5.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.2">xref to named &lt;t&gt; element</a></li><li>5.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.3">xref to named &lt;spanx&gt; element</a></li><li>5.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.4">xref to named &lt;t&gt; element inside list</a></li><li>5.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.5">xref to named &lt;cref&gt; element</a></li><li>5.6&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.6">xref to named &lt;t&gt; element inside list</a></li><li>5.7&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.7">xref with no auto-formatting</a></li><li>5.8&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.8">xref with content and auto-formatting</a></li><li>5.9&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.9">xref with content and no formatting</a></li><li>5.10&nbsp;&nbsp;&nbsp;<a href="#formatting.none">xref with content and 'none' formatting</a></li><li>5.11&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.11">xref with no content and anchor formatting</a></li><li>5.12&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.12">eref with no content</a></li><li>5.13&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.13">eref with content</a></li><li>5.14&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.14">iref inside paragraph</a></li></ul></li><li>6.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6">Paragraph formatting</a></li><li>7.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7">Sections</a><ul><li>7.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7.1">Subsection with TOC entry</a></li><li class="excluded"><ul><li>7.2.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7.2.1">Sub-subsection with TOC entry</a></li></ul></li></ul></li><li>8.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.8">Comments</a></li><li>9.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9">Artwork Width</a></li><li>10.&nbsp;&nbsp;&nbsp;<a href="#extensions">Extensions</a><ul><li>10.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.1">Markup in figure/artwork</a></li><li>10.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.2">Measuring Lengths</a></li><li>10.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.3">Quotations</a></li><li>10.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.4">Subsections</a></li><li>10.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.5">Box Drawing</a></li><li>10.6&nbsp;&nbsp;&nbsp;<a href="#computed.reference.targets">Computed Reference Targets</a></li><li>10.7&nbsp;&nbsp;&nbsp;<a href="#abnf.support">ABNF Support</a></li></ul></li><li>11.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.11">Blank Lines</a></li><li>12.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12">Other</a><ul><li>12.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.1">Comments in Text</a></li><li>12.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.2">Special Characters</a><ul><li>12.2.1&nbsp;&nbsp;&nbsp;<a href="#nbsp">Non-Breaking Space</a></li><li>12.2.2&nbsp;&nbsp;&nbsp;<a href="#nbhy">Non-Breaking Hyphen</a></li><li>12.2.3&nbsp;&nbsp;&nbsp;<a href="#dashes">Dashes</a></li></ul></li></ul></li><li>13.&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
     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.584, 2012-06-24 15:59:38, XSLT vendor: SAXON 6.5.5 from Michael Kay http://saxon.sf.net/"><meta name="keywords" content="RFC2629, 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>1.&nbsp;&nbsp;&nbsp;<a href="#lists">Lists</a><ul><li>1.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.1">hanging list</a></li><li>1.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.2">numbered list</a></li><li>1.3&nbsp;&nbsp;&nbsp;<a href="#ordered.list.letters">ordered list (letters)</a></li><li>1.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.4">no explicit counters</a></li><li>1.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.5">with explicit counters</a></li><li>1.6&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.6">Nested list</a></li><li>1.7&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.7">list without style</a></li><li>1.8&nbsp;&nbsp;&nbsp;<a href="#rfc.section.1.8">list with multiple paragraphs in a single list item</a></li></ul></li><li>2.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.2">spanx</a></li><li>3.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3">Tables</a><ul><li>3.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.1">no borders</a></li><li>3.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.2">borders around headers</a></li><li>3.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.3">example from xml2rc README</a></li><li>3.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.4">no column titles</a></li><li>3.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.5">referencing tables</a></li><li>3.6&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.6">table captions</a></li><li>3.7&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.7">single column</a></li><li>3.8&nbsp;&nbsp;&nbsp;<a href="#rfc.section.3.8">table alignment</a></li></ul></li><li>4.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4">Figures</a><ul><li>4.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.1">with preamble, no title...</a></li><li>4.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.2">with postamble and title...</a></li><li>4.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.3">Whitespace handling</a></li><li>4.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.4">Whitespace around figures</a></li><li>4.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.4.5">SVG</a></li><li>4.6&nbsp;&nbsp;&nbsp;<a href="#code.components">Code Components</a></li></ul></li><li>5.&nbsp;&nbsp;&nbsp;<a href="#refs">References</a><ul><li>5.1&nbsp;&nbsp;&nbsp;<a href="#xref.with.no.content">xref with no content</a></li><li>5.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.2">xref to named &lt;t&gt; element</a></li><li>5.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.3">xref to named &lt;spanx&gt; element</a></li><li>5.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.4">xref to named &lt;t&gt; element inside list</a></li><li>5.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.5">xref to named &lt;cref&gt; element</a></li><li>5.6&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.6">xref to named &lt;t&gt; element inside list</a></li><li>5.7&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.7">xref with no auto-formatting</a></li><li>5.8&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.8">xref with content and auto-formatting</a></li><li>5.9&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.9">xref with content and no formatting</a></li><li>5.10&nbsp;&nbsp;&nbsp;<a href="#formatting.none">xref with content and 'none' formatting</a></li><li>5.11&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.11">xref with no content and anchor formatting</a></li><li>5.12&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.12">eref with no content</a></li><li>5.13&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.13">eref with content</a></li><li>5.14&nbsp;&nbsp;&nbsp;<a href="#rfc.section.5.14">iref inside paragraph</a></li></ul></li><li>6.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.6">Paragraph formatting</a></li><li>7.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7">Sections</a><ul><li>7.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7.1">Subsection with TOC entry</a></li><li class="excluded"><ul><li>7.2.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.7.2.1">Sub-subsection with TOC entry</a></li></ul></li></ul></li><li>8.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.8">Comments</a></li><li>9.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.9">Artwork Width</a></li><li>10.&nbsp;&nbsp;&nbsp;<a href="#extensions">Extensions</a><ul><li>10.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.1">Markup in figure/artwork</a></li><li>10.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.2">Measuring Lengths</a></li><li>10.3&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.3">Quotations</a></li><li>10.4&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.4">Subsections</a></li><li>10.5&nbsp;&nbsp;&nbsp;<a href="#rfc.section.10.5">Box Drawing</a></li><li>10.6&nbsp;&nbsp;&nbsp;<a href="#computed.reference.targets">Computed Reference Targets</a></li><li>10.7&nbsp;&nbsp;&nbsp;<a href="#abnf.support">ABNF Support</a></li></ul></li><li>11.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.11">Blank Lines</a></li><li>12.&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12">Other</a><ul><li>12.1&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.1">Comments in Text</a></li><li>12.2&nbsp;&nbsp;&nbsp;<a href="#rfc.section.12.2">Special Characters</a><ul><li>12.2.1&nbsp;&nbsp;&nbsp;<a href="#nbsp">Non-Breaking Space</a></li><li>12.2.2&nbsp;&nbsp;&nbsp;<a href="#nbhy">Non-Breaking Hyphen</a></li><li>12.2.3&nbsp;&nbsp;&nbsp;<a href="#dashes">Dashes</a></li></ul></li></ul></li><li>13.&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
    388388        <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  |  |
Note: See TracChangeset for help on using the changeset viewer.