Changeset 329 for rfc2629xslt
- Timestamp:
- 11/10/08 07:06:15 (14 years ago)
- Location:
- rfc2629xslt
- Files:
-
- 2 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
rfc2629xslt/clean-for-DTD.xslt
r308 r329 179 179 </xsl:template> 180 180 181 <xsl:template match="x:highlight" mode="cleanup"> 182 <xsl:apply-templates mode="cleanup" /> 183 </xsl:template> 184 181 185 <xsl:template match="x:lt" mode="cleanup"> 182 186 <t> … … 191 195 </xsl:template> 192 196 197 <xsl:template match="x:note" mode="cleanup"> 198 <t> 199 <list> 200 <xsl:apply-templates mode="cleanup"/> 201 </list> 202 </t> 203 </xsl:template> 204 193 205 <xsl:template match="x:q" mode="cleanup"> 194 206 <xsl:text>"</xsl:text> … … 204 216 <xsl:text>^</xsl:text> 205 217 <xsl:apply-templates mode="cleanup" /> 218 </xsl:template> 219 220 <xsl:template match="author/@anchor" mode="cleanup"/> 221 <xsl:template match="x:include-author" mode="cleanup"> 222 <t> 223 <xsl:value-of select="/*/front/author[@anchor=current()/@target]"/> 224 </t> 225 <t> 226 (see Authors Section) 227 </t> 206 228 </xsl:template> 207 229 … … 506 528 507 529 <xsl:template match="artwork" mode="cleanup"> 508 <xsl:variable name="content"><xsl:apply-templates select="."/></xsl:variable> 530 <xsl:variable name="content2"><xsl:apply-templates select="."/></xsl:variable> 531 <xsl:variable name="content" select="translate($content2,' ─│┈┌┐└┘├┤',' -|+++++++')"/> 509 532 <artwork> 510 533 <xsl:apply-templates select="@*" mode="cleanup" /> 511 534 <xsl:if test="starts-with(.,' ')"> 512 535 <xsl:text> </xsl:text> 536 <xsl:value-of select="@x:indent-with"/> 513 537 </xsl:if> 514 <xsl:value-of select="translate($content,' ─│┈┌┐└┘├┤',' -|+++++++')"/> 538 <xsl:choose> 539 <xsl:when test="@x:indent-with!=''"> 540 <xsl:call-template name="indent"> 541 <xsl:with-param name="content" select="$content"/> 542 <xsl:with-param name="with" select="@x:indent-with"/> 543 </xsl:call-template> 544 </xsl:when> 545 <xsl:otherwise> 546 <xsl:value-of select="$content"/> 547 </xsl:otherwise> 548 </xsl:choose> 515 549 </artwork> 550 </xsl:template> 551 552 <xsl:template match="@x:indent-with" mode="cleanup"/> 553 554 <xsl:template name="indent"> 555 <xsl:param name="content"/> 556 <xsl:param name="with"/> 557 558 <xsl:value-of select="substring($content,1,1)"/> 559 <xsl:if test="substring($content,1,1)=' '"> 560 <xsl:value-of select="$with"/> 561 </xsl:if> 562 563 <xsl:choose> 564 <xsl:when test="$content=''" /> 565 <xsl:otherwise> 566 <xsl:call-template name="indent"> 567 <xsl:with-param name="content" select="substring($content,2)"/> 568 <xsl:with-param name="with" select="$with"/> 569 </xsl:call-template> 570 </xsl:otherwise> 571 </xsl:choose> 572 516 573 </xsl:template> 517 574 -
rfc2629xslt/rfc2629.xslt
r308 r329 506 506 <xsl:call-template name="check-artwork-width"> 507 507 <xsl:with-param name="content"><xsl:apply-templates/></xsl:with-param> 508 <xsl:with-param name="indent"><xsl:value-of select="string-length(@x:indent-with)"/></xsl:with-param> 508 509 </xsl:call-template> 509 510 </xsl:template> … … 525 526 <xsl:template name="check-artwork-width"> 526 527 <xsl:param name="content"/> 528 <xsl:param name="indent"/> 527 529 <xsl:choose> 528 530 <xsl:when test="not(contains($content,' '))"> 529 <xsl:if test="string-length($content) > 69 ">531 <xsl:if test="string-length($content) > 69 + $indent"> 530 532 <xsl:call-template name="warning"> 531 533 <xsl:with-param name="inline" select="'no'"/> … … 537 539 <xsl:variable name="start" select="substring-before($content,' ')"/> 538 540 <xsl:variable name="end" select="substring-after($content,' ')"/> 539 <xsl:if test="string-length($start) > 69 ">541 <xsl:if test="string-length($start) > 69 + $indent"> 540 542 <xsl:call-template name="warning"> 541 543 <xsl:with-param name="inline" select="'no'"/> … … 552 554 <xsl:template match="artwork[@src and starts-with(@type,'image/')]"> 553 555 <p> 554 <img src="{@src}" alt="{.}"> 555 <xsl:copy-of select="@width|@height"/> 556 </img> 556 <xsl:choose> 557 <xsl:when test="@type='image/svg+xml'"> 558 <object data="{@src}" type="image/svg+xml"> 559 <xsl:choose> 560 <xsl:when test="@width!='' or @height!=''"> 561 <xsl:copy-of select="@width|@height"/> 562 </xsl:when> 563 <xsl:otherwise xmlns:svg="http://www.w3.org/2000/svg"> 564 <!-- try to find width and height from SVG --> 565 <xsl:variable name="svg" select="document(@src)"/> 566 <xsl:for-each select="$svg/svg:svg/@width|$svg/svg:svg/@height"> 567 <!-- strip out the units, cross the fingers pixels are meant --> 568 <xsl:attribute name="{local-name()}"> 569 <xsl:value-of select="translate(.,concat($ucase,$lcase),'')"/> 570 </xsl:attribute> 571 </xsl:for-each> 572 </xsl:otherwise> 573 </xsl:choose> 574 <xsl:apply-templates/> 575 </object> 576 </xsl:when> 577 <xsl:otherwise> 578 <img src="{@src}" alt="{.}"> 579 <xsl:copy-of select="@width|@height"/> 580 </img> 581 </xsl:otherwise> 582 </xsl:choose> 557 583 </p> 558 584 </xsl:template> … … 709 735 <xsl:template match="figure"> 710 736 <xsl:if test="@anchor!=''"> 737 <xsl:call-template name="check-anchor"/> 711 738 <div id="{@anchor}"/> 712 739 </xsl:if> … … 757 784 <p class="title"> 758 785 <!-- main title --> 786 759 787 <xsl:apply-templates select="title"/> 760 788 <xsl:if test="/rfc/@docName"> … … 912 940 <!-- Inherited through CSS now <dd style="margin-top: .5em">--> 913 941 <dd> 942 <xsl:call-template name="copy-anchor"/> 914 943 <xsl:call-template name="insertInsDelClass"/> 915 <xsl:if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>916 944 <xsl:apply-templates /> 917 945 </dd> … … 920 948 <xsl:template match="list[@style='numbers' or @style='symbols' or @style='letters']/x:lt"> 921 949 <li> 922 <xsl: if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>950 <xsl:call-template name="copy-anchor"/> 923 951 <xsl:apply-templates select="t" /> 924 952 </li> … … 927 955 <xsl:template match="list[@style='numbers' or @style='symbols' or @style='letters']/t | list[@style='numbers' or @style='symbols' or @style='letters']/ed:replace/ed:*/t"> 928 956 <li> 957 <xsl:call-template name="copy-anchor"/> 929 958 <xsl:call-template name="insertInsDelClass"/> 930 959 <xsl:for-each select="../.."> 931 960 <xsl:call-template name="insert-issue-pointer"/> 932 961 </xsl:for-each> 933 <xsl:if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>934 962 <xsl:apply-templates /> 935 963 </li> … … 939 967 <xsl:if test="@hangText!=''"> 940 968 <dt> 969 <xsl:call-template name="copy-anchor"/> 941 970 <xsl:call-template name="insertInsDelClass"/> 942 971 <xsl:variable name="del-node" select="ancestor::ed:del"/> … … 948 977 </xsl:call-template> 949 978 </xsl:for-each> 950 <xsl:if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>951 979 <xsl:value-of select="@hangText" /> 952 980 </dt> … … 965 993 <xsl:if test="@hangText!=''"> 966 994 <dt> 995 <xsl:call-template name="copy-anchor"/> 967 996 <xsl:call-template name="insertInsDelClass"/> 968 997 <xsl:if test="count(preceding-sibling::t)=0"> … … 976 1005 </xsl:for-each> 977 1006 </xsl:if> 978 <xsl:if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>979 1007 <xsl:value-of select="@hangText" /> 980 1008 </dt> … … 1011 1039 </xsl:variable> 1012 1040 <dt> 1013 <xsl: if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>1041 <xsl:call-template name="copy-anchor"/> 1014 1042 <xsl:choose> 1015 1043 <xsl:when test="contains($format,'%c')"> … … 1055 1083 <xsl:if test="normalize-space(.) != ''"> 1056 1084 <p> 1057 <xsl:if test="@anchor"> 1058 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 1059 </xsl:if> 1085 <xsl:call-template name="copy-anchor"/> 1060 1086 <xsl:call-template name="insertInsDelClass"/> 1061 1087 <xsl:call-template name="editingMark" /> … … 1134 1160 </xsl:call-template> 1135 1161 </xsl:if> 1162 1163 <xsl:call-template name="check-anchor"/> 1136 1164 1137 1165 <xsl:variable name="target"> … … 1405 1433 </xsl:for-each> 1406 1434 <xsl:if test="/rfc/@number"> 1407 <link rel="Alternate" title="Authorative ASCII version" href="http://www.ietf.org/rfc/rfc{/rfc/@number}.txt" /> 1435 <xsl:variable name="number"> 1436 <xsl:choose> 1437 <xsl:when test="string-length(/rfc/@number) < 2">000<xsl:value-of select="/rfc/@number"/></xsl:when> 1438 <xsl:when test="string-length(/rfc/@number) < 3">00<xsl:value-of select="/rfc/@number"/></xsl:when> 1439 <xsl:when test="string-length(/rfc/@number) < 4">0<xsl:value-of select="/rfc/@number"/></xsl:when> 1440 <xsl:otherwise><xsl:value-of select="/rfc/@number"/></xsl:otherwise> 1441 </xsl:choose> 1442 </xsl:variable> 1443 <link rel="Alternate" title="Authorative ASCII Version" href="http://www.ietf.org/rfc/rfc{/rfc/@number}.txt" /> 1444 <link rel="Help" title="Additional Information on tools.ietf.org" href="http://tools.ietf.org/html/rfc{$number}" /> 1408 1445 </xsl:if> 1409 1446 … … 1528 1565 </xsl:template> 1529 1566 1567 <xsl:template mode="t-content2" match="comment()"> 1568 <xsl:apply-templates select="." /> 1569 <xsl:if test="not(following-sibling::node()[1] [self::list or self::figure or self::texttable])"> 1570 <xsl:apply-templates select="following-sibling::node()[1]" mode="t-content2" /> 1571 </xsl:if> 1572 </xsl:template> 1573 1530 1574 <xsl:template match="title"> 1575 <xsl:if test="@abbrev and string-length(@abbrev) > 40"> 1576 <xsl:call-template name="warning"> 1577 <xsl:with-param name="inline" select="'no'"/> 1578 <xsl:with-param name="msg">title/@abbrev too long (max 40 characters)</xsl:with-param> 1579 </xsl:call-template> 1580 </xsl:if> 1581 1582 <xsl:if test="string-length(.) > 40 and (not(@abbrev) or @abbrev='')"> 1583 <xsl:call-template name="warning"> 1584 <xsl:with-param name="inline" select="'no'"/> 1585 <xsl:with-param name="msg">title too long, should supply title/@abbrev attribute with less than 40 characters</xsl:with-param> 1586 </xsl:call-template> 1587 </xsl:if> 1588 1531 1589 <xsl:apply-templates /> 1532 1590 </xsl:template> … … 1621 1679 <xsl:choose> 1622 1680 <xsl:when test="@anchor"> 1681 <xsl:call-template name="check-anchor"/> 1623 1682 <a id="{@anchor}" href="#{@anchor}"><xsl:call-template name="insertTitle"/></a> 1624 1683 </xsl:when> … … 1634 1693 <xsl:template match="spanx[@style='emph' or not(@style)]"> 1635 1694 <em> 1636 <xsl:if test="@anchor"> 1637 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 1638 </xsl:if> 1695 <xsl:call-template name="copy-anchor"/> 1639 1696 <xsl:apply-templates /> 1640 1697 </em> … … 1643 1700 <xsl:template match="spanx[@style='verb']"> 1644 1701 <samp> 1645 <xsl:if test="@anchor"> 1646 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 1647 </xsl:if> 1702 <xsl:call-template name="copy-anchor"/> 1648 1703 <xsl:apply-templates /> 1649 1704 </samp> … … 1652 1707 <xsl:template match="spanx[@style='strong']"> 1653 1708 <strong> 1654 <xsl:if test="@anchor"> 1655 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 1656 </xsl:if> 1709 <xsl:call-template name="copy-anchor"/> 1657 1710 <xsl:apply-templates /> 1658 1711 </strong> … … 1776 1829 <xsl:otherwise> 1777 1830 <a href="#{$target}"><xsl:apply-templates /></a> 1778 <xsl:for-each select="$src/rfc/back/references//reference[@anchor=$target]"> 1779 <xsl:text> </xsl:text> 1780 <cite title="{normalize-space(front/title)}"> 1781 <xsl:if test="$xml2rfc-ext-include-references-in-index='yes'"> 1782 <xsl:attribute name="id"><xsl:value-of select="$anchor"/></xsl:attribute> 1783 </xsl:if> 1784 <xsl:call-template name="referencename"> 1785 <xsl:with-param name="node" select="." /> 1786 </xsl:call-template> 1787 </cite> 1788 </xsl:for-each> 1831 <xsl:if test="not(@format='none')"> 1832 <xsl:for-each select="$src/rfc/back/references//reference[@anchor=$target]"> 1833 <xsl:text> </xsl:text> 1834 <cite title="{normalize-space(front/title)}"> 1835 <xsl:if test="$xml2rfc-ext-include-references-in-index='yes'"> 1836 <xsl:attribute name="id"><xsl:value-of select="$anchor"/></xsl:attribute> 1837 </xsl:if> 1838 <xsl:call-template name="referencename"> 1839 <xsl:with-param name="node" select="." /> 1840 </xsl:call-template> 1841 </cite> 1842 </xsl:for-each> 1843 </xsl:if> 1789 1844 </xsl:otherwise> 1790 1845 </xsl:choose> … … 2303 2358 <xsl:template name="insertAuthors"> 2304 2359 2305 <xsl:call-template name="insert-conditional-hrule"/>2306 2307 2360 <xsl:variable name="number"> 2308 2361 <xsl:call-template name="get-authors-section-number"/> 2309 2362 </xsl:variable> 2310 2363 2311 <h1 id="{$anchor-prefix}.authors"> 2312 <xsl:call-template name="insert-conditional-pagebreak"/> 2313 <xsl:if test="$number != ''"> 2314 <a href="#{$anchor-prefix}.section.{$number}" id="{$anchor-prefix}.section.{$number}"><xsl:value-of select="$number"/>.</a> 2315 <xsl:text> </xsl:text> 2316 </xsl:if> 2317 <a href="#{$anchor-prefix}.authors"><xsl:call-template name="get-authors-section-title"/></a> 2318 </h1> 2319 2320 <xsl:apply-templates select="/rfc/front/author" /> 2364 <xsl:if test="$number!='suppress'"> 2365 <xsl:call-template name="insert-conditional-hrule"/> 2366 2367 <h1 id="{$anchor-prefix}.authors"> 2368 <xsl:call-template name="insert-conditional-pagebreak"/> 2369 <xsl:if test="$number != ''"> 2370 <a href="#{$anchor-prefix}.section.{$number}" id="{$anchor-prefix}.section.{$number}"><xsl:value-of select="$number"/>.</a> 2371 <xsl:text> </xsl:text> 2372 </xsl:if> 2373 <a href="#{$anchor-prefix}.authors"><xsl:call-template name="get-authors-section-title"/></a> 2374 </h1> 2375 2376 <xsl:apply-templates select="/rfc/front/author" /> 2377 </xsl:if> 2321 2378 </xsl:template> 2322 2379 … … 2538 2595 cite { 2539 2596 font-style: normal; 2540 } 2597 }<xsl:if test="//x:note"> 2598 div.note { 2599 margin-left: 2em; 2600 }</xsl:if> 2541 2601 dd { 2542 2602 margin-right: 2em;<xsl:if test="$xml2rfc-ext-justification='always'"> … … 3623 3683 <xsl:template match="front" mode="toc"> 3624 3684 3625 <li> 3626 <xsl:variable name="authors-title"> 3627 <xsl:call-template name="get-authors-section-title"/> 3628 </xsl:variable> 3629 <xsl:variable name="authors-number"> 3630 <xsl:call-template name="get-authors-section-number"/> 3631 </xsl:variable> 3632 <xsl:call-template name="insert-toc-line"> 3633 <xsl:with-param name="target" select="concat($anchor-prefix,'.authors')"/> 3634 <xsl:with-param name="title" select="$authors-title"/> 3635 <xsl:with-param name="number" select="$authors-number"/> 3636 </xsl:call-template> 3637 </li> 3685 <xsl:variable name="authors-title"> 3686 <xsl:call-template name="get-authors-section-title"/> 3687 </xsl:variable> 3688 <xsl:variable name="authors-number"> 3689 <xsl:call-template name="get-authors-section-number"/> 3690 </xsl:variable> 3691 3692 <xsl:if test="$authors-number!='suppress'"> 3693 <li> 3694 <xsl:call-template name="insert-toc-line"> 3695 <xsl:with-param name="target" select="concat($anchor-prefix,'.authors')"/> 3696 <xsl:with-param name="title" select="$authors-title"/> 3697 <xsl:with-param name="number" select="$authors-number"/> 3698 </xsl:call-template> 3699 </li> 3700 </xsl:if> 3638 3701 3639 3702 </xsl:template> … … 3890 3953 <xsl:choose> 3891 3954 <xsl:when test="starts-with($name,'draft-')"> 3892 <xsl:if test=" count(//references//reference/seriesInfo[@name='Internet-Draft' and @value=$name])=0">3955 <xsl:if test="not(//references//reference/seriesInfo[@name='Internet-Draft' and @value=$name])"> 3893 3956 <xsl:call-template name="warning"> 3894 3957 <xsl:with-param name="inline" select="'no'"/> … … 3898 3961 </xsl:when> 3899 3962 <xsl:otherwise> 3900 <xsl:if test=" count(//references//reference/seriesInfo[@name='RFC' and @value=$name])=0">3963 <xsl:if test="not(//references//reference/seriesInfo[@name='RFC' and @value=$name])"> 3901 3964 <xsl:call-template name="warning"> 3902 3965 <xsl:with-param name="inline" select="'no'"/> … … 3906 3969 </xsl:otherwise> 3907 3970 </xsl:choose> 3971 </xsl:template> 3972 3973 <xsl:template name="check-anchor"> 3974 <xsl:if test="@anchor and @anchor!=''"> 3975 <!-- check validity of anchor name --> 3976 <xsl:variable name="test"> 3977 <xsl:element name="{@anchor}"/> 3978 </xsl:variable> 3979 <xsl:if test="count(exslt:node-set($test)//*) = 0"> 3980 <xsl:call-template name="error"> 3981 <xsl:with-param name="msg" select="concat('"',@anchor,'" is not a valid XML name')"/> 3982 </xsl:call-template> 3983 </xsl:if> 3984 </xsl:if> 3985 </xsl:template> 3986 3987 <xsl:template name="copy-anchor"> 3988 <xsl:call-template name="check-anchor"/> 3989 <xsl:if test="@anchor and @anchor!=''"> 3990 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 3991 </xsl:if> 3908 3992 </xsl:template> 3909 3993 … … 3927 4011 <xsl:template name="get-paragraph-number"> 3928 4012 <!-- get section number of ancestor section element, then add t or figure number --> 3929 <xsl:if test="ancestor::section and not(ancestor::section[@myns:unnumbered='unnumbered']) and not(ancestor::x:blockquote) ">3930 <xsl:for-each select="ancestor::section[1]"><xsl:call-template name="get-section-number" />.p.</xsl:for-each><xsl:number count="t|figure|x:blockquote " />4013 <xsl:if test="ancestor::section and not(ancestor::section[@myns:unnumbered='unnumbered']) and not(ancestor::x:blockquote) and not(ancestor::x:note)"> 4014 <xsl:for-each select="ancestor::section[1]"><xsl:call-template name="get-section-number" />.p.</xsl:for-each><xsl:number count="t|figure|x:blockquote|x:note" /> 3931 4015 </xsl:if> 3932 4016 </xsl:template> … … 3977 4061 </xsl:template> 3978 4062 4063 <!-- Notes --> 4064 <xsl:template match="x:note"> 4065 <div class="note"> 4066 <xsl:apply-templates/> 4067 </div> 4068 </xsl:template> 4069 3979 4070 <xsl:template match="x:bcp14"> 3980 4071 <!-- check valid BCP14 keywords, then emphasize them --> … … 4022 4113 <xsl:template match="x:dfn"> 4023 4114 <dfn> 4024 <xsl:if test="@anchor"> 4025 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 4026 </xsl:if> 4115 <xsl:call-template name="copy-anchor"/> 4027 4116 <xsl:apply-templates/> 4028 4117 </dfn> … … 4041 4130 <xsl:apply-templates/> 4042 4131 </sup> 4132 </xsl:template> 4133 4134 <!-- bold --> 4135 <xsl:template match="x:highlight"> 4136 <b> 4137 <xsl:apply-templates/> 4138 </b> 4043 4139 </xsl:template> 4044 4140 … … 4274 4370 </xsl:template> 4275 4371 4372 <!-- author handling extensions --> 4373 <xsl:template match="x:include-author"> 4374 <xsl:for-each select="/*/front/author[@anchor=current()/@target]"> 4375 <xsl:apply-templates select="."/> 4376 </xsl:for-each> 4377 </xsl:template> 4378 4276 4379 <!-- experimental annotation support --> 4277 4380 … … 4488 4591 4489 4592 <!-- check anchor names --> 4490 <xsl:variable name="badAnchors" select="//*[starts-with(@anchor,concat($anchor-prefix,'.'))]" /> 4593 <xsl:variable name="badAnchors" 4594 select="//*[starts-with(@anchor,concat($anchor-prefix,'.'))][@anchor!=concat($anchor-prefix,'.authors') and /*/x:assign-section-number[@number='suppress' and @builtin-target='authors']]" /> 4595 4491 4596 <xsl:if test="$badAnchors"> 4492 < p class="warning">4597 <xsl:variable name="text"> 4493 4598 The following anchor names may collide with internally generated anchors because of their prefix "<xsl:value-of select="$anchor-prefix" />": 4494 4599 <xsl:for-each select="$badAnchors"> 4495 4600 <xsl:value-of select="@anchor"/><xsl:if test="position()!=last()">, </xsl:if> 4496 4601 </xsl:for-each> 4497 </p> 4498 <xsl:message> 4499 The following anchor names may collide with internally generated anchors because of their prefix "<xsl:value-of select="$anchor-prefix" />": 4500 <xsl:for-each select="$badAnchors"> 4501 <xsl:value-of select="@anchor"/><xsl:if test="position()!=last()">, </xsl:if> 4502 </xsl:for-each> 4503 </xsl:message> 4602 </xsl:variable> 4603 <xsl:call-template name="warning"> 4604 <xsl:with-param name="msg"><xsl:value-of select="$text"/></xsl:with-param> 4605 </xsl:call-template> 4606 </xsl:if> 4607 4608 <!-- check ABNF syntax references --> 4609 <xsl:if test="//artwork[@type='abnf2616']"> 4610 <xsl:if test="not(//reference/seriesInfo[@name='RFC' and (@value='2068' or @value='2616')])"> 4611 <xsl:call-template name="warning"> 4612 <xsl:with-param name="inline">no</xsl:with-param> 4613 <xsl:with-param name="msg">document uses HTTP-style ABNF syntax, but doesn't reference RFC 2068 or 2616.</xsl:with-param> 4614 </xsl:call-template> 4615 </xsl:if> 4616 </xsl:if> 4617 <xsl:if test="//artwork[@type='abnf']"> 4618 <xsl:if test="not(//reference/seriesInfo[@name='RFC' and (@value='2234' or @value='4234' or @value='5234')])"> 4619 <xsl:call-template name="warning"> 4620 <xsl:with-param name="inline">no</xsl:with-param> 4621 <xsl:with-param name="msg">document uses ABNF syntax, but doesn't reference RFC 2234, 4234 or 5234.</xsl:with-param> 4622 </xsl:call-template> 4623 </xsl:if> 4504 4624 </xsl:if> 4505 4625 … … 4507 4627 <xsl:variable name="badTargets" select="//xref[not(@target=//@anchor) and not(ancestor::ed:del)]" /> 4508 4628 <xsl:if test="$badTargets"> 4509 < p class="error">4629 <xsl:variable name="text"> 4510 4630 The following target names do not exist: 4511 4631 <xsl:for-each select="$badTargets"> 4512 4632 <xsl:value-of select="@target"/><xsl:if test="position()!=last()">, </xsl:if> 4513 4633 </xsl:for-each> 4514 </p> 4515 <xsl:message> 4516 The following target names do not exist: 4517 <xsl:for-each select="$badTargets"> 4518 <xsl:value-of select="@target"/><xsl:if test="position()!=last()">, </xsl:if> 4519 </xsl:for-each> 4520 </xsl:message> 4634 </xsl:variable> 4635 <xsl:call-template name="warning"> 4636 <xsl:with-param name="msg"><xsl:value-of select="$text"/></xsl:with-param> 4637 </xsl:call-template> 4521 4638 </xsl:if> 4522 4639 … … 4769 4886 </xsl:variable> 4770 4887 <table summary="{preamble}" class="{$style}" cellpadding="3" cellspacing="0"> 4771 <thead> 4772 <tr> 4773 <xsl:apply-templates select="ttcol" /> 4774 </tr> 4775 </thead> 4888 <xsl:if test="ttcol!=''"> 4889 <!-- skip header when all column titles are empty --> 4890 <thead> 4891 <tr> 4892 <xsl:apply-templates select="ttcol" /> 4893 </tr> 4894 </thead> 4895 </xsl:if> 4776 4896 <tbody> 4777 4897 <xsl:variable name="columns" select="count(ttcol)" /> … … 5011 5131 <xsl:text>http://greenbytes.de/tech/webdav/rfc2629.xslt, </xsl:text> 5012 5132 <!-- when RCS keyword substitution in place, add version info --> 5013 <xsl:if test="contains('$Revision: 1. 387$',':')">5014 <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1. 387$', 'Revision: '),'$','')),', ')" />5133 <xsl:if test="contains('$Revision: 1.400 $',':')"> 5134 <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.400 $', 'Revision: '),'$','')),', ')" /> 5015 5135 </xsl:if> 5016 <xsl:if test="contains('$Date: 2008- 08-08 13:06:55$',':')">5017 <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2008- 08-08 13:06:55$', 'Date: '),'$','')),', ')" />5136 <xsl:if test="contains('$Date: 2008-10-10 14:04:14 $',':')"> 5137 <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2008-10-10 14:04:14 $', 'Date: '),'$','')),', ')" /> 5018 5138 </xsl:if> 5019 5139 <xsl:value-of select="concat('XSLT vendor: ',system-property('xsl:vendor'),' ',system-property('xsl:vendor-url'))" /> -
rfc2629xslt/rfc2629toFO.xslt
r285 r329 47 47 <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/> 48 48 49 <!-- page sizes as per <http://tools.ietf.org/html/draft-rfc-editor-rfc2223bis-08#section-3.2> --> 50 <xsl:attribute-set name="page"> 51 <xsl:attribute name="margin-left">1in</xsl:attribute> 52 <xsl:attribute name="margin-right">1in</xsl:attribute> 53 <xsl:attribute name="page-height">11in</xsl:attribute> 54 <xsl:attribute name="page-width">8.5in</xsl:attribute> 55 </xsl:attribute-set> 56 49 57 <xsl:attribute-set name="base"> 50 58 <xsl:attribute name="font-family">serif</xsl:attribute> 51 59 <xsl:attribute name="font-size">10pt</xsl:attribute> 60 <xsl:attribute name="line-height">12pt</xsl:attribute> 52 61 </xsl:attribute-set> 53 62 … … 152 161 </xsl:otherwise> 153 162 </xsl:choose> 163 164 <xsl:if test="@align='center'"> 165 <xsl:attribute name="text-align">center</xsl:attribute> 166 </xsl:if> 154 167 </xsl:template> 155 168 … … 168 181 169 182 <xsl:template match="author"> 170 <fo:block space-before="1em"> 171 <fo:wrapper font-weight="bold"><xsl:value-of select="@fullname" /></fo:wrapper> 172 <xsl:if test="@role"> 173 <fo:wrapper> (<xsl:value-of select="@role" />)</fo:wrapper> 183 <fo:block start-indent="2em" space-before=".5em" space-after=".5em"> 184 <fo:block> 185 <fo:wrapper font-weight="bold"><xsl:value-of select="@fullname" /></fo:wrapper> 186 <xsl:if test="@role"> 187 <fo:wrapper> (<xsl:value-of select="@role" />)</fo:wrapper> 188 </xsl:if> 189 </fo:block> 190 <fo:block><xsl:value-of select="organization" /></fo:block> 191 <xsl:for-each select="address/postal/street"> 192 <fo:block><xsl:value-of select="." /></fo:block> 193 </xsl:for-each> 194 <xsl:if test="address/postal/city"> 195 <fo:block><xsl:value-of select="concat(address/postal/city,', ',address/postal/region,' ',address/postal/code)" /></fo:block> 196 </xsl:if> 197 <xsl:if test="address/postal/country"> 198 <fo:block><xsl:value-of select="address/postal/country" /></fo:block> 174 199 </xsl:if> 200 <xsl:if test="address/phone"> 201 <fo:block>Phone: <fo:basic-link external-destination="url('tel:{translate(address/phone,' ','')}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="address/phone" /></fo:basic-link></fo:block> 202 </xsl:if> 203 <xsl:if test="address/facsimile"> 204 <fo:block>Fax: <fo:basic-link external-destination="url('tel:{translate(address/facsimile,' ','')}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="address/facsimile" /></fo:basic-link></fo:block> 205 </xsl:if> 206 <xsl:for-each select="address/email"> 207 <xsl:variable name="email"> 208 <xsl:call-template name="extract-email"/> 209 </xsl:variable> 210 <fo:block>EMail:  211 <xsl:choose> 212 <xsl:when test="$xml2rfc-linkmailto='no'"> 213 <xsl:value-of select="$email" /> 214 </xsl:when> 215 <xsl:otherwise> 216 <fo:basic-link external-destination="url('mailto:{$email}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="$email" /></fo:basic-link> 217 </xsl:otherwise> 218 </xsl:choose> 219 </fo:block> 220 </xsl:for-each> 221 <xsl:for-each select="address/uri"> 222 <xsl:variable name="uri"> 223 <xsl:call-template name="extract-uri"/> 224 </xsl:variable> 225 <fo:block>URI: <fo:basic-link external-destination="url('{$uri}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="$uri" /></fo:basic-link></fo:block> 226 </xsl:for-each> 175 227 </fo:block> 176 <fo:block><xsl:value-of select="organization" /></fo:block>177 <xsl:for-each select="address/postal/street">178 <fo:block><xsl:value-of select="." /></fo:block>179 </xsl:for-each>180 <xsl:if test="address/postal/city">181 <fo:block><xsl:value-of select="concat(address/postal/city,', ',address/postal/region,' ',address/postal/code)" /></fo:block>182 </xsl:if>183 <xsl:if test="address/postal/country">184 <fo:block><xsl:value-of select="address/postal/country" /></fo:block>185 </xsl:if>186 <xsl:if test="address/phone">187 <fo:block>Phone: <fo:basic-link external-destination="url('tel:{translate(address/phone,' ','')}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="address/phone" /></fo:basic-link></fo:block>188 </xsl:if>189 <xsl:if test="address/facsimile">190 <fo:block>Fax: <fo:basic-link external-destination="url('tel:{translate(address/facsimile,' ','')}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="address/facsimile" /></fo:basic-link></fo:block>191 </xsl:if>192 <xsl:for-each select="address/email">193 <xsl:variable name="email">194 <xsl:call-template name="extract-email"/>195 </xsl:variable>196 <fo:block>EMail: 197 <xsl:choose>198 <xsl:when test="$xml2rfc-linkmailto='no'">199 <xsl:value-of select="$email" />200 </xsl:when>201 <xsl:otherwise>202 <fo:basic-link external-destination="url('mailto:{$email}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="$email" /></fo:basic-link>203 </xsl:otherwise>204 </xsl:choose>205 </fo:block>206 </xsl:for-each>207 <xsl:for-each select="address/uri">208 <xsl:variable name="uri">209 <xsl:call-template name="extract-uri"/>210 </xsl:variable>211 <fo:block>URI: <fo:basic-link external-destination="url('{$uri}')" xsl:use-attribute-sets="external-link"><xsl:value-of select="$uri" /></fo:basic-link></fo:block>212 </xsl:for-each>213 228 </xsl:template> 214 229 … … 516 531 <xsl:template match="list"> 517 532 <xsl:if test="@style!='' and @style!='empty' and @style"> 518 <xsl:message>WARNING: unknown style '<xsl:value-of select="@style"/>' for list, continueing with default format.</xsl:message> 533 <xsl:call-template name="warning"> 534 <xsl:with-param name="inline" select="'no'"/> 535 <xsl:with-param name="msg">unknown style '<xsl:value-of select="@style"/>' for list, continueing with default format.</xsl:with-param> 536 </xsl:call-template> 519 537 </xsl:if> 520 538 <fo:list-block provisional-distance-between-starts="2em"> … … 850 868 <fo:root xsl:use-attribute-sets="base"> 851 869 852 <!-- insert PDF information (XEP extension) -->853 <meta-info xmlns="http://www.renderx.com/XSL/Extensions">854 <!-- title -->855 <meta-field name="title" value="{/rfc/front/title}"/>856 <!-- keywords -->857 <xsl:if test="/rfc/front/keyword">858 <xsl:variable name="keyw">859 <xsl:call-template name="get-keywords" />860 </xsl:variable>861 <meta-field name="keywords" value="{$keyw}" />862 </xsl:if>863 <xsl:variable name="auth">864 <xsl:call-template name="get-author-summary" />865 </xsl:variable>866 <meta-field name="author" value="{$auth}" />867 </meta-info>868 869 870 <fo:layout-master-set> 870 <!-- page sizes as per <http://tools.ietf.org/html/draft-rfc-editor-rfc2223bis-08> --> 871 <fo:simple-page-master master-name="first-page" margin-left="1in" margin-right="1in" page-height="11in" page-width="8.5in"> 871 <fo:simple-page-master master-name="first-page" xsl:use-attribute-sets="page"> 872 872 <fo:region-body margin-bottom="1in" margin-top="1in"/> 873 873 <fo:region-after extent="1cm" region-name="footer"/> 874 874 </fo:simple-page-master> 875 <fo:simple-page-master master-name="other-pages" margin-left="1in" margin-right="1in" page-height="11in" page-width="8.5in">875 <fo:simple-page-master master-name="other-pages" xsl:use-attribute-sets="page"> 876 876 <fo:region-body margin-bottom="1in" margin-top="1in" /> 877 877 <fo:region-before extent="1cm" region-name="header"/> 878 878 <fo:region-after extent="1cm" region-name="footer"/> 879 879 </fo:simple-page-master> 880 <fo:simple-page-master master-name="other-pages-dc" margin-left="1in" margin-right="1in" page-height="11in" page-width="8.5in">880 <fo:simple-page-master master-name="other-pages-dc" xsl:use-attribute-sets="page"> 881 881 <fo:region-body margin-bottom="1in" margin-top="1in" column-count="2"/> 882 882 <fo:region-before extent="1cm" region-name="header"/> … … 889 889 </fo:layout-master-set> 890 890 891 <fo:declarations> 892 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 893 <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"> 894 <dc:title><xsl:value-of select="/rfc/front/title"/></dc:title> 895 <dc:creator><xsl:call-template name="get-author-summary" /></dc:creator> 896 <dc:description><xsl:value-of select="normalize-space(/rfc/front/abstract)"/></dc:description> 897 <xsl:if test="/rfc/front/keyword" xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> 898 <pdf:Keywords> 899 <xsl:for-each select="/rfc/front/keyword"> 900 <xsl:value-of select="."/> 901 <xsl:if test="position()!=last()">, </xsl:if> 902 </xsl:for-each> 903 </pdf:Keywords> 904 </xsl:if> 905 </rdf:Description> 906 </rdf:RDF> 907 </fo:declarations> 908 891 909 <fo:bookmark-tree> 892 910 <xsl:apply-templates select="." mode="bookmarks" /> … … 1014 1032 <xsl:choose> 1015 1033 <xsl:when test="parent::x:blockquote"> 1034 <xsl:attribute name="start-indent">4em</xsl:attribute> 1035 </xsl:when> 1036 <xsl:when test="parent::x:note"> 1016 1037 <xsl:attribute name="start-indent">4em</xsl:attribute> 1017 1038 </xsl:when> … … 1109 1130 <xsl:value-of select="." /> 1110 1131 </fo:basic-link> 1111 <xsl:for-each select="//reference[@anchor=$target]"> 1112  <xsl:call-template name="referencename"><xsl:with-param name="node" select="." /></xsl:call-template> 1113 </xsl:for-each> 1132 <xsl:if test="not(@format='none')"> 1133 <xsl:for-each select="//reference[@anchor=$target]"> 1134  <xsl:call-template name="referencename"><xsl:with-param name="node" select="." /></xsl:call-template> 1135 </xsl:for-each> 1136 </xsl:if> 1114 1137 </xsl:otherwise> 1115 1138 </xsl:choose> … … 1376 1399 </xsl:variable> 1377 1400 1378 <fo:block id="{$anchor-prefix}.authors" xsl:use-attribute-sets="h1 newpage"> 1379 <xsl:if test="$sectionNumber != ''"> 1380 <xsl:call-template name="emit-section-number"> 1381 <xsl:with-param name="no" select="$sectionNumber"/> 1382 </xsl:call-template> 1383 <xsl:text>  </xsl:text> 1384 </xsl:if> 1385 <xsl:call-template name="get-authors-section-title"/> 1386 </fo:block> 1387 1388 <xsl:apply-templates select="/rfc/front/author" /> 1401 <xsl:if test="$sectionNumber!='suppress'"> 1402 <fo:block id="{$anchor-prefix}.authors" xsl:use-attribute-sets="h1 newpage"> 1403 <xsl:if test="$sectionNumber != ''"> 1404 <xsl:call-template name="emit-section-number"> 1405 <xsl:with-param name="no" select="$sectionNumber"/> 1406 </xsl:call-template> 1407 <xsl:text>  </xsl:text> 1408 </xsl:if> 1409 <xsl:call-template name="get-authors-section-title"/> 1410 </fo:block> 1411 1412 <xsl:apply-templates select="/rfc/front/author" /> 1413 </xsl:if> 1389 1414 </xsl:template> 1390 1415 … … 1628 1653 <xsl:call-template name="get-authors-section-number"/> 1629 1654 </xsl:variable> 1630 <xsl:call-template name="insert-toc-line"> 1631 <xsl:with-param name="target" select="concat($anchor-prefix,'.authors')"/> 1632 <xsl:with-param name="title" select="$authors-title"/> 1633 <xsl:with-param name="number" select="$authors-number"/> 1634 </xsl:call-template> 1655 <xsl:if test="$authors-number!='suppress'"> 1656 <xsl:call-template name="insert-toc-line"> 1657 <xsl:with-param name="target" select="concat($anchor-prefix,'.authors')"/> 1658 <xsl:with-param name="title" select="$authors-title"/> 1659 <xsl:with-param name="number" select="$authors-number"/> 1660 </xsl:call-template> 1661 </xsl:if> 1635 1662 1636 1663 </xsl:template> … … 1883 1910 <xsl:apply-templates /> 1884 1911 </xsl:template> 1912 <xsl:template match="ed:issueref"> 1913 <xsl:apply-templates /> 1914 </xsl:template> 1885 1915 1886 1916 <xsl:template match="ed:replace"> … … 1977 2007 </xsl:variable> 1978 2008 1979 <fo:bookmark internal-destination="{concat($anchor-prefix,'.authors')}"> 1980 <fo:bookmark-title><xsl:value-of select="$title"/></fo:bookmark-title> 1981 </fo:bookmark> 2009 <xsl:if test="$authors-number!='suppress'"> 2010 <fo:bookmark internal-destination="{concat($anchor-prefix,'.authors')}"> 2011 <fo:bookmark-title><xsl:value-of select="$title"/></fo:bookmark-title> 2012 </fo:bookmark> 2013 </xsl:if> 1982 2014 </xsl:template> 1983 2015 … … 1994 2026 1995 2027 <xsl:choose> 2028 <xsl:when test="count(/*/back/references) = 0"> 2029 <!-- nothing to do --> 2030 </xsl:when> 1996 2031 <xsl:when test="count(/*/back/references) = 1"> 1997 2032 <xsl:for-each select="/*/back/references"> … … 2070 2105 <xsl:apply-templates select="front/note" mode="bookmarks"/> 2071 2106 2072 <xsl:if test="$xml2rfc-toc ">2107 <xsl:if test="$xml2rfc-toc='yes'"> 2073 2108 <fo:bookmark internal-destination="{concat($anchor-prefix,'.toc')}"> 2074 2109 <fo:bookmark-title>Table of Contents</fo:bookmark-title> … … 2153 2188 </fo:table-column> 2154 2189 </xsl:for-each> 2155 <fo:table-header start-indent="0em" space-after=".5em"> 2156 <fo:table-row> 2157 <xsl:apply-templates select="ttcol" /> 2158 </fo:table-row> 2159 </fo:table-header> 2190 <xsl:if test="ttcol!=''"> 2191 <!-- skip header when all column titles are empty --> 2192 <fo:table-header start-indent="0em" space-after=".5em"> 2193 <fo:table-row> 2194 <xsl:apply-templates select="ttcol" /> 2195 </fo:table-row> 2196 </fo:table-header> 2197 </xsl:if> 2160 2198 <fo:table-body start-indent="0em"> 2161 2199 <xsl:if test="$style='full' or $style='headers'"> … … 2327 2365 </xsl:when> 2328 2366 <xsl:otherwise> 2329 <xsl:message>WARNING: internal link target for '<xsl:value-of select="."/>' does not exist.</xsl:message> 2367 <xsl:call-template name="warning"> 2368 <xsl:with-param name="inline" select="'no'"/> 2369 <xsl:with-param name="msg">internal link target for '<xsl:value-of select="."/>' does not exist.</xsl:with-param> 2370 </xsl:call-template> 2330 2371 <xsl:apply-templates/> 2331 2372 </xsl:otherwise> … … 2336 2377 <xsl:template match="x:bcp14"> 2337 2378 <!-- figure out something that prints well --> 2379 <xsl:apply-templates/> 2380 </xsl:template> 2381 2382 <!-- Notes --> 2383 <xsl:template match="x:note"> 2338 2384 <xsl:apply-templates/> 2339 2385 </xsl:template> … … 2364 2410 <!-- Headings --> 2365 2411 <xsl:template match="x:h"> 2412 <fo:wrapper font-weight="bold"> 2413 <xsl:apply-templates/> 2414 </fo:wrapper> 2415 </xsl:template> 2416 2417 <!-- Highlightinghing --> 2418 <xsl:template match="x:highlight"> 2366 2419 <fo:wrapper font-weight="bold"> 2367 2420 <xsl:apply-templates/> … … 2437 2490 <xsl:template match="x:bt|x:bc|x:bb"> 2438 2491 <xsl:apply-templates /> 2492 </xsl:template> 2493 2494 <!-- author handling extensions --> 2495 <xsl:template match="x:include-author"> 2496 <xsl:for-each select="/*/front/author[@anchor=current()/@target]"> 2497 <xsl:apply-templates select="."/> 2498 </xsl:for-each> 2439 2499 </xsl:template> 2440 2500 -
rfc2629xslt/rfc2629toXHTML.xslt
r308 r329 319 319 <xsl:call-template name="check-artwork-width"> 320 320 <xsl:with-param name="content"><xsl:apply-templates/></xsl:with-param> 321 <xsl:with-param name="indent"><xsl:value-of select="string-length(@x:indent-with)"/></xsl:with-param> 321 322 </xsl:call-template> 322 323 </xsl:template> … … 338 339 <xsl:template name="check-artwork-width"> 339 340 <xsl:param name="content"/> 341 <xsl:param name="indent"/> 340 342 <xsl:choose> 341 343 <xsl:when test="not(contains($content,'
'))"> 342 <xsl:if test="string-length($content) > 69 ">344 <xsl:if test="string-length($content) > 69 + $indent"> 343 345 <xsl:call-template name="warning"> 344 346 <xsl:with-param name="inline" select="'no'"/> … … 350 352 <xsl:variable name="start" select="substring-before($content,'
')"/> 351 353 <xsl:variable name="end" select="substring-after($content,'
')"/> 352 <xsl:if test="string-length($start) > 69 ">354 <xsl:if test="string-length($start) > 69 + $indent"> 353 355 <xsl:call-template name="warning"> 354 356 <xsl:with-param name="inline" select="'no'"/> … … 365 367 <xsl:template match="artwork[@src and starts-with(@type,'image/')]"> 366 368 <p xmlns="http://www.w3.org/1999/xhtml"> 367 <img src="{@src}" alt="{.}"> 368 <xsl:copy-of select="@width|@height"/> 369 </img> 369 <xsl:choose> 370 <xsl:when test="@type='image/svg+xml'"> 371 <object data="{@src}" type="image/svg+xml"> 372 <xsl:choose> 373 <xsl:when test="@width!='' or @height!=''"> 374 <xsl:copy-of select="@width|@height"/> 375 </xsl:when> 376 <xsl:otherwise xmlns:svg="http://www.w3.org/2000/svg"> 377 <!-- try to find width and height from SVG --> 378 <xsl:variable name="svg" select="document(@src)"/> 379 <xsl:for-each select="$svg/svg:svg/@width|$svg/svg:svg/@height"> 380 <!-- strip out the units, cross the fingers pixels are meant --> 381 <xsl:attribute name="{local-name()}"> 382 <xsl:value-of select="translate(.,concat($ucase,$lcase),'')"/> 383 </xsl:attribute> 384 </xsl:for-each> 385 </xsl:otherwise> 386 </xsl:choose> 387 <xsl:apply-templates/> 388 </object> 389 </xsl:when> 390 <xsl:otherwise> 391 <img src="{@src}" alt="{.}"> 392 <xsl:copy-of select="@width|@height"/> 393 </img> 394 </xsl:otherwise> 395 </xsl:choose> 370 396 </p> 371 397 </xsl:template> … … 522 548 <xsl:template match="figure"> 523 549 <xsl:if test="@anchor!=''"> 550 <xsl:call-template name="check-anchor"/> 524 551 <div xmlns="http://www.w3.org/1999/xhtml" id="{@anchor}"/> 525 552 </xsl:if> … … 570 597 <p xmlns="http://www.w3.org/1999/xhtml" class="title"> 571 598 <!-- main title --> 599 572 600 <xsl:apply-templates select="title"/> 573 601 <xsl:if test="/rfc/@docName"> … … 725 753 <!-- Inherited through CSS now <dd style="margin-top: .5em">--> 726 754 <dd xmlns="http://www.w3.org/1999/xhtml"> 755 <xsl:call-template name="copy-anchor"/> 727 756 <xsl:call-template name="insertInsDelClass"/> 728 <xsl:if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>729 757 <xsl:apply-templates/> 730 758 </dd> … … 733 761 <xsl:template match="list[@style='numbers' or @style='symbols' or @style='letters']/x:lt"> 734 762 <li xmlns="http://www.w3.org/1999/xhtml"> 735 <xsl: if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>763 <xsl:call-template name="copy-anchor"/> 736 764 <xsl:apply-templates select="t"/> 737 765 </li> … … 740 768 <xsl:template match="list[@style='numbers' or @style='symbols' or @style='letters']/t | list[@style='numbers' or @style='symbols' or @style='letters']/ed:replace/ed:*/t"> 741 769 <li xmlns="http://www.w3.org/1999/xhtml"> 770 <xsl:call-template name="copy-anchor"/> 742 771 <xsl:call-template name="insertInsDelClass"/> 743 772 <xsl:for-each select="../.."> 744 773 <xsl:call-template name="insert-issue-pointer"/> 745 774 </xsl:for-each> 746 <xsl:if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>747 775 <xsl:apply-templates/> 748 776 </li> … … 752 780 <xsl:if test="@hangText!=''"> 753 781 <dt xmlns="http://www.w3.org/1999/xhtml"> 782 <xsl:call-template name="copy-anchor"/> 754 783 <xsl:call-template name="insertInsDelClass"/> 755 784 <xsl:variable name="del-node" select="ancestor::ed:del"/> … … 761 790 </xsl:call-template> 762 791 </xsl:for-each> 763 <xsl:if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>764 792 <xsl:value-of select="@hangText"/> 765 793 </dt> … … 778 806 <xsl:if test="@hangText!=''"> 779 807 <dt xmlns="http://www.w3.org/1999/xhtml"> 808 <xsl:call-template name="copy-anchor"/> 780 809 <xsl:call-template name="insertInsDelClass"/> 781 810 <xsl:if test="count(preceding-sibling::t)=0"> … … 789 818 </xsl:for-each> 790 819 </xsl:if> 791 <xsl:if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>792 820 <xsl:value-of select="@hangText"/> 793 821 </dt> … … 824 852 </xsl:variable> 825 853 <dt xmlns="http://www.w3.org/1999/xhtml"> 826 <xsl: if test="@anchor"><xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute></xsl:if>854 <xsl:call-template name="copy-anchor"/> 827 855 <xsl:choose> 828 856 <xsl:when test="contains($format,'%c')"> … … 868 896 <xsl:if test="normalize-space(.) != ''"> 869 897 <p xmlns="http://www.w3.org/1999/xhtml"> 870 <xsl:if test="@anchor"> 871 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 872 </xsl:if> 898 <xsl:call-template name="copy-anchor"/> 873 899 <xsl:call-template name="insertInsDelClass"/> 874 900 <xsl:call-template name="editingMark"/> … … 947 973 </xsl:call-template> 948 974 </xsl:if> 975 976 <xsl:call-template name="check-anchor"/> 949 977 950 978 <xsl:variable name="target"> … … 1192 1220 </xsl:variable> 1193 1221 1194 <html xmlns="http://www.w3.org/1999/xhtml" lang="{$lang}">1222 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$lang}"> 1195 1223 <head profile="http://www.w3.org/2006/03/hcard"> 1196 1224 <title> … … 1218 1246 </xsl:for-each> 1219 1247 <xsl:if test="/rfc/@number"> 1220 <link rel="Alternate" title="Authorative ASCII version" href="http://www.ietf.org/rfc/rfc{/rfc/@number}.txt"/> 1248 <xsl:variable name="number"> 1249 <xsl:choose> 1250 <xsl:when test="string-length(/rfc/@number) < 2">000<xsl:value-of select="/rfc/@number"/></xsl:when> 1251 <xsl:when test="string-length(/rfc/@number) < 3">00<xsl:value-of select="/rfc/@number"/></xsl:when> 1252 <xsl:when test="string-length(/rfc/@number) < 4">0<xsl:value-of select="/rfc/@number"/></xsl:when> 1253 <xsl:otherwise><xsl:value-of select="/rfc/@number"/></xsl:otherwise> 1254 </xsl:choose> 1255 </xsl:variable> 1256 <link rel="Alternate" title="Authorative ASCII Version" href="http://www.ietf.org/rfc/rfc{/rfc/@number}.txt"/> 1257 <link rel="Help" title="Additional Information on tools.ietf.org" href="http://tools.ietf.org/html/rfc{$number}"/> 1221 1258 </xsl:if> 1222 1259 … … 1341 1378 </xsl:template> 1342 1379 1380 <xsl:template mode="t-content2" match="comment()"> 1381 <xsl:apply-templates select="."/> 1382 <xsl:if test="not(following-sibling::node()[1] [self::list or self::figure or self::texttable])"> 1383 <xsl:apply-templates select="following-sibling::node()[1]" mode="t-content2"/> 1384 </xsl:if> 1385 </xsl:template> 1386 1343 1387 <xsl:template match="title"> 1388 <xsl:if test="@abbrev and string-length(@abbrev) > 40"> 1389 <xsl:call-template name="warning"> 1390 <xsl:with-param name="inline" select="'no'"/> 1391 <xsl:with-param name="msg">title/@abbrev too long (max 40 characters)</xsl:with-param> 1392 </xsl:call-template> 1393 </xsl:if> 1394 1395 <xsl:if test="string-length(.) > 40 and (not(@abbrev) or @abbrev='')"> 1396 <xsl:call-template name="warning"> 1397 <xsl:with-param name="inline" select="'no'"/> 1398 <xsl:with-param name="msg">title too long, should supply title/@abbrev attribute with less than 40 characters</xsl:with-param> 1399 </xsl:call-template> 1400 </xsl:if> 1401 1344 1402 <xsl:apply-templates/> 1345 1403 </xsl:template> … … 1434 1492 <xsl:choose> 1435 1493 <xsl:when test="@anchor"> 1494 <xsl:call-template name="check-anchor"/> 1436 1495 <a xmlns="http://www.w3.org/1999/xhtml" id="{@anchor}" href="#{@anchor}"><xsl:call-template name="insertTitle"/></a> 1437 1496 </xsl:when> … … 1447 1506 <xsl:template match="spanx[@style='emph' or not(@style)]"> 1448 1507 <em xmlns="http://www.w3.org/1999/xhtml"> 1449 <xsl:if test="@anchor"> 1450 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 1451 </xsl:if> 1508 <xsl:call-template name="copy-anchor"/> 1452 1509 <xsl:apply-templates/> 1453 1510 </em> … … 1456 1513 <xsl:template match="spanx[@style='verb']"> 1457 1514 <samp xmlns="http://www.w3.org/1999/xhtml"> 1458 <xsl:if test="@anchor"> 1459 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 1460 </xsl:if> 1515 <xsl:call-template name="copy-anchor"/> 1461 1516 <xsl:apply-templates/> 1462 1517 </samp> … … 1465 1520 <xsl:template match="spanx[@style='strong']"> 1466 1521 <strong xmlns="http://www.w3.org/1999/xhtml"> 1467 <xsl:if test="@anchor"> 1468 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 1469 </xsl:if> 1522 <xsl:call-template name="copy-anchor"/> 1470 1523 <xsl:apply-templates/> 1471 1524 </strong> … … 1589 1642 <xsl:otherwise> 1590 1643 <a xmlns="http://www.w3.org/1999/xhtml" href="#{$target}"><xsl:apply-templates/></a> 1591 <xsl:for-each select="$src/rfc/back/references//reference[@anchor=$target]"> 1592 <xsl:text> </xsl:text> 1593 <cite xmlns="http://www.w3.org/1999/xhtml" title="{normalize-space(front/title)}"> 1594 <xsl:if test="$xml2rfc-ext-include-references-in-index='yes'"> 1595 <xsl:attribute name="id"><xsl:value-of select="$anchor"/></xsl:attribute> 1596 </xsl:if> 1597 <xsl:call-template name="referencename"> 1598 <xsl:with-param name="node" select="."/> 1599 </xsl:call-template> 1600 </cite> 1601 </xsl:for-each> 1644 <xsl:if test="not(@format='none')"> 1645 <xsl:for-each select="$src/rfc/back/references//reference[@anchor=$target]"> 1646 <xsl:text> </xsl:text> 1647 <cite xmlns="http://www.w3.org/1999/xhtml" title="{normalize-space(front/title)}"> 1648 <xsl:if test="$xml2rfc-ext-include-references-in-index='yes'"> 1649 <xsl:attribute name="id"><xsl:value-of select="$anchor"/></xsl:attribute> 1650 </xsl:if> 1651 <xsl:call-template name="referencename"> 1652 <xsl:with-param name="node" select="."/> 1653 </xsl:call-template> 1654 </cite> 1655 </xsl:for-each> 1656 </xsl:if> 1602 1657 </xsl:otherwise> 1603 1658 </xsl:choose> … … 2116 2171 <xsl:template name="insertAuthors"> 2117 2172 2118 <xsl:call-template name="insert-conditional-hrule"/>2119 2120 2173 <xsl:variable name="number"> 2121 2174 <xsl:call-template name="get-authors-section-number"/> 2122 2175 </xsl:variable> 2123 2176 2124 <h1 xmlns="http://www.w3.org/1999/xhtml" id="{$anchor-prefix}.authors"> 2125 <xsl:call-template name="insert-conditional-pagebreak"/> 2126 <xsl:if test="$number != ''"> 2127 <a href="#{$anchor-prefix}.section.{$number}" id="{$anchor-prefix}.section.{$number}"><xsl:value-of select="$number"/>.</a> 2128 <xsl:text> </xsl:text> 2129 </xsl:if> 2130 <a href="#{$anchor-prefix}.authors"><xsl:call-template name="get-authors-section-title"/></a> 2131 </h1> 2132 2133 <xsl:apply-templates select="/rfc/front/author"/> 2177 <xsl:if test="$number!='suppress'"> 2178 <xsl:call-template name="insert-conditional-hrule"/> 2179 2180 <h1 xmlns="http://www.w3.org/1999/xhtml" id="{$anchor-prefix}.authors"> 2181 <xsl:call-template name="insert-conditional-pagebreak"/> 2182 <xsl:if test="$number != ''"> 2183 <a href="#{$anchor-prefix}.section.{$number}" id="{$anchor-prefix}.section.{$number}"><xsl:value-of select="$number"/>.</a> 2184 <xsl:text> </xsl:text> 2185 </xsl:if> 2186 <a href="#{$anchor-prefix}.authors"><xsl:call-template name="get-authors-section-title"/></a> 2187 </h1> 2188 2189 <xsl:apply-templates select="/rfc/front/author"/> 2190 </xsl:if> 2134 2191 </xsl:template> 2135 2192 … … 2351 2408 cite { 2352 2409 font-style: normal; 2353 } 2410 }<xsl:if test="//x:note"> 2411 div.note { 2412 margin-left: 2em; 2413 }</xsl:if> 2354 2414 dd { 2355 2415 margin-right: 2em;<xsl:if test="$xml2rfc-ext-justification='always'"> … … 3436 3496 <xsl:template match="front" mode="toc"> 3437 3497 3438 <li xmlns="http://www.w3.org/1999/xhtml"> 3439 <xsl:variable name="authors-title"> 3440 <xsl:call-template name="get-authors-section-title"/> 3441 </xsl:variable> 3442 <xsl:variable name="authors-number"> 3443 <xsl:call-template name="get-authors-section-number"/> 3444 </xsl:variable> 3445 <xsl:call-template name="insert-toc-line"> 3446 <xsl:with-param name="target" select="concat($anchor-prefix,'.authors')"/> 3447 <xsl:with-param name="title" select="$authors-title"/> 3448 <xsl:with-param name="number" select="$authors-number"/> 3449 </xsl:call-template> 3450 </li> 3498 <xsl:variable name="authors-title"> 3499 <xsl:call-template name="get-authors-section-title"/> 3500 </xsl:variable> 3501 <xsl:variable name="authors-number"> 3502 <xsl:call-template name="get-authors-section-number"/> 3503 </xsl:variable> 3504 3505 <xsl:if test="$authors-number!='suppress'"> 3506 <li xmlns="http://www.w3.org/1999/xhtml"> 3507 <xsl:call-template name="insert-toc-line"> 3508 <xsl:with-param name="target" select="concat($anchor-prefix,'.authors')"/> 3509 <xsl:with-param name="title" select="$authors-title"/> 3510 <xsl:with-param name="number" select="$authors-number"/> 3511 </xsl:call-template> 3512 </li> 3513 </xsl:if> 3451 3514 3452 3515 </xsl:template> … … 3703 3766 <xsl:choose> 3704 3767 <xsl:when test="starts-with($name,'draft-')"> 3705 <xsl:if test=" count(//references//reference/seriesInfo[@name='Internet-Draft' and @value=$name])=0">3768 <xsl:if test="not(//references//reference/seriesInfo[@name='Internet-Draft' and @value=$name])"> 3706 3769 <xsl:call-template name="warning"> 3707 3770 <xsl:with-param name="inline" select="'no'"/> … … 3711 3774 </xsl:when> 3712 3775 <xsl:otherwise> 3713 <xsl:if test=" count(//references//reference/seriesInfo[@name='RFC' and @value=$name])=0">3776 <xsl:if test="not(//references//reference/seriesInfo[@name='RFC' and @value=$name])"> 3714 3777 <xsl:call-template name="warning"> 3715 3778 <xsl:with-param name="inline" select="'no'"/> … … 3721 3784 </xsl:template> 3722 3785 3786 <xsl:template name="check-anchor"> 3787 <xsl:if test="@anchor and @anchor!=''"> 3788 <!-- check validity of anchor name --> 3789 <xsl:variable name="test"> 3790 <xsl:element namespace="http://www.w3.org/1999/xhtml" name="{@anchor}"/> 3791 </xsl:variable> 3792 <xsl:if test="count(exslt:node-set($test)//*) = 0"> 3793 <xsl:call-template name="error"> 3794 <xsl:with-param name="msg" select="concat('"',@anchor,'" is not a valid XML name')"/> 3795 </xsl:call-template> 3796 </xsl:if> 3797 </xsl:if> 3798 </xsl:template> 3799 3800 <xsl:template name="copy-anchor"> 3801 <xsl:call-template name="check-anchor"/> 3802 <xsl:if test="@anchor and @anchor!=''"> 3803 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 3804 </xsl:if> 3805 </xsl:template> 3806 3723 3807 <xsl:template name="rfclist-for-dcmeta"> 3724 3808 <xsl:param name="list"/> … … 3740 3824 <xsl:template name="get-paragraph-number"> 3741 3825 <!-- get section number of ancestor section element, then add t or figure number --> 3742 <xsl:if test="ancestor::section and not(ancestor::section[@myns:unnumbered='unnumbered']) and not(ancestor::x:blockquote) ">3743 <xsl:for-each select="ancestor::section[1]"><xsl:call-template name="get-section-number"/>.p.</xsl:for-each><xsl:number count="t|figure|x:blockquote "/>3826 <xsl:if test="ancestor::section and not(ancestor::section[@myns:unnumbered='unnumbered']) and not(ancestor::x:blockquote) and not(ancestor::x:note)"> 3827 <xsl:for-each select="ancestor::section[1]"><xsl:call-template name="get-section-number"/>.p.</xsl:for-each><xsl:number count="t|figure|x:blockquote|x:note"/> 3744 3828 </xsl:if> 3745 3829 </xsl:template> … … 3788 3872 <xsl:apply-templates/> 3789 3873 </q> 3874 </xsl:template> 3875 3876 <!-- Notes --> 3877 <xsl:template match="x:note"> 3878 <div xmlns="http://www.w3.org/1999/xhtml" class="note"> 3879 <xsl:apply-templates/> 3880 </div> 3790 3881 </xsl:template> 3791 3882 … … 3835 3926 <xsl:template match="x:dfn"> 3836 3927 <dfn xmlns="http://www.w3.org/1999/xhtml"> 3837 <xsl:if test="@anchor"> 3838 <xsl:attribute name="id"><xsl:value-of select="@anchor"/></xsl:attribute> 3839 </xsl:if> 3928 <xsl:call-template name="copy-anchor"/> 3840 3929 <xsl:apply-templates/> 3841 3930 </dfn> … … 3854 3943 <xsl:apply-templates/> 3855 3944 </sup> 3945 </xsl:template> 3946 3947 <!-- bold --> 3948 <xsl:template match="x:highlight"> 3949 <b xmlns="http://www.w3.org/1999/xhtml"> 3950 <xsl:apply-templates/> 3951 </b> 3856 3952 </xsl:template> 3857 3953 … … 4087 4183 </xsl:template> 4088 4184 4185 <!-- author handling extensions --> 4186 <xsl:template match="x:include-author"> 4187 <xsl:for-each select="/*/front/author[@anchor=current()/@target]"> 4188 <xsl:apply-templates select="."/> 4189 </xsl:for-each> 4190 </xsl:template> 4191 4089 4192 <!-- experimental annotation support --> 4090 4193 … … 4301 4404 4302 4405 <!-- check anchor names --> 4303 <xsl:variable name="badAnchors" select="//*[starts-with(@anchor,concat($anchor-prefix,'.'))]"/> 4406 <xsl:variable name="badAnchors" select="//*[starts-with(@anchor,concat($anchor-prefix,'.'))][@anchor!=concat($anchor-prefix,'.authors') and /*/x:assign-section-number[@number='suppress' and @builtin-target='authors']]"/> 4407 4304 4408 <xsl:if test="$badAnchors"> 4305 < p xmlns="http://www.w3.org/1999/xhtml" class="warning">4409 <xsl:variable name="text"> 4306 4410 The following anchor names may collide with internally generated anchors because of their prefix "<xsl:value-of select="$anchor-prefix"/>": 4307 4411 <xsl:for-each select="$badAnchors"> 4308 4412 <xsl:value-of select="@anchor"/><xsl:if test="position()!=last()">, </xsl:if> 4309 4413 </xsl:for-each> 4310 </p> 4311 <xsl:message> 4312 The following anchor names may collide with internally generated anchors because of their prefix "<xsl:value-of select="$anchor-prefix"/>": 4313 <xsl:for-each select="$badAnchors"> 4314 <xsl:value-of select="@anchor"/><xsl:if test="position()!=last()">, </xsl:if> 4315 </xsl:for-each> 4316 </xsl:message> 4414 </xsl:variable> 4415 <xsl:call-template name="warning"> 4416 <xsl:with-param name="msg"><xsl:value-of select="$text"/></xsl:with-param> 4417 </xsl:call-template> 4418 </xsl:if> 4419 4420 <!-- check ABNF syntax references --> 4421 <xsl:if test="//artwork[@type='abnf2616']"> 4422 <xsl:if test="not(//reference/seriesInfo[@name='RFC' and (@value='2068' or @value='2616')])"> 4423 <xsl:call-template name="warning"> 4424 <xsl:with-param name="inline">no</xsl:with-param> 4425 <xsl:with-param name="msg">document uses HTTP-style ABNF syntax, but doesn't reference RFC 2068 or 2616.</xsl:with-param> 4426 </xsl:call-template> 4427 </xsl:if> 4428 </xsl:if> 4429 <xsl:if test="//artwork[@type='abnf']"> 4430 <xsl:if test="not(//reference/seriesInfo[@name='RFC' and (@value='2234' or @value='4234' or @value='5234')])"> 4431 <xsl:call-template name="warning"> 4432 <xsl:with-param name="inline">no</xsl:with-param> 4433 <xsl:with-param name="msg">document uses ABNF syntax, but doesn't reference RFC 2234, 4234 or 5234.</xsl:with-param> 4434 </xsl:call-template> 4435 </xsl:if> 4317 4436 </xsl:if> 4318 4437 … … 4320 4439 <xsl:variable name="badTargets" select="//xref[not(@target=//@anchor) and not(ancestor::ed:del)]"/> 4321 4440 <xsl:if test="$badTargets"> 4322 < p xmlns="http://www.w3.org/1999/xhtml" class="error">4441 <xsl:variable name="text"> 4323 4442 The following target names do not exist: 4324 4443 <xsl:for-each select="$badTargets"> 4325 4444 <xsl:value-of select="@target"/><xsl:if test="position()!=last()">, </xsl:if> 4326 4445 </xsl:for-each> 4327 </p> 4328 <xsl:message> 4329 The following target names do not exist: 4330 <xsl:for-each select="$badTargets"> 4331 <xsl:value-of select="@target"/><xsl:if test="position()!=last()">, </xsl:if> 4332 </xsl:for-each> 4333 </xsl:message> 4446 </xsl:variable> 4447 <xsl:call-template name="warning"> 4448 <xsl:with-param name="msg"><xsl:value-of select="$text"/></xsl:with-param> 4449 </xsl:call-template> 4334 4450 </xsl:if> 4335 4451 … … 4582 4698 </xsl:variable> 4583 4699 <table summary="{preamble}" class="{$style}" cellpadding="3" cellspacing="0"> 4584 <thead> 4585 <tr> 4586 <xsl:apply-templates select="ttcol"/> 4587 </tr> 4588 </thead> 4700 <xsl:if test="ttcol!=''"> 4701 <!-- skip header when all column titles are empty --> 4702 <thead> 4703 <tr> 4704 <xsl:apply-templates select="ttcol"/> 4705 </tr> 4706 </thead> 4707 </xsl:if> 4589 4708 <tbody> 4590 4709 <xsl:variable name="columns" select="count(ttcol)"/> … … 4824 4943 <xsl:text>http://greenbytes.de/tech/webdav/rfc2629.xslt, </xsl:text> 4825 4944 <!-- when RCS keyword substitution in place, add version info --> 4826 <xsl:if test="contains('$Revision: 1. 387$',':')">4827 <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1. 387$', 'Revision: '),'$','')),', ')"/>4945 <xsl:if test="contains('$Revision: 1.400 $',':')"> 4946 <xsl:value-of select="concat('Revision ',normalize-space(translate(substring-after('$Revision: 1.400 $', 'Revision: '),'$','')),', ')"/> 4828 4947 </xsl:if> 4829 <xsl:if test="contains('$Date: 2008- 08-08 13:06:55$',':')">4830 <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2008- 08-08 13:06:55$', 'Date: '),'$','')),', ')"/>4948 <xsl:if test="contains('$Date: 2008-10-10 14:04:14 $',':')"> 4949 <xsl:value-of select="concat(normalize-space(translate(substring-after('$Date: 2008-10-10 14:04:14 $', 'Date: '),'$','')),', ')"/> 4831 4950 </xsl:if> 4832 4951 <xsl:value-of select="concat('XSLT vendor: ',system-property('xsl:vendor'),' ',system-property('xsl:vendor-url'))"/> -
rfc2629xslt/rfc2629xslt.html
r308 r329 329 329 } 330 330 @top-right { 331 content: " August2008";331 content: "October 2008"; 332 332 } 333 333 @top-center { … … 356 356 } 357 357 } 358 </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 via XSL-FO" href="#rfc.section.9"><link rel="Chapter" title="10 Generic Extensions" href="#rfc.section.10"><link rel="Chapter" title="11 Utilities" href="#rfc.section.11"><link rel="Chapter" href="#rfc.section.12" title="12 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 License" href="#rfc.section.C"><link rel="Appendix" title="D Change Logs" href="#rfc.section.D"><meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1. 387, 2008-08-08 13:06:55, 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, Dublin Core"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.Creator" content="Reschke, J. F."></head><body><table summary="header information" class="header" border="0" cellpadding="1" cellspacing="1"><tr><td class="header left">RFC2629 through XSLT</td><td class="header right">J. F. Reschke</td></tr><tr><td class="header left"></td><td class="header right">greenbytes</td></tr><tr><td class="header left"></td><td class="header right">August 2008</td></tr></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 class="tocline0">1. <a href="#rfc.section.1">Introduction</a></li><li class="tocline0">2. <a href="#supported.elements">Supported RFC2629 elements</a><ul class="toc"><li class="tocline1">2.1 <a href="#rfc.section.2.1">Extension elements</a></li></ul></li><li class="tocline0">3. <a href="#processing.instructions">Processing Instructions</a><ul class="toc"><li class="tocline1">3.1 <a href="#rfc.section.3.1">Supported xml2rfc-compatible PIs</a></li><li class="tocline1">3.2 <a href="#rfc.section.3.2">Unsupported xml2rfc-compatible PIs</a></li><li class="tocline1">3.3 <a href="#rfc.section.3.3">Extension PIs</a></li></ul></li><li class="tocline0">4. <a href="#anchors">Anchors</a></li><li class="tocline0">5. <a href="#xslt.engines">Supported XSLT engines</a><ul class="toc"><li class="tocline1">5.1 <a href="#rfc.section.5.1">Standalone Engines</a></li><li class="tocline1">5.2 <a href="#rfc.section.5.2">In-Browser Engines</a></li></ul></li><li class="tocline0">6. <a href="#output.html">Transforming to HTML</a><ul class="toc"><li class="tocline1">6.1 <a href="#rfc.section.6.1">HTML compliance</a></li><li class="tocline1">6.2 <a href="#html.link">Standard HTML LINK elements</a></li><li class="tocline1">6.3 <a href="#rfc.section.6.3">Standard HTML metadata</a></li><li class="tocline1">6.4 <a href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></li><li class="tocline1">6.5 <a href="#hcard">Experimental hCard support</a></li></ul></li><li class="tocline0">7. <a href="#output.xhtml">Transforming to XHTML</a></li><li class="tocline0">8. <a href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></li><li class="tocline0">9. <a href="#output.pdf">Transforming to PDF via XSL-FO</a><ul class="toc"><li class="tocline1">9.1 <a href="#output.pdf.fop">Via XSL-FO</a><ul class="toc"><li class="tocline1">9.1.1 <a href="#rfc.section.9.1.1">Extension feature matrix</a></li><li class="tocline1">9.1.2 <a href="#rfc.section.9.1.2">Example: producing output for Apache FOP</a></li></ul></li><li class="tocline1">9.2 <a href="#output.pdf.html">Via X(HTML)</a></li></ul></li><li class="tocline0">10. <a href="#extensions">Generic Extensions</a><ul class="toc"><li class="tocline1">10.1 <a href="#ext.element.abnf-char-sequence"><abnf-char-sequence> element</a></li><li class="tocline1">10.2 <a href="#ext.element.anchor-alias"><anchor-alias> element</a></li><li class="tocline1">10.3 <a href="#ext.element.bcp14"><bcp14> element</a></li><li class="tocline1">10.4 <a href="#ext.element.bb"><bb> element</a></li><li class="tocline1">10.5 <a href="#ext.element.bc"><bc> element</a></li><li class="tocline1">10.6 <a href="#ext.element.blockquote"><blockquote> element</a></li><li class="tocline1">10.7 <a href="#ext.element.bt"><bt> element</a></li><li class="tocline1">10.8 <a href="#ext.element.dfn"><dfn> element</a></li><li class="tocline1">10.9 <a href="#ext.element.h"><h> element</a></li><li class="tocline1">10.10 <a href="#ext.element.length-of"><length-of> element</a></li><li class="tocline1">10.11 <a href="#ext.element.link"><link> element</a></li><li class="tocline1">10.12 <a href="#ext.element.lt"><lt> element</a></li><li class="tocline1">10.13 <a href="#ext.element.parse-xml"><parse-xml> element</a></li><li class="tocline1">10.14 <a href="#ext.element.q"><q> element</a></li><li class="tocline1">10.15 <a href="#ext.element.ref"><ref> element</a></li><li class="tocline1">10.16 <a href="#ext.element.source"><source> element</a></li><li class="tocline1">10.17 <a href="#ext.element.sup"><sup> element</a></li><li class="tocline1">10.18 <a href="#ext-rfc2629.iref">Extensions to Xml2rfc <iref> element</a></li><li class="tocline1">10.19 <a href="#ext-rfc2629.list">Extensions to Xml2rfc <list> element</a></li><li class="tocline1">10.20 <a href="#ext-rfc2629.rfc">Extensions to Xml2rfc <rfc> element</a></li><li class="tocline1">10.21 <a href="#ext-rfc2629.section">Extensions to Xml2rfc <section> element</a></li><li class="tocline1">10.22 <a href="#ext-rfc2629.xref">Extensions to Xml2rfc <xref> element</a></li></ul></li><li class="tocline0">11. <a href="#utilities">Utilities</a><ul class="toc"><li class="tocline1">11.1 <a href="#checking-references">Checking References</a></li><li class="tocline1">11.2 <a href="#rfc.section.11.2">Generating Graphs from References</a></li><li class="tocline1">11.3 <a href="#rfc.section.11.3">Producing reference entries for books</a></li><li class="tocline1">11.4 <a href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></li><li class="tocline1">11.5 <a href="#extract-artwork">Extracting artwork</a></li><li class="tocline1">11.6 <a href="#grddl">GRRDL</a></li></ul></li><li class="tocline0">12. <a href="#rfc.references">Informative References</a></li><li class="tocline0"><a href="#rfc.authors">Author's Address</a></li><li class="tocline0">A. <a href="#grammar">RELAX NG Compact Schema</a></li><li class="tocline0">B. <a href="#rfc.section.B">Implementation Notes</a><ul class="toc"><li class="tocline1">B.1 <a href="#rfc.section.B.1">Recognized type attributes for <artwork> element</a></li></ul></li><li class="tocline0">C. <a href="#license">License</a></li><li class="tocline0">D. <a href="#rfc.section.D">Change Logs</a><ul class="toc"><li class="tocline1">D.1 <a href="#rfc.section.D.1">Package</a></li><li class="tocline1">D.2 <a href="#rfc.section.D.2">amazon-asin.xslt</a></li><li class="tocline1">D.3 <a href="#rfc.section.D.3">check-references.xslt</a></li><li class="tocline1">D.4 <a href="#rfc.section.D.4">gen-reference-graph.xslt</a></li><li class="tocline1">D.5 <a href="#rfc.section.D.5">rfc2629.xslt</a></li><li class="tocline1">D.6 <a href="#rfc.section.D.6">rfc2629toFO.xslt</a></li><li class="tocline1">D.7 <a href="#rfc.section.D.7">xsl11toAn.xslt</a></li><li class="tocline1">D.8 <a href="#rfc.section.D.8">xsl11toFop.xslt</a></li><li class="tocline1">D.9 <a href="#rfc.section.D.9">xsl11toFop-0.93.xslt</a></li><li class="tocline1">D.10 <a href="#rfc.section.D.10">xsl11toXep.xslt</a></li></ul></li><li class="tocline0"><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> 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 2</a>),</li><li>support for xml2rfc processing instructions (<a href="#processing.instructions" title="Processing Instructions">Section 3</a>),</li><li>the names of anchor elements generated in HTML and PDF output (<a href="#anchors" title="Anchors">Section 4</a>),</li><li>various XSLT engines that can be used (<a href="#xslt.engines" title="Supported XSLT engines">Section 5</a>),</li><li>outputting HTML (<a href="#output.html" title="Transforming to HTML">Section 6</a>) and XHTML (<a href="#output.xhtml" title="Transforming to XHTML">Section 7</a>),</li><li>outputting CHM (Compiled Microsoft Help, <a href="#output.chm" title="Transforming to CHM (Microsoft Compiled Help)">Section 8</a>),</li><li>outputting PDF through XSL-FO (<a href="#output.pdf" title="Transforming to PDF via XSL-FO">Section 9</a>),</li><li>extensions to the xml2rfc vocabulary (<a href="#extensions" title="Generic Extensions">Section 10</a>).</li><li>various utilities (<a href="#utilities" title="Utilities">Section 11</a>).</li></ul><p id="rfc.section.1.p.2">The full distribution is available at <<a href="http://greenbytes.de/tech/webdav/rfc2629xslt.zip">http://greenbytes.de/tech/webdav/rfc2629xslt.zip</a>>.</p><hr class="noprint"><h1 id="rfc.section.2" class="np"><a href="#rfc.section.2">2.</a> <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.21.</p><h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a> 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 10</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> <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"><?rfc toc="yes"?>358 </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 via XSL-FO" href="#rfc.section.9"><link rel="Chapter" title="10 Generic Extensions" href="#rfc.section.10"><link rel="Chapter" title="11 Utilities" href="#rfc.section.11"><link rel="Chapter" href="#rfc.section.12" title="12 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 License" href="#rfc.section.C"><link rel="Appendix" title="D Change Logs" href="#rfc.section.D"><meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.400, 2008-10-10 14:04:14, 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, Dublin Core"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.Creator" content="Reschke, J. F."></head><body><table summary="header information" class="header" border="0" cellpadding="1" cellspacing="1"><tr><td class="header left">RFC2629 through XSLT</td><td class="header right">J. F. Reschke</td></tr><tr><td class="header left"></td><td class="header right">greenbytes</td></tr><tr><td class="header left"></td><td class="header right">October 2008</td></tr></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 class="tocline0">1. <a href="#rfc.section.1">Introduction</a></li><li class="tocline0">2. <a href="#supported.elements">Supported RFC2629 elements</a><ul class="toc"><li class="tocline1">2.1 <a href="#rfc.section.2.1">Extension elements</a></li></ul></li><li class="tocline0">3. <a href="#processing.instructions">Processing Instructions</a><ul class="toc"><li class="tocline1">3.1 <a href="#rfc.section.3.1">Supported xml2rfc-compatible PIs</a></li><li class="tocline1">3.2 <a href="#rfc.section.3.2">Unsupported xml2rfc-compatible PIs</a></li><li class="tocline1">3.3 <a href="#rfc.section.3.3">Extension PIs</a></li></ul></li><li class="tocline0">4. <a href="#anchors">Anchors</a></li><li class="tocline0">5. <a href="#xslt.engines">Supported XSLT engines</a><ul class="toc"><li class="tocline1">5.1 <a href="#rfc.section.5.1">Standalone Engines</a></li><li class="tocline1">5.2 <a href="#rfc.section.5.2">In-Browser Engines</a></li></ul></li><li class="tocline0">6. <a href="#output.html">Transforming to HTML</a><ul class="toc"><li class="tocline1">6.1 <a href="#rfc.section.6.1">HTML compliance</a></li><li class="tocline1">6.2 <a href="#html.link">Standard HTML LINK elements</a></li><li class="tocline1">6.3 <a href="#rfc.section.6.3">Standard HTML metadata</a></li><li class="tocline1">6.4 <a href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></li><li class="tocline1">6.5 <a href="#hcard">Experimental hCard support</a></li></ul></li><li class="tocline0">7. <a href="#output.xhtml">Transforming to XHTML</a></li><li class="tocline0">8. <a href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></li><li class="tocline0">9. <a href="#output.pdf">Transforming to PDF via XSL-FO</a><ul class="toc"><li class="tocline1">9.1 <a href="#output.pdf.fop">Via XSL-FO</a><ul class="toc"><li class="tocline1">9.1.1 <a href="#rfc.section.9.1.1">Extension feature matrix</a></li><li class="tocline1">9.1.2 <a href="#rfc.section.9.1.2">Example: producing output for Apache FOP</a></li></ul></li><li class="tocline1">9.2 <a href="#output.pdf.html">Via X(HTML)</a></li></ul></li><li class="tocline0">10. <a href="#extensions">Generic Extensions</a><ul class="toc"><li class="tocline1">10.1 <a href="#ext.element.abnf-char-sequence"><abnf-char-sequence> element</a></li><li class="tocline1">10.2 <a href="#ext.element.anchor-alias"><anchor-alias> element</a></li><li class="tocline1">10.3 <a href="#ext.element.bcp14"><bcp14> element</a></li><li class="tocline1">10.4 <a href="#ext.element.bb"><bb> element</a></li><li class="tocline1">10.5 <a href="#ext.element.bc"><bc> element</a></li><li class="tocline1">10.6 <a href="#ext.element.blockquote"><blockquote> element</a></li><li class="tocline1">10.7 <a href="#ext.element.bt"><bt> element</a></li><li class="tocline1">10.8 <a href="#ext.element.dfn"><dfn> element</a></li><li class="tocline1">10.9 <a href="#ext.element.h"><h> element</a></li><li class="tocline1">10.10 <a href="#ext.element.highlight"><highlight> element</a></li><li class="tocline1">10.11 <a href="#ext.element.length-of"><length-of> element</a></li><li class="tocline1">10.12 <a href="#ext.element.link"><link> element</a></li><li class="tocline1">10.13 <a href="#ext.element.lt"><lt> element</a></li><li class="tocline1">10.14 <a href="#ext.element.note"><note> element</a></li><li class="tocline1">10.15 <a href="#ext.element.parse-xml"><parse-xml> element</a></li><li class="tocline1">10.16 <a href="#ext.element.q"><q> element</a></li><li class="tocline1">10.17 <a href="#ext.element.ref"><ref> element</a></li><li class="tocline1">10.18 <a href="#ext.element.source"><source> element</a></li><li class="tocline1">10.19 <a href="#ext.element.sup"><sup> element</a></li><li class="tocline1">10.20 <a href="#ext-rfc2629.artwork">Extensions to Xml2rfc <artwork> element</a></li><li class="tocline1">10.21 <a href="#ext-rfc2629.iref">Extensions to Xml2rfc <iref> element</a></li><li class="tocline1">10.22 <a href="#ext-rfc2629.list">Extensions to Xml2rfc <list> element</a></li><li class="tocline1">10.23 <a href="#ext-rfc2629.rfc">Extensions to Xml2rfc <rfc> element</a></li><li class="tocline1">10.24 <a href="#ext-rfc2629.section">Extensions to Xml2rfc <section> element</a></li><li class="tocline1">10.25 <a href="#ext-rfc2629.xref">Extensions to Xml2rfc <xref> element</a></li></ul></li><li class="tocline0">11. <a href="#utilities">Utilities</a><ul class="toc"><li class="tocline1">11.1 <a href="#checking-references">Checking References</a></li><li class="tocline1">11.2 <a href="#rfc.section.11.2">Generating Graphs from References</a></li><li class="tocline1">11.3 <a href="#rfc.section.11.3">Producing reference entries for books</a></li><li class="tocline1">11.4 <a href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></li><li class="tocline1">11.5 <a href="#extract-artwork">Extracting artwork</a></li><li class="tocline1">11.6 <a href="#grddl">GRRDL</a></li></ul></li><li class="tocline0">12. <a href="#rfc.references">Informative References</a></li><li class="tocline0"><a href="#rfc.authors">Author's Address</a></li><li class="tocline0">A. <a href="#grammar">RELAX NG Compact Schema</a></li><li class="tocline0">B. <a href="#rfc.section.B">Implementation Notes</a><ul class="toc"><li class="tocline1">B.1 <a href="#rfc.section.B.1">Recognized type attributes for <artwork> element</a></li></ul></li><li class="tocline0">C. <a href="#license">License</a></li><li class="tocline0">D. <a href="#rfc.section.D">Change Logs</a><ul class="toc"><li class="tocline1">D.1 <a href="#rfc.section.D.1">Package</a></li><li class="tocline1">D.2 <a href="#rfc.section.D.2">amazon-asin.xslt</a></li><li class="tocline1">D.3 <a href="#rfc.section.D.3">check-references.xslt</a></li><li class="tocline1">D.4 <a href="#rfc.section.D.4">gen-reference-graph.xslt</a></li><li class="tocline1">D.5 <a href="#rfc.section.D.5">rfc2629.xslt</a></li><li class="tocline1">D.6 <a href="#rfc.section.D.6">rfc2629toFO.xslt</a></li><li class="tocline1">D.7 <a href="#rfc.section.D.7">xsl11toAn.xslt</a></li><li class="tocline1">D.8 <a href="#rfc.section.D.8">xsl11toFop.xslt</a></li><li class="tocline1">D.9 <a href="#rfc.section.D.9">xsl11toFop-0.93.xslt</a></li><li class="tocline1">D.10 <a href="#rfc.section.D.10">xsl11toXep.xslt</a></li></ul></li><li class="tocline0"><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> 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 2</a>),</li><li>support for xml2rfc processing instructions (<a href="#processing.instructions" title="Processing Instructions">Section 3</a>),</li><li>the names of anchor elements generated in HTML and PDF output (<a href="#anchors" title="Anchors">Section 4</a>),</li><li>various XSLT engines that can be used (<a href="#xslt.engines" title="Supported XSLT engines">Section 5</a>),</li><li>outputting HTML (<a href="#output.html" title="Transforming to HTML">Section 6</a>) and XHTML (<a href="#output.xhtml" title="Transforming to XHTML">Section 7</a>),</li><li>outputting CHM (Compiled Microsoft Help, <a href="#output.chm" title="Transforming to CHM (Microsoft Compiled Help)">Section 8</a>),</li><li>outputting PDF through XSL-FO (<a href="#output.pdf" title="Transforming to PDF via XSL-FO">Section 9</a>),</li><li>extensions to the xml2rfc vocabulary (<a href="#extensions" title="Generic Extensions">Section 10</a>).</li><li>various utilities (<a href="#utilities" title="Utilities">Section 11</a>).</li></ul><p id="rfc.section.1.p.2">The full distribution is available at <<a href="http://greenbytes.de/tech/webdav/rfc2629xslt.zip">http://greenbytes.de/tech/webdav/rfc2629xslt.zip</a>>.</p><hr class="noprint"><h1 id="rfc.section.2" class="np"><a href="#rfc.section.2">2.</a> <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.21.</p><h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a> 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 10</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> <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"><?rfc toc="yes"?> 359 359 <?rfc-ext support-rfc2731="no"?> 360 360 </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 \ … … 363 363 --param xml2rfc-ext-support-rfc2731 '"no"' \ 364 364 rfc2629.xslt source.xml > result.html 365 </pre> <p>(note the required quoting of string parameters)<span id="rfc.iref.x.1"></span></p> <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> Supported xml2rfc-compatible PIs</h2><div id="rfc.table.u.1"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>XSLT parameter name</th><th>default</th><th>comment</th></tr></thead><tbody><tr><td>rfc</td><td>background<div id="rfc.iref.b.1"></div><div id="rfc.iref.p.1"></div></td><td>xml2rfc-background<div id="rfc.iref.x.2"></div> <div id="rfc.iref.p.2"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>compact<div id="rfc.iref.c.1"></div><div id="rfc.iref.p.3"></div></td><td>xml2rfc-compact<div id="rfc.iref.x.3"></div> <div id="rfc.iref.p.4"></div></td><td>"no"</td><td>only applies to HTML output method when printing</td></tr><tr><td>rfc</td><td>comments<div id="rfc.iref.c.2"></div><div id="rfc.iref.p.5"></div></td><td>xml2rfc-comments<div id="rfc.iref.x.4"></div> <div id="rfc.iref.p.6"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>editing<div id="rfc.iref.e.1"></div><div id="rfc.iref.p.7"></div></td><td>xml2rfc-editing<div id="rfc.iref.x.5"></div> <div id="rfc.iref.p.8"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>footer<div id="rfc.iref.f.1"></div><div id="rfc.iref.p.9"></div></td><td>xml2rfc-footer<div id="rfc.iref.x.6"></div> <div id="rfc.iref.p.10"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>header<div id="rfc.iref.h.1"></div><div id="rfc.iref.p.11"></div></td><td>xml2rfc-header<div id="rfc.iref.x.7"></div> <div id="rfc.iref.p.12"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>inline<div id="rfc.iref.i.1"></div><div id="rfc.iref.p.13"></div></td><td>xml2rfc-inline<div id="rfc.iref.x.8"></div> <div id="rfc.iref.p.14"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>iprnotified<div id="rfc.iref.i.2"></div><div id="rfc.iref.p.15"></div></td><td>xml2rfc-iprnotified<div id="rfc.iref.x.9"></div> <div id="rfc.iref.p.16"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>linkmailto<div id="rfc.iref.l.1"></div><div id="rfc.iref.p.17"></div></td><td>xml2rfc-linkmailto<div id="rfc.iref.x.10"></div> <div id="rfc.iref.p.18"></div></td><td>"yes"</td><td></td></tr><tr><td>rfc</td><td>private<div id="rfc.iref.p.19"></div><div id="rfc.iref.p.20"></div></td><td>xml2rfc-private<div id="rfc.iref.x.11"></div> <div id="rfc.iref.p.21"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>sortrefs<div id="rfc.iref.s.1"></div><div id="rfc.iref.p.22"></div></td><td>xml2rfc-sortrefs<div id="rfc.iref.x.12"></div> <div id="rfc.iref.p.23"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>symrefs<div id="rfc.iref.s.2"></div><div id="rfc.iref.p.24"></div></td><td>xml2rfc-symrefs<div id="rfc.iref.x.13"></div> <div id="rfc.iref.p.25"></div></td><td>"yes"</td><td>The default has changed from "no" to "yes" as of June 6, 2007 and xml2rfc 1.33pre4.</td></tr><tr><td>rfc</td><td>toc<div id="rfc.iref.t.1"></div><div id="rfc.iref.p.26"></div></td><td>xml2rfc-toc<div id="rfc.iref.x.14"></div> <div id="rfc.iref.p.27"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>tocdepth<div id="rfc.iref.t.2"></div><div id="rfc.iref.p.28"></div></td><td>xml2rfc-tocdepth<div id="rfc.iref.x.15"></div> <div id="rfc.iref.p.29"></div></td><td>99</td><td></td></tr><tr><td>rfc</td><td>topblock<div id="rfc.iref.t.3"></div><div id="rfc.iref.p.30"></div></td><td>xml2rfc-topblock<div id="rfc.iref.x.16"></div> <div id="rfc.iref.p.31"></div></td><td>"yes"</td><td></td></tr></tbody></table></div><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> Unsupported xml2rfc-compatible PIs</h2><div id="rfc.table.u.2"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>comment</th></tr></thead><tbody><tr><td>rfc</td><td>include<div id="rfc.iref.i.3"></div><div id="rfc.iref.p.32"></div></td><td>incompatible with XML/XSLT processing model</td></tr><tr><td>rfc</td><td>needLines<div id="rfc.iref.n.1"></div><div id="rfc.iref.p.33"></div></td><td></td></tr><tr><td>rfc</td><td>slides<div id="rfc.iref.s.3"></div><div id="rfc.iref.p.34"></div></td><td></td></tr><tr><td>rfc</td><td>strict<div id="rfc.iref.s.4"></div><div id="rfc.iref.p.35"></div></td><td></td></tr><tr><td>rfc</td><td>subcompact<div id="rfc.iref.s.5"></div><div id="rfc.iref.p.36"></div></td><td></td></tr><tr><td>rfc</td><td>tocindent<div id="rfc.iref.t.4"></div><div id="rfc.iref.p.37"></div></td><td>(defaults to "yes")</td></tr><tr><td>rfc</td><td>tocompact<div id="rfc.iref.t.5"></div><div id="rfc.iref.p.38"></div></td><td></td></tr></tbody></table></div><h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> Extension PIs</h2><div id="rfc.table.u.3"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>XSLT parameter name</th><th>default</th><th>description</th></tr></thead><tbody><tr><td>rfc-ext</td><td>allow-markup-in-artwork<div id="rfc.iref.a.1"></div><div id="rfc.iref.p.39"></div></td><td>xml2rfc-allow-markup-in-artwork<div id="rfc.iref.x.17"></div> <div id="rfc.iref.p.40"></div></td><td>"no"</td><td>Enables support for specific elements inside abstract elements (using this extension makes the document incompatible to the RFC2629bis DTD; see description of conversion XSLT in <a href="#clean-for-dtd" title="Down-converting to RFC2629bis DTD">Section 11.4</a>).</td></tr><tr><td>rfc-ext</td><td>authors-section<div id="rfc.iref.a.2"></div><div id="rfc.iref.p.41"></div></td><td>xml2rfc-ext-authors-section<div id="rfc.iref.x.18"></div> <div id="rfc.iref.p.42"></div></td><td></td><td>When "end", place the authors section at the end (just before the copyright statements). This seems to be the preferred order in the newest RFCs.</td></tr><tr><td>rfc-ext</td><td>include-references-in-index<div id="rfc.iref.i.4"></div><div id="rfc.iref.p.43"></div></td><td>xml2rfc-ext-include-references-in-index<div id="rfc.iref.x.19"></div> <div id="rfc.iref.p.44"></div></td><td></td><td>When set to "yes", index entries are generated for all references.</td></tr><tr><td>rfc-ext</td><td>justification<div id="rfc.iref.j.1"></div><div id="rfc.iref.p.45"></div></td><td>xml2rfc-ext-justification<div id="rfc.iref.x.20"></div> <div id="rfc.iref.p.46"></div></td><td>"never"</td><td>"never": never emit justified text, "always": always emit justified text, "print": only emit justified text for print media.</td></tr><tr><td>rfc-ext</td><td>parse-xml-in-artwork<div id="rfc.iref.p.47"></div><div id="rfc.iref.p.48"></div></td><td>xml2rfc-parse-xml-in-artwork<div id="rfc.iref.x.21"></div> <div id="rfc.iref.p.49"></div></td><td>"no"</td><td>May be used to enable parsing of XML content in figures (MSXML only).</td></tr><tr><td>rfc-ext</td><td>support-rfc2731<div id="rfc.iref.s.6"></div><div id="rfc.iref.p.50"></div></td><td>xml2rfc-ext-support-rfc2731<div id="rfc.iref.x.22"></div> <div id="rfc.iref.p.51"></div></td><td>"yes"</td><td>Decides whether the HTML transformation should generate META tags according <a href="#rfc2731.properties" title="Dublin Core (RFC2731) metadata">Section 6.4</a>.</td></tr><tr><td>rfc-ext</td><td>sec-no-trailing-dots<div id="rfc.iref.s.7"></div><div id="rfc.iref.p.52"></div></td><td>xml2rfc-ext-sec-no-trailing-dots<div id="rfc.iref.x.23"></div> <div id="rfc.iref.p.53"></div></td><td></td><td>When set to "yes", add trailing dots to section numbers. This seems to be the preferred format in the newest RFCs.</td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.4" class="np"><a href="#rfc.section.4">4.</a> <a id="anchors" href="#anchors">Anchors</a></h1><p id="rfc.section.4.p.1">The transformation automatically generates anchors that are supposed to be stable and predictable and that can be used to identify specific parts of the document. Anchors are generated both in HTML and XSL-FO content (but the latter will only be used for PDF output when the XSL-FO engine supports producing PDF anchors).</p><div id="rfc.table.u.4"><p>The following anchors get auto-generated:</p><table summary="The following anchors get auto-generated:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>Anchor name</th><th>Description</th></tr></thead><tbody><tr><td>rfc.abstract <div id="rfc.iref.r.1"></div><div id="rfc.iref.a.3"></div></td><td>Abstract</td></tr><tr><td>rfc.authors <div id="rfc.iref.r.2"></div><div id="rfc.iref.a.4"></div></td><td>Authors section</td></tr><tr><td>rfc.copyright <div id="rfc.iref.r.3"></div><div id="rfc.iref.a.5"></div></td><td>Copyright section</td></tr><tr><td>rfc.copyrightnotice <div id="rfc.iref.r.4"></div><div id="rfc.iref.a.6"></div></td><td>Copyright notice</td></tr><tr><td>rfc.figure.<em>n</em> <div id="rfc.iref.r.5"></div><div id="rfc.iref.a.7"></div></td><td>Figures (titled)</td></tr><tr><td>rfc.figure.u.<em>n</em> <div id="rfc.iref.r.6"></div><div id="rfc.iref.a.8"></div></td><td>Figures (untitled)</td></tr><tr><td>rfc.index <div id="rfc.iref.r.7"></div><div id="rfc.iref.a.9"></div></td><td>Index</td></tr><tr><td>rfc.ipr <div id="rfc.iref.r.8"></div><div id="rfc.iref.a.10"></div></td><td>Intellectual Property</td></tr><tr><td>rfc.iref.<em>n</em> <div id="rfc.iref.r.9"></div><div id="rfc.iref.a.11"></div></td><td>Internal references</td></tr><tr><td>rfc.note.<em>n</em> <div id="rfc.iref.r.10"></div><div id="rfc.iref.a.12"></div></td><td>Notes (from front section)</td></tr><tr><td>rfc.references <div id="rfc.iref.r.11"></div><div id="rfc.iref.a.13"></div></td><td>References</td></tr><tr><td>rfc.references.<em>n</em> <div id="rfc.iref.r.12"></div><div id="rfc.iref.a.14"></div></td><td>Additional references</td></tr><tr><td>rfc.section.<em>n</em> <div id="rfc.iref.r.13"></div><div id="rfc.iref.a.15"></div></td><td>Section <em>n</em></td></tr><tr><td>rfc.section.<em>n</em>.p.<em>m</em> <div id="rfc.iref.r.14"></div><div id="rfc.iref.a.16"></div></td><td>Section <em>n</em>, paragraph <em>m</em></td></tr><tr><td>rfc.status <div id="rfc.iref.r.15"></div><div id="rfc.iref.a.17"></div></td><td>Status of memo</td></tr><tr><td>rfc.table.<em>n</em> <div id="rfc.iref.r.16"></div><div id="rfc.iref.a.18"></div></td><td>Tables (titled)</td></tr><tr><td>rfc.table.u.<em>n</em> <div id="rfc.iref.r.17"></div><div id="rfc.iref.a.19"></div></td><td>Tables (untitled)</td></tr><tr><td>rfc.toc <div id="rfc.iref.r.18"></div><div id="rfc.iref.a.20"></div></td><td>Table of contents</td></tr><tr><td>rfc.xref.<em>name</em>.<em>n</em> <div id="rfc.iref.r.19"></div><div id="rfc.iref.a.21"></div></td><td>References to reference <em>n</em> to <em>name</em></td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.5" class="np"><a href="#rfc.section.5">5.</a> <a id="xslt.engines" href="#xslt.engines">Supported XSLT engines</a></h1><p id="rfc.section.5.p.1">The transformation requires a non-standard extension function (see <a href="http://www.exslt.org/exsl/functions/node-set/exsl.node-set.html">exsl:node-set</a>) which is however widely available. XSLT processors that do not support this extension (or a functional equivalent) currently are not supported.</p><h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a> Standalone Engines</h2><p id="rfc.section.5.1.p.1">The following XSLT engines are believed to work well: </p><ul><li><span id="rfc.iref.m.1"></span><span id="rfc.iref.m.2"></span>MSXML3 and MSXML4 (<<a href="http://msdn.microsoft.com/xml">http://msdn.microsoft.com/xml</a>>; these processors do not support exsl:node-set(), but have a similar proprietary extension)</li><li><span id="rfc.iref.s.8"></span>Saxon (<<a href="http://saxon.sourceforge.net/">http://saxon.sourceforge.net/</a>>)</li><li><span id="rfc.iref.x.24"></span>Xalan (<<a href="http://xml.apache.org/xalan-j/">http://xml.apache.org/xalan-j/</a>>)</li><li><span id="rfc.iref.x.25"></span>xsltproc (libxslt) (<<a href="http://xmlsoft.org/XSLT/">http://xmlsoft.org/XSLT/</a>>, make sure that you have a current version)</li></ul><h2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a> In-Browser Engines</h2><p id="rfc.section.5.2.p.1">The following browsers seem to work fine: </p><ul><li><span id="rfc.iref.i.5"></span>Internet Explorer 5.5 (Windows version, if MSXML3 is installed)</li><li><span id="rfc.iref.i.6"></span>Internet Explorer 6</li><li><span id="rfc.iref.i.7"></span>Internet Explorer 7</li><li id="firefox3"><span id="rfc.iref.m.3"></span><span id="rfc.iref.f.2"></span>Firefox 3. * (release candidate available)</li><li><span id="rfc.iref.s.9"></span><span id="rfc.iref.s.10"></span>Safari 3 (starting with version 3.0.4)</li></ul><p id="rfc.section.5.2.p.2">The following browsers are known not to work properly: </p><ul><li id="firefox12"><span id="rfc.iref.m.4"></span><span id="rfc.iref.f.3"></span>Firefox 1.*/2.* (missing extension function - see change request at Mozilla BugZilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=193678">193678</a>)</li><li id="opera"><span id="rfc.iref.o.1"></span>Opera 9.21: execution fails, potentially to a somewhat complex XPath expression (reported to Opera as bug 245725). Opera 9.5: transformation appears to work, but CSS isn't getting applied (repored to Opera as bug 337388 on 2008-06-12).</li><li id="safari"><span id="rfc.iref.s.11"></span>Safari 2.* supports client-side XSLT as of MacOS X 10.4, but misses required extension functions. A problem with stylesheets producing non-ASCII output (such as NBSP characters) has been fixed as of OSX 10.4.4. Both problems have been reported through Apple's bug tracking system, see <<a href="http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html">http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html</a>> and <<a href="http://bugs.webkit.org/show_bug.cgi?id=4079">http://bugs.webkit.org/show_bug.cgi?id=4079</a>>.</li></ul><hr class="noprint"><h1 id="rfc.section.6" class="np"><a href="#rfc.section.6">6.</a> <a id="output.html" href="#output.html">Transforming to HTML</a></h1><p id="rfc.section.6.p.1">Transformation to HTML can be done inside the browser if it supports XSLT. To enable this, add the following processing instruction to the start of the source file:</p><div id="rfc.iref.x.26"></div><div id="rfc.figure.u.4"></div><pre class="text"> <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>366 </pre><p id="rfc.section.6.p.3">(and ensure that <samp>rfc2629.xslt</samp> is present).</p><h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a> HTML compliance</h2><p id="rfc.section.6.1.p.1">The transformation result is supposed to conform to the HTML 4.01 strict DTD <a href="#HTML" id="rfc.xref.HTML.1"><cite title="HTML 4.01 Specification">[HTML]</cite></a>. This can be checked using the W3C's online validator at <<a href="http://validator.w3.org">http://validator.w3.org</a>><span id="rfc.iref.h.2"></span>.</p><h2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a> <a id="html.link" href="#html.link">Standard HTML LINK elements</a></h2><p id="rfc.section.6.2.p.1">LINK elements exist since HTML 2.0. They can be used to embed content-independant links inside the document. Unfortunately, only few user agents support this element. Firefox users may want to check the <a href="https://addons.mozilla.org/firefox/2933/">Link Widgets</a> extension.</p><div id="rfc.table.u.5"><p>The following LINK elements are produced:</p><table summary="The following LINK elements are produced:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>LINK type</th><th>description</th></tr></thead><tbody><tr><td>alternate<div id="rfc.iref.a.22"></div><div id="rfc.iref.h.3"></div></td><td>for RFCs, a link to the authorative ASCII version on the IETF web site</td></tr><tr><td>appendic<div id="rfc.iref.a.23"></div><div id="rfc.iref.h.4"></div></td><td>pointer to all top-level appendics</td></tr><tr><td>author<div id="rfc.iref.a.24"></div><div id="rfc.iref.h.5"></div></td><td>pointer to "authors" section</td></tr><tr><td>chapter<div id="rfc.iref.c.3"></div><div id="rfc.iref.h.6"></div></td><td>pointer to all top-level sections</td></tr><tr><td>contents<div id="rfc.iref.c.4"></div><div id="rfc.iref.h.7"></div></td><td>pointer to table of contents</td></tr><tr><td>copyright<div id="rfc.iref.c.5"></div><div id="rfc.iref.h.8"></div></td><td>pointer to copyright statement</td></tr><tr><td>index<div id="rfc.iref.i.8"></div><div id="rfc.iref.h.9"></div></td><td>pointer to index</td></tr></tbody></table></div><div id="rfc.figure.u.5"></div> <p>The figure below shows how Mozilla Firefox 1.0 displays the Site Navigation Bar for rfc2396.xml.</p> <p><img src="rfc2629xslt-fig1.png" alt="
(LINK elements displayed in Mozilla Firefox for RFC2396.xml)
" height="235" width="509"></p> <h2 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a> Standard HTML metadata</h2><div id="rfc.table.u.6"><p>The following standard HTML META elements are produced:</p><table summary="The following standard HTML META elements are produced:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>META name</th><th>description</th></tr></thead><tbody><tr><td>generator<div id="rfc.iref.g. 1"></div><div id="rfc.iref.h.10"></div></td><td>from XSLT engine version and stylesheet version</td></tr><tr><td>keywords<div id="rfc.iref.k.1"></div><div id="rfc.iref.h.11"></div></td><td>from keyword elements in front section</td></tr></tbody></table></div><h2 id="rfc.section.6.4"><a href="#rfc.section.6.4">6.4</a> <a id="rfc2731.properties" href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></h2><p id="rfc.section.6.4.p.1">Unless turned off using the "rfc-ext support-rfc2731" processing instruction, the transformation will generate metadata according to <a href="#RFC2731" id="rfc.xref.RFC2731.1"><cite title="Encoding Dublin Core Metadata in HTML">[RFC2731]</cite></a>.</p><div id="rfc.table.u.7"><p>The following DCMI properties are produced:</p><table summary="The following DCMI properties are produced:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>META name</th><th>description</th></tr></thead><tbody><tr><td>DC.Creator<div id="rfc.iref.c.6"></div><div id="rfc.iref.d.1"></div></td><td>from author information in front section</td></tr><tr><td>DC.Date.Issued<div id="rfc.iref.d.2"></div><div id="rfc.iref.d.3"></div></td><td>from date information in front section</td></tr><tr><td>DC.Description.Abstract<div id="rfc.iref.d.4"></div><div id="rfc.iref.d.5"></div></td><td>from abstract</td></tr><tr><td>DC.Identifier<div id="rfc.iref.i.9"></div><div id="rfc.iref.d.6"></div></td><td>document URN <a href="#RFC2648" id="rfc.xref.RFC2648.1"><cite title="A URN Namespace for IETF Documents">[RFC2648]</cite></a> from "docName" attribute</td></tr><tr><td>DC.Relation.Replaces<div id="rfc.iref.r.20"></div><div id="rfc.iref.d.7"></div></td><td>from "obsoletes" attribute</td></tr></tbody></table></div><h2 id="rfc.section.6.5"><a href="#rfc.section.6.5">6.5</a> <a id="hcard" href="#hcard">Experimental hCard support</a></h2><p id="rfc.section.6.5.p.1">The generated author information is formatted in <a href="http://microformats.org/wiki/hcard">hCard</a> format.</p><hr class="noprint"><h1 id="rfc.section.7" class="np"><a href="#rfc.section.7">7.</a> <a id="output.xhtml" href="#output.xhtml">Transforming to XHTML</a></h1><p id="rfc.section.7.p.1">Transforming to XHTML requires slightly different XSLT output options and is implemented by the derived transformation script <samp>rfc2629toXHTML.xslt</samp>.</p><dl class="empty"><dd> <b>Note:</b> Microsoft Internet Explorer does <em>not</em> support XHTML. Therefore it usually makes more sense to generate plain old HTML.</dd></dl><hr class="noprint"><h1 id="rfc.section.8" class="np"><a href="#rfc.section.8">8.</a> <a id="output.chm" href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></h1><p id="rfc.section.8.p.1"> <span id="rfc.iref.c.7"></span> <span id="rfc.iref.m.5"></span> To generate a CHM file using Microsoft's HTML Help Compiler (hhc), three files are required in addition to the HTML file. </p><ol><li>hhc - table of contents file (HTML)</li><li>hhk - index file (HTML)</li><li>hhp - project file (plain text)</li></ol><p id="rfc.section.8.p.2">The three files are generated with three specific transformations, each requiring the additional XSLT parameter "basename" to specify the filename prefix.</p><div id="rfc.figure.u.6"></div> <p>Example:</p> <pre class="text">saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616 > rfc2616.hhp365 </pre> <p>(note the required quoting of string parameters)<span id="rfc.iref.x.1"></span></p> <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a> Supported xml2rfc-compatible PIs</h2><div id="rfc.table.u.1"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>XSLT parameter name</th><th>default</th><th>comment</th></tr></thead><tbody><tr><td>rfc</td><td>background<div id="rfc.iref.b.1"></div><div id="rfc.iref.p.1"></div></td><td>xml2rfc-background<div id="rfc.iref.x.2"></div> <div id="rfc.iref.p.2"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>compact<div id="rfc.iref.c.1"></div><div id="rfc.iref.p.3"></div></td><td>xml2rfc-compact<div id="rfc.iref.x.3"></div> <div id="rfc.iref.p.4"></div></td><td>"no"</td><td>only applies to HTML output method when printing</td></tr><tr><td>rfc</td><td>comments<div id="rfc.iref.c.2"></div><div id="rfc.iref.p.5"></div></td><td>xml2rfc-comments<div id="rfc.iref.x.4"></div> <div id="rfc.iref.p.6"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>editing<div id="rfc.iref.e.1"></div><div id="rfc.iref.p.7"></div></td><td>xml2rfc-editing<div id="rfc.iref.x.5"></div> <div id="rfc.iref.p.8"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>footer<div id="rfc.iref.f.1"></div><div id="rfc.iref.p.9"></div></td><td>xml2rfc-footer<div id="rfc.iref.x.6"></div> <div id="rfc.iref.p.10"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>header<div id="rfc.iref.h.1"></div><div id="rfc.iref.p.11"></div></td><td>xml2rfc-header<div id="rfc.iref.x.7"></div> <div id="rfc.iref.p.12"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>inline<div id="rfc.iref.i.1"></div><div id="rfc.iref.p.13"></div></td><td>xml2rfc-inline<div id="rfc.iref.x.8"></div> <div id="rfc.iref.p.14"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>iprnotified<div id="rfc.iref.i.2"></div><div id="rfc.iref.p.15"></div></td><td>xml2rfc-iprnotified<div id="rfc.iref.x.9"></div> <div id="rfc.iref.p.16"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>linkmailto<div id="rfc.iref.l.1"></div><div id="rfc.iref.p.17"></div></td><td>xml2rfc-linkmailto<div id="rfc.iref.x.10"></div> <div id="rfc.iref.p.18"></div></td><td>"yes"</td><td></td></tr><tr><td>rfc</td><td>private<div id="rfc.iref.p.19"></div><div id="rfc.iref.p.20"></div></td><td>xml2rfc-private<div id="rfc.iref.x.11"></div> <div id="rfc.iref.p.21"></div></td><td>(not set)</td><td></td></tr><tr><td>rfc</td><td>sortrefs<div id="rfc.iref.s.1"></div><div id="rfc.iref.p.22"></div></td><td>xml2rfc-sortrefs<div id="rfc.iref.x.12"></div> <div id="rfc.iref.p.23"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>symrefs<div id="rfc.iref.s.2"></div><div id="rfc.iref.p.24"></div></td><td>xml2rfc-symrefs<div id="rfc.iref.x.13"></div> <div id="rfc.iref.p.25"></div></td><td>"yes"</td><td>The default has changed from "no" to "yes" as of June 6, 2007 and xml2rfc 1.33pre4.</td></tr><tr><td>rfc</td><td>toc<div id="rfc.iref.t.1"></div><div id="rfc.iref.p.26"></div></td><td>xml2rfc-toc<div id="rfc.iref.x.14"></div> <div id="rfc.iref.p.27"></div></td><td>"no"</td><td></td></tr><tr><td>rfc</td><td>tocdepth<div id="rfc.iref.t.2"></div><div id="rfc.iref.p.28"></div></td><td>xml2rfc-tocdepth<div id="rfc.iref.x.15"></div> <div id="rfc.iref.p.29"></div></td><td>99</td><td></td></tr><tr><td>rfc</td><td>topblock<div id="rfc.iref.t.3"></div><div id="rfc.iref.p.30"></div></td><td>xml2rfc-topblock<div id="rfc.iref.x.16"></div> <div id="rfc.iref.p.31"></div></td><td>"yes"</td><td></td></tr></tbody></table></div><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> Unsupported xml2rfc-compatible PIs</h2><div id="rfc.table.u.2"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>comment</th></tr></thead><tbody><tr><td>rfc</td><td>include<div id="rfc.iref.i.3"></div><div id="rfc.iref.p.32"></div></td><td>incompatible with XML/XSLT processing model</td></tr><tr><td>rfc</td><td>needLines<div id="rfc.iref.n.1"></div><div id="rfc.iref.p.33"></div></td><td></td></tr><tr><td>rfc</td><td>slides<div id="rfc.iref.s.3"></div><div id="rfc.iref.p.34"></div></td><td></td></tr><tr><td>rfc</td><td>strict<div id="rfc.iref.s.4"></div><div id="rfc.iref.p.35"></div></td><td></td></tr><tr><td>rfc</td><td>subcompact<div id="rfc.iref.s.5"></div><div id="rfc.iref.p.36"></div></td><td></td></tr><tr><td>rfc</td><td>tocindent<div id="rfc.iref.t.4"></div><div id="rfc.iref.p.37"></div></td><td>(defaults to "yes")</td></tr><tr><td>rfc</td><td>tocompact<div id="rfc.iref.t.5"></div><div id="rfc.iref.p.38"></div></td><td></td></tr></tbody></table></div><h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> Extension PIs</h2><div id="rfc.table.u.3"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>PI target</th><th>PI pseudo-attribute</th><th>XSLT parameter name</th><th>default</th><th>description</th></tr></thead><tbody><tr><td>rfc-ext</td><td>allow-markup-in-artwork<div id="rfc.iref.a.1"></div><div id="rfc.iref.p.39"></div></td><td>xml2rfc-allow-markup-in-artwork<div id="rfc.iref.x.17"></div> <div id="rfc.iref.p.40"></div></td><td>"no"</td><td>Enables support for specific elements inside abstract elements (using this extension makes the document incompatible to the RFC2629bis DTD; see description of conversion XSLT in <a href="#clean-for-dtd" title="Down-converting to RFC2629bis DTD">Section 11.4</a>).</td></tr><tr><td>rfc-ext</td><td>authors-section<div id="rfc.iref.a.2"></div><div id="rfc.iref.p.41"></div></td><td>xml2rfc-ext-authors-section<div id="rfc.iref.x.18"></div> <div id="rfc.iref.p.42"></div></td><td></td><td>When "end", place the authors section at the end (just before the copyright statements). This seems to be the preferred order in the newest RFCs.</td></tr><tr><td>rfc-ext</td><td>include-references-in-index<div id="rfc.iref.i.4"></div><div id="rfc.iref.p.43"></div></td><td>xml2rfc-ext-include-references-in-index<div id="rfc.iref.x.19"></div> <div id="rfc.iref.p.44"></div></td><td></td><td>When set to "yes", index entries are generated for all references.</td></tr><tr><td>rfc-ext</td><td>justification<div id="rfc.iref.j.1"></div><div id="rfc.iref.p.45"></div></td><td>xml2rfc-ext-justification<div id="rfc.iref.x.20"></div> <div id="rfc.iref.p.46"></div></td><td>"never"</td><td>"never": never emit justified text, "always": always emit justified text, "print": only emit justified text for print media.</td></tr><tr><td>rfc-ext</td><td>parse-xml-in-artwork<div id="rfc.iref.p.47"></div><div id="rfc.iref.p.48"></div></td><td>xml2rfc-parse-xml-in-artwork<div id="rfc.iref.x.21"></div> <div id="rfc.iref.p.49"></div></td><td>"no"</td><td>May be used to enable parsing of XML content in figures (MSXML only).</td></tr><tr><td>rfc-ext</td><td>support-rfc2731<div id="rfc.iref.s.6"></div><div id="rfc.iref.p.50"></div></td><td>xml2rfc-ext-support-rfc2731<div id="rfc.iref.x.22"></div> <div id="rfc.iref.p.51"></div></td><td>"yes"</td><td>Decides whether the HTML transformation should generate META tags according <a href="#rfc2731.properties" title="Dublin Core (RFC2731) metadata">Section 6.4</a>.</td></tr><tr><td>rfc-ext</td><td>sec-no-trailing-dots<div id="rfc.iref.s.7"></div><div id="rfc.iref.p.52"></div></td><td>xml2rfc-ext-sec-no-trailing-dots<div id="rfc.iref.x.23"></div> <div id="rfc.iref.p.53"></div></td><td></td><td>When set to "yes", add trailing dots to section numbers. This seems to be the preferred format in the newest RFCs.</td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.4" class="np"><a href="#rfc.section.4">4.</a> <a id="anchors" href="#anchors">Anchors</a></h1><p id="rfc.section.4.p.1">The transformation automatically generates anchors that are supposed to be stable and predictable and that can be used to identify specific parts of the document. Anchors are generated both in HTML and XSL-FO content (but the latter will only be used for PDF output when the XSL-FO engine supports producing PDF anchors).</p><div id="rfc.table.u.4"><p>The following anchors get auto-generated:</p><table summary="The following anchors get auto-generated:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>Anchor name</th><th>Description</th></tr></thead><tbody><tr><td>rfc.abstract <div id="rfc.iref.r.1"></div><div id="rfc.iref.a.3"></div></td><td>Abstract</td></tr><tr><td>rfc.authors <div id="rfc.iref.r.2"></div><div id="rfc.iref.a.4"></div></td><td>Authors section</td></tr><tr><td>rfc.copyright <div id="rfc.iref.r.3"></div><div id="rfc.iref.a.5"></div></td><td>Copyright section</td></tr><tr><td>rfc.copyrightnotice <div id="rfc.iref.r.4"></div><div id="rfc.iref.a.6"></div></td><td>Copyright notice</td></tr><tr><td>rfc.figure.<em>n</em> <div id="rfc.iref.r.5"></div><div id="rfc.iref.a.7"></div></td><td>Figures (titled)</td></tr><tr><td>rfc.figure.u.<em>n</em> <div id="rfc.iref.r.6"></div><div id="rfc.iref.a.8"></div></td><td>Figures (untitled)</td></tr><tr><td>rfc.index <div id="rfc.iref.r.7"></div><div id="rfc.iref.a.9"></div></td><td>Index</td></tr><tr><td>rfc.ipr <div id="rfc.iref.r.8"></div><div id="rfc.iref.a.10"></div></td><td>Intellectual Property</td></tr><tr><td>rfc.iref.<em>n</em> <div id="rfc.iref.r.9"></div><div id="rfc.iref.a.11"></div></td><td>Internal references</td></tr><tr><td>rfc.note.<em>n</em> <div id="rfc.iref.r.10"></div><div id="rfc.iref.a.12"></div></td><td>Notes (from front section)</td></tr><tr><td>rfc.references <div id="rfc.iref.r.11"></div><div id="rfc.iref.a.13"></div></td><td>References</td></tr><tr><td>rfc.references.<em>n</em> <div id="rfc.iref.r.12"></div><div id="rfc.iref.a.14"></div></td><td>Additional references</td></tr><tr><td>rfc.section.<em>n</em> <div id="rfc.iref.r.13"></div><div id="rfc.iref.a.15"></div></td><td>Section <em>n</em></td></tr><tr><td>rfc.section.<em>n</em>.p.<em>m</em> <div id="rfc.iref.r.14"></div><div id="rfc.iref.a.16"></div></td><td>Section <em>n</em>, paragraph <em>m</em></td></tr><tr><td>rfc.status <div id="rfc.iref.r.15"></div><div id="rfc.iref.a.17"></div></td><td>Status of memo</td></tr><tr><td>rfc.table.<em>n</em> <div id="rfc.iref.r.16"></div><div id="rfc.iref.a.18"></div></td><td>Tables (titled)</td></tr><tr><td>rfc.table.u.<em>n</em> <div id="rfc.iref.r.17"></div><div id="rfc.iref.a.19"></div></td><td>Tables (untitled)</td></tr><tr><td>rfc.toc <div id="rfc.iref.r.18"></div><div id="rfc.iref.a.20"></div></td><td>Table of contents</td></tr><tr><td>rfc.xref.<em>name</em>.<em>n</em> <div id="rfc.iref.r.19"></div><div id="rfc.iref.a.21"></div></td><td>References to reference <em>n</em> to <em>name</em></td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.5" class="np"><a href="#rfc.section.5">5.</a> <a id="xslt.engines" href="#xslt.engines">Supported XSLT engines</a></h1><p id="rfc.section.5.p.1">The transformation requires a non-standard extension function (see <a href="http://www.exslt.org/exsl/functions/node-set/exsl.node-set.html">exsl:node-set</a>) which is however widely available. XSLT processors that do not support this extension (or a functional equivalent) currently are not supported.</p><h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a> Standalone Engines</h2><p id="rfc.section.5.1.p.1">The following XSLT engines are believed to work well: </p><ul><li><span id="rfc.iref.m.1"></span><span id="rfc.iref.m.2"></span>MSXML3 and MSXML4 (<<a href="http://msdn.microsoft.com/xml">http://msdn.microsoft.com/xml</a>>; these processors do not support exsl:node-set(), but have a similar proprietary extension)</li><li><span id="rfc.iref.s.8"></span>Saxon (<<a href="http://saxon.sourceforge.net/">http://saxon.sourceforge.net/</a>>)</li><li><span id="rfc.iref.x.24"></span>Xalan (<<a href="http://xml.apache.org/xalan-j/">http://xml.apache.org/xalan-j/</a>>)</li><li><span id="rfc.iref.x.25"></span>xsltproc (libxslt) (<<a href="http://xmlsoft.org/XSLT/">http://xmlsoft.org/XSLT/</a>>, make sure that you have a current version)</li></ul><h2 id="rfc.section.5.2"><a href="#rfc.section.5.2">5.2</a> In-Browser Engines</h2><p id="rfc.section.5.2.p.1">The following browsers seem to work fine: </p><ul><li><span id="rfc.iref.i.5"></span>Internet Explorer 5.5 (Windows version, if MSXML3 is installed)</li><li><span id="rfc.iref.i.6"></span>Internet Explorer 6</li><li><span id="rfc.iref.i.7"></span>Internet Explorer 7</li><li id="firefox3"><span id="rfc.iref.m.3"></span><span id="rfc.iref.f.2"></span>Firefox 3.0</li><li><span id="rfc.iref.s.9"></span><span id="rfc.iref.s.10"></span>Safari 3 (starting with version 3.0.4)</li><li><span id="rfc.iref.g.1"></span>Google Chrome (beta available)</li></ul><p id="rfc.section.5.2.p.2">The following browsers are known not to work properly: </p><ul><li id="firefox12"><span id="rfc.iref.m.4"></span><span id="rfc.iref.f.3"></span>Firefox 1.*/2.*: (missing extension function - see change request at Mozilla BugZilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=193678">193678</a>)</li><li id="opera"><span id="rfc.iref.o.1"></span>Opera 9.21: execution fails, potentially to a somewhat complex XPath expression (reported to Opera as bug 245725).</li><li>Opera 9.5 and 9.6: transformation appears to work, but CSS isn't getting applied (reported to Opera as bug 337388 on 2008-06-12).</li><li id="safari"><span id="rfc.iref.s.11"></span>Safari 2.* supports client-side XSLT as of MacOS X 10.4, but misses required extension functions. A problem with stylesheets producing non-ASCII output (such as NBSP characters) has been fixed as of OSX 10.4.4. Both problems have been reported through Apple's bug tracking system, see <<a href="http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html">http://drakken.dbc.mtview.ca.us/pipermail/xml2rfc/2005-May/002073.html</a>> and <<a href="http://bugs.webkit.org/show_bug.cgi?id=4079">http://bugs.webkit.org/show_bug.cgi?id=4079</a>>.</li></ul><hr class="noprint"><h1 id="rfc.section.6" class="np"><a href="#rfc.section.6">6.</a> <a id="output.html" href="#output.html">Transforming to HTML</a></h1><p id="rfc.section.6.p.1">Transformation to HTML can be done inside the browser if it supports XSLT. To enable this, add the following processing instruction to the start of the source file:</p><div id="rfc.iref.x.26"></div><div id="rfc.figure.u.4"></div><pre class="text"> <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> 366 </pre><p id="rfc.section.6.p.3">(and ensure that <samp>rfc2629.xslt</samp> is present).</p><h2 id="rfc.section.6.1"><a href="#rfc.section.6.1">6.1</a> HTML compliance</h2><p id="rfc.section.6.1.p.1">The transformation result is supposed to conform to the HTML 4.01 strict DTD <a href="#HTML" id="rfc.xref.HTML.1"><cite title="HTML 4.01 Specification">[HTML]</cite></a>. This can be checked using the W3C's online validator at <<a href="http://validator.w3.org">http://validator.w3.org</a>><span id="rfc.iref.h.2"></span>.</p><h2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a> <a id="html.link" href="#html.link">Standard HTML LINK elements</a></h2><p id="rfc.section.6.2.p.1">LINK elements exist since HTML 2.0. They can be used to embed content-independant links inside the document. Unfortunately, only few user agents support this element. Firefox users may want to check the <a href="https://addons.mozilla.org/firefox/2933/">Link Widgets</a> extension.</p><div id="rfc.table.u.5"><p>The following LINK elements are produced:</p><table summary="The following LINK elements are produced:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>LINK type</th><th>description</th></tr></thead><tbody><tr><td>alternate<div id="rfc.iref.a.22"></div><div id="rfc.iref.h.3"></div></td><td>for RFCs, a link to the authorative ASCII version on the IETF web site</td></tr><tr><td>appendic<div id="rfc.iref.a.23"></div><div id="rfc.iref.h.4"></div></td><td>pointer to all top-level appendics</td></tr><tr><td>author<div id="rfc.iref.a.24"></div><div id="rfc.iref.h.5"></div></td><td>pointer to "authors" section</td></tr><tr><td>chapter<div id="rfc.iref.c.3"></div><div id="rfc.iref.h.6"></div></td><td>pointer to all top-level sections</td></tr><tr><td>contents<div id="rfc.iref.c.4"></div><div id="rfc.iref.h.7"></div></td><td>pointer to table of contents</td></tr><tr><td>copyright<div id="rfc.iref.c.5"></div><div id="rfc.iref.h.8"></div></td><td>pointer to copyright statement</td></tr><tr><td>index<div id="rfc.iref.i.8"></div><div id="rfc.iref.h.9"></div></td><td>pointer to index</td></tr></tbody></table></div><div id="rfc.figure.u.5"></div> <p>The figure below shows how Mozilla Firefox 1.0 displays the Site Navigation Bar for rfc2396.xml.</p> <p><img src="rfc2629xslt-fig1.png" alt="
(LINK elements displayed in Mozilla Firefox for RFC2396.xml)
" height="235" width="509"></p> <h2 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a> Standard HTML metadata</h2><div id="rfc.table.u.6"><p>The following standard HTML META elements are produced:</p><table summary="The following standard HTML META elements are produced:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>META name</th><th>description</th></tr></thead><tbody><tr><td>generator<div id="rfc.iref.g.2"></div><div id="rfc.iref.h.10"></div></td><td>from XSLT engine version and stylesheet version</td></tr><tr><td>keywords<div id="rfc.iref.k.1"></div><div id="rfc.iref.h.11"></div></td><td>from keyword elements in front section</td></tr></tbody></table></div><h2 id="rfc.section.6.4"><a href="#rfc.section.6.4">6.4</a> <a id="rfc2731.properties" href="#rfc2731.properties">Dublin Core (RFC2731) metadata</a></h2><p id="rfc.section.6.4.p.1">Unless turned off using the "rfc-ext support-rfc2731" processing instruction, the transformation will generate metadata according to <a href="#RFC2731" id="rfc.xref.RFC2731.1"><cite title="Encoding Dublin Core Metadata in HTML">[RFC2731]</cite></a>.</p><div id="rfc.table.u.7"><p>The following DCMI properties are produced:</p><table summary="The following DCMI properties are produced:" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>META name</th><th>description</th></tr></thead><tbody><tr><td>DC.Creator<div id="rfc.iref.c.6"></div><div id="rfc.iref.d.1"></div></td><td>from author information in front section</td></tr><tr><td>DC.Date.Issued<div id="rfc.iref.d.2"></div><div id="rfc.iref.d.3"></div></td><td>from date information in front section</td></tr><tr><td>DC.Description.Abstract<div id="rfc.iref.d.4"></div><div id="rfc.iref.d.5"></div></td><td>from abstract</td></tr><tr><td>DC.Identifier<div id="rfc.iref.i.9"></div><div id="rfc.iref.d.6"></div></td><td>document URN <a href="#RFC2648" id="rfc.xref.RFC2648.1"><cite title="A URN Namespace for IETF Documents">[RFC2648]</cite></a> from "docName" attribute</td></tr><tr><td>DC.Relation.Replaces<div id="rfc.iref.r.20"></div><div id="rfc.iref.d.7"></div></td><td>from "obsoletes" attribute</td></tr></tbody></table></div><h2 id="rfc.section.6.5"><a href="#rfc.section.6.5">6.5</a> <a id="hcard" href="#hcard">Experimental hCard support</a></h2><p id="rfc.section.6.5.p.1">The generated author information is formatted in <a href="http://microformats.org/wiki/hcard">hCard</a> format.</p><hr class="noprint"><h1 id="rfc.section.7" class="np"><a href="#rfc.section.7">7.</a> <a id="output.xhtml" href="#output.xhtml">Transforming to XHTML</a></h1><p id="rfc.section.7.p.1">Transforming to XHTML requires slightly different XSLT output options and is implemented by the derived transformation script <samp>rfc2629toXHTML.xslt</samp>.</p><dl class="empty"><dd> <b>Note:</b> Microsoft Internet Explorer does <em>not</em> support XHTML. Therefore it usually makes more sense to generate plain old HTML.</dd></dl><hr class="noprint"><h1 id="rfc.section.8" class="np"><a href="#rfc.section.8">8.</a> <a id="output.chm" href="#output.chm">Transforming to CHM (Microsoft Compiled Help)</a></h1><p id="rfc.section.8.p.1"> <span id="rfc.iref.c.7"></span> <span id="rfc.iref.m.5"></span> To generate a CHM file using Microsoft's HTML Help Compiler (hhc), three files are required in addition to the HTML file. </p><ol><li>hhc - table of contents file (HTML)</li><li>hhk - index file (HTML)</li><li>hhp - project file (plain text)</li></ol><p id="rfc.section.8.p.2">The three files are generated with three specific transformations, each requiring the additional XSLT parameter "basename" to specify the filename prefix.</p><div id="rfc.figure.u.6"></div> <p>Example:</p> <pre class="text">saxon rfc2616.xml rfc2629toHhp.xslt basename=rfc2616 > rfc2616.hhp 367 367 saxon rfc2616.xml rfc2629toHhc.xslt basename=rfc2616 > rfc2616.hhc 368 368 saxon rfc2616.xml rfc2629toHhk.xslt basename=rfc2616 > rfc2616.hhk … … 392 392 >SHOULD</bcp14>"> 393 393 <!ENTITY SHOULD-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext' 394 >SHOULD NOT</bcp14>">]></pre> <div id="rfc.iref.e.5"></div><div id="rfc.iref.b.3"></div><h2 id="rfc.section.10.4"><a href="#rfc.section.10.4">10.4</a> <a id="ext.element.bb" href="#ext.element.bb"><bb> element</a></h2><p id="rfc.section.10.4.p.1">Marking up a string as <bb> indicates that it represents the bottom line of a box drawing, replacing the "+" and "-" characters accordingly.</p><div id="rfc.iref.e.6"></div><div id="rfc.iref.b.4"></div><h2 id="rfc.section.10.5"><a href="#rfc.section.10.5">10.5</a> <a id="ext.element.bc" href="#ext.element.bc"><bc> element</a></h2><p id="rfc.section.10.5.p.1">Marking up a string as <bc> indicates that it represents a center line of a box drawing, replacing the "|" character accordingly.</p><div id="rfc.iref.e.7"></div><div id="rfc.iref.b.5"></div><h2 id="rfc.section.10.6"><a href="#rfc.section.10.6">10.6</a> <a id="ext.element.blockquote" href="#ext.element.blockquote"><blockquote> element</a></h2><p id="rfc.section.10.6.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-BLOCKQUOTE">blockquote</a>" element in <a href="#HTML" id="rfc.xref.HTML.2"><cite title="HTML 4.01 Specification">[HTML]</cite></a> (note this is a block-level element!). It should contain one or more <t> child elements.</p><div id="rfc.iref.e.8"></div><div id="rfc.iref.b.6"></div><h2 id="rfc.section.10.7"><a href="#rfc.section.10.7">10.7</a> <a id="ext.element.bt" href="#ext.element.bt"><bt> element</a></h2><p id="rfc.section.10.7.p.1">Marking up a string as <bt> indicates that it represents the top line of a box drawing, replacing the "+" and "-" characters accordingly.</p><div id="rfc.iref.e.9"></div><div id="rfc.iref.d.8"></div><h2 id="rfc.section.10.8"><a href="#rfc.section.10.8">10.8</a> <a id="ext.element.dfn" href="#ext.element.dfn"><dfn> element</a></h2><p id="rfc.section.10.8.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-DFN">dfn</a>" element in <a href="#HTML" id="rfc.xref.HTML.3"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><div id="rfc.iref.e.10"></div><div id="rfc.iref.h.12"></div><h2 id="rfc.section.10.9"><a href="#rfc.section.10.9">10.9</a> <a id="ext.element.h" href="#ext.element.h"><h> element</a></h2><p id="rfc.section.10.9.p.1">This element is like the "<a href="http://www.w3.org/TR/2006/WD-xhtml2-20060726/mod-structural.html#edef_structural_h">h</a>" element in <a href="#XHTML2" id="rfc.xref.XHTML2.1"><cite title="XHTML™ 2.0">[XHTML2]</cite></a>.</p><div id="rfc.iref.e.11"></div><div id="rfc.iref. l.2"></div><h2 id="rfc.section.10.10"><a href="#rfc.section.10.10">10.10</a> <a id="ext.element.length-of" href="#ext.element.length-of"><length-of> element</a></h2><p id="rfc.section.10.10.p.1">This element can be used to insert the length of another formatted section (in decimal).</p><div id="rfc.figure.u.10"></div> <p>Example: computing the Content-Length header value</p> <pre class="text"><artwork>394 >SHOULD NOT</bcp14>">]></pre> <div id="rfc.iref.e.5"></div><div id="rfc.iref.b.3"></div><h2 id="rfc.section.10.4"><a href="#rfc.section.10.4">10.4</a> <a id="ext.element.bb" href="#ext.element.bb"><bb> element</a></h2><p id="rfc.section.10.4.p.1">Marking up a string as <bb> indicates that it represents the bottom line of a box drawing, replacing the "+" and "-" characters accordingly.</p><div id="rfc.iref.e.6"></div><div id="rfc.iref.b.4"></div><h2 id="rfc.section.10.5"><a href="#rfc.section.10.5">10.5</a> <a id="ext.element.bc" href="#ext.element.bc"><bc> element</a></h2><p id="rfc.section.10.5.p.1">Marking up a string as <bc> indicates that it represents a center line of a box drawing, replacing the "|" character accordingly.</p><div id="rfc.iref.e.7"></div><div id="rfc.iref.b.5"></div><h2 id="rfc.section.10.6"><a href="#rfc.section.10.6">10.6</a> <a id="ext.element.blockquote" href="#ext.element.blockquote"><blockquote> element</a></h2><p id="rfc.section.10.6.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-BLOCKQUOTE">blockquote</a>" element in <a href="#HTML" id="rfc.xref.HTML.2"><cite title="HTML 4.01 Specification">[HTML]</cite></a> (note this is a block-level element!). It should contain one or more <t> child elements.</p><div id="rfc.iref.e.8"></div><div id="rfc.iref.b.6"></div><h2 id="rfc.section.10.7"><a href="#rfc.section.10.7">10.7</a> <a id="ext.element.bt" href="#ext.element.bt"><bt> element</a></h2><p id="rfc.section.10.7.p.1">Marking up a string as <bt> indicates that it represents the top line of a box drawing, replacing the "+" and "-" characters accordingly.</p><div id="rfc.iref.e.9"></div><div id="rfc.iref.d.8"></div><h2 id="rfc.section.10.8"><a href="#rfc.section.10.8">10.8</a> <a id="ext.element.dfn" href="#ext.element.dfn"><dfn> element</a></h2><p id="rfc.section.10.8.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-DFN">dfn</a>" element in <a href="#HTML" id="rfc.xref.HTML.3"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><div id="rfc.iref.e.10"></div><div id="rfc.iref.h.12"></div><h2 id="rfc.section.10.9"><a href="#rfc.section.10.9">10.9</a> <a id="ext.element.h" href="#ext.element.h"><h> element</a></h2><p id="rfc.section.10.9.p.1">This element is like the "<a href="http://www.w3.org/TR/2006/WD-xhtml2-20060726/mod-structural.html#edef_structural_h">h</a>" element in <a href="#XHTML2" id="rfc.xref.XHTML2.1"><cite title="XHTML™ 2.0">[XHTML2]</cite></a>.</p><div id="rfc.iref.e.11"></div><div id="rfc.iref.h.13"></div><h2 id="rfc.section.10.10"><a href="#rfc.section.10.10">10.10</a> <a id="ext.element.highlight" href="#ext.element.highlight"><highlight> element</a></h2><p id="rfc.section.10.10.p.1">Used to highlight text passages, currently only allowed in <artwork>.</p><p id="rfc.section.10.10.p.2"> <b>Note:</b> this is stripped when generating input for xml2rfc, so please use with care.</p><div id="rfc.iref.e.12"></div><div id="rfc.iref.l.2"></div><h2 id="rfc.section.10.11"><a href="#rfc.section.10.11">10.11</a> <a id="ext.element.length-of" href="#ext.element.length-of"><length-of> element</a></h2><p id="rfc.section.10.11.p.1">This element can be used to insert the length of another formatted section (in decimal).</p><div id="rfc.figure.u.10"></div> <p>Example: computing the Content-Length header value</p> <pre class="text"><artwork> 395 395 ... 396 396 Content-Length: <x:length-of target="req"/> … … 398 398 <x:span anchor="req">123456789 399 399 <x:span><artwork/> 400 </pre> <p id="rfc.section.10.1 0.p.3">The lenght computation counts line ends as two characters (CRLF).</p><p id="rfc.section.10.10.p.4">Note that indentation characters in artwork <em>will</em> be counted. The "indented" attribute allows to specify the amount of indentation to be substracted from the computed length.</p><div id="rfc.iref.e.12"></div><div id="rfc.iref.l.3"></div><h2 id="rfc.section.10.11"><a href="#rfc.section.10.11">10.11</a> <a id="ext.element.link" href="#ext.element.link"><link> element</a></h2><p id="rfc.section.10.11.p.1">This element can be added as a top-level child element below <rfc> to indicate additional link information. It's currently used only when generating HTML output, in which case an HTML <a href="http://www.w3.org/TR/html4/struct/links.html#edef-LINK"><link></a> element with identical attributes gets generated.</p><div id="rfc.figure.u.11"></div> <p>Example: generating HTML link element</p> <pre class="text"> <x:link xmlns="http://purl.org/net/xml2rfc/ext"400 </pre> <p id="rfc.section.10.11.p.3">The lenght computation counts line ends as two characters (CRLF).</p><p id="rfc.section.10.11.p.4">Note that indentation characters in artwork <em>will</em> be counted. The "indented" attribute allows to specify the amount of indentation to be substracted from the computed length.</p><div id="rfc.iref.e.13"></div><div id="rfc.iref.l.3"></div><h2 id="rfc.section.10.12"><a href="#rfc.section.10.12">10.12</a> <a id="ext.element.link" href="#ext.element.link"><link> element</a></h2><p id="rfc.section.10.12.p.1">This element can be added as a top-level child element below <rfc> to indicate additional link information. It's currently used only when generating HTML output, in which case an HTML <a href="http://www.w3.org/TR/html4/struct/links.html#edef-LINK"><link></a> element with identical attributes gets generated.</p><div id="rfc.figure.u.11"></div> <p>Example: generating HTML link element</p> <pre class="text"> <x:link xmlns="http://purl.org/net/xml2rfc/ext" 401 401 rel="Bookmark" 402 402 title="IETF WEBDAV Working Group" 403 href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/></pre> <div id="rfc.iref.e.1 3"></div><div id="rfc.iref.l.4"></div><h2 id="rfc.section.10.12"><a href="#rfc.section.10.12">10.12</a> <a id="ext.element.lt" href="#ext.element.lt"><lt> element</a></h2><p id="rfc.section.10.12.p.1">Used for grouping multiple <t> elements into a single list item.</p><div id="rfc.iref.e.14"></div><div id="rfc.iref.p.54"></div><h2 id="rfc.section.10.13"><a href="#rfc.section.10.13">10.13</a> <a id="ext.element.parse-xml" href="#ext.element.parse-xml"><parse-xml> element</a></h2><p id="rfc.section.10.13.p.1">This element instructs the processor to parse the contents as XML and to warn when there's a problem (requires either MSXML or Saxon8 or newer).</p><div id="rfc.iref.e.15"></div><div id="rfc.iref.q.1"></div><h2 id="rfc.section.10.14"><a href="#rfc.section.10.14">10.14</a> <a id="ext.element.q" href="#ext.element.q"><q> element</a></h2><p id="rfc.section.10.14.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-Q">q</a>" element in <a href="#HTML" id="rfc.xref.HTML.4"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><div id="rfc.iref.e.16"></div><div id="rfc.iref.r.21"></div><h2 id="rfc.section.10.15"><a href="#rfc.section.10.15">10.15</a> <a id="ext.element.ref" href="#ext.element.ref"><ref> element</a></h2><p id="rfc.section.10.15.p.1">This element is a simplified variant of the <xref> element, in that no "target" attribute needs to be specified, instead the text contents acts as identifier. That in itself wouldn't be terribly useful, but together with the <<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>>, it allows referring to other parts of the document with minimal additional markup.</p><p id="rfc.section.10.15.p.2">For instance, given an alias definition such as</p><div id="rfc.figure.u.12"></div> <pre class="text"> <section title="Test" anchor="test">403 href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/></pre> <div id="rfc.iref.e.14"></div><div id="rfc.iref.l.4"></div><h2 id="rfc.section.10.13"><a href="#rfc.section.10.13">10.13</a> <a id="ext.element.lt" href="#ext.element.lt"><lt> element</a></h2><p id="rfc.section.10.13.p.1">Used for grouping multiple <t> elements into a single list item.</p><div id="rfc.iref.e.15"></div><div id="rfc.iref.n.2"></div><h2 id="rfc.section.10.14"><a href="#rfc.section.10.14">10.14</a> <a id="ext.element.note" href="#ext.element.note"><note> element</a></h2><p id="rfc.section.10.14.p.1">Can be used to add a note, usually indented by a few characters. It should contain one or more <t> child elements.</p><div id="rfc.iref.e.16"></div><div id="rfc.iref.p.54"></div><h2 id="rfc.section.10.15"><a href="#rfc.section.10.15">10.15</a> <a id="ext.element.parse-xml" href="#ext.element.parse-xml"><parse-xml> element</a></h2><p id="rfc.section.10.15.p.1">This element instructs the processor to parse the contents as XML and to warn when there's a problem (requires either MSXML or Saxon8 or newer).</p><div id="rfc.iref.e.17"></div><div id="rfc.iref.q.1"></div><h2 id="rfc.section.10.16"><a href="#rfc.section.10.16">10.16</a> <a id="ext.element.q" href="#ext.element.q"><q> element</a></h2><p id="rfc.section.10.16.p.1">This element is like the "<a href="http://www.w3.org/TR/html401/struct/text.html#edef-Q">q</a>" element in <a href="#HTML" id="rfc.xref.HTML.4"><cite title="HTML 4.01 Specification">[HTML]</cite></a>.</p><div id="rfc.iref.e.18"></div><div id="rfc.iref.r.21"></div><h2 id="rfc.section.10.17"><a href="#rfc.section.10.17">10.17</a> <a id="ext.element.ref" href="#ext.element.ref"><ref> element</a></h2><p id="rfc.section.10.17.p.1">This element is a simplified variant of the <xref> element, in that no "target" attribute needs to be specified, instead the text contents acts as identifier. That in itself wouldn't be terribly useful, but together with the <<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>>, it allows referring to other parts of the document with minimal additional markup.</p><p id="rfc.section.10.17.p.2">For instance, given an alias definition such as</p><div id="rfc.figure.u.12"></div> <pre class="text"> <section title="Test" anchor="test"> 404 404 <x:anchor-alias value="alias1"/> 405 405 <x:anchor-alias value="alias 2"/> 406 406 ... 407 </section></pre> <p id="rfc.section.10.1 5.p.4">the following simple references</p><div id="rfc.figure.u.13"></div> <pre class="text"> <x:ref>test</x:ref>407 </section></pre> <p id="rfc.section.10.17.p.4">the following simple references</p><div id="rfc.figure.u.13"></div> <pre class="text"> <x:ref>test</x:ref> 408 408 <x:ref>alias1</x:ref> 409 <x:ref>alias 2</x:ref></pre> <p id="rfc.section.10.1 5.p.6">are equivalent to...:</p><div id="rfc.figure.u.14"></div> <pre class="text"> <xref target="test">test</xref>409 <x:ref>alias 2</x:ref></pre> <p id="rfc.section.10.17.p.6">are equivalent to...:</p><div id="rfc.figure.u.14"></div> <pre class="text"> <xref target="test">test</xref> 410 410 <xref target="test">alias1</xref> 411 <xref target="test">alias 2</xref></pre> <div id="rfc.iref.e.1 7"></div><div id="rfc.iref.s.12"></div><h2 id="rfc.section.10.16"><a href="#rfc.section.10.16">10.16</a> <a id="ext.element.source" href="#ext.element.source"><source> element</a></h2><p id="rfc.section.10.16.p.1">Can be used to enhance a <reference> with information about the location for the XML source. This can be used by the <xref> processing code to automatically extract the target section number.</p><div id="rfc.figure.u.15"></div> <p>For example:</p> <pre class="text"> ...411 <xref target="test">alias 2</xref></pre> <div id="rfc.iref.e.19"></div><div id="rfc.iref.s.12"></div><h2 id="rfc.section.10.18"><a href="#rfc.section.10.18">10.18</a> <a id="ext.element.source" href="#ext.element.source"><source> element</a></h2><p id="rfc.section.10.18.p.1">Can be used to enhance a <reference> with information about the location for the XML source. This can be used by the <xref> processing code to automatically extract the target section number.</p><div id="rfc.figure.u.15"></div> <p>For example:</p> <pre class="text"> ... 412 412 <xref target="RFC2616" x:fmt="of" x:rel="#PUT" /> 413 413 ... … … 417 417 <x:source href="rfc2616.xml"/> 418 418 ... 419 </pre> <div id="rfc.iref.e. 18"></div><div id="rfc.iref.s.13"></div><h2 id="rfc.section.10.17"><a href="#rfc.section.10.17">10.17</a> <a id="ext.element.sup" href="#ext.element.sup"><sup> element</a></h2><p id="rfc.section.10.17.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.10.17.p.2">Note: the down conversion to RFC2629 format replaces "x<sup>y</sup>" by "x^y".</p><h2 id="rfc.section.10.18"><a href="#rfc.section.10.18">10.18</a> <a id="ext-rfc2629.iref" href="#ext-rfc2629.iref">Extensions to Xml2rfc <iref> element</a></h2><p id="rfc.section.10.18.p.1">The extension attribute below is allowed on the standard <iref> element: </p><ul><li>x:for-anchor specifies that the <iref> will also be automatically inserted whenever the specified anchor is cross-referenced -- this may save entering lots of <iref> instances. As a special case, a value of "" (empty string) refers to the anchor attribute of the closest ancestor.</li></ul><h2 id="rfc.section.10.19"><a href="#rfc.section.10.19">10.19</a> <a id="ext-rfc2629.list" href="#ext-rfc2629.list">Extensions to Xml2rfc <list> element</a></h2><p id="rfc.section.10.19.p.1">The extension attribute below is allowed on the standard <list> 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.10.19.p.2">Also, the <list> element can take <x:<a href="#ext.element.lt" class="smpl">lt</a>> child elements instead of <t>, allowing to insert multiple paragraphs into a single list item.</p><h2 id="rfc.section.10.20"><a href="#rfc.section.10.20">10.20</a> <a id="ext-rfc2629.rfc" href="#ext-rfc2629.rfc">Extensions to Xml2rfc <rfc> element</a></h2><p id="rfc.section.10.20.p.1">The extension attributes below are allowed on the standard <rfc> element: </p><ul><li>grddl:transformation can be used to reference a GRDDL transform.</li><li>x:maturiy-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.10.21"><a href="#rfc.section.10.21">10.21</a> <a id="ext-rfc2629.section" href="#ext-rfc2629.section">Extensions to Xml2rfc <section> element</a></h2><p id="rfc.section.10.21.p.1">The extension attribute below is allowed on the standard <list> 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.10.22"><a href="#rfc.section.10.22">10.22</a> <a id="ext-rfc2629.xref" href="#ext-rfc2629.xref">Extensions to Xml2rfc <xref> element</a></h2><p id="rfc.section.10.22.p.1">Three extension attributes are allowed on the standard <xref> 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.10.22.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.10.22.p.3">These extensions are currently only supported for <xref> elements without child nodes.</p><p id="rfc.section.10.22.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.11" class="np"><a href="#rfc.section.11">11.</a> <a id="utilities" href="#utilities">Utilities</a></h1><h2 id="rfc.section.11.1"><a href="#rfc.section.11.1">11.1</a> <a id="checking-references" href="#checking-references">Checking References</a></h2><p id="rfc.section.11.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 <<a href="ftp://ftp.isi.edu/in-notes/rfc-index.xml">ftp://ftp.isi.edu/in-notes/rfc-index.xml</a>> and <<a href="http://www.w3.org/2002/01/tr-automation/tr.rdf">http://www.w3.org/2002/01/tr-automation/tr.rdf</a>> and will use the XML status information provided at <<a href="http://tools.ietf.org/">http://tools.ietf.org/</a>>).</p><p id="rfc.section.11.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 <rfc> element.</p><p id="rfc.section.11.1.p.3"> <b>Note:</b> Downward references should be annotated using the <annotate> element, containing an <xref> 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.11.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 tytpe text/*.</p><div id="rfc.figure.u.16"></div> <p>For instance, as of 2008-07-12, the script produces for <<a href="http://greenbytes.de/tech/webdav/rfc2518.xml">http://greenbytes.de/tech/webdav/rfc2518.xml</a>>:</p> <pre class="text">> saxon rfc2518.xml check-references.xslt intended-status=PROPOSED \419 </pre> <div id="rfc.iref.e.20"></div><div id="rfc.iref.s.13"></div><h2 id="rfc.section.10.19"><a href="#rfc.section.10.19">10.19</a> <a id="ext.element.sup" href="#ext.element.sup"><sup> element</a></h2><p id="rfc.section.10.19.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.10.19.p.2">Note: the down conversion to RFC2629 format replaces "x<sup>y</sup>" by "x^y".</p><h2 id="rfc.section.10.20"><a href="#rfc.section.10.20">10.20</a> <a id="ext-rfc2629.artwork" href="#ext-rfc2629.artwork">Extensions to Xml2rfc <artwork> element</a></h2><p id="rfc.section.10.20.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.10.20.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 11.4</a>).</p><h2 id="rfc.section.10.21"><a href="#rfc.section.10.21">10.21</a> <a id="ext-rfc2629.iref" href="#ext-rfc2629.iref">Extensions to Xml2rfc <iref> element</a></h2><p id="rfc.section.10.21.p.1">The extension attribute below is allowed on the standard <iref> element: </p><ul><li>x:for-anchor specifies that the <iref> will also be automatically inserted whenever the specified anchor is cross-referenced -- this may save entering lots of <iref> instances. As a special case, a value of "" (empty string) refers to the anchor attribute of the closest ancestor.</li></ul><h2 id="rfc.section.10.22"><a href="#rfc.section.10.22">10.22</a> <a id="ext-rfc2629.list" href="#ext-rfc2629.list">Extensions to Xml2rfc <list> element</a></h2><p id="rfc.section.10.22.p.1">The extension attribute below is allowed on the standard <list> 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.10.22.p.2">Also, the <list> element can take <x:<a href="#ext.element.lt" class="smpl">lt</a>> child elements instead of <t>, allowing to insert multiple paragraphs into a single list item.</p><h2 id="rfc.section.10.23"><a href="#rfc.section.10.23">10.23</a> <a id="ext-rfc2629.rfc" href="#ext-rfc2629.rfc">Extensions to Xml2rfc <rfc> element</a></h2><p id="rfc.section.10.23.p.1">The extension attributes below are allowed on the standard <rfc> element: </p><ul><li>grddl:transformation can be used to reference a GRDDL transform.</li><li>x:maturiy-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.10.24"><a href="#rfc.section.10.24">10.24</a> <a id="ext-rfc2629.section" href="#ext-rfc2629.section">Extensions to Xml2rfc <section> element</a></h2><p id="rfc.section.10.24.p.1">The extension attribute below is allowed on the standard <list> 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.10.25"><a href="#rfc.section.10.25">10.25</a> <a id="ext-rfc2629.xref" href="#ext-rfc2629.xref">Extensions to Xml2rfc <xref> element</a></h2><p id="rfc.section.10.25.p.1">Three extension attributes are allowed on the standard <xref> 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.10.25.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.10.25.p.3">These extensions are currently only supported for <xref> elements without child nodes.</p><p id="rfc.section.10.25.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.11" class="np"><a href="#rfc.section.11">11.</a> <a id="utilities" href="#utilities">Utilities</a></h1><h2 id="rfc.section.11.1"><a href="#rfc.section.11.1">11.1</a> <a id="checking-references" href="#checking-references">Checking References</a></h2><p id="rfc.section.11.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 <<a href="ftp://ftp.isi.edu/in-notes/rfc-index.xml">ftp://ftp.isi.edu/in-notes/rfc-index.xml</a>> and <<a href="http://www.w3.org/2002/01/tr-automation/tr.rdf">http://www.w3.org/2002/01/tr-automation/tr.rdf</a>> and will use the XML status information provided at <<a href="http://tools.ietf.org/">http://tools.ietf.org/</a>>).</p><p id="rfc.section.11.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 <rfc> element.</p><p id="rfc.section.11.1.p.3"> <b>Note:</b> Downward references should be annotated using the <annotate> element, containing an <xref> 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.11.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 tytpe text/*.</p><div id="rfc.figure.u.16"></div> <p>For instance, as of 2008-07-12, the script produces for <<a href="http://greenbytes.de/tech/webdav/rfc2518.xml">http://greenbytes.de/tech/webdav/rfc2518.xml</a>>:</p> <pre class="text">> saxon rfc2518.xml check-references.xslt intended-status=PROPOSED \ 420 420 link-check=yes 421 421 … … 470 470 </reference> 471 471 </references> 472 </pre><p id="rfc.section.11.3.p.3">Note that the resulting XML usually requires checking, in this case Amazon's database is playing tricks with Marshall's name...</p><h2 id="rfc.section.11.4"><a href="#rfc.section.11.4">11.4</a> <a id="clean-for-dtd" href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></h2><p id="rfc.section.11.4.p.1"> <samp>clean-for-DTD.xslt</samp> can be used to down-convert some extensions to a format that is supported by the base xml2rfc distribution. Note that these extensions are experimental (feedback appreciated).</p><p id="rfc.section.11.4.p.2">The following mappings are done: </p><ul><li><iref> elements inside <artwork> elements are moved in front of the enclosing <figure> element.</li><li><xref> elements inside <artwork> are expanded just like in regular text (that is, the markup is stripped, but the element is replaced by the applicable replacement text).</li><li><x:<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>> elements get stripped.</li><li><x:<a href="#ext.element.bcp14" class="smpl">bcp14</a>> elements get stripped.</li><li><x:<a href="#ext.element.bb" class="smpl">bb</a>>, <x:<a href="#ext.element.bc" class="smpl">bc</a>> and <x:<a href="#ext.element.bt" class="smpl">bt</a>> elements get stripped.</li><li><x:<a href="#ext.element.blockquote" class="smpl">blockquote</a>> elements get converted to indented text (through a <list> element).</li><li><x:<a href="#ext.element.dfn" class="smpl">dfn</a>> elements get stripped.</li><li><x:<a href="#ext.element.h" class="smpl">h</a>> elements get stripped.</li><li><x:<a href="#ext.element.link" class="smpl">link</a>> elements get stripped.</li><li><x:<a href="#ext.element. q" class="smpl">q</a>> elements get stripped, with apostrophes added around the text.</li><li><x:<a href="#ext.element.ref" class="smpl">ref</a>> elements get replaced by <xref> elements, targetting either the anchor or another anchor with matching <x:<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>> child element.</li></ul><h2 id="rfc.section.11.5"><a href="#rfc.section.11.5">11.5</a> <a id="extract-artwork" href="#extract-artwork">Extracting artwork</a></h2><p id="rfc.section.11.5.p.1">With <samp>extract-artwork.xslt</samp>, artwork elements named through the "name" attribute can be extracted. This can be used to automatically check their syntax (for instance, when ABNFs appear within a figure element).</p><div id="rfc.figure.u.19"></div><p>For instance:</p> <pre class="text">saxon rfc3986.xml extract-artwork.xslt name=uri.abnf472 </pre><p id="rfc.section.11.3.p.3">Note that the resulting XML usually requires checking, in this case Amazon's database is playing tricks with Marshall's name...</p><h2 id="rfc.section.11.4"><a href="#rfc.section.11.4">11.4</a> <a id="clean-for-dtd" href="#clean-for-dtd">Down-converting to RFC2629bis DTD</a></h2><p id="rfc.section.11.4.p.1"> <samp>clean-for-DTD.xslt</samp> can be used to down-convert some extensions to a format that is supported by the base xml2rfc distribution. Note that these extensions are experimental (feedback appreciated).</p><p id="rfc.section.11.4.p.2">The following mappings are done: </p><ul><li><iref> elements inside <artwork> elements are moved in front of the enclosing <figure> element.</li><li><xref> elements inside <artwork> are expanded just like in regular text (that is, the markup is stripped, but the element is replaced by the applicable replacement text).</li><li><x:<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>> elements get stripped.</li><li><x:<a href="#ext.element.bcp14" class="smpl">bcp14</a>> elements get stripped.</li><li><x:<a href="#ext.element.bb" class="smpl">bb</a>>, <x:<a href="#ext.element.bc" class="smpl">bc</a>> and <x:<a href="#ext.element.bt" class="smpl">bt</a>> elements get stripped.</li><li><x:<a href="#ext.element.blockquote" class="smpl">blockquote</a>> elements get converted to indented text (through a <list> element).</li><li><x:<a href="#ext.element.dfn" class="smpl">dfn</a>> elements get stripped.</li><li><x:<a href="#ext.element.h" class="smpl">h</a>> elements get stripped.</li><li><x:<a href="#ext.element.link" class="smpl">link</a>> elements get stripped.</li><li><x:<a href="#ext.element.note" class="smpl">note</a>> elements get converted to indented text (through a <list> element).</li><li><x:<a href="#ext.element.q" class="smpl">q</a>> elements get stripped, with apostrophes added around the text.</li><li><x:<a href="#ext.element.ref" class="smpl">ref</a>> elements get replaced by <xref> elements, targetting either the anchor or another anchor with matching <x:<a href="#ext.element.anchor-alias" class="smpl">anchor-alias</a>> child element.</li></ul><h2 id="rfc.section.11.5"><a href="#rfc.section.11.5">11.5</a> <a id="extract-artwork" href="#extract-artwork">Extracting artwork</a></h2><p id="rfc.section.11.5.p.1">With <samp>extract-artwork.xslt</samp>, artwork elements named through the "name" attribute can be extracted. This can be used to automatically check their syntax (for instance, when ABNFs appear within a figure element).</p><div id="rfc.figure.u.19"></div><p>For instance:</p> <pre class="text">saxon rfc3986.xml extract-artwork.xslt name=uri.abnf 473 473 </pre> <p id="rfc.section.11.5.p.3">In addition, artwork of a specific type can be extracted, such as with:</p><div id="rfc.figure.u.20"></div> <pre class="text">saxon rfc3986.xml extract-artwork.xslt type=abnf 474 </pre> <h2 id="rfc.section.11.6"><a href="#rfc.section.11.6">11.6</a> <a id="grddl" href="#grddl">GRRDL</a></h2><p id="rfc.section.11.6.p.1"> <samp>rfc2629grddl.xslt</samp> extracts RDF information. This is experimental work-in-progress. See <<a href="http://www.w3.org/TR/grddl/">http://www.w3.org/TR/grddl/</a>> for more information.</p><h1 class="np" id="rfc.references"><a href="#rfc.section.12" id="rfc.section.12">12.</a> Informative References</h1><table summary="Informative References"> <tr><td class="reference"><b id="BCP97">[BCP97]</b></td><td class="top"><a href="mailto:klensin+ietf@jck.com">Klensin, J.</a> and <a href="mailto:hartmans-ietf@mit.edu" title="MIT">S. Hartman</a>, “<a href="http://tools.ietf.org/html/rfc4897">Handling Normative References to Standards-Track Documents</a>”, BCP 97, RFC 4897, June 2007.</td></tr><tr><td class="reference"><b id="HTML">[HTML]</b></td><td class="top"><a href="mailto:dsr@w3.org" title="W3C">Raggett, D.</a>, Hors, A., and I. Jacobs, “<a href="http://www.w3.org/TR/html401/">HTML 4.01 Specification</a>”, W3C REC-html401-19991224, December 1999, <<a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a>>.</td></tr><tr><td class="reference"><b id="RFC2026">[RFC2026]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2026">The Internet Standards Process -- Revision 3</a>”, BCP 9, RFC 2026, October 1996.</td></tr><tr><td class="reference"><b id="RFC2119">[RFC2119]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997.</td></tr><tr><td class="reference"><b id="RFC2616">[RFC2616]</b></td><td class="top"><a href="mailto:fielding@ics.uci.edu" title="University of California, Irvine, Information and Computer Science">Fielding, R.T.</a>, <a href="mailto:jg@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">Gettys, J.</a>, <a href="mailto:mogul@wrl.dec.com" title="Compaq Computer Corporation, Western Research Laboratory">Mogul, J.C.</a>, <a href="mailto:frystyk@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">Nielsen, H.F.</a>, <a href="mailto:masinter@parc.xerox.com" title="Xerox Corporation">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.J.</a>, and <a href="mailto:timbl@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">T. Berners-Lee</a>, “<a href="http://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999.</td></tr><tr><td class="reference"><b id="RFC2629">[RFC2629]</b></td><td class="top"><a href="mailto:mrose@not.invisible.net" title="Invisible Worlds, Inc.">Rose, M.T.</a>, “<a href="http://tools.ietf.org/html/rfc2629">Writing I-Ds and RFCs using XML</a>”, RFC 2629, June 1999.</td></tr><tr><td class="reference"><b id="RFC2648">[RFC2648]</b></td><td class="top"><a href="mailto:jayhawk@att.com" title="AT&T">Moats, R.</a>, “<a href="http://tools.ietf.org/html/rfc2648">A URN Namespace for IETF Documents</a>”, RFC 2648, August 1999.</td></tr><tr><td class="reference"><b id="RFC2731">[RFC2731]</b></td><td class="top"><a href="mailto:jak@ckm.ucsf.edu" title="University of California, San Francisco, Center for Knowledge Management">Kunze, J.A.</a>, “<a href="http://tools.ietf.org/html/rfc2731">Encoding Dublin Core Metadata in HTML</a>”, RFC 2731, December 1999.</td></tr><tr><td class="reference"><b id="RFC5234">[RFC5234]</b></td><td class="top"><a href="mailto:dcrocker@bbiw.net" title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a href="mailto:paul.overell@thus.net" title="THUS plc.">P. Overell</a>, “<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008.</td></tr><tr><td class="reference"><b id="RNC">[RNC]</b></td><td class="top"><a href="mailto:jjc@jclark.com">Clark, J.</a>, “<a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">RELAX NG Compact Syntax</a>”, OASIS, Nov 2002, <<a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">http://www.oasis-open.org/committees/relax-ng/compact-20021121.html</a>>.</td></tr><tr><td class="reference"><b id="XHTML2">[XHTML2]</b></td><td class="top">Axelsson, J., Birbeck, M., Dubinko, M., Epperson, B., Ishikawa, M., McCarron, S., Navarro, A., and S. Pemberton, “<a href="http://www.w3.org/TR/xhtml2">XHTML™ 2.0</a>”, W3C WD-xhtml2-20060726, July 2006, <<a href="http://www.w3.org/TR/xhtml2">http://www.w3.org/TR/xhtml2</a>>.</td></tr><tr><td class="reference"><b id="XSL-FO">[XSL-FO]</b></td><td class="top"><a href="mailto:alrb@us.ibm.com" title="IBM">Berglund, A.</a>, “<a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">Extensible Stylesheet Language (XSL) Version 1.1</a>”, W3C REC-xsl11-20061205, Dec 2006, <<a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">http://www.w3.org/TR/2006/REC-xsl11-20061205/</a>>.</td></tr></table><hr class="noprint"><h1 id="rfc.authors" class="np"><a href="#rfc.authors">Author's Address</a></h1><address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span><span class="n hidden"><span class="family-name">Reschke</span><span class="given-name">Julian F.</span></span></span><span class="org vcardline">greenbytes GmbH</span><span class="adr"><span class="street-address vcardline">Hafenweg 16</span><span class="vcardline"><span class="locality">Muenster</span>, <span class="region">NW</span> <span class="postal-code">48155</span></span><span class="country-name vcardline">Germany</span></span><span class="vcardline tel">Phone: <a href="tel:+492512807760"><span class="value">+49 251 2807760</span></a></span><span class="vcardline">EMail: <a href="mailto:julian.reschke@greenbytes.de"><span class="email">julian.reschke@greenbytes.de</span></a></span><span class="vcardline">URI: <a href="http://greenbytes.de/tech/webdav/" class="url">http://greenbytes.de/tech/webdav/</a></span></address><hr class="noprint"><div id="rfc.iref.g. 2"></div><div id="rfc.iref.s.14"></div><div id="rfc.iref.r.22"></div><h1 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a> <a id="grammar" href="#grammar">RELAX NG Compact Schema</a></h1><p id="rfc.section.A.p.1">The RelaxNG schema (<a href="#RNC" id="rfc.xref.RNC.1"><cite title="RELAX NG Compact Syntax">[RNC]</cite></a>) below can be used to validate input documents (for instance, with <a href="http://www.thaiopensource.com/relaxng/jing.html">Jing</a>).</p><p id="rfc.section.A.p.2"> <em>Note that this is work in progress, and doesn't yet cover all extensions completely.</em> </p><div id="rfc.figure.u.21"></div> <pre class="inline"><em># WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.</em>474 </pre> <h2 id="rfc.section.11.6"><a href="#rfc.section.11.6">11.6</a> <a id="grddl" href="#grddl">GRRDL</a></h2><p id="rfc.section.11.6.p.1"> <samp>rfc2629grddl.xslt</samp> extracts RDF information. This is experimental work-in-progress. See <<a href="http://www.w3.org/TR/grddl/">http://www.w3.org/TR/grddl/</a>> for more information.</p><h1 class="np" id="rfc.references"><a href="#rfc.section.12" id="rfc.section.12">12.</a> Informative References</h1><table summary="Informative References"> <tr><td class="reference"><b id="BCP97">[BCP97]</b></td><td class="top"><a href="mailto:klensin+ietf@jck.com">Klensin, J.</a> and <a href="mailto:hartmans-ietf@mit.edu" title="MIT">S. Hartman</a>, “<a href="http://tools.ietf.org/html/rfc4897">Handling Normative References to Standards-Track Documents</a>”, BCP 97, RFC 4897, June 2007.</td></tr><tr><td class="reference"><b id="HTML">[HTML]</b></td><td class="top"><a href="mailto:dsr@w3.org" title="W3C">Raggett, D.</a>, Hors, A., and I. Jacobs, “<a href="http://www.w3.org/TR/html401/">HTML 4.01 Specification</a>”, W3C REC-html401-19991224, December 1999, <<a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a>>.</td></tr><tr><td class="reference"><b id="RFC2026">[RFC2026]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2026">The Internet Standards Process -- Revision 3</a>”, BCP 9, RFC 2026, October 1996.</td></tr><tr><td class="reference"><b id="RFC2119">[RFC2119]</b></td><td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997.</td></tr><tr><td class="reference"><b id="RFC2616">[RFC2616]</b></td><td class="top"><a href="mailto:fielding@ics.uci.edu" title="University of California, Irvine, Information and Computer Science">Fielding, R.T.</a>, <a href="mailto:jg@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">Gettys, J.</a>, <a href="mailto:mogul@wrl.dec.com" title="Compaq Computer Corporation, Western Research Laboratory">Mogul, J.C.</a>, <a href="mailto:frystyk@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">Nielsen, H.F.</a>, <a href="mailto:masinter@parc.xerox.com" title="Xerox Corporation">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.J.</a>, and <a href="mailto:timbl@w3.org" title="World Wide Web Consortium, MIT Laboratory for Computer Science">T. Berners-Lee</a>, “<a href="http://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999.</td></tr><tr><td class="reference"><b id="RFC2629">[RFC2629]</b></td><td class="top"><a href="mailto:mrose@not.invisible.net" title="Invisible Worlds, Inc.">Rose, M.T.</a>, “<a href="http://tools.ietf.org/html/rfc2629">Writing I-Ds and RFCs using XML</a>”, RFC 2629, June 1999.</td></tr><tr><td class="reference"><b id="RFC2648">[RFC2648]</b></td><td class="top"><a href="mailto:jayhawk@att.com" title="AT&T">Moats, R.</a>, “<a href="http://tools.ietf.org/html/rfc2648">A URN Namespace for IETF Documents</a>”, RFC 2648, August 1999.</td></tr><tr><td class="reference"><b id="RFC2731">[RFC2731]</b></td><td class="top"><a href="mailto:jak@ckm.ucsf.edu" title="University of California, San Francisco, Center for Knowledge Management">Kunze, J.A.</a>, “<a href="http://tools.ietf.org/html/rfc2731">Encoding Dublin Core Metadata in HTML</a>”, RFC 2731, December 1999.</td></tr><tr><td class="reference"><b id="RFC5234">[RFC5234]</b></td><td class="top"><a href="mailto:dcrocker@bbiw.net" title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a href="mailto:paul.overell@thus.net" title="THUS plc.">P. Overell</a>, “<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008.</td></tr><tr><td class="reference"><b id="RNC">[RNC]</b></td><td class="top"><a href="mailto:jjc@jclark.com">Clark, J.</a>, “<a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">RELAX NG Compact Syntax</a>”, OASIS, Nov 2002, <<a href="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">http://www.oasis-open.org/committees/relax-ng/compact-20021121.html</a>>.</td></tr><tr><td class="reference"><b id="XHTML2">[XHTML2]</b></td><td class="top">Axelsson, J., Birbeck, M., Dubinko, M., Epperson, B., Ishikawa, M., McCarron, S., Navarro, A., and S. Pemberton, “<a href="http://www.w3.org/TR/xhtml2">XHTML™ 2.0</a>”, W3C WD-xhtml2-20060726, July 2006, <<a href="http://www.w3.org/TR/xhtml2">http://www.w3.org/TR/xhtml2</a>>.</td></tr><tr><td class="reference"><b id="XSL-FO">[XSL-FO]</b></td><td class="top"><a href="mailto:alrb@us.ibm.com" title="IBM">Berglund, A.</a>, “<a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">Extensible Stylesheet Language (XSL) Version 1.1</a>”, W3C REC-xsl11-20061205, Dec 2006, <<a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">http://www.w3.org/TR/2006/REC-xsl11-20061205/</a>>.</td></tr></table><hr class="noprint"><h1 id="rfc.authors" class="np"><a href="#rfc.authors">Author's Address</a></h1><address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span><span class="n hidden"><span class="family-name">Reschke</span><span class="given-name">Julian F.</span></span></span><span class="org vcardline">greenbytes GmbH</span><span class="adr"><span class="street-address vcardline">Hafenweg 16</span><span class="vcardline"><span class="locality">Muenster</span>, <span class="region">NW</span> <span class="postal-code">48155</span></span><span class="country-name vcardline">Germany</span></span><span class="vcardline tel">Phone: <a href="tel:+492512807760"><span class="value">+49 251 2807760</span></a></span><span class="vcardline">EMail: <a href="mailto:julian.reschke@greenbytes.de"><span class="email">julian.reschke@greenbytes.de</span></a></span><span class="vcardline">URI: <a href="http://greenbytes.de/tech/webdav/" class="url">http://greenbytes.de/tech/webdav/</a></span></address><hr class="noprint"><div id="rfc.iref.g.3"></div><div id="rfc.iref.s.14"></div><div id="rfc.iref.r.22"></div><h1 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a> <a id="grammar" href="#grammar">RELAX NG Compact Schema</a></h1><p id="rfc.section.A.p.1">The RelaxNG schema (<a href="#RNC" id="rfc.xref.RNC.1"><cite title="RELAX NG Compact Syntax">[RNC]</cite></a>) below can be used to validate input documents (for instance, with <a href="http://www.thaiopensource.com/relaxng/jing.html">Jing</a>).</p><p id="rfc.section.A.p.2"> <em>Note that this is work in progress, and doesn't yet cover all extensions completely.</em> </p><div id="rfc.figure.u.21"></div> <pre class="inline"><em># WORK IN PROGRESS! PLEASE REPORT PROBLEMS TO THE AUTHOR.</em> 475 475 476 476 <em># Define our extension namespace</em> … … 499 499 <strong>| <a href="#x_bc" class="smpl">x_bc</a></strong> 500 500 <strong>| <a href="#x_bt" class="smpl">x_bt</a></strong> 501 <strong>| <a href="#x_highlight" class="smpl">x_highlight</a></strong> 501 502 <strong>| <a href="#x_length-of" class="smpl">x_length-of</a></strong> 502 503 <strong>| <a href="#x_parse-xml" class="smpl">x_parse-xml</a></strong> … … 593 594 <strong>| <a href="#x_anchor-alias" class="smpl">x_anchor-alias</a></strong> 594 595 <strong>| <a href="#x_blockquote" class="smpl">x_blockquote</a></strong> 596 <strong>| <a href="#x_include-author" class="smpl">x_include-author</a></strong> 597 <strong>| <a href="#x_note" class="smpl">x_note</a></strong> 595 598 <strong>| <a href="#rdf_Description" class="smpl">rdf_Description</a></strong>)* 596 599 } … … 630 633 } 631 634 632 <em># Extend attribute set for <iref> (see <a href="#ext-rfc2629.iref" title="Extensions to Xml2rfc <iref> element">Section 10.18</a>)</em> 635 <em># Allow x:indent-with attribute on <artwork></em> 636 attlist.artwork &= 637 attribute x:indent-with { ATEXT }? 638 639 <em># Allow anchor attribute on <author></em> 640 attlist.author &= 641 attribute anchor { xsd:ID }? 642 643 <em># Extend attribute set for <iref> (see <a href="#ext-rfc2629.iref" title="Extensions to Xml2rfc <iref> element">Section 10.21</a>)</em> 633 644 attlist.iref &= 634 645 attribute x:for-anchor { ATEXT }? 635 646 636 <em># Extend attribute set for <list> (see <a href="#ext-rfc2629.list" title="Extensions to Xml2rfc <list> element">Section 10. 19</a>)</em>647 <em># Extend attribute set for <list> (see <a href="#ext-rfc2629.list" title="Extensions to Xml2rfc <list> element">Section 10.22</a>)</em> 637 648 attlist.list &= 638 649 attribute x:indent { ATEXT }? … … 645 656 attlist.rfc &= 646 657 attribute grddl:transformation { ATEXT }?, 647 attribute x:maturity-level { "proposed" | "draft" | "internet" } 648 649 <em># Extend attribute set for <section> (see <a href="#ext-rfc2629.section" title="Extensions to Xml2rfc <section> element">Section 10.2 1</a>)</em>658 attribute x:maturity-level { "proposed" | "draft" | "internet" }? 659 660 <em># Extend attribute set for <section> (see <a href="#ext-rfc2629.section" title="Extensions to Xml2rfc <section> element">Section 10.24</a>)</em> 650 661 attlist.section &= 651 662 attribute x:fixed-section-number { ATEXT }? … … 655 666 attribute anchor { xsd:ID }? 656 667 657 <em># Extend attribute set for <xref> (see <a href="#ext-rfc2629.xref" title="Extensions to Xml2rfc <xref> element">Section 10.2 2</a>)</em>668 <em># Extend attribute set for <xref> (see <a href="#ext-rfc2629.xref" title="Extensions to Xml2rfc <xref> element">Section 10.25</a>)</em> 658 669 attlist.xref &= 659 670 attribute x:fmt { "()" | "," | "anchor" | "of" | "number" | "sec" | … … 662 673 attribute x:sec { ATEXT }? 663 674 664 <em id="x_abnf-char-sequence"><span id="rfc.iref.a.29"></span><span id="rfc.iref.e. 19"></span># Conversion to ABNF char sequence (see <a href="#ext.element.abnf-char-sequence" title="<abnf-char-sequence> element">Section 10.1</a>)</em>675 <em id="x_abnf-char-sequence"><span id="rfc.iref.a.29"></span><span id="rfc.iref.e.21"></span># Conversion to ABNF char sequence (see <a href="#ext.element.abnf-char-sequence" title="<abnf-char-sequence> element">Section 10.1</a>)</em> 665 676 <a href="#x_abnf-char-sequence" class="smpl">x_abnf-char-sequence</a> = 666 677 element x:abnf-char-sequence { … … 668 679 } 669 680 670 <em id="x_anchor-alias"><span id="rfc.iref.a.30"></span><span id="rfc.iref.e.2 0"></span># Aliasing of anchors (see <a href="#ext.element.anchor-alias" title="<anchor-alias> element">Section 10.2</a>)</em>681 <em id="x_anchor-alias"><span id="rfc.iref.a.30"></span><span id="rfc.iref.e.22"></span># Aliasing of anchors (see <a href="#ext.element.anchor-alias" title="<anchor-alias> element">Section 10.2</a>)</em> 671 682 <a href="#x_anchor-alias" class="smpl">x_anchor-alias</a> = 672 683 element x:anchor-alias { … … 675 686 } 676 687 677 <em id="x_assign-section-number"><span id="rfc.iref.a.31"></span><span id="rfc.iref.e.21"></span># Setting section numbers for internally generated sections 688 <em id="x_include-author"><span id="rfc.iref.i.10"></span><span id="rfc.iref.e.23"></span># Including Author information 689 # (experimental)</em> 690 <a href="#x_include-author" class="smpl">x_include-author</a> = 691 element x:include-author { 692 attribute target { xsd:IDREF } 693 } 694 695 <em id="x_assign-section-number"><span id="rfc.iref.a.31"></span><span id="rfc.iref.e.24"></span># Setting section numbers for internally generated sections 678 696 # (experimental)</em> 679 697 <a href="#x_assign-section-number" class="smpl">x_assign-section-number</a> = … … 684 702 } 685 703 686 <em id="x_bb"><span id="rfc.iref.b.7"></span><span id="rfc.iref.e.2 2"></span># Bottom line of box drawing (see <a href="#ext.element.bb" title="<bb> element">Section 10.4</a>)</em>704 <em id="x_bb"><span id="rfc.iref.b.7"></span><span id="rfc.iref.e.25"></span># Bottom line of box drawing (see <a href="#ext.element.bb" title="<bb> element">Section 10.4</a>)</em> 687 705 <a href="#x_bb" class="smpl">x_bb</a> = 688 706 element x:bb { … … 696 714 } 697 715 698 <em id="x_bc"><span id="rfc.iref.b.8"></span><span id="rfc.iref.e.2 3"></span># Center line of box drawing (see <a href="#ext.element.bc" title="<bc> element">Section 10.5</a>)</em>716 <em id="x_bc"><span id="rfc.iref.b.8"></span><span id="rfc.iref.e.26"></span># Center line of box drawing (see <a href="#ext.element.bc" title="<bc> element">Section 10.5</a>)</em> 699 717 <a href="#x_bc" class="smpl">x_bc</a> = 700 718 element x:bc { … … 708 726 } 709 727 710 <em id="x_bcp14"><span id="rfc.iref.b.9"></span><span id="rfc.iref.e.2 4"></span># BCP14/RFC2119 keywords (see <a href="#ext.element.bcp14" title="<bcp14> element">Section 10.3</a>)</em>728 <em id="x_bcp14"><span id="rfc.iref.b.9"></span><span id="rfc.iref.e.27"></span># BCP14/RFC2119 keywords (see <a href="#ext.element.bcp14" title="<bcp14> element">Section 10.3</a>)</em> 711 729 <a href="#x_bcp14" class="smpl">x_bcp14</a> = 712 730 element x:bcp14 { … … 724 742 } 725 743 726 <em id="x_blockquote"><span id="rfc.iref.b.10"></span><span id="rfc.iref.e.2 5"></span># Blockquote (see <a href="#ext.element.blockquote" title="<blockquote> element">Section 10.6</a>)</em>744 <em id="x_blockquote"><span id="rfc.iref.b.10"></span><span id="rfc.iref.e.28"></span># Blockquote (see <a href="#ext.element.blockquote" title="<blockquote> element">Section 10.6</a>)</em> 727 745 <a href="#x_blockquote" class="smpl">x_blockquote</a> = 728 746 element x:blockquote { … … 731 749 } 732 750 733 <em id="x_bt"><span id="rfc.iref.b.11"></span><span id="rfc.iref.e.2 6"></span># Top line of box drawing (see <a href="#ext.element.bt" title="<bt> element">Section 10.7</a>)</em>751 <em id="x_bt"><span id="rfc.iref.b.11"></span><span id="rfc.iref.e.29"></span># Top line of box drawing (see <a href="#ext.element.bt" title="<bt> element">Section 10.7</a>)</em> 734 752 <a href="#x_bt" class="smpl">x_bt</a> = 735 753 element x:bt { … … 743 761 } 744 762 745 <em id="x_dfn"><span id="rfc.iref.d.9"></span><span id="rfc.iref.e. 27"></span># Definition (see <a href="#ext.element.dfn" title="<dfn> element">Section 10.8</a>)</em>763 <em id="x_dfn"><span id="rfc.iref.d.9"></span><span id="rfc.iref.e.30"></span># Definition (see <a href="#ext.element.dfn" title="<dfn> element">Section 10.8</a>)</em> 746 764 <a href="#x_dfn" class="smpl">x_dfn</a> = 747 765 element x:dfn { … … 751 769 } 752 770 753 <em id="x_h"><span id="rfc.iref.h.1 3"></span><span id="rfc.iref.e.28"></span># Heading (see <a href="#ext.element.h" title="<h> element">Section 10.9</a>)</em>771 <em id="x_h"><span id="rfc.iref.h.14"></span><span id="rfc.iref.e.31"></span># Heading (see <a href="#ext.element.h" title="<h> element">Section 10.9</a>)</em> 754 772 <a href="#x_h" class="smpl">x_h</a> = 755 773 element x:h { … … 757 775 } 758 776 759 <em id="x_length-of"><span id="rfc.iref.l.5"></span><span id="rfc.iref.e.29"></span># Length Measurement (see <a href="#ext.element.length-of" title="<length-of> element">Section 10.10</a>)</em> 777 <em id="x_highlight"><span id="rfc.iref.h.15"></span><span id="rfc.iref.e.32"></span># Heading (see <a href="#ext.element.highlight" title="<highlight> element">Section 10.10</a>)</em> 778 <a href="#x_highlight" class="smpl">x_highlight</a> = 779 element x:highlight { 780 TEXT 781 } 782 783 <em id="x_length-of"><span id="rfc.iref.l.5"></span><span id="rfc.iref.e.33"></span># Length Measurement (see <a href="#ext.element.length-of" title="<length-of> element">Section 10.11</a>)</em> 760 784 <a href="#x_length-of" class="smpl">x_length-of</a> = 761 785 element x:length-of { … … 765 789 } 766 790 767 <em id="x_link"><span id="rfc.iref.l.6"></span><span id="rfc.iref.e.3 0"></span># Link (see <a href="#ext.element.link" title="<link> element">Section 10.11</a>)</em>791 <em id="x_link"><span id="rfc.iref.l.6"></span><span id="rfc.iref.e.34"></span># Link (see <a href="#ext.element.link" title="<link> element">Section 10.12</a>)</em> 768 792 <a href="#x_link" class="smpl">x_link</a> = 769 793 element x:link { … … 774 798 } 775 799 776 <em id="x_lt"><span id="rfc.iref.l.7"></span><span id="rfc.iref.e.3 1"></span># Extended list item (see <a href="#ext.element.lt" title="<lt> element">Section 10.12</a>)</em>800 <em id="x_lt"><span id="rfc.iref.l.7"></span><span id="rfc.iref.e.35"></span># Extended list item (see <a href="#ext.element.lt" title="<lt> element">Section 10.13</a>)</em> 777 801 <a href="#x_lt" class="smpl">x_lt</a> = 778 802 element x:lt { … … 782 806 } 783 807 784 <em id="x_parse-xml"><span id="rfc.iref.p.55"></span><span id="rfc.iref.e.32"></span># Signal XML content (see <a href="#ext.element.parse-xml" title="<parse-xml> element">Section 10.13</a>)</em> 808 <em id="x_note"><span id="rfc.iref.n.3"></span><span id="rfc.iref.e.36"></span># Note (see <a href="#ext.element.note" title="<note> element">Section 10.14</a>)</em> 809 <a href="#x_note" class="smpl">x_note</a> = 810 element x:note { 811 t+ 812 } 813 814 <em id="x_parse-xml"><span id="rfc.iref.p.55"></span><span id="rfc.iref.e.37"></span># Signal XML content (see <a href="#ext.element.parse-xml" title="<parse-xml> element">Section 10.15</a>)</em> 785 815 <a href="#x_parse-xml" class="smpl">x_parse-xml</a> = 786 816 element x:parse-xml { … … 788 818 } 789 819 790 <em id="x_q"><span id="rfc.iref.q.2"></span><span id="rfc.iref.e.3 3"></span># Inline quote (see <a href="#ext.element.q" title="<q> element">Section 10.14</a>)</em>820 <em id="x_q"><span id="rfc.iref.q.2"></span><span id="rfc.iref.e.38"></span># Inline quote (see <a href="#ext.element.q" title="<q> element">Section 10.16</a>)</em> 791 821 <a href="#x_q" class="smpl">x_q</a> = 792 822 element x:q { … … 794 824 } 795 825 796 <em id="x_ref"><span id="rfc.iref.r.23"></span><span id="rfc.iref.e.3 4"></span># Anchor reference (see <a href="#ext.element.ref" title="<ref> element">Section 10.15</a>)</em>826 <em id="x_ref"><span id="rfc.iref.r.23"></span><span id="rfc.iref.e.39"></span># Anchor reference (see <a href="#ext.element.ref" title="<ref> element">Section 10.17</a>)</em> 797 827 <a href="#x_ref" class="smpl">x_ref</a> = 798 828 element x:ref { … … 800 830 } 801 831 802 <em id="x_source"><span id="rfc.iref.s.15"></span><span id="rfc.iref.e. 35"></span># source information (see <a href="#ext.element.source" title="<source> element">Section 10.16</a>)</em>832 <em id="x_source"><span id="rfc.iref.s.15"></span><span id="rfc.iref.e.40"></span># source information (see <a href="#ext.element.source" title="<source> element">Section 10.18</a>)</em> 803 833 <a href="#x_source" class="smpl">x_source</a> = 804 834 element x:source { … … 808 838 } 809 839 810 <em id="x_sup"><span id="rfc.iref.s.16"></span><span id="rfc.iref.e. 36"></span># superscript (see <a href="#ext.element.sup" title="<sup> element">Section 10.17</a>)</em>840 <em id="x_sup"><span id="rfc.iref.s.16"></span><span id="rfc.iref.e.41"></span># superscript (see <a href="#ext.element.sup" title="<sup> element">Section 10.19</a>)</em> 811 841 <a href="#x_sup" class="smpl">x_sup</a> = 812 842 element x:sup { … … 814 844 } 815 845 816 <em id="x_span"><span id="rfc.iref.s.17"></span><span id="rfc.iref.e. 37"></span># Inline Span </em>846 <em id="x_span"><span id="rfc.iref.s.17"></span><span id="rfc.iref.e.42"></span># Inline Span </em> 817 847 <a href="#x_span" class="smpl">x_span</a> = 818 848 element x:span { … … 822 852 } 823 853 824 <em id="x_x"><span id="rfc.iref.x.27"></span><span id="rfc.iref.e. 38"></span># Nop (for alignment in source)</em>854 <em id="x_x"><span id="rfc.iref.x.27"></span><span id="rfc.iref.e.43"></span># Nop (for alignment in source)</em> 825 855 <a href="#x_x" class="smpl">x_x</a> = 826 856 element x:x { … … 828 858 } 829 859 830 <em id="rdf_Description"><span id="rfc.iref.r.24"></span><span id="rfc.iref.e. 39"></span># Nop (for alignment in source)</em>860 <em id="rdf_Description"><span id="rfc.iref.r.24"></span><span id="rfc.iref.e.44"></span># Nop (for alignment in source)</em> 831 861 <a href="#rdf_Description" class="smpl">rdf_Description</a> = 832 862 element rdf:Description { … … 836 866 rdf_content = 837 867 ( TEXT | element * { rdf_content })* 838 </pre><hr class="noprint"><h1 id="rfc.section.B" class="np"><a href="#rfc.section.B">B.</a> Implementation Notes</h1><h2 id="rfc.section.B.1"><a href="#rfc.section.B.1">B.1</a> Recognized type attributes for <artwork> element</h2><p id="rfc.section.B.1.p.1">Specific values in the <artwork> element's "type" attribute are recognized and cause a different visual style to be used:</p><div id="rfc.table.u.9"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>Media Type</th><th>Comment</th></tr></thead><tbody><tr><td>abnf</td><td>ABNF as per <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a></td></tr><tr><td>abnf2616</td><td>ABNF as per <a href="#RFC2616" id="rfc.xref.RFC2616.1"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-2.1">Section 2.1</a></td></tr><tr><td>application/relax-ng-compact-syntax</td><td>Relax NG Compact Syntax as per <a href="#RNC" id="rfc.xref.RNC.2"><cite title="RELAX NG Compact Syntax">[RNC]</cite></a></td></tr><tr><td>application/xml-dtd</td><td>XML DTD</td></tr><tr><td>message/http; msgtype="request"</td><td>HTTP message, as per <a href="#RFC2616" id="rfc.xref.RFC2616.2"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-19.1">Section 19.1</a></td></tr><tr><td>message/http; msgtype="response"</td><td>HTTP message, as per <a href="#RFC2616" id="rfc.xref.RFC2616.3"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-19.1">Section 19.1</a></td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.C" class="np"><a href="#rfc.section.C">C.</a> <a id="license" href="#license">License</a></h1><p id="rfc.section.C.p.1">Copyright (c) 2006-2008, Julian Reschke (julian.reschke@greenbytes.de)</p><p id="rfc.section.C.p.2">All rights reserved.</p><p id="rfc.section.C.p.3">Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: </p><ul><li>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</li><li>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</li><li>Neither the name of Julian Reschke nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</li></ul><p id="rfc.section.C.p.4">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p><hr class="noprint"><h1 id="rfc.section.D" class="np"><a href="#rfc.section.D">D.</a> Change Logs</h1><h2 id="rfc.section.D.1"><a href="#rfc.section.D.1">D.1</a> Package</h2><dl><dt>2006-01-01</dt><dd>Switch to BSD License.</dd><dt>2007-01-12</dt><dd>Update to xml2rfc v1.33pre2.</dd><dt>2007-03-31</dt><dd>Update to xml2rfc v1.33pre3.</dd><dt>2007-05-01</dt><dd>Add XSLT test cases.</dd><dt>2008-07-18</dt><dd>Experimental support for inlined rdf:Description elements (ignored by the formatter, extracted by rfc2629grddl).</dd></dl><h2 id="rfc.section.D.2"><a href="#rfc.section.D.2">D.2</a> amazon-asin.xslt</h2><dl><dt>2003-11-16</dt><dd>Initial release.</dd><dt>2005-04-02</dt><dd>Fix two DTD issues.</dd></dl><h2 id="rfc.section.D.3"><a href="#rfc.section.D.3">D.3</a> check-references.xslt</h2><dl><dt>2003-11-16</dt><dd>Initial release.</dd><dt>2004-05-11</dt><dd>Add document status; print references type.</dd><dt>2005-01-01</dt><dd>Add experimental check for ID status.</dd><dt>2005-04-01</dt><dd>Add fixes from Bill Fenner.</dd><dt>2005-12-03</dt><dd>Add checks against local copy of <<a href="http://www.w3.org/2002/01/tr-automation/tr.rdf">http://www.w3.org/2002/01/tr-automation/tr.rdf</a>>.</dd><dt>2006-07-22</dt><dd>Add checks for standards levels.</dd><dt>2006-08-06</dt><dd>"check-ietf-references.xslt" replaced by "check-references.xslt".</dd><dt>2007-01-04</dt><dd>Use information online at <<a href="http://tools.ietf.org/">http://tools.ietf.org/</a>> to retrieve Internet-Draft status information.</dd><dt>2007-06-16</dt><dd>Fix bug looking up ref type when inside change markup.</dd><dt>2008-06-14</dt><dd>Enhance output when draft was updated, and then published as RFC.</dd><dt>2008-07-12</dt><dd>Add XSLT2-based link target checking.</dd><dt>2008-08-10</dt><dd>Change keywords for "intended-level" to proposed/draft/internet, optionall extract intended level from /rfc/@x:maturity-level attribute.</dd></dl><h2 id="rfc.section.D.4"><a href="#rfc.section.D.4">D.4</a> gen-reference-graph.xslt</h2><dl><dt>2006-09-03</dt><dd>New.</dd><dt>2007-06-07</dt><dd>Use <a href="http://dpcarlisle.blogspot.com/2007/05/exslt-node-set-function.html">Carlisle method</a> to define exslt:node-set in msxsml (which means that the stylesheet can now be used with MSXML as well).</dd><dt>2007-10-15</dt><dd>Use W3C data from tr.rdf as well (experimental).</dd></dl><h2 id="rfc.section.D.5"><a href="#rfc.section.D.5">D.5</a> rfc2629.xslt</h2><dl><dt>2001-03-28</dt><dd>Code rearranged, generate numbered section anchors for paragraphs (t) as well. Fixes in index handling.</dd><dt>2001-04-12</dt><dd>Moved HTML output into XHTML namespace.</dd><dt>2001-10-02</dt><dd>Fixed default location for RFCs and numbering of section references. Support ?rfc editing processing instruction.</dd><dt>2001-10-07</dt><dd>Made telephone number links active.</dd><dt>2001-10-08</dt><dd>Support for vspace element.</dd><dt>2001-10-09</dt><dd>Experimental support for rfc-issue PI.</dd><dt>2001-11-11</dt><dd>Support rfc private PI. Removed bogus code reporting the WG in the header.</dd><dt>2001-11-11</dt><dd>Support rfc private PI. Removed bogus code reporting the WG in the header.</dd><dt>2001-12-17</dt><dd>Support title attribute on references element</dd><dt>2002-01-05</dt><dd>Support for list/@style="@format"</dd><dt>2002-01-09</dt><dd>Display "closed" RFC issues as deleted</dd><dt>2002-01-14</dt><dd>Experimentally and optionally parse XML encountered in artwork elements (requires MSXSL).</dd><dt>2002-01-27</dt><dd>Some cleanup. Moved RFC issues from PIs into namespaced elements.</dd><dt>2002-01-29</dt><dd>Added support for sortrefs PI. Added support for figure names.</dd><dt>2002-02-07</dt><dd>Highlight parts of artwork which are too wide (72 characters).</dd><dt>2002-02-12</dt><dd>Code rearrangement for static texts. Fixes for section numbering. TOC generation rewritten.</dd><dt>2002-02-15</dt><dd>Support for irefs in sections; support iref @primary=true</dd><dt>2002-03-03</dt><dd>Moved anchor prefix into a constant. Added sanity checks on user anchor names.</dd><dt>2002-03-23</dt><dd>Bugfix in detection of matching org names when creating the header. Fixed sorting in subitems.</dd><dt>2002-04-02</dt><dd>Fix TOC link HTML generation when no TOC is generated (created broken HTML table code).</dd><dt>2002-04-03</dt><dd>Made rendering of references more tolerant re: missing parts.</dd><dt>2002-04-08</dt><dd>Fixed reference numbering when references are split into separate sections.</dd><dt>2002-04-16</dt><dd>Fix default namespace (shouldn't be set for HTML output method).</dd><dt>2002-04-19</dt><dd>Lowercase internal CSS selectors for Mozilla compliance. Do not put TOC into ul element.</dd><dt>2002-04-21</dt><dd>Make numbered list inside numbered lists use alphanumeric numbering.</dd><dt>2002-05-05</dt><dd>Updated issue/editing support.</dd><dt>2002-05-15</dt><dd>Bugfix for section numbering after introduction of ed:replace</dd><dt>2002-06-21</dt><dd>When producing private documents, do not include document status, copyright etc.</dd><dt>2002-07-08</dt><dd>Fix xrefs to Appendices.</dd><dt>2002-07-19</dt><dd>Make artwork lightyellow for easier reading. (fielding)</dd><dt>2002-10-09</dt><dd>Translate references title to anchor name to avoid non-uri characters. (fielding)</dd><dt>2002-10-13</dt><dd>Support for tocdepth PI.</dd><dt>2002-11-03</dt><dd>Added temporariry workaround for Mozilla/Transformiix result tree fragment problem. (search for 'http://bugzilla.mozilla.org/show_bug.cgi?id=143668')</dd><dt>2002-12-25</dt><dd>xref code: attempt to uppercase "section" and "appendix" when at the start of a sentence.</dd><dt>2003-02-02</dt><dd>fixed code for vspace blankLines="0", enhanced display for list with "format" style, got rid of HTML blockquote elements, added support for "hangIndent"</dd><dt>2003-04-10</dt><dd>experimental support for appendix and spanx elements</dd><dt>2003-04-19</dt><dd>fixed counting of list numbers in "format %" styles (one counter per unique format string). Added more spanx styles.</dd><dt>2003-05-02</dt><dd>experimental texttable support</dd><dt>2003-05-02</dt><dd>Make mailto links optional (default = none) (jre: default and PI name changed) (fielding)</dd><dt>2003-05-04</dt><dd>experimental support for HTML link elements; fix default for table header alignment default</dd><dt>2003-05-06</dt><dd>support for "background" PI.</dd><dt>2003-05-11</dt><dd>change %c format to lowercase alphabetic. add support for keyword elements (generate META tag). fix various HTML conformance problems. added experimental support for role attribute. do not number paragraphs in unnumbered sections. update boilerplate texts. support for "iprnotified" PI. bugfix list numbering. strip whitespace when building tel: URIs.</dd><dt>2003-05-12</dt><dd>more conformance fixes (layout moved into CSS, move lists and figures out of para content, do not use tables for list formatting)</dd><dt>2003-05-13</dt><dd>add DC.Creator meta tag, refactoring</dd><dt>2003-05-16</dt><dd>put nbsps between "section" and section number (xref).</dd><dt>2003-05-18</dt><dd>author summary: add missing comma.</dd><dt>2003-06-06</dt><dd>fix index generation bug (transposed characters in key generation). Enhance sentence start detection (xref starting a section was using lowercase "section").</dd><dt>2003-06-22</dt><dd>exp. support for xref/@format. Add missing support for eref w/o content. exp. support for annotations in reference elements. Code cleanup reference table formatting.</dd><dt>2003-07-09</dt><dd>Another fix for DC.Creator meta tag creation based on RFC2731</dd><dt>2003-07-24</dt><dd>Fix namespace name for DC.Creator.</dd><dt>2003-08-06</dt><dd>Cleanup node-set support (only use exslt (saxon, xalan, libxslt) extension functions; remove Transformix workarounds that stopped to work in Moz 1.4)</dd><dt>2003-08-09</dt><dd>Generate HTML lang tag.</dd><dt>2003-08-10</dt><dd>Map spanx/verb to HTML "samp" element. Fix author name display in references (reverse surname/initials for last author), add "Ed.". Fix internal bookmark generation.</dd><dt>2003-08-17</dt><dd>Add DCMI dates, identifiers and abstract. Add PI to suppress DCMI generation. Do not add TOC entry to Copyright Statement when there is none. Align RFC2629 PI names and parameter names. Change style for inline URIs generated by eref. Add header and footer support. Enhance CSS paging properties. Support topblock PI. Added hooks for proper XHTML generation through separate XSLT. Enhance warning and error messages. Add support for artwork image display. Table formatting fixes (borders, thead continuation).</dd><dt>2003-08-18</dt><dd>Add workaround for MSXML4 node-set and Mozilla node-set issues (fallback just displays are warning).</dd><dt>2003-10-06</dt><dd>Add workaround for broken pre/ins handling in Mozilla (see <<a href="http://bugzilla.mozilla.org/show_bug.cgi?id=204401">http://bugzilla.mozilla.org/show_bug.cgi?id=204401</a>>). Make use of cite attribute on ed:replace. CSS cleanup.</dd><dt>2003-10-08</dt><dd>Fix minor issue detecting the same org for the header (caused by IE's non-standard whitespace handling). Fix default handling for /rfc/@category.</dd><dt>2003-11-09</dt><dd>Inherit ed:entered-by from ancestor elements. Change CSS color for inserted text to green. Generate issues-list anchor. Do not complain about missing targets when the xref element is below ed:del. Remove code that attempted to distinguish section/Section when producing links - always use uppercase. Fix date rendering for issue resolutions.</dd><dt>2003-11-29</dt><dd>Fix color values for table backgrounds for issue rendering. Change rendering of issue links to use inline-styles. Add colored issue markers to issues.</dd><dt>2003-12-13</dt><dd>Fix inheritance of ed:entered-by attribute. Display note elements inside change tracking as well.</dd><dt>2004-01-18</dt><dd>When PI compact = 'yes', make most CSS print page breaks conditional.</dd><dt>2004-02-20</dt><dd>Support for RFC3667 IPR changes (xml2rfc 1.22); see <<a href="http://lists.xml.resource.org/pipermail/xml2rfc/2004-February/001088.html">http://lists.xml.resource.org/pipermail/xml2rfc/2004-February/001088.html</a>>.</dd><dt>2004-03-11</dt><dd>Add "(if approved)" to "updates" and "obsoletes" unless the document has an RFC number.</dd><dt>2004-04-01</dt><dd>Fix RFC3667 output, see <<a href="http://lists.xml.resource.org/pipermail/xml2rfc/2004-April/001208.html">http://lists.xml.resource.org/pipermail/xml2rfc/2004-April/001208.html</a>>.</dd><dt>2004-04-04</dt><dd>Add support for section/top attribute. Move references into plain section container.</dd><dt>2004-04-06</dt><dd>Do not emit identical para anchors for deleted content.</dd><dt>2004-04-14</dt><dd>Fix references TOC generation when there are no references.</dd><dt>2004-04-24</dt><dd>Fix RFC3667 output, see <<a href="http://xml.resource.org/pipermail/xml2rfc/2004-April/001246.html">http://xml.resource.org/pipermail/xml2rfc/2004-April/001246.html</a>>.</dd><dt>2004-05-09</dt><dd>Add custom support for generating compound index documents. Add anchors for each Index letter. Add experimental cref support. Fix conditional page breaks before References section.</dd><dt>2004-05-16</dt><dd>Refactor external index generation.</dd><dt>2004-05-20</dt><dd>Rewrite anchor generation for comments.</dd><dt>2004-05-22</dt><dd>Enhance issues rendering (add links to changes).</dd><dt>2004-05-30</dt><dd>Allow single quote as delimiter in processing instructions as well. Move block-level issue pointers to floats. Disable issue pointers for print media. Add "purple numbers". Add hrefs to section headings. Add non-printing index key letter list to start of index.</dd><dt>2004-06-01</dt><dd>Use &#xb6; instead of # for PNs.</dd><dt>2004-07-18</dt><dd>Add support for list style=letters (thanks Roy F.). Make PNs optional; add new PI.</dd><dt>2004-09-05</dt><dd>Fix index links into unnumbered sections. Bring IPR boilerplate in-line with xml2rfc 1.25. Add experimental CSS3 paged media support. Various HTML fixes.</dd><dt>2004-09-21</dt><dd>Enhance checking of artwork width.</dd><dt>2004-09-26</dt><dd>Add check for unused references. Uppercase letters in list style letters when nested into another list.</dd><dt>2004-10-10</dt><dd>Fix internal change track pointers.</dd><dt>2004-11-01</dt><dd>Allow change tracking on references (as a whole). Rewrite artwork handling so that it allows change tracking inside artwork. Also allow a subset of text markup inside artwork, such as xrefs (note this requires post-processing the source to make it compliant to RFC2629bis).</dd><dt>2004-11-03</dt><dd>Enhanced placement of iref anchors.</dd><dt>2004-11-06</dt><dd>Index: display irefs that appeared (with primary=true) inside artwork elements in a monospaced font.</dd><dt>2004-11-14</dt><dd>Add special code so that changes in section titles can be change-tracked.</dd><dt>2005-01-14</dt><dd>Bugfixes for HtmlToXhtml converter.</dd><dt>2005-01-22</dt><dd>Enhance generation of HTML h* elements (for Mozilla Outliner).</dd><dt>2005-01-31</dt><dd>Put vertical space around top-level TOC entries in TOC. Switch to pt-based CSS. Re-arrange top section. Make hr elements reflect new-page settings in TXT output (compact-PI). Fix page number in footer (CSS print) and add some more experimental support for paged media (tested with Prince 4.1 alpha). Rewrite TOC and Index generation to generate HTML lists. Cleanup id generation for paragraphs. Reduce whitespace in output. Fix vspace implementation. Use right/left dqoutes and copyright sign where appropriate.</dd><dt>2005-02-04</dt><dd>Add <link> element to references section. Fix newly introduced bug in references processing.</dd><dt>2005-02-05</dt><dd>Integrate various fixes/enhancements by Roy Fielding: spelling of "Authors' Addresses", comma setting in references, position of "Authors" section, optionally place authors addresses at end (PI), trailing dots in section numbers, switch to verdana default font in CSS. Add experimental support for centered artwork.</dd><dt>2005-02-09</dt><dd>Fixes in spacing and links of references section titles. Enhance sorting in references when change tracking is in place. Re-add figure centering support. Add missing 2nd part of "Author's Adresses" fix.</dd><dt>2005-02-25</dt><dd>Align section number format with xml2rfc1.29.</dd><dt>2005-03-28</dt><dd>Get rid of table elements in Author's section. Add experimental hCard (<<a href="http://developers.technorati.com/wiki/hCard">http://developers.technorati.com/wiki/hCard</a>>) support.</dd><dt>2005-04-03</dt><dd>Add RFC3978-style IPR statement support. (fenner@research.att.com)</dd><dt>2005-04-11</dt><dd>Cleanup author display. hCard related fixes.</dd><dt>2005-05-07</dt><dd>Minor fixes to allow change tracking in doc title. Add experimental support for table border styles. CSS cleanup.</dd><dt>2005-06-18</dt><dd>Implement missing support for references to texttables.</dd><dt>2005-09-25</dt><dd>Use (-moz-)column-count when printing the index.</dd><dt>2005-10-04</dt><dd>Report missing element templates with xsl:message.</dd><dt>2005-10-15</dt><dd>Process t/@anchor.</dd><dt>2005-10-23</dt><dd>More workarounds for Mozilla's broken del/ins handling (this time for figures).</dd><dt>2005-10-27</dt><dd>lowercase hCard class names</dd><dt>2005-11-22</dt><dd>Enhance diagnostics for XML-in-artwork extension</dd><dt>2005-11-26</dt><dd>Fix formatting of section numbers for sections inserted into <back>.</dd><dt>2005-12-12</dt><dd>Fix some validity problems when change tracking occured inside lists.</dd><dt>2005-12-18</dt><dd>Add change tracking inside the index.</dd><dt>2006-02-04</dt><dd>Add prev/next links to highlighted changes (change tracking extension).</dd><dt>2006-02-10</dt><dd>Catch errors instantiating MSXML component.</dd><dt>2006-02-11</dt><dd>References: add "work in progress" for Internet Drafts.</dd><dt>2006-02-27</dt><dd>Fix front matter (lowercase Internet-Draft, say "Intended status" for non-RFC documents). Start work on experimental extension for simplified internal links.</dd><dt>2006-03-19</dt><dd>Tweaks to IESG Copyright stuff; support submissionType attribute. Fix duplicate reference anchors in HTML output. Reduce HTML Tidy warnings. Fix reference to normative ASCII version (now requires trailing ".txt"). Tweaks to hCard generation. Started to move non-issue-tracking extensions into namespace "http://purl.org/net/xml2rfc/ext".</dd><dt>2006-03-27</dt><dd>Moved "simple reference" extension into namespace "http://purl.org/net/xml2rfc/ext" and add documentation. HTML conformance enhancements.</dd><dt>2006-04-02</dt><dd>Cleanup special code for automated XHTML XSLT generation.</dd><dt>2006-04-21</dt><dd>Generate <CITE> elements where appropiate. Introduce x:blockquote, x:dfn, x:h and x:q elements.</dd><dt>2006-05-06</dt><dd>Introduce x:bcp14 element.</dd><dt>2006-05-14</dt><dd>Fix content model for x:blockquote.</dd><dt>2006-06-18</dt><dd>Add box drawing support (x:bt, x:bc, x:bb).</dd><dt>2006-06-20</dt><dd>HTML validity fixes (legal chars in anchors in index).</dd><dt>2006-06-24</dt><dd>Reduce leading empty lines in artwork. Move <dt> style info into CSS.</dd><dt>2006-07-14</dt><dd>Fix rendering of multiple street address entries (missing line break).</dd><dt>2006-07-24</dt><dd>Add extension for deep linking into RFCs, do not generate empty list items in TOC output, avoid empty <dt> elements for list items without hangText attribute.</dd><dt>2006-08-01</dt><dd>Allow @anchor on more elements; start work on Relax NG grammar for extensions. Reduce generated style elements (use CSS classes instead). Consistently use "id" instead of "name". Change default target for RFC links to "http://tools.ietf.org/html/rfcNNNN".</dd><dt>2006-08-06</dt><dd>Include appendices defined in <appendix> elements in TOC (please consider them deprecated anyhow!). Generate links to "http://tools.ietf.org/html/draft-*" for Internet Drafts. Replace x:frag by x:rel, allowing any kind of relative reference instead of just fragments.</dd><dt>2006-08-30</dt><dd>Reduce textual differences between HTML output and what xml2rfc produces in TXT output mode (section refs/reference targets). Add small workaround for Opera 9.0.1's problem with node-set().</dd><dt>2006-10-29</dt><dd>Fix problem generating internal links to change markup within references section. Enhancements when generating numbered references for deleted references. Allow inclusion of references into the index (through include-references-in-index extension). Fix a bug that caused the newer version of the IETF boilerplate to be produced rather than the pre-RFC3667 one. Update to RFC4287 boilerplate.</dd><dt>2006-11-11</dt><dd>Add extension attribute x:for-anchor to <iref> handling.</dd><dt>2006-11-26</dt><dd>Experimental (and limited) support for <x:lt>.</dd><dt>2006-12-04</dt><dd>Fix bugs in processing documents that have both the ipr and the number attribute set on the rfc root element. Add support for x:fmt='none' on xrefs. Add different pre style based on artwork type attributes (experimental).</dd><dt>2006-12-13</dt><dd>Add x:fmt='anchor' for xref elements.</dd><dt>2007-01-07</dt><dd>Fix root template for compatibility for the exslt:node-set implementation in Firefox3.</dd><dt>2007-01-29</dt><dd>Avoid empty table entry in front matter when organization is not specified for an author.</dd><dt>2007-02-10</dt><dd>Allow change tracking in table rows.</dd><dt>2007-03-09</dt><dd>Add hcard profile URI (<<a href="http://www.w3.org/2006/03/hcard">http://www.w3.org/2006/03/hcard</a>>) to head element. Add warning for misplaced <t> elements (after section).</dd><dt>2007-03-21</dt><dd>Fix internal linking from reference entries in index for some xref types. Minor CSS tweaks contributed by MTR. Allow turning on text justification through a PI. Improve iref anchor generation to generate less instable anchors.</dd><dt>2007-03-28</dt><dd>Fixes for numbering of ed:inserted references sections.</dd><dt>2007-05-04</dt><dd>Do not generate anchors for edits in deleted sections. Enhance HTML conformance.</dd><dt>2007-05-19</dt><dd>Enhance diagnostics when using Saxon (needs Saxon's "-l" command line parameter to keep line number information). Add warning when symref PI is missing (default will change in the future). Add support for overriding computed section numbers (when formatting historic documents).</dd><dt>2007-06-07</dt><dd>Change default for symrefs PI to "yes" (see change in xml2rfc 1.33pre4). Warn about docName attributes that appear to contain a file extension.</dd><dt>2007-06-26</dt><dd>Workaround author/@initials values without trailing dot, as in xml2rfc.tcl.</dd><dt>2007-07-14</dt><dd>Enhance index generation for references that use @x:sec attribute.</dd><dt>2007-09-09</dt><dd>Fix: sortrefs is a nop when symrefs=no.</dd><dt>2007-10-17</dt><dd>Work in progress: add support for referencing sections in sibling documents by anchor name.</dd><dt>2007-10-17</dt><dd>Work in progress (continued): support for referencing sections in sibling documents by anchor name.</dd><dt>2007-12-31</dt><dd>Emit warning when updating/obsoleting stuff that's not referenced.</dd><dt>2008-02-03</dt><dd>Support xml2rfc-1.33pre5's suppress-title attribute on texttable and figure.</dd><dt>2008-02-06</dt><dd>Extension: allow <eref> below <cref>.</dd><dt>2008-02-17</dt><dd>Extensions: add x:span and x:length-of.</dd><dt>2008-02-20</dt><dd>Add new RFC boilerplate (as changed in 2007-08).</dd><dt>2008-02-27</dt><dd>Improve diagnostics for artwork width problems; add defaulting of publication dates (requires XSLT processor supporting exslt:date, or msxml).</dd><dt>2008-02-29</dt><dd>Enhance CSS for link elements in the front header, update rules for generating "Acknowledgment" statement.</dd><dt>2008-03-01</dt><dd>Use line numbers in diagnostics in Saxon8/9 as well.</dd><dt>2008-03-02</dt><dd>Fix a bug in the logic choosing the boilerplate, resulting in obsolete text being inserted into IDs.</dd><dt>2008-04-01</dt><dd>Add support for superscript element.</dd><dt>2008-06-28</dt><dd>Add sanity checks for email addresses, allow multiple email elements.</dd><dt>2008-07-06</dt><dd>Add x:abnf-char-sequence.</dd>< /dl><h2 id="rfc.section.D.6"><a href="#rfc.section.D.6">D.6</a> rfc2629toFO.xslt</h2><dl><dt>2003-11-16</dt><dd>Initial release.</dd><dt>2003-11-29</dt><dd>Enhance handling of unknown list styles.</dd><dt>2004-04-04</dt><dd>Update reference section handling.</dd><dt>2004-04-17</dt><dd>Use XSL-WD-1.1-style fo:bookmark and index handling and add postprocessors for existing implementations. Unify PDF info generation by using XEP (postprocessors) will convert.</dd><dt>2004-04-20</dt><dd>Add experimental cref support.</dd><dt>2004-06-14</dt><dd>Set correct index-item defaults.</dd><dt>2004-07-18</dt><dd>Add list style=letters.</dd><dt>2004-09-03</dt><dd>Make URLs in text break where they are allowed to break by inserting zero-width spaces.</dd><dt>2004-09-26</dt><dd>Fix letter-style inside nested lists.</dd><dt>2004-10-31</dt><dd>Update handling of artwork.</dd><dt>2004-11-13</dt><dd>Fix handling of references inside ed:* markup. Fix whitespace handling in artwork.</dd><dt>2004-11-27</dt><dd>Irefs in artwork generate monospaced entries in index.</dd><dt>2005-01-31</dt><dd>Fix TOC generation that was broken after changes in main XSLT.</dd><dt>2005-02-05</dt><dd>Bring in sync with cosmetic changes in rfc2629.xslt.</dd><dt>2005-05-07</dt><dd>Minor fix for change tracking in document title. Support for table styles.</dd><dt>2005-06-18</dt><dd>Fix references to tables.</dd><dt>2005-10-15</dt><dd>Process t/@anchor.</dd><dt>2006-02-11</dt><dd>References: add "work in progress" for Internet Drafts.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd><dt>2007-03-21</dt><dd>Support optional text justification.</dd><dt>2007-05-19</dt><dd>Various improvements in spacing; also allow overriding the automatic list indentation via list/x:indent.</dd></dl><h2 id="rfc.section.D.7"><a href="#rfc.section.D.7">D.7</a> xsl11toAn.xslt</h2><dl><dt>2004-05-17</dt><dd>Initial release.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd></dl><h2 id="rfc.section.D.8"><a href="#rfc.section.D.8">D.8</a> xsl11toFop.xslt</h2><dl><dt>2004-05-17</dt><dd>Initial release.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd></dl><h2 id="rfc.section.D.9"><a href="#rfc.section.D.9">D.9</a> xsl11toFop-0.93.xslt</h2><dl><dt>2008-03-15</dt><dd>Add a workaround to the fo:inline workaround (sigh).</dd></dl><h2 id="rfc.section.D.10"><a href="#rfc.section.D.10">D.10</a> xsl11toXep.xslt</h2><dl><dt>2004-05-17</dt><dd>Initial release.</dd><dt>2004-09-04</dt><dd>Fix xep:index-item attributes.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd></dl><hr class="noprint"><h1 id="rfc.index" class="np"><a href="#rfc.index">Index</a></h1><p class="noprint"><a href="#rfc.index.A">A</a> <a href="#rfc.index.B">B</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.D">D</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.F">F</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.J">J</a> <a href="#rfc.index.K">K</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.N">N</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.Q">Q</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.T">T</a> <a href="#rfc.index.X">X</a> </p><div class="print2col"><ul class="ind"><li class="indline0"><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul class="ind"><li class="indline1">abnf-char-sequence Extension Element <a class="iref" href="#rfc.iref.a.27"><b>10.1</b></a>, <a class="iref" href="#rfc.iref.a.29">A</a></li><li class="indline1">allow-markup-in-artwork PI pseudo-attribute <a class="iref" href="#rfc.iref.a.1">3.3</a></li><li class="indline1">alternate HTML LINK element <a class="iref" href="#rfc.iref.a.22">6.2</a></li><li class="indline1">anchor-alias Extension Element <a class="iref" href="#rfc.iref.a.28"><b>10.2</b></a>, <a class="iref" href="#rfc.iref.a.30">A</a></li><li class="indline1">Anchors <ul class="ind"><li class="indline1">rfc.abstract <a class="iref" href="#rfc.iref.a.3">4</a></li><li class="indline1">rfc.authors <a class="iref" href="#rfc.iref.a.4">4</a></li><li class="indline1">rfc.copyright <a class="iref" href="#rfc.iref.a.5">4</a></li><li class="indline1">rfc.copyrightnotice <a class="iref" href="#rfc.iref.a.6">4</a></li><li class="indline1">rfc.figure.n <a class="iref" href="#rfc.iref.a.7">4</a>, <a class="iref" href="#rfc.iref.a.18">4</a></li><li class="indline1">rfc.figure.u.n <a class="iref" href="#rfc.iref.a.8">4</a>, <a class="iref" href="#rfc.iref.a.19">4</a></li><li class="indline1">rfc.index <a class="iref" href="#rfc.iref.a.9">4</a></li><li class="indline1">rfc.ipr <a class="iref" href="#rfc.iref.a.10">4</a></li><li class="indline1">rfc.iref.n <a class="iref" href="#rfc.iref.a.11">4</a></li><li class="indline1">rfc.note.n <a class="iref" href="#rfc.iref.a.12">4</a></li><li class="indline1">rfc.references <a class="iref" href="#rfc.iref.a.13">4</a>, <a class="iref" href="#rfc.iref.a.14">4</a></li><li class="indline1">rfc.section.n <a class="iref" href="#rfc.iref.a.15">4</a></li><li class="indline1">rfc.section.n.p.m <a class="iref" href="#rfc.iref.a.16">4</a></li><li class="indline1">rfc.status <a class="iref" href="#rfc.iref.a.17">4</a></li><li class="indline1">rfc.toc <a class="iref" href="#rfc.iref.a.20">4</a></li><li class="indline1">rfc.xref.name.n <a class="iref" href="#rfc.iref.a.21">4</a></li></ul></li><li class="indline1">AntennaHouse XSL Formatter <a class="iref" href="#rfc.iref.a.26">9.1</a></li><li class="indline1">Apache FOP <a class="iref" href="#rfc.iref.a.25">9.1</a></li><li class="indline1">appendix HTML LINK element <a class="iref" href="#rfc.iref.a.23">6.2</a></li><li class="indline1">assign-section-number Extension Element <a class="iref" href="#rfc.iref.a.31">A</a></li><li class="indline1">author HTML LINK element <a class="iref" href="#rfc.iref.a.24">6.2</a></li><li class="indline1">authors-section PI pseudo-attribute <a class="iref" href="#rfc.iref.a.2">3.3</a></li></ul></li><li class="indline0"><a id="rfc.index.B" href="#rfc.index.B"><b>B</b></a><ul class="ind"><li class="indline1">background PI pseudo-attribute <a class="iref" href="#rfc.iref.b.1">3.1</a></li><li class="indline1">bb Extension Element <a class="iref" href="#rfc.iref.b.3"><b>10.4</b></a>, <a class="iref" href="#rfc.iref.b.7">A</a></li><li class="indline1">bc Extension Element <a class="iref" href="#rfc.iref.b.4"><b>10.5</b></a>, <a class="iref" href="#rfc.iref.b.8">A</a></li><li class="indline1">bcp14 Extension Element <a class="iref" href="#rfc.iref.b.2"><b>10.3</b></a>, <a class="iref" href="#rfc.iref.b.9">A</a></li><li class="indline1"><em>BCP97</em> <a class="iref" href="#rfc.xref.BCP97.1">11.1</a>, <a class="iref" href="#BCP97"><b>12</b></a></li><li class="indline1">blockquote Extension Element <a class="iref" href="#rfc.iref.b.5"><b>10.6</b></a>, <a class="iref" href="#rfc.iref.b.10">A</a></li><li class="indline1">bt Extension Element <a class="iref" href="#rfc.iref.b.6"><b>10.7</b></a>, <a class="iref" href="#rfc.iref.b.11">A</a></li></ul></li><li class="indline0"><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul class="ind"><li class="indline1">chapter HTML LINK element <a class="iref" href="#rfc.iref.c.3">6.2</a></li><li class="indline1">CHM format <a class="iref" href="#rfc.iref.c.7">8</a></li><li class="indline1">comments PI pseudo-attribute <a class="iref" href="#rfc.iref.c.2">3.1</a></li><li class="indline1">compact PI pseudo-attribute <a class="iref" href="#rfc.iref.c.1">3.1</a></li><li class="indline1">contents HTML LINK element <a class="iref" href="#rfc.iref.c.4">6.2</a></li><li class="indline1">copyright HTML LINK element <a class="iref" href="#rfc.iref.c.5">6.2</a></li><li class="indline1">Creator DCMI property <a class="iref" href="#rfc.iref.c.6">6.4</a></li></ul></li><li class="indline0"><a id="rfc.index.D" href="#rfc.index.D"><b>D</b></a><ul class="ind"><li class="indline1">Date.Issued DCMI property <a class="iref" href="#rfc.iref.d.2">6.4</a></li><li class="indline1">DCMI properties <ul class="ind"><li class="indline1">Creator <a class="iref" href="#rfc.iref.d.1">6.4</a></li><li class="indline1">Date.Issued <a class="iref" href="#rfc.iref.d.3">6.4</a></li><li class="indline1">Description.Abstract <a class="iref" href="#rfc.iref.d.5">6.4</a></li><li class="indline1">Identifier <a class="iref" href="#rfc.iref.d.6">6.4</a></li><li class="indline1">Relation.Replaces <a class="iref" href="#rfc.iref.d.7">6.4</a></li></ul></li><li class="indline1">Description.Abstract DCMI property <a class="iref" href="#rfc.iref.d.4">6.4</a></li><li class="indline1">dfn Extension Element <a class="iref" href="#rfc.iref.d.8"><b>10.8</b></a>, <a class="iref" href="#rfc.iref.d.9">A</a></li></ul></li><li class="indline0"><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul class="ind"><li class="indline1">editing PI pseudo-attribute <a class="iref" href="#rfc.iref.e.1">3.1</a></li><li class="indline1">Extension Elements <ul class="ind"><li class="indline1">abnf-char-sequence <a class="iref" href="#rfc.iref.e.2"><b>10.1</b></a>, <a class="iref" href="#rfc.iref.e.19">A</a></li><li class="indline1">anchor-alias <a class="iref" href="#rfc.iref.e.3"><b>10.2</b></a>, <a class="iref" href="#rfc.iref.e.20">A</a></li><li class="indline1">assign-section-number <a class="iref" href="#rfc.iref.e.21">A</a></li><li class="indline1">bb <a class="iref" href="#rfc.iref.e.5"><b>10.4</b></a>, <a class="iref" href="#rfc.iref.e.22">A</a></li><li class="indline1">bc <a class="iref" href="#rfc.iref.e.6"><b>10.5</b></a>, <a class="iref" href="#rfc.iref.e.23">A</a></li><li class="indline1">bcp14 <a class="iref" href="#rfc.iref.e.4"><b>10.3</b></a>, <a class="iref" href="#rfc.iref.e.24">A</a></li><li class="indline1">blockquote <a class="iref" href="#rfc.iref.e.7"><b>10.6</b></a>, <a class="iref" href="#rfc.iref.e.25">A</a></li><li class="indline1">bt <a class="iref" href="#rfc.iref.e.8"><b>10.7</b></a>, <a class="iref" href="#rfc.iref.e.26">A</a></li><li class="indline1">dfn <a class="iref" href="#rfc.iref.e.9"><b>10.8</b></a>, <a class="iref" href="#rfc.iref.e.27">A</a></li><li class="indline1">h <a class="iref" href="#rfc.iref.e.10"><b>10.9</b></a>, <a class="iref" href="#rfc.iref.e.28">A</a></li><li class="indline1">length-of <a class="iref" href="#rfc.iref.e.11"><b>10.10</b></a>, <a class="iref" href="#rfc.iref.e.29">A</a></li><li class="indline1">link <a class="iref" href="#rfc.iref.e.12"><b>10.11</b></a>, <a class="iref" href="#rfc.iref.e.30">A</a></li><li class="indline1">lt <a class="iref" href="#rfc.iref.e.13"><b>10.12</b></a>, <a class="iref" href="#rfc.iref.e.31">A</a></li><li class="indline1">parse-xml <a class="iref" href="#rfc.iref.e.14"><b>10.13</b></a>, <a class="iref" href="#rfc.iref.e.32">A</a></li><li class="indline1">q <a class="iref" href="#rfc.iref.e.15"><b>10.14</b></a>, <a class="iref" href="#rfc.iref.e.33">A</a></li><li class="indline1">rdf:Description <a class="iref" href="#rfc.iref.e.39">A</a></li><li class="indline1">ref <a class="iref" href="#rfc.iref.e.16"><b>10.15</b></a>, <a class="iref" href="#rfc.iref.e.34">A</a></li><li class="indline1">source <a class="iref" href="#rfc.iref.e.17"><b>10.16</b></a>, <a class="iref" href="#rfc.iref.e.35">A</a></li><li class="indline1">span <a class="iref" href="#rfc.iref.e.37">A</a></li><li class="indline1">sup <a class="iref" href="#rfc.iref.e.18"><b>10.17</b></a>, <a class="iref" href="#rfc.iref.e.36">A</a></li><li class="indline1">x <a class="iref" href="#rfc.iref.e.38">A</a></li></ul></li></ul></li><li class="indline0"><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul class="ind"><li class="indline1">Firefox <ul class="ind"><li class="indline1">1.*/2.* <a class="iref" href="#rfc.iref.f.3">5.2</a></li><li class="indline1">3.* <a class="iref" href="#rfc.iref.f.2">5.2</a></li></ul></li><li class="indline1">footer PI pseudo-attribute <a class="iref" href="#rfc.iref.f.1">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul class="ind"><li class="indline1">generator HTML META element <a class="iref" href="#rfc.iref.g.1">6.3</a></li><li class="indline1">Grammar <a class="iref" href="#rfc.iref.g.2"><b>A</b></a></li></ul></li><li class="indline0"><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul class="ind"><li class="indline1">h Extension Element <a class="iref" href="#rfc.iref.h.12"><b>10.9</b></a>, <a class="iref" href="#rfc.iref.h.13">A</a></li><li class="indline1">header PI pseudo-attribute <a class="iref" href="#rfc.iref.h.1">3.1</a></li><li class="indline1"><em>HTML</em> <a class="iref" href="#rfc.xref.HTML.1">6.1</a>, <a class="iref" href="#rfc.xref.HTML.2">10.6</a>, <a class="iref" href="#rfc.xref.HTML.3">10.8</a>, <a class="iref" href="#rfc.xref.HTML.4">10.14</a>, <a class="iref" href="#rfc.xref.HTML.5">10.17</a>, <a class="iref" href="#HTML"><b>12</b></a></li><li class="indline1">HTML compliance <a class="iref" href="#rfc.iref.h.2">6.1</a></li><li class="indline1">HTML LINK elements <ul class="ind"><li class="indline1">alternate <a class="iref" href="#rfc.iref.h.3">6.2</a></li><li class="indline1">appendix <a class="iref" href="#rfc.iref.h.4">6.2</a></li><li class="indline1">author <a class="iref" href="#rfc.iref.h.5">6.2</a></li><li class="indline1">chapter <a class="iref" href="#rfc.iref.h.6">6.2</a></li><li class="indline1">contents <a class="iref" href="#rfc.iref.h.7">6.2</a></li><li class="indline1">copyright <a class="iref" href="#rfc.iref.h.8">6.2</a></li><li class="indline1">index <a class="iref" href="#rfc.iref.h.9">6.2</a></li></ul></li><li class="indline1">HTML META elements <ul class="ind"><li class="indline1">generator <a class="iref" href="#rfc.iref.h.10">6.3</a></li><li class="indline1">keywords <a class="iref" href="#rfc.iref.h.11">6.3</a></li></ul></li></ul></li><li class="indline0"><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul class="ind"><li class="indline1">Identifier DCMI property <a class="iref" href="#rfc.iref.i.9">6.4</a></li><li class="indline1">include PI pseudo-attribute <a class="iref" href="#rfc.iref.i.3">3.2</a></li><li class="indline1">include-references-in-index PI pseudo-attribute <a class="iref" href="#rfc.iref.i.4">3.3</a></li><li class="indline1">index HTML LINK element <a class="iref" href="#rfc.iref.i.8">6.2</a></li><li class="indline1">inline PI pseudo-attribute <a class="iref" href="#rfc.iref.i.1">3.1</a></li><li class="indline1">Internet Explorer 5.5 <a class="iref" href="#rfc.iref.i.5">5.2</a></li><li class="indline1">Internet Explorer 6 <a class="iref" href="#rfc.iref.i.6">5.2</a></li><li class="indline1">Internet Explorer 7 <a class="iref" href="#rfc.iref.i.7">5.2</a></li><li class="indline1">iprnotified PI pseudo-attribute <a class="iref" href="#rfc.iref.i.2">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.J" href="#rfc.index.J"><b>J</b></a><ul class="ind"><li class="indline1">justification PI pseudo-attribute <a class="iref" href="#rfc.iref.j.1">3.3</a></li></ul></li><li class="indline0"><a id="rfc.index.K" href="#rfc.index.K"><b>K</b></a><ul class="ind"><li class="indline1">keywords HTML META element <a class="iref" href="#rfc.iref.k.1">6.3</a></li></ul></li><li class="indline0"><a id="rfc.index.L" href="#rfc.index.L"><b>L</b></a><ul class="ind"><li class="indline1">length-of Extension Element <a class="iref" href="#rfc.iref.l.2"><b>10.10</b></a>, <a class="iref" href="#rfc.iref.l.5">A</a></li><li class="indline1">link Extension Element <a class="iref" href="#rfc.iref.l.3"><b>10.11</b></a>, <a class="iref" href="#rfc.iref.l.6">A</a></li><li class="indline1">linkmailto PI pseudo-attribute <a class="iref" href="#rfc.iref.l.1">3.1</a></li><li class="indline1">lt Extension Element <a class="iref" href="#rfc.iref.l.4"><b>10.12</b></a>, <a class="iref" href="#rfc.iref.l.7">A</a></li></ul></li><li class="indline0"><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul class="ind"><li class="indline1">Microsoft Help <a class="iref" href="#rfc.iref.m.5">8</a></li><li class="indline1">Mozilla <a class="iref" href="#rfc.iref.m.3">5.2</a>, <a class="iref" href="#rfc.iref.m.4">5.2</a></li><li class="indline1">MSXML3 <a class="iref" href="#rfc.iref.m.1">5.1</a></li><li class="indline1">MSXML4 <a class="iref" href="#rfc.iref.m.2">5.1</a></li></ul></li><li class="indline0"><a id="rfc.index.N" href="#rfc.index.N"><b>N</b></a><ul class="ind"><li class="indline1">needLines PI pseudo-attribute <a class="iref" href="#rfc.iref.n.1">3.2</a></li></ul></li><li class="indline0"><a id="rfc.index.O" href="#rfc.index.O"><b>O</b></a><ul class="ind"><li class="indline1">Opera <a class="iref" href="#rfc.iref.o.1">5.2</a></li></ul></li><li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"><li class="indline1">Parameters <ul class="ind"><li class="indline1">xml2rfc-background <a class="iref" href="#rfc.iref.p.2">3.1</a></li><li class="indline1">xml2rfc-comments <a class="iref" href="#rfc.iref.p.6">3.1</a></li><li class="indline1">xml2rfc-compact <a class="iref" href="#rfc.iref.p.4">3.1</a></li><li class="indline1">xml2rfc-editing <a class="iref" href="#rfc.iref.p.8">3.1</a></li><li class="indline1">xml2rfc-ext-allow-markup-in-artwork <a class="iref" href="#rfc.iref.p.40">3.3</a></li><li class="indline1">xml2rfc-ext-authors-section <a class="iref" href="#rfc.iref.p.42">3.3</a></li><li class="indline1">xml2rfc-ext-include-references-in-index <a class="iref" href="#rfc.iref.p.44">3.3</a></li><li class="indline1">xml2rfc-ext-justification <a class="iref" href="#rfc.iref.p.46">3.3</a></li><li class="indline1">xml2rfc-ext-parse-xml-in-artwork <a class="iref" href="#rfc.iref.p.49">3.3</a></li><li class="indline1">xml2rfc-ext-sec-no-trailing-dots <a class="iref" href="#rfc.iref.p.53">3.3</a></li><li class="indline1">xml2rfc-ext-support-rfc2731 <a class="iref" href="#rfc.iref.p.51">3.3</a></li><li class="indline1">xml2rfc-footer <a class="iref" href="#rfc.iref.p.10">3.1</a></li><li class="indline1">xml2rfc-header <a class="iref" href="#rfc.iref.p.12">3.1</a></li><li class="indline1">xml2rfc-inline <a class="iref" href="#rfc.iref.p.14">3.1</a></li><li class="indline1">xml2rfc-iprnotified <a class="iref" href="#rfc.iref.p.16">3.1</a></li><li class="indline1">xml2rfc-linkmailto <a class="iref" href="#rfc.iref.p.18">3.1</a></li><li class="indline1">xml2rfc-private <a class="iref" href="#rfc.iref.p.21">3.1</a></li><li class="indline1">xml2rfc-sortrefs <a class="iref" href="#rfc.iref.p.23">3.1</a></li><li class="indline1">xml2rfc-symrefs <a class="iref" href="#rfc.iref.p.25">3.1</a></li><li class="indline1">xml2rfc-toc <a class="iref" href="#rfc.iref.p.27">3.1</a></li><li class="indline1">xml2rfc-tocdepth <a class="iref" href="#rfc.iref.p.29">3.1</a></li><li class="indline1">xml2rfc-topblock <a class="iref" href="#rfc.iref.p.31">3.1</a></li></ul></li><li class="indline1">parse-xml Extension Element <a class="iref" href="#rfc.iref.p.54"><b>10.13</b></a>, <a class="iref" href="#rfc.iref.p.55">A</a></li><li class="indline1">parse-xml-in-artwork PI pseudo-attribute <a class="iref" href="#rfc.iref.p.47">3.3</a></li><li class="indline1">private PI pseudo-attribute <a class="iref" href="#rfc.iref.p.19">3.1</a></li><li class="indline1">Processing Instruction pseudo attributes <ul class="ind"><li class="indline1">allow-markup-in-artwork <a class="iref" href="#rfc.iref.p.39">3.3</a></li><li class="indline1">authors-section <a class="iref" href="#rfc.iref.p.41">3.3</a></li><li class="indline1">background <a class="iref" href="#rfc.iref.p.1">3.1</a></li><li class="indline1">comments <a class="iref" href="#rfc.iref.p.5">3.1</a></li><li class="indline1">compact <a class="iref" href="#rfc.iref.p.3">3.1</a></li><li class="indline1">editing <a class="iref" href="#rfc.iref.p.7">3.1</a></li><li class="indline1">footer <a class="iref" href="#rfc.iref.p.9">3.1</a></li><li class="indline1">header <a class="iref" href="#rfc.iref.p.11">3.1</a></li><li class="indline1">ijustification <a class="iref" href="#rfc.iref.p.45">3.3</a></li><li class="indline1">include <a class="iref" href="#rfc.iref.p.32">3.2</a></li><li class="indline1">include-references-in-index <a class="iref" href="#rfc.iref.p.43">3.3</a></li><li class="indline1">inline <a class="iref" href="#rfc.iref.p.13">3.1</a></li><li class="indline1">iprnotified <a class="iref" href="#rfc.iref.p.15">3.1</a></li><li class="indline1">linkmailto <a class="iref" href="#rfc.iref.p.17">3.1</a></li><li class="indline1">needLines <a class="iref" href="#rfc.iref.p.33">3.2</a></li><li class="indline1">parse-xml-in-artwork <a class="iref" href="#rfc.iref.p.48">3.3</a></li><li class="indline1">private <a class="iref" href="#rfc.iref.p.20">3.1</a></li><li class="indline1">sec-no-trailing-dots <a class="iref" href="#rfc.iref.p.52">3.3</a></li><li class="indline1">slides <a class="iref" href="#rfc.iref.p.34">3.2</a></li><li class="indline1">sortrefs <a class="iref" href="#rfc.iref.p.22">3.1</a></li><li class="indline1">strict <a class="iref" href="#rfc.iref.p.35">3.2</a></li><li class="indline1">subcompact <a class="iref" href="#rfc.iref.p.36">3.2</a></li><li class="indline1">support-rfc2731 <a class="iref" href="#rfc.iref.p.50">3.3</a></li><li class="indline1">symrefs <a class="iref" href="#rfc.iref.p.24">3.1</a></li><li class="indline1">toc <a class="iref" href="#rfc.iref.p.26">3.1</a></li><li class="indline1">tocdepth <a class="iref" href="#rfc.iref.p.28">3.1</a></li><li class="indline1">tocindent <a class="iref" href="#rfc.iref.p.37">3.2</a></li><li class="indline1">tocompact <a class="iref" href="#rfc.iref.p.38">3.2</a></li><li class="indline1">topblock <a class="iref" href="#rfc.iref.p.30">3.1</a></li></ul></li></ul></li><li class="indline0"><a id="rfc.index.Q" href="#rfc.index.Q"><b>Q</b></a><ul class="ind"><li class="indline1">q Extension Element <a class="iref" href="#rfc.iref.q.1"><b>10.14</b></a>, <a class="iref" href="#rfc.iref.q.2">A</a></li></ul></li><li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind"><li class="indline1">rdf:Description Extension Element <a class="iref" href="#rfc.iref.r.24">A</a></li><li class="indline1">ref Extension Element <a class="iref" href="#rfc.iref.r.21"><b>10.15</b></a>, <a class="iref" href="#rfc.iref.r.23">A</a></li><li class="indline1">Relation.Replaces DCMI property <a class="iref" href="#rfc.iref.r.20">6.4</a></li><li class="indline1">RELAX NG Compact Schema <a class="iref" href="#rfc.iref.r.22"><b>A</b></a></li><li class="indline1">rfc.abstract anchor <a class="iref" href="#rfc.iref.r.1">4</a></li><li class="indline1">rfc.authors anchor <a class="iref" href="#rfc.iref.r.2">4</a></li><li class="indline1">rfc.copyright anchor <a class="iref" href="#rfc.iref.r.3">4</a></li><li class="indline1">rfc.copyrightnotice anchor <a class="iref" href="#rfc.iref.r.4">4</a></li><li class="indline1">rfc.figure.n anchor <a class="iref" href="#rfc.iref.r.5">4</a>, <a class="iref" href="#rfc.iref.r.16">4</a></li><li class="indline1">rfc.figure.u.n anchor <a class="iref" href="#rfc.iref.r.6">4</a>, <a class="iref" href="#rfc.iref.r.17">4</a></li><li class="indline1">rfc.index anchor <a class="iref" href="#rfc.iref.r.7">4</a></li><li class="indline1">rfc.ipr anchor <a class="iref" href="#rfc.iref.r.8">4</a></li><li class="indline1">rfc.iref.n anchor <a class="iref" href="#rfc.iref.r.9">4</a></li><li class="indline1">rfc.note.n anchor <a class="iref" href="#rfc.iref.r.10">4</a></li><li class="indline1">rfc.references anchor <a class="iref" href="#rfc.iref.r.11">4</a></li><li class="indline1">rfc.references.n anchor <a class="iref" href="#rfc.iref.r.12">4</a></li><li class="indline1">rfc.section.n anchor <a class="iref" href="#rfc.iref.r.13">4</a></li><li class="indline1">rfc.section.n.p.m anchor <a class="iref" href="#rfc.iref.r.14">4</a></li><li class="indline1">rfc.status anchor <a class="iref" href="#rfc.iref.r.15">4</a></li><li class="indline1">rfc.toc anchor <a class="iref" href="#rfc.iref.r.18">4</a></li><li class="indline1">rfc.xref.name.n anchor <a class="iref" href="#rfc.iref.r.19">4</a></li><li class="indline1"><em>RFC2026</em> <a class="iref" href="#rfc.xref.RFC2026.1">10.20</a>, <a class="iref" href="#RFC2026"><b>12</b></a><ul class="ind"><li class="indline1"><em>Section 4.1</em> <a class="iref" href="#rfc.xref.RFC2026.1">10.20</a></li></ul></li><li class="indline1"><em>RFC2119</em> <a class="iref" href="#rfc.xref.RFC2119.1">10.3</a>, <a class="iref" href="#rfc.xref.RFC2119.2">10.22</a>, <a class="iref" href="#RFC2119"><b>12</b></a><ul class="ind"><li class="indline1"><em>Section 5</em> <a class="iref" href="#rfc.xref.RFC2119.2">10.22</a></li></ul></li><li class="indline1"><em>RFC2616</em> <a class="iref" href="#RFC2616"><b>12</b></a>, <a class="iref" href="#rfc.xref.RFC2616.1">B.1</a>, <a class="iref" href="#rfc.xref.RFC2616.2">B.1</a>, <a class="iref" href="#rfc.xref.RFC2616.3">B.1</a><ul class="ind"><li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.RFC2616.1">B.1</a></li><li class="indline1"><em>Section 19.1</em> <a class="iref" href="#rfc.xref.RFC2616.2">B.1</a>, <a class="iref" href="#rfc.xref.RFC2616.3">B.1</a></li></ul></li><li class="indline1"><em>RFC2629</em> <a class="iref" href="#rfc.xref.RFC2629.1">1</a>, <a class="iref" href="#RFC2629"><b>12</b></a></li><li class="indline1"><em>RFC2648</em> <a class="iref" href="#rfc.xref.RFC2648.1">6.4</a>, <a class="iref" href="#RFC2648"><b>12</b></a></li><li class="indline1"><em>RFC2731</em> <a class="iref" href="#rfc.xref.RFC2731.1">6.4</a>, <a class="iref" href="#RFC2731"><b>12</b></a></li><li class="indline1"><em>RFC5234</em> <a class="iref" href="#RFC5234"><b>12</b></a>, <a class="iref" href="#rfc.xref.RFC5234.1">B.1</a></li><li class="indline1"><em>RNC</em> <a class="iref" href="#RNC"><b>12</b></a>, <a class="iref" href="#rfc.xref.RNC.1">A</a>, <a class="iref" href="#rfc.xref.RNC.2">B.1</a></li></ul></li><li class="indline0"><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul class="ind"><li class="indline1">Safari <a class="iref" href="#rfc.iref.s.9">5.2</a>, <a class="iref" href="#rfc.iref.s.11">5.2</a><ul class="ind"><li class="indline1">3.* <a class="iref" href="#rfc.iref.s.10">5.2</a></li></ul></li><li class="indline1">Saxon <a class="iref" href="#rfc.iref.s.8">5.1</a></li><li class="indline1">Schema <a class="iref" href="#rfc.iref.s.14"><b>A</b></a></li><li class="indline1">sec-no-trailing-dots PI pseudo-attribute <a class="iref" href="#rfc.iref.s.7">3.3</a></li><li class="indline1">slides PI pseudo-attribute <a class="iref" href="#rfc.iref.s.3">3.2</a></li><li class="indline1">sortrefs PI pseudo-attribute <a class="iref" href="#rfc.iref.s.1">3.1</a></li><li class="indline1">source Extension Element <a class="iref" href="#rfc.iref.s.12"><b>10.16</b></a>, <a class="iref" href="#rfc.iref.s.15">A</a></li><li class="indline1">span Extension Element <a class="iref" href="#rfc.iref.s.17">A</a></li><li class="indline1">strict PI pseudo-attribute <a class="iref" href="#rfc.iref.s.4">3.2</a></li><li class="indline1">subcompact PI pseudo-attribute <a class="iref" href="#rfc.iref.s.5">3.2</a></li><li class="indline1">sup Extension Element <a class="iref" href="#rfc.iref.s.13"><b>10.17</b></a>, <a class="iref" href="#rfc.iref.s.16">A</a></li><li class="indline1">support-rfc2731 PI pseudo-attribute <a class="iref" href="#rfc.iref.s.6">3.3</a></li><li class="indline1">symrefs PI pseudo-attribute <a class="iref" href="#rfc.iref.s.2">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.T" href="#rfc.index.T"><b>T</b></a><ul class="ind"><li class="indline1">toc PI pseudo-attribute <a class="iref" href="#rfc.iref.t.1">3.1</a></li><li class="indline1">tocdepth PI pseudo-attribute <a class="iref" href="#rfc.iref.t.2">3.1</a></li><li class="indline1">tocindent PI pseudo-attribute <a class="iref" href="#rfc.iref.t.4">3.2</a></li><li class="indline1">tocompact PI pseudo-attribute <a class="iref" href="#rfc.iref.t.5">3.2</a></li><li class="indline1">topblock PI pseudo-attribute <a class="iref" href="#rfc.iref.t.3">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.X" href="#rfc.index.X"><b>X</b></a><ul class="ind"><li class="indline1">x Extension Element <a class="iref" href="#rfc.iref.x.27">A</a></li><li class="indline1">Xalan <a class="iref" href="#rfc.iref.x.24">5.1</a></li><li class="indline1"><em>XHTML2</em> <a class="iref" href="#rfc.xref.XHTML2.1">10.9</a>, <a class="iref" href="#XHTML2"><b>12</b></a></li><li class="indline1">xml-stylesheet PI <a class="iref" href="#rfc.iref.x.26">6</a></li><li class="indline1">xml2rfc-background parameter <a class="iref" href="#rfc.iref.x.2">3.1</a></li><li class="indline1">xml2rfc-comments parameter <a class="iref" href="#rfc.iref.x.4">3.1</a></li><li class="indline1">xml2rfc-editing parameter <a class="iref" href="#rfc.iref.x.3">3.1</a>, <a class="iref" href="#rfc.iref.x.5">3.1</a></li><li class="indline1">xml2rfc-ext-allow-markup-in-artwork parameter <a class="iref" href="#rfc.iref.x.17">3.3</a></li><li class="indline1">xml2rfc-ext-authors-section parameter <a class="iref" href="#rfc.iref.x.18">3.3</a></li><li class="indline1">xml2rfc-ext-include-references-in-index parameter <a class="iref" href="#rfc.iref.x.19">3.3</a></li><li class="indline1">xml2rfc-ext-justification parameter <a class="iref" href="#rfc.iref.x.20">3.3</a></li><li class="indline1">xml2rfc-ext-parse-xml-in-artwork parameter <a class="iref" href="#rfc.iref.x.21">3.3</a></li><li class="indline1">xml2rfc-ext-sec-no-trailing-dots parameter <a class="iref" href="#rfc.iref.x.23">3.3</a></li><li class="indline1">xml2rfc-ext-support-rfc2731 parameter <a class="iref" href="#rfc.iref.x.22">3.3</a></li><li class="indline1">xml2rfc-footer parameter <a class="iref" href="#rfc.iref.x.6">3.1</a></li><li class="indline1">xml2rfc-header parameter <a class="iref" href="#rfc.iref.x.7">3.1</a></li><li class="indline1">xml2rfc-inline parameter <a class="iref" href="#rfc.iref.x.8">3.1</a></li><li class="indline1">xml2rfc-iprnotified parameter <a class="iref" href="#rfc.iref.x.9">3.1</a></li><li class="indline1">xml2rfc-linkmailto parameter <a class="iref" href="#rfc.iref.x.10">3.1</a></li><li class="indline1">xml2rfc-private parameter <a class="iref" href="#rfc.iref.x.11">3.1</a></li><li class="indline1">xml2rfc-sortrefs parameter <a class="iref" href="#rfc.iref.x.12">3.1</a></li><li class="indline1">xml2rfc-symrefs parameter <a class="iref" href="#rfc.iref.x.13">3.1</a></li><li class="indline1">xml2rfc-toc parameter <a class="iref" href="#rfc.iref.x.14">3.1</a></li><li class="indline1">xml2rfc-tocdepth parameter <a class="iref" href="#rfc.iref.x.15">3.1</a></li><li class="indline1">xml2rfc-topblock parameter <a class="iref" href="#rfc.iref.x.16">3.1</a></li><li class="indline1"><em>XSL-FO</em> <a class="iref" href="#rfc.xref.XSL-FO.1">9.1</a>, <a class="iref" href="#rfc.xref.XSL-FO.2">9.1</a>, <a class="iref" href="#XSL-FO"><b>12</b></a></li><li class="indline1">xsltproc <a class="iref" href="#rfc.iref.x.25">5.1</a><ul class="ind"><li class="indline1">passing parameters <a class="iref" href="#rfc.iref.x.1">3</a></li></ul></li></ul></li></ul></div></body></html>868 </pre><hr class="noprint"><h1 id="rfc.section.B" class="np"><a href="#rfc.section.B">B.</a> Implementation Notes</h1><h2 id="rfc.section.B.1"><a href="#rfc.section.B.1">B.1</a> Recognized type attributes for <artwork> element</h2><p id="rfc.section.B.1.p.1">Specific values in the <artwork> element's "type" attribute are recognized and cause a different visual style to be used:</p><div id="rfc.table.u.9"><table summary="" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th>Media Type</th><th>Comment</th></tr></thead><tbody><tr><td>abnf</td><td>ABNF as per <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a></td></tr><tr><td>abnf2616</td><td>ABNF as per <a href="#RFC2616" id="rfc.xref.RFC2616.1"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-2.1">Section 2.1</a></td></tr><tr><td>application/relax-ng-compact-syntax</td><td>Relax NG Compact Syntax as per <a href="#RNC" id="rfc.xref.RNC.2"><cite title="RELAX NG Compact Syntax">[RNC]</cite></a></td></tr><tr><td>application/xml-dtd</td><td>XML DTD</td></tr><tr><td>message/http; msgtype="request"</td><td>HTTP message, as per <a href="#RFC2616" id="rfc.xref.RFC2616.2"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-19.1">Section 19.1</a></td></tr><tr><td>message/http; msgtype="response"</td><td>HTTP message, as per <a href="#RFC2616" id="rfc.xref.RFC2616.3"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a>, <a href="http://tools.ietf.org/html/rfc2616#section-19.1">Section 19.1</a></td></tr></tbody></table></div><hr class="noprint"><h1 id="rfc.section.C" class="np"><a href="#rfc.section.C">C.</a> <a id="license" href="#license">License</a></h1><p id="rfc.section.C.p.1">Copyright (c) 2006-2008, Julian Reschke (julian.reschke@greenbytes.de)</p><p id="rfc.section.C.p.2">All rights reserved.</p><p id="rfc.section.C.p.3">Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: </p><ul><li>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</li><li>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</li><li>Neither the name of Julian Reschke nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</li></ul><p id="rfc.section.C.p.4">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p><hr class="noprint"><h1 id="rfc.section.D" class="np"><a href="#rfc.section.D">D.</a> Change Logs</h1><h2 id="rfc.section.D.1"><a href="#rfc.section.D.1">D.1</a> Package</h2><dl><dt>2006-01-01</dt><dd>Switch to BSD License.</dd><dt>2007-01-12</dt><dd>Update to xml2rfc v1.33pre2.</dd><dt>2007-03-31</dt><dd>Update to xml2rfc v1.33pre3.</dd><dt>2007-05-01</dt><dd>Add XSLT test cases.</dd><dt>2008-07-18</dt><dd>Experimental support for inlined rdf:Description elements (ignored by the formatter, extracted by rfc2629grddl).</dd></dl><h2 id="rfc.section.D.2"><a href="#rfc.section.D.2">D.2</a> amazon-asin.xslt</h2><dl><dt>2003-11-16</dt><dd>Initial release.</dd><dt>2005-04-02</dt><dd>Fix two DTD issues.</dd></dl><h2 id="rfc.section.D.3"><a href="#rfc.section.D.3">D.3</a> check-references.xslt</h2><dl><dt>2003-11-16</dt><dd>Initial release.</dd><dt>2004-05-11</dt><dd>Add document status; print references type.</dd><dt>2005-01-01</dt><dd>Add experimental check for ID status.</dd><dt>2005-04-01</dt><dd>Add fixes from Bill Fenner.</dd><dt>2005-12-03</dt><dd>Add checks against local copy of <<a href="http://www.w3.org/2002/01/tr-automation/tr.rdf">http://www.w3.org/2002/01/tr-automation/tr.rdf</a>>.</dd><dt>2006-07-22</dt><dd>Add checks for standards levels.</dd><dt>2006-08-06</dt><dd>"check-ietf-references.xslt" replaced by "check-references.xslt".</dd><dt>2007-01-04</dt><dd>Use information online at <<a href="http://tools.ietf.org/">http://tools.ietf.org/</a>> to retrieve Internet-Draft status information.</dd><dt>2007-06-16</dt><dd>Fix bug looking up ref type when inside change markup.</dd><dt>2008-06-14</dt><dd>Enhance output when draft was updated, and then published as RFC.</dd><dt>2008-07-12</dt><dd>Add XSLT2-based link target checking.</dd><dt>2008-08-10</dt><dd>Change keywords for "intended-level" to proposed/draft/internet, optionall extract intended level from /rfc/@x:maturity-level attribute.</dd></dl><h2 id="rfc.section.D.4"><a href="#rfc.section.D.4">D.4</a> gen-reference-graph.xslt</h2><dl><dt>2006-09-03</dt><dd>New.</dd><dt>2007-06-07</dt><dd>Use <a href="http://dpcarlisle.blogspot.com/2007/05/exslt-node-set-function.html">Carlisle method</a> to define exslt:node-set in msxsml (which means that the stylesheet can now be used with MSXML as well).</dd><dt>2007-10-15</dt><dd>Use W3C data from tr.rdf as well (experimental).</dd></dl><h2 id="rfc.section.D.5"><a href="#rfc.section.D.5">D.5</a> rfc2629.xslt</h2><dl><dt>2001-03-28</dt><dd>Code rearranged, generate numbered section anchors for paragraphs (t) as well. Fixes in index handling.</dd><dt>2001-04-12</dt><dd>Moved HTML output into XHTML namespace.</dd><dt>2001-10-02</dt><dd>Fixed default location for RFCs and numbering of section references. Support ?rfc editing processing instruction.</dd><dt>2001-10-07</dt><dd>Made telephone number links active.</dd><dt>2001-10-08</dt><dd>Support for vspace element.</dd><dt>2001-10-09</dt><dd>Experimental support for rfc-issue PI.</dd><dt>2001-11-11</dt><dd>Support rfc private PI. Removed bogus code reporting the WG in the header.</dd><dt>2001-11-11</dt><dd>Support rfc private PI. Removed bogus code reporting the WG in the header.</dd><dt>2001-12-17</dt><dd>Support title attribute on references element</dd><dt>2002-01-05</dt><dd>Support for list/@style="@format"</dd><dt>2002-01-09</dt><dd>Display "closed" RFC issues as deleted</dd><dt>2002-01-14</dt><dd>Experimentally and optionally parse XML encountered in artwork elements (requires MSXSL).</dd><dt>2002-01-27</dt><dd>Some cleanup. Moved RFC issues from PIs into namespaced elements.</dd><dt>2002-01-29</dt><dd>Added support for sortrefs PI. Added support for figure names.</dd><dt>2002-02-07</dt><dd>Highlight parts of artwork which are too wide (72 characters).</dd><dt>2002-02-12</dt><dd>Code rearrangement for static texts. Fixes for section numbering. TOC generation rewritten.</dd><dt>2002-02-15</dt><dd>Support for irefs in sections; support iref @primary=true</dd><dt>2002-03-03</dt><dd>Moved anchor prefix into a constant. Added sanity checks on user anchor names.</dd><dt>2002-03-23</dt><dd>Bugfix in detection of matching org names when creating the header. Fixed sorting in subitems.</dd><dt>2002-04-02</dt><dd>Fix TOC link HTML generation when no TOC is generated (created broken HTML table code).</dd><dt>2002-04-03</dt><dd>Made rendering of references more tolerant re: missing parts.</dd><dt>2002-04-08</dt><dd>Fixed reference numbering when references are split into separate sections.</dd><dt>2002-04-16</dt><dd>Fix default namespace (shouldn't be set for HTML output method).</dd><dt>2002-04-19</dt><dd>Lowercase internal CSS selectors for Mozilla compliance. Do not put TOC into ul element.</dd><dt>2002-04-21</dt><dd>Make numbered list inside numbered lists use alphanumeric numbering.</dd><dt>2002-05-05</dt><dd>Updated issue/editing support.</dd><dt>2002-05-15</dt><dd>Bugfix for section numbering after introduction of ed:replace</dd><dt>2002-06-21</dt><dd>When producing private documents, do not include document status, copyright etc.</dd><dt>2002-07-08</dt><dd>Fix xrefs to Appendices.</dd><dt>2002-07-19</dt><dd>Make artwork lightyellow for easier reading. (fielding)</dd><dt>2002-10-09</dt><dd>Translate references title to anchor name to avoid non-uri characters. (fielding)</dd><dt>2002-10-13</dt><dd>Support for tocdepth PI.</dd><dt>2002-11-03</dt><dd>Added temporariry workaround for Mozilla/Transformiix result tree fragment problem. (search for 'http://bugzilla.mozilla.org/show_bug.cgi?id=143668')</dd><dt>2002-12-25</dt><dd>xref code: attempt to uppercase "section" and "appendix" when at the start of a sentence.</dd><dt>2003-02-02</dt><dd>fixed code for vspace blankLines="0", enhanced display for list with "format" style, got rid of HTML blockquote elements, added support for "hangIndent"</dd><dt>2003-04-10</dt><dd>experimental support for appendix and spanx elements</dd><dt>2003-04-19</dt><dd>fixed counting of list numbers in "format %" styles (one counter per unique format string). Added more spanx styles.</dd><dt>2003-05-02</dt><dd>experimental texttable support</dd><dt>2003-05-02</dt><dd>Make mailto links optional (default = none) (jre: default and PI name changed) (fielding)</dd><dt>2003-05-04</dt><dd>experimental support for HTML link elements; fix default for table header alignment default</dd><dt>2003-05-06</dt><dd>support for "background" PI.</dd><dt>2003-05-11</dt><dd>change %c format to lowercase alphabetic. add support for keyword elements (generate META tag). fix various HTML conformance problems. added experimental support for role attribute. do not number paragraphs in unnumbered sections. update boilerplate texts. support for "iprnotified" PI. bugfix list numbering. strip whitespace when building tel: URIs.</dd><dt>2003-05-12</dt><dd>more conformance fixes (layout moved into CSS, move lists and figures out of para content, do not use tables for list formatting)</dd><dt>2003-05-13</dt><dd>add DC.Creator meta tag, refactoring</dd><dt>2003-05-16</dt><dd>put nbsps between "section" and section number (xref).</dd><dt>2003-05-18</dt><dd>author summary: add missing comma.</dd><dt>2003-06-06</dt><dd>fix index generation bug (transposed characters in key generation). Enhance sentence start detection (xref starting a section was using lowercase "section").</dd><dt>2003-06-22</dt><dd>exp. support for xref/@format. Add missing support for eref w/o content. exp. support for annotations in reference elements. Code cleanup reference table formatting.</dd><dt>2003-07-09</dt><dd>Another fix for DC.Creator meta tag creation based on RFC2731</dd><dt>2003-07-24</dt><dd>Fix namespace name for DC.Creator.</dd><dt>2003-08-06</dt><dd>Cleanup node-set support (only use exslt (saxon, xalan, libxslt) extension functions; remove Transformix workarounds that stopped to work in Moz 1.4)</dd><dt>2003-08-09</dt><dd>Generate HTML lang tag.</dd><dt>2003-08-10</dt><dd>Map spanx/verb to HTML "samp" element. Fix author name display in references (reverse surname/initials for last author), add "Ed.". Fix internal bookmark generation.</dd><dt>2003-08-17</dt><dd>Add DCMI dates, identifiers and abstract. Add PI to suppress DCMI generation. Do not add TOC entry to Copyright Statement when there is none. Align RFC2629 PI names and parameter names. Change style for inline URIs generated by eref. Add header and footer support. Enhance CSS paging properties. Support topblock PI. Added hooks for proper XHTML generation through separate XSLT. Enhance warning and error messages. Add support for artwork image display. Table formatting fixes (borders, thead continuation).</dd><dt>2003-08-18</dt><dd>Add workaround for MSXML4 node-set and Mozilla node-set issues (fallback just displays are warning).</dd><dt>2003-10-06</dt><dd>Add workaround for broken pre/ins handling in Mozilla (see <<a href="http://bugzilla.mozilla.org/show_bug.cgi?id=204401">http://bugzilla.mozilla.org/show_bug.cgi?id=204401</a>>). Make use of cite attribute on ed:replace. CSS cleanup.</dd><dt>2003-10-08</dt><dd>Fix minor issue detecting the same org for the header (caused by IE's non-standard whitespace handling). Fix default handling for /rfc/@category.</dd><dt>2003-11-09</dt><dd>Inherit ed:entered-by from ancestor elements. Change CSS color for inserted text to green. Generate issues-list anchor. Do not complain about missing targets when the xref element is below ed:del. Remove code that attempted to distinguish section/Section when producing links - always use uppercase. Fix date rendering for issue resolutions.</dd><dt>2003-11-29</dt><dd>Fix color values for table backgrounds for issue rendering. Change rendering of issue links to use inline-styles. Add colored issue markers to issues.</dd><dt>2003-12-13</dt><dd>Fix inheritance of ed:entered-by attribute. Display note elements inside change tracking as well.</dd><dt>2004-01-18</dt><dd>When PI compact = 'yes', make most CSS print page breaks conditional.</dd><dt>2004-02-20</dt><dd>Support for RFC3667 IPR changes (xml2rfc 1.22); see <<a href="http://lists.xml.resource.org/pipermail/xml2rfc/2004-February/001088.html">http://lists.xml.resource.org/pipermail/xml2rfc/2004-February/001088.html</a>>.</dd><dt>2004-03-11</dt><dd>Add "(if approved)" to "updates" and "obsoletes" unless the document has an RFC number.</dd><dt>2004-04-01</dt><dd>Fix RFC3667 output, see <<a href="http://lists.xml.resource.org/pipermail/xml2rfc/2004-April/001208.html">http://lists.xml.resource.org/pipermail/xml2rfc/2004-April/001208.html</a>>.</dd><dt>2004-04-04</dt><dd>Add support for section/top attribute. Move references into plain section container.</dd><dt>2004-04-06</dt><dd>Do not emit identical para anchors for deleted content.</dd><dt>2004-04-14</dt><dd>Fix references TOC generation when there are no references.</dd><dt>2004-04-24</dt><dd>Fix RFC3667 output, see <<a href="http://xml.resource.org/pipermail/xml2rfc/2004-April/001246.html">http://xml.resource.org/pipermail/xml2rfc/2004-April/001246.html</a>>.</dd><dt>2004-05-09</dt><dd>Add custom support for generating compound index documents. Add anchors for each Index letter. Add experimental cref support. Fix conditional page breaks before References section.</dd><dt>2004-05-16</dt><dd>Refactor external index generation.</dd><dt>2004-05-20</dt><dd>Rewrite anchor generation for comments.</dd><dt>2004-05-22</dt><dd>Enhance issues rendering (add links to changes).</dd><dt>2004-05-30</dt><dd>Allow single quote as delimiter in processing instructions as well. Move block-level issue pointers to floats. Disable issue pointers for print media. Add "purple numbers". Add hrefs to section headings. Add non-printing index key letter list to start of index.</dd><dt>2004-06-01</dt><dd>Use &#xb6; instead of # for PNs.</dd><dt>2004-07-18</dt><dd>Add support for list style=letters (thanks Roy F.). Make PNs optional; add new PI.</dd><dt>2004-09-05</dt><dd>Fix index links into unnumbered sections. Bring IPR boilerplate in-line with xml2rfc 1.25. Add experimental CSS3 paged media support. Various HTML fixes.</dd><dt>2004-09-21</dt><dd>Enhance checking of artwork width.</dd><dt>2004-09-26</dt><dd>Add check for unused references. Uppercase letters in list style letters when nested into another list.</dd><dt>2004-10-10</dt><dd>Fix internal change track pointers.</dd><dt>2004-11-01</dt><dd>Allow change tracking on references (as a whole). Rewrite artwork handling so that it allows change tracking inside artwork. Also allow a subset of text markup inside artwork, such as xrefs (note this requires post-processing the source to make it compliant to RFC2629bis).</dd><dt>2004-11-03</dt><dd>Enhanced placement of iref anchors.</dd><dt>2004-11-06</dt><dd>Index: display irefs that appeared (with primary=true) inside artwork elements in a monospaced font.</dd><dt>2004-11-14</dt><dd>Add special code so that changes in section titles can be change-tracked.</dd><dt>2005-01-14</dt><dd>Bugfixes for HtmlToXhtml converter.</dd><dt>2005-01-22</dt><dd>Enhance generation of HTML h* elements (for Mozilla Outliner).</dd><dt>2005-01-31</dt><dd>Put vertical space around top-level TOC entries in TOC. Switch to pt-based CSS. Re-arrange top section. Make hr elements reflect new-page settings in TXT output (compact-PI). Fix page number in footer (CSS print) and add some more experimental support for paged media (tested with Prince 4.1 alpha). Rewrite TOC and Index generation to generate HTML lists. Cleanup id generation for paragraphs. Reduce whitespace in output. Fix vspace implementation. Use right/left dqoutes and copyright sign where appropriate.</dd><dt>2005-02-04</dt><dd>Add <link> element to references section. Fix newly introduced bug in references processing.</dd><dt>2005-02-05</dt><dd>Integrate various fixes/enhancements by Roy Fielding: spelling of "Authors' Addresses", comma setting in references, position of "Authors" section, optionally place authors addresses at end (PI), trailing dots in section numbers, switch to verdana default font in CSS. Add experimental support for centered artwork.</dd><dt>2005-02-09</dt><dd>Fixes in spacing and links of references section titles. Enhance sorting in references when change tracking is in place. Re-add figure centering support. Add missing 2nd part of "Author's Adresses" fix.</dd><dt>2005-02-25</dt><dd>Align section number format with xml2rfc1.29.</dd><dt>2005-03-28</dt><dd>Get rid of table elements in Author's section. Add experimental hCard (<<a href="http://developers.technorati.com/wiki/hCard">http://developers.technorati.com/wiki/hCard</a>>) support.</dd><dt>2005-04-03</dt><dd>Add RFC3978-style IPR statement support. (fenner@research.att.com)</dd><dt>2005-04-11</dt><dd>Cleanup author display. hCard related fixes.</dd><dt>2005-05-07</dt><dd>Minor fixes to allow change tracking in doc title. Add experimental support for table border styles. CSS cleanup.</dd><dt>2005-06-18</dt><dd>Implement missing support for references to texttables.</dd><dt>2005-09-25</dt><dd>Use (-moz-)column-count when printing the index.</dd><dt>2005-10-04</dt><dd>Report missing element templates with xsl:message.</dd><dt>2005-10-15</dt><dd>Process t/@anchor.</dd><dt>2005-10-23</dt><dd>More workarounds for Mozilla's broken del/ins handling (this time for figures).</dd><dt>2005-10-27</dt><dd>lowercase hCard class names</dd><dt>2005-11-22</dt><dd>Enhance diagnostics for XML-in-artwork extension</dd><dt>2005-11-26</dt><dd>Fix formatting of section numbers for sections inserted into <back>.</dd><dt>2005-12-12</dt><dd>Fix some validity problems when change tracking occured inside lists.</dd><dt>2005-12-18</dt><dd>Add change tracking inside the index.</dd><dt>2006-02-04</dt><dd>Add prev/next links to highlighted changes (change tracking extension).</dd><dt>2006-02-10</dt><dd>Catch errors instantiating MSXML component.</dd><dt>2006-02-11</dt><dd>References: add "work in progress" for Internet Drafts.</dd><dt>2006-02-27</dt><dd>Fix front matter (lowercase Internet-Draft, say "Intended status" for non-RFC documents). Start work on experimental extension for simplified internal links.</dd><dt>2006-03-19</dt><dd>Tweaks to IESG Copyright stuff; support submissionType attribute. Fix duplicate reference anchors in HTML output. Reduce HTML Tidy warnings. Fix reference to normative ASCII version (now requires trailing ".txt"). Tweaks to hCard generation. Started to move non-issue-tracking extensions into namespace "http://purl.org/net/xml2rfc/ext".</dd><dt>2006-03-27</dt><dd>Moved "simple reference" extension into namespace "http://purl.org/net/xml2rfc/ext" and add documentation. HTML conformance enhancements.</dd><dt>2006-04-02</dt><dd>Cleanup special code for automated XHTML XSLT generation.</dd><dt>2006-04-21</dt><dd>Generate <CITE> elements where appropiate. Introduce x:blockquote, x:dfn, x:h and x:q elements.</dd><dt>2006-05-06</dt><dd>Introduce x:bcp14 element.</dd><dt>2006-05-14</dt><dd>Fix content model for x:blockquote.</dd><dt>2006-06-18</dt><dd>Add box drawing support (x:bt, x:bc, x:bb).</dd><dt>2006-06-20</dt><dd>HTML validity fixes (legal chars in anchors in index).</dd><dt>2006-06-24</dt><dd>Reduce leading empty lines in artwork. Move <dt> style info into CSS.</dd><dt>2006-07-14</dt><dd>Fix rendering of multiple street address entries (missing line break).</dd><dt>2006-07-24</dt><dd>Add extension for deep linking into RFCs, do not generate empty list items in TOC output, avoid empty <dt> elements for list items without hangText attribute.</dd><dt>2006-08-01</dt><dd>Allow @anchor on more elements; start work on Relax NG grammar for extensions. Reduce generated style elements (use CSS classes instead). Consistently use "id" instead of "name". Change default target for RFC links to "http://tools.ietf.org/html/rfcNNNN".</dd><dt>2006-08-06</dt><dd>Include appendices defined in <appendix> elements in TOC (please consider them deprecated anyhow!). Generate links to "http://tools.ietf.org/html/draft-*" for Internet Drafts. Replace x:frag by x:rel, allowing any kind of relative reference instead of just fragments.</dd><dt>2006-08-30</dt><dd>Reduce textual differences between HTML output and what xml2rfc produces in TXT output mode (section refs/reference targets). Add small workaround for Opera 9.0.1's problem with node-set().</dd><dt>2006-10-29</dt><dd>Fix problem generating internal links to change markup within references section. Enhancements when generating numbered references for deleted references. Allow inclusion of references into the index (through include-references-in-index extension). Fix a bug that caused the newer version of the IETF boilerplate to be produced rather than the pre-RFC3667 one. Update to RFC4287 boilerplate.</dd><dt>2006-11-11</dt><dd>Add extension attribute x:for-anchor to <iref> handling.</dd><dt>2006-11-26</dt><dd>Experimental (and limited) support for <x:lt>.</dd><dt>2006-12-04</dt><dd>Fix bugs in processing documents that have both the ipr and the number attribute set on the rfc root element. Add support for x:fmt='none' on xrefs. Add different pre style based on artwork type attributes (experimental).</dd><dt>2006-12-13</dt><dd>Add x:fmt='anchor' for xref elements.</dd><dt>2007-01-07</dt><dd>Fix root template for compatibility for the exslt:node-set implementation in Firefox3.</dd><dt>2007-01-29</dt><dd>Avoid empty table entry in front matter when organization is not specified for an author.</dd><dt>2007-02-10</dt><dd>Allow change tracking in table rows.</dd><dt>2007-03-09</dt><dd>Add hcard profile URI (<<a href="http://www.w3.org/2006/03/hcard">http://www.w3.org/2006/03/hcard</a>>) to head element. Add warning for misplaced <t> elements (after section).</dd><dt>2007-03-21</dt><dd>Fix internal linking from reference entries in index for some xref types. Minor CSS tweaks contributed by MTR. Allow turning on text justification through a PI. Improve iref anchor generation to generate less instable anchors.</dd><dt>2007-03-28</dt><dd>Fixes for numbering of ed:inserted references sections.</dd><dt>2007-05-04</dt><dd>Do not generate anchors for edits in deleted sections. Enhance HTML conformance.</dd><dt>2007-05-19</dt><dd>Enhance diagnostics when using Saxon (needs Saxon's "-l" command line parameter to keep line number information). Add warning when symref PI is missing (default will change in the future). Add support for overriding computed section numbers (when formatting historic documents).</dd><dt>2007-06-07</dt><dd>Change default for symrefs PI to "yes" (see change in xml2rfc 1.33pre4). Warn about docName attributes that appear to contain a file extension.</dd><dt>2007-06-26</dt><dd>Workaround author/@initials values without trailing dot, as in xml2rfc.tcl.</dd><dt>2007-07-14</dt><dd>Enhance index generation for references that use @x:sec attribute.</dd><dt>2007-09-09</dt><dd>Fix: sortrefs is a nop when symrefs=no.</dd><dt>2007-10-17</dt><dd>Work in progress: add support for referencing sections in sibling documents by anchor name.</dd><dt>2007-10-17</dt><dd>Work in progress (continued): support for referencing sections in sibling documents by anchor name.</dd><dt>2007-12-31</dt><dd>Emit warning when updating/obsoleting stuff that's not referenced.</dd><dt>2008-02-03</dt><dd>Support xml2rfc-1.33pre5's suppress-title attribute on texttable and figure.</dd><dt>2008-02-06</dt><dd>Extension: allow <eref> below <cref>.</dd><dt>2008-02-17</dt><dd>Extensions: add x:span and x:length-of.</dd><dt>2008-02-20</dt><dd>Add new RFC boilerplate (as changed in 2007-08).</dd><dt>2008-02-27</dt><dd>Improve diagnostics for artwork width problems; add defaulting of publication dates (requires XSLT processor supporting exslt:date, or msxml).</dd><dt>2008-02-29</dt><dd>Enhance CSS for link elements in the front header, update rules for generating "Acknowledgment" statement.</dd><dt>2008-03-01</dt><dd>Use line numbers in diagnostics in Saxon8/9 as well.</dd><dt>2008-03-02</dt><dd>Fix a bug in the logic choosing the boilerplate, resulting in obsolete text being inserted into IDs.</dd><dt>2008-04-01</dt><dd>Add support for superscript element.</dd><dt>2008-06-28</dt><dd>Add sanity checks for email addresses, allow multiple email elements.</dd><dt>2008-07-06</dt><dd>Add x:abnf-char-sequence.</dd><dt>2008-08-21</dt><dd>Add x:note.</dd><dt>2008-09-06</dt><dd>Add experimental support for SVG images.</dd><dt>2008-09-17</dt><dd>Add experimental support for x:author. Fix xref/@format=none.</dd><dt>2008-10-10</dt><dd>Fix a huge bug, causing text content after an XML comment to be ignored.</dd></dl><h2 id="rfc.section.D.6"><a href="#rfc.section.D.6">D.6</a> rfc2629toFO.xslt</h2><dl><dt>2003-11-16</dt><dd>Initial release.</dd><dt>2003-11-29</dt><dd>Enhance handling of unknown list styles.</dd><dt>2004-04-04</dt><dd>Update reference section handling.</dd><dt>2004-04-17</dt><dd>Use XSL-WD-1.1-style fo:bookmark and index handling and add postprocessors for existing implementations. Unify PDF info generation by using XEP (postprocessors) will convert.</dd><dt>2004-04-20</dt><dd>Add experimental cref support.</dd><dt>2004-06-14</dt><dd>Set correct index-item defaults.</dd><dt>2004-07-18</dt><dd>Add list style=letters.</dd><dt>2004-09-03</dt><dd>Make URLs in text break where they are allowed to break by inserting zero-width spaces.</dd><dt>2004-09-26</dt><dd>Fix letter-style inside nested lists.</dd><dt>2004-10-31</dt><dd>Update handling of artwork.</dd><dt>2004-11-13</dt><dd>Fix handling of references inside ed:* markup. Fix whitespace handling in artwork.</dd><dt>2004-11-27</dt><dd>Irefs in artwork generate monospaced entries in index.</dd><dt>2005-01-31</dt><dd>Fix TOC generation that was broken after changes in main XSLT.</dd><dt>2005-02-05</dt><dd>Bring in sync with cosmetic changes in rfc2629.xslt.</dd><dt>2005-05-07</dt><dd>Minor fix for change tracking in document title. Support for table styles.</dd><dt>2005-06-18</dt><dd>Fix references to tables.</dd><dt>2005-10-15</dt><dd>Process t/@anchor.</dd><dt>2006-02-11</dt><dd>References: add "work in progress" for Internet Drafts.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd><dt>2007-03-21</dt><dd>Support optional text justification.</dd><dt>2007-05-19</dt><dd>Various improvements in spacing; also allow overriding the automatic list indentation via list/x:indent.</dd></dl><h2 id="rfc.section.D.7"><a href="#rfc.section.D.7">D.7</a> xsl11toAn.xslt</h2><dl><dt>2004-05-17</dt><dd>Initial release.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd></dl><h2 id="rfc.section.D.8"><a href="#rfc.section.D.8">D.8</a> xsl11toFop.xslt</h2><dl><dt>2004-05-17</dt><dd>Initial release.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd></dl><h2 id="rfc.section.D.9"><a href="#rfc.section.D.9">D.9</a> xsl11toFop-0.93.xslt</h2><dl><dt>2008-03-15</dt><dd>Add a workaround to the fo:inline workaround (sigh).</dd></dl><h2 id="rfc.section.D.10"><a href="#rfc.section.D.10">D.10</a> xsl11toXep.xslt</h2><dl><dt>2004-05-17</dt><dd>Initial release.</dd><dt>2004-09-04</dt><dd>Fix xep:index-item attributes.</dd><dt>2006-06-02</dt><dd>Use XSL 1.1 WD Feb 2006.</dd></dl><hr class="noprint"><h1 id="rfc.index" class="np"><a href="#rfc.index">Index</a></h1><p class="noprint"><a href="#rfc.index.A">A</a> <a href="#rfc.index.B">B</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.D">D</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.F">F</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.J">J</a> <a href="#rfc.index.K">K</a> <a href="#rfc.index.L">L</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.N">N</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.Q">Q</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.T">T</a> <a href="#rfc.index.X">X</a> </p><div class="print2col"><ul class="ind"><li class="indline0"><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul class="ind"><li class="indline1">abnf-char-sequence Extension Element <a class="iref" href="#rfc.iref.a.27"><b>10.1</b></a>, <a class="iref" href="#rfc.iref.a.29">A</a></li><li class="indline1">allow-markup-in-artwork PI pseudo-attribute <a class="iref" href="#rfc.iref.a.1">3.3</a></li><li class="indline1">alternate HTML LINK element <a class="iref" href="#rfc.iref.a.22">6.2</a></li><li class="indline1">anchor-alias Extension Element <a class="iref" href="#rfc.iref.a.28"><b>10.2</b></a>, <a class="iref" href="#rfc.iref.a.30">A</a></li><li class="indline1">Anchors <ul class="ind"><li class="indline1">rfc.abstract <a class="iref" href="#rfc.iref.a.3">4</a></li><li class="indline1">rfc.authors <a class="iref" href="#rfc.iref.a.4">4</a></li><li class="indline1">rfc.copyright <a class="iref" href="#rfc.iref.a.5">4</a></li><li class="indline1">rfc.copyrightnotice <a class="iref" href="#rfc.iref.a.6">4</a></li><li class="indline1">rfc.figure.n <a class="iref" href="#rfc.iref.a.7">4</a>, <a class="iref" href="#rfc.iref.a.18">4</a></li><li class="indline1">rfc.figure.u.n <a class="iref" href="#rfc.iref.a.8">4</a>, <a class="iref" href="#rfc.iref.a.19">4</a></li><li class="indline1">rfc.index <a class="iref" href="#rfc.iref.a.9">4</a></li><li class="indline1">rfc.ipr <a class="iref" href="#rfc.iref.a.10">4</a></li><li class="indline1">rfc.iref.n <a class="iref" href="#rfc.iref.a.11">4</a></li><li class="indline1">rfc.note.n <a class="iref" href="#rfc.iref.a.12">4</a></li><li class="indline1">rfc.references <a class="iref" href="#rfc.iref.a.13">4</a>, <a class="iref" href="#rfc.iref.a.14">4</a></li><li class="indline1">rfc.section.n <a class="iref" href="#rfc.iref.a.15">4</a></li><li class="indline1">rfc.section.n.p.m <a class="iref" href="#rfc.iref.a.16">4</a></li><li class="indline1">rfc.status <a class="iref" href="#rfc.iref.a.17">4</a></li><li class="indline1">rfc.toc <a class="iref" href="#rfc.iref.a.20">4</a></li><li class="indline1">rfc.xref.name.n <a class="iref" href="#rfc.iref.a.21">4</a></li></ul></li><li class="indline1">AntennaHouse XSL Formatter <a class="iref" href="#rfc.iref.a.26">9.1</a></li><li class="indline1">Apache FOP <a class="iref" href="#rfc.iref.a.25">9.1</a></li><li class="indline1">appendix HTML LINK element <a class="iref" href="#rfc.iref.a.23">6.2</a></li><li class="indline1">assign-section-number Extension Element <a class="iref" href="#rfc.iref.a.31">A</a></li><li class="indline1">author HTML LINK element <a class="iref" href="#rfc.iref.a.24">6.2</a></li><li class="indline1">authors-section PI pseudo-attribute <a class="iref" href="#rfc.iref.a.2">3.3</a></li></ul></li><li class="indline0"><a id="rfc.index.B" href="#rfc.index.B"><b>B</b></a><ul class="ind"><li class="indline1">background PI pseudo-attribute <a class="iref" href="#rfc.iref.b.1">3.1</a></li><li class="indline1">bb Extension Element <a class="iref" href="#rfc.iref.b.3"><b>10.4</b></a>, <a class="iref" href="#rfc.iref.b.7">A</a></li><li class="indline1">bc Extension Element <a class="iref" href="#rfc.iref.b.4"><b>10.5</b></a>, <a class="iref" href="#rfc.iref.b.8">A</a></li><li class="indline1">bcp14 Extension Element <a class="iref" href="#rfc.iref.b.2"><b>10.3</b></a>, <a class="iref" href="#rfc.iref.b.9">A</a></li><li class="indline1"><em>BCP97</em> <a class="iref" href="#rfc.xref.BCP97.1">11.1</a>, <a class="iref" href="#BCP97"><b>12</b></a></li><li class="indline1">blockquote Extension Element <a class="iref" href="#rfc.iref.b.5"><b>10.6</b></a>, <a class="iref" href="#rfc.iref.b.10">A</a></li><li class="indline1">bt Extension Element <a class="iref" href="#rfc.iref.b.6"><b>10.7</b></a>, <a class="iref" href="#rfc.iref.b.11">A</a></li></ul></li><li class="indline0"><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul class="ind"><li class="indline1">chapter HTML LINK element <a class="iref" href="#rfc.iref.c.3">6.2</a></li><li class="indline1">CHM format <a class="iref" href="#rfc.iref.c.7">8</a></li><li class="indline1">comments PI pseudo-attribute <a class="iref" href="#rfc.iref.c.2">3.1</a></li><li class="indline1">compact PI pseudo-attribute <a class="iref" href="#rfc.iref.c.1">3.1</a></li><li class="indline1">contents HTML LINK element <a class="iref" href="#rfc.iref.c.4">6.2</a></li><li class="indline1">copyright HTML LINK element <a class="iref" href="#rfc.iref.c.5">6.2</a></li><li class="indline1">Creator DCMI property <a class="iref" href="#rfc.iref.c.6">6.4</a></li></ul></li><li class="indline0"><a id="rfc.index.D" href="#rfc.index.D"><b>D</b></a><ul class="ind"><li class="indline1">Date.Issued DCMI property <a class="iref" href="#rfc.iref.d.2">6.4</a></li><li class="indline1">DCMI properties <ul class="ind"><li class="indline1">Creator <a class="iref" href="#rfc.iref.d.1">6.4</a></li><li class="indline1">Date.Issued <a class="iref" href="#rfc.iref.d.3">6.4</a></li><li class="indline1">Description.Abstract <a class="iref" href="#rfc.iref.d.5">6.4</a></li><li class="indline1">Identifier <a class="iref" href="#rfc.iref.d.6">6.4</a></li><li class="indline1">Relation.Replaces <a class="iref" href="#rfc.iref.d.7">6.4</a></li></ul></li><li class="indline1">Description.Abstract DCMI property <a class="iref" href="#rfc.iref.d.4">6.4</a></li><li class="indline1">dfn Extension Element <a class="iref" href="#rfc.iref.d.8"><b>10.8</b></a>, <a class="iref" href="#rfc.iref.d.9">A</a></li></ul></li><li class="indline0"><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul class="ind"><li class="indline1">editing PI pseudo-attribute <a class="iref" href="#rfc.iref.e.1">3.1</a></li><li class="indline1">Extension Elements <ul class="ind"><li class="indline1">abnf-char-sequence <a class="iref" href="#rfc.iref.e.2"><b>10.1</b></a>, <a class="iref" href="#rfc.iref.e.21">A</a></li><li class="indline1">anchor-alias <a class="iref" href="#rfc.iref.e.3"><b>10.2</b></a>, <a class="iref" href="#rfc.iref.e.22">A</a></li><li class="indline1">assign-section-number <a class="iref" href="#rfc.iref.e.24">A</a></li><li class="indline1">bb <a class="iref" href="#rfc.iref.e.5"><b>10.4</b></a>, <a class="iref" href="#rfc.iref.e.25">A</a></li><li class="indline1">bc <a class="iref" href="#rfc.iref.e.6"><b>10.5</b></a>, <a class="iref" href="#rfc.iref.e.26">A</a></li><li class="indline1">bcp14 <a class="iref" href="#rfc.iref.e.4"><b>10.3</b></a>, <a class="iref" href="#rfc.iref.e.27">A</a></li><li class="indline1">blockquote <a class="iref" href="#rfc.iref.e.7"><b>10.6</b></a>, <a class="iref" href="#rfc.iref.e.28">A</a></li><li class="indline1">bt <a class="iref" href="#rfc.iref.e.8"><b>10.7</b></a>, <a class="iref" href="#rfc.iref.e.29">A</a></li><li class="indline1">dfn <a class="iref" href="#rfc.iref.e.9"><b>10.8</b></a>, <a class="iref" href="#rfc.iref.e.30">A</a></li><li class="indline1">h <a class="iref" href="#rfc.iref.e.10"><b>10.9</b></a>, <a class="iref" href="#rfc.iref.e.31">A</a></li><li class="indline1">highlight <a class="iref" href="#rfc.iref.e.11"><b>10.10</b></a>, <a class="iref" href="#rfc.iref.e.32">A</a></li><li class="indline1">include-author <a class="iref" href="#rfc.iref.e.23">A</a></li><li class="indline1">length-of <a class="iref" href="#rfc.iref.e.12"><b>10.11</b></a>, <a class="iref" href="#rfc.iref.e.33">A</a></li><li class="indline1">link <a class="iref" href="#rfc.iref.e.13"><b>10.12</b></a>, <a class="iref" href="#rfc.iref.e.34">A</a></li><li class="indline1">lt <a class="iref" href="#rfc.iref.e.14"><b>10.13</b></a>, <a class="iref" href="#rfc.iref.e.35">A</a></li><li class="indline1">note <a class="iref" href="#rfc.iref.e.15"><b>10.14</b></a>, <a class="iref" href="#rfc.iref.e.36">A</a></li><li class="indline1">parse-xml <a class="iref" href="#rfc.iref.e.16"><b>10.15</b></a>, <a class="iref" href="#rfc.iref.e.37">A</a></li><li class="indline1">q <a class="iref" href="#rfc.iref.e.17"><b>10.16</b></a>, <a class="iref" href="#rfc.iref.e.38">A</a></li><li class="indline1">rdf:Description <a class="iref" href="#rfc.iref.e.44">A</a></li><li class="indline1">ref <a class="iref" href="#rfc.iref.e.18"><b>10.17</b></a>, <a class="iref" href="#rfc.iref.e.39">A</a></li><li class="indline1">source <a class="iref" href="#rfc.iref.e.19"><b>10.18</b></a>, <a class="iref" href="#rfc.iref.e.40">A</a></li><li class="indline1">span <a class="iref" href="#rfc.iref.e.42">A</a></li><li class="indline1">sup <a class="iref" href="#rfc.iref.e.20"><b>10.19</b></a>, <a class="iref" href="#rfc.iref.e.41">A</a></li><li class="indline1">x <a class="iref" href="#rfc.iref.e.43">A</a></li></ul></li></ul></li><li class="indline0"><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul class="ind"><li class="indline1">Firefox <ul class="ind"><li class="indline1">1.*/2.* <a class="iref" href="#rfc.iref.f.3">5.2</a></li><li class="indline1">3.* <a class="iref" href="#rfc.iref.f.2">5.2</a></li></ul></li><li class="indline1">footer PI pseudo-attribute <a class="iref" href="#rfc.iref.f.1">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul class="ind"><li class="indline1">generator HTML META element <a class="iref" href="#rfc.iref.g.2">6.3</a></li><li class="indline1">Google Chrome <a class="iref" href="#rfc.iref.g.1">5.2</a></li><li class="indline1">Grammar <a class="iref" href="#rfc.iref.g.3"><b>A</b></a></li></ul></li><li class="indline0"><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul class="ind"><li class="indline1">h Extension Element <a class="iref" href="#rfc.iref.h.12"><b>10.9</b></a>, <a class="iref" href="#rfc.iref.h.14">A</a></li><li class="indline1">header PI pseudo-attribute <a class="iref" href="#rfc.iref.h.1">3.1</a></li><li class="indline1">highlight Extension Element <a class="iref" href="#rfc.iref.h.13"><b>10.10</b></a>, <a class="iref" href="#rfc.iref.h.15">A</a></li><li class="indline1"><em>HTML</em> <a class="iref" href="#rfc.xref.HTML.1">6.1</a>, <a class="iref" href="#rfc.xref.HTML.2">10.6</a>, <a class="iref" href="#rfc.xref.HTML.3">10.8</a>, <a class="iref" href="#rfc.xref.HTML.4">10.16</a>, <a class="iref" href="#rfc.xref.HTML.5">10.19</a>, <a class="iref" href="#HTML"><b>12</b></a></li><li class="indline1">HTML compliance <a class="iref" href="#rfc.iref.h.2">6.1</a></li><li class="indline1">HTML LINK elements <ul class="ind"><li class="indline1">alternate <a class="iref" href="#rfc.iref.h.3">6.2</a></li><li class="indline1">appendix <a class="iref" href="#rfc.iref.h.4">6.2</a></li><li class="indline1">author <a class="iref" href="#rfc.iref.h.5">6.2</a></li><li class="indline1">chapter <a class="iref" href="#rfc.iref.h.6">6.2</a></li><li class="indline1">contents <a class="iref" href="#rfc.iref.h.7">6.2</a></li><li class="indline1">copyright <a class="iref" href="#rfc.iref.h.8">6.2</a></li><li class="indline1">index <a class="iref" href="#rfc.iref.h.9">6.2</a></li></ul></li><li class="indline1">HTML META elements <ul class="ind"><li class="indline1">generator <a class="iref" href="#rfc.iref.h.10">6.3</a></li><li class="indline1">keywords <a class="iref" href="#rfc.iref.h.11">6.3</a></li></ul></li></ul></li><li class="indline0"><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul class="ind"><li class="indline1">Identifier DCMI property <a class="iref" href="#rfc.iref.i.9">6.4</a></li><li class="indline1">include PI pseudo-attribute <a class="iref" href="#rfc.iref.i.3">3.2</a></li><li class="indline1">include-author Extension Element <a class="iref" href="#rfc.iref.i.10">A</a></li><li class="indline1">include-references-in-index PI pseudo-attribute <a class="iref" href="#rfc.iref.i.4">3.3</a></li><li class="indline1">index HTML LINK element <a class="iref" href="#rfc.iref.i.8">6.2</a></li><li class="indline1">inline PI pseudo-attribute <a class="iref" href="#rfc.iref.i.1">3.1</a></li><li class="indline1">Internet Explorer 5.5 <a class="iref" href="#rfc.iref.i.5">5.2</a></li><li class="indline1">Internet Explorer 6 <a class="iref" href="#rfc.iref.i.6">5.2</a></li><li class="indline1">Internet Explorer 7 <a class="iref" href="#rfc.iref.i.7">5.2</a></li><li class="indline1">iprnotified PI pseudo-attribute <a class="iref" href="#rfc.iref.i.2">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.J" href="#rfc.index.J"><b>J</b></a><ul class="ind"><li class="indline1">justification PI pseudo-attribute <a class="iref" href="#rfc.iref.j.1">3.3</a></li></ul></li><li class="indline0"><a id="rfc.index.K" href="#rfc.index.K"><b>K</b></a><ul class="ind"><li class="indline1">keywords HTML META element <a class="iref" href="#rfc.iref.k.1">6.3</a></li></ul></li><li class="indline0"><a id="rfc.index.L" href="#rfc.index.L"><b>L</b></a><ul class="ind"><li class="indline1">length-of Extension Element <a class="iref" href="#rfc.iref.l.2"><b>10.11</b></a>, <a class="iref" href="#rfc.iref.l.5">A</a></li><li class="indline1">link Extension Element <a class="iref" href="#rfc.iref.l.3"><b>10.12</b></a>, <a class="iref" href="#rfc.iref.l.6">A</a></li><li class="indline1">linkmailto PI pseudo-attribute <a class="iref" href="#rfc.iref.l.1">3.1</a></li><li class="indline1">lt Extension Element <a class="iref" href="#rfc.iref.l.4"><b>10.13</b></a>, <a class="iref" href="#rfc.iref.l.7">A</a></li></ul></li><li class="indline0"><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul class="ind"><li class="indline1">Microsoft Help <a class="iref" href="#rfc.iref.m.5">8</a></li><li class="indline1">Mozilla <a class="iref" href="#rfc.iref.m.3">5.2</a>, <a class="iref" href="#rfc.iref.m.4">5.2</a></li><li class="indline1">MSXML3 <a class="iref" href="#rfc.iref.m.1">5.1</a></li><li class="indline1">MSXML4 <a class="iref" href="#rfc.iref.m.2">5.1</a></li></ul></li><li class="indline0"><a id="rfc.index.N" href="#rfc.index.N"><b>N</b></a><ul class="ind"><li class="indline1">needLines PI pseudo-attribute <a class="iref" href="#rfc.iref.n.1">3.2</a></li><li class="indline1">note Extension Element <a class="iref" href="#rfc.iref.n.2"><b>10.14</b></a>, <a class="iref" href="#rfc.iref.n.3">A</a></li></ul></li><li class="indline0"><a id="rfc.index.O" href="#rfc.index.O"><b>O</b></a><ul class="ind"><li class="indline1">Opera <a class="iref" href="#rfc.iref.o.1">5.2</a></li></ul></li><li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"><li class="indline1">Parameters <ul class="ind"><li class="indline1">xml2rfc-background <a class="iref" href="#rfc.iref.p.2">3.1</a></li><li class="indline1">xml2rfc-comments <a class="iref" href="#rfc.iref.p.6">3.1</a></li><li class="indline1">xml2rfc-compact <a class="iref" href="#rfc.iref.p.4">3.1</a></li><li class="indline1">xml2rfc-editing <a class="iref" href="#rfc.iref.p.8">3.1</a></li><li class="indline1">xml2rfc-ext-allow-markup-in-artwork <a class="iref" href="#rfc.iref.p.40">3.3</a></li><li class="indline1">xml2rfc-ext-authors-section <a class="iref" href="#rfc.iref.p.42">3.3</a></li><li class="indline1">xml2rfc-ext-include-references-in-index <a class="iref" href="#rfc.iref.p.44">3.3</a></li><li class="indline1">xml2rfc-ext-justification <a class="iref" href="#rfc.iref.p.46">3.3</a></li><li class="indline1">xml2rfc-ext-parse-xml-in-artwork <a class="iref" href="#rfc.iref.p.49">3.3</a></li><li class="indline1">xml2rfc-ext-sec-no-trailing-dots <a class="iref" href="#rfc.iref.p.53">3.3</a></li><li class="indline1">xml2rfc-ext-support-rfc2731 <a class="iref" href="#rfc.iref.p.51">3.3</a></li><li class="indline1">xml2rfc-footer <a class="iref" href="#rfc.iref.p.10">3.1</a></li><li class="indline1">xml2rfc-header <a class="iref" href="#rfc.iref.p.12">3.1</a></li><li class="indline1">xml2rfc-inline <a class="iref" href="#rfc.iref.p.14">3.1</a></li><li class="indline1">xml2rfc-iprnotified <a class="iref" href="#rfc.iref.p.16">3.1</a></li><li class="indline1">xml2rfc-linkmailto <a class="iref" href="#rfc.iref.p.18">3.1</a></li><li class="indline1">xml2rfc-private <a class="iref" href="#rfc.iref.p.21">3.1</a></li><li class="indline1">xml2rfc-sortrefs <a class="iref" href="#rfc.iref.p.23">3.1</a></li><li class="indline1">xml2rfc-symrefs <a class="iref" href="#rfc.iref.p.25">3.1</a></li><li class="indline1">xml2rfc-toc <a class="iref" href="#rfc.iref.p.27">3.1</a></li><li class="indline1">xml2rfc-tocdepth <a class="iref" href="#rfc.iref.p.29">3.1</a></li><li class="indline1">xml2rfc-topblock <a class="iref" href="#rfc.iref.p.31">3.1</a></li></ul></li><li class="indline1">parse-xml Extension Element <a class="iref" href="#rfc.iref.p.54"><b>10.15</b></a>, <a class="iref" href="#rfc.iref.p.55">A</a></li><li class="indline1">parse-xml-in-artwork PI pseudo-attribute <a class="iref" href="#rfc.iref.p.47">3.3</a></li><li class="indline1">private PI pseudo-attribute <a class="iref" href="#rfc.iref.p.19">3.1</a></li><li class="indline1">Processing Instruction pseudo attributes <ul class="ind"><li class="indline1">allow-markup-in-artwork <a class="iref" href="#rfc.iref.p.39">3.3</a></li><li class="indline1">authors-section <a class="iref" href="#rfc.iref.p.41">3.3</a></li><li class="indline1">background <a class="iref" href="#rfc.iref.p.1">3.1</a></li><li class="indline1">comments <a class="iref" href="#rfc.iref.p.5">3.1</a></li><li class="indline1">compact <a class="iref" href="#rfc.iref.p.3">3.1</a></li><li class="indline1">editing <a class="iref" href="#rfc.iref.p.7">3.1</a></li><li class="indline1">footer <a class="iref" href="#rfc.iref.p.9">3.1</a></li><li class="indline1">header <a class="iref" href="#rfc.iref.p.11">3.1</a></li><li class="indline1">ijustification <a class="iref" href="#rfc.iref.p.45">3.3</a></li><li class="indline1">include <a class="iref" href="#rfc.iref.p.32">3.2</a></li><li class="indline1">include-references-in-index <a class="iref" href="#rfc.iref.p.43">3.3</a></li><li class="indline1">inline <a class="iref" href="#rfc.iref.p.13">3.1</a></li><li class="indline1">iprnotified <a class="iref" href="#rfc.iref.p.15">3.1</a></li><li class="indline1">linkmailto <a class="iref" href="#rfc.iref.p.17">3.1</a></li><li class="indline1">needLines <a class="iref" href="#rfc.iref.p.33">3.2</a></li><li class="indline1">parse-xml-in-artwork <a class="iref" href="#rfc.iref.p.48">3.3</a></li><li class="indline1">private <a class="iref" href="#rfc.iref.p.20">3.1</a></li><li class="indline1">sec-no-trailing-dots <a class="iref" href="#rfc.iref.p.52">3.3</a></li><li class="indline1">slides <a class="iref" href="#rfc.iref.p.34">3.2</a></li><li class="indline1">sortrefs <a class="iref" href="#rfc.iref.p.22">3.1</a></li><li class="indline1">strict <a class="iref" href="#rfc.iref.p.35">3.2</a></li><li class="indline1">subcompact <a class="iref" href="#rfc.iref.p.36">3.2</a></li><li class="indline1">support-rfc2731 <a class="iref" href="#rfc.iref.p.50">3.3</a></li><li class="indline1">symrefs <a class="iref" href="#rfc.iref.p.24">3.1</a></li><li class="indline1">toc <a class="iref" href="#rfc.iref.p.26">3.1</a></li><li class="indline1">tocdepth <a class="iref" href="#rfc.iref.p.28">3.1</a></li><li class="indline1">tocindent <a class="iref" href="#rfc.iref.p.37">3.2</a></li><li class="indline1">tocompact <a class="iref" href="#rfc.iref.p.38">3.2</a></li><li class="indline1">topblock <a class="iref" href="#rfc.iref.p.30">3.1</a></li></ul></li></ul></li><li class="indline0"><a id="rfc.index.Q" href="#rfc.index.Q"><b>Q</b></a><ul class="ind"><li class="indline1">q Extension Element <a class="iref" href="#rfc.iref.q.1"><b>10.16</b></a>, <a class="iref" href="#rfc.iref.q.2">A</a></li></ul></li><li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind"><li class="indline1">rdf:Description Extension Element <a class="iref" href="#rfc.iref.r.24">A</a></li><li class="indline1">ref Extension Element <a class="iref" href="#rfc.iref.r.21"><b>10.17</b></a>, <a class="iref" href="#rfc.iref.r.23">A</a></li><li class="indline1">Relation.Replaces DCMI property <a class="iref" href="#rfc.iref.r.20">6.4</a></li><li class="indline1">RELAX NG Compact Schema <a class="iref" href="#rfc.iref.r.22"><b>A</b></a></li><li class="indline1">rfc.abstract anchor <a class="iref" href="#rfc.iref.r.1">4</a></li><li class="indline1">rfc.authors anchor <a class="iref" href="#rfc.iref.r.2">4</a></li><li class="indline1">rfc.copyright anchor <a class="iref" href="#rfc.iref.r.3">4</a></li><li class="indline1">rfc.copyrightnotice anchor <a class="iref" href="#rfc.iref.r.4">4</a></li><li class="indline1">rfc.figure.n anchor <a class="iref" href="#rfc.iref.r.5">4</a>, <a class="iref" href="#rfc.iref.r.16">4</a></li><li class="indline1">rfc.figure.u.n anchor <a class="iref" href="#rfc.iref.r.6">4</a>, <a class="iref" href="#rfc.iref.r.17">4</a></li><li class="indline1">rfc.index anchor <a class="iref" href="#rfc.iref.r.7">4</a></li><li class="indline1">rfc.ipr anchor <a class="iref" href="#rfc.iref.r.8">4</a></li><li class="indline1">rfc.iref.n anchor <a class="iref" href="#rfc.iref.r.9">4</a></li><li class="indline1">rfc.note.n anchor <a class="iref" href="#rfc.iref.r.10">4</a></li><li class="indline1">rfc.references anchor <a class="iref" href="#rfc.iref.r.11">4</a></li><li class="indline1">rfc.references.n anchor <a class="iref" href="#rfc.iref.r.12">4</a></li><li class="indline1">rfc.section.n anchor <a class="iref" href="#rfc.iref.r.13">4</a></li><li class="indline1">rfc.section.n.p.m anchor <a class="iref" href="#rfc.iref.r.14">4</a></li><li class="indline1">rfc.status anchor <a class="iref" href="#rfc.iref.r.15">4</a></li><li class="indline1">rfc.toc anchor <a class="iref" href="#rfc.iref.r.18">4</a></li><li class="indline1">rfc.xref.name.n anchor <a class="iref" href="#rfc.iref.r.19">4</a></li><li class="indline1"><em>RFC2026</em> <a class="iref" href="#rfc.xref.RFC2026.1">10.23</a>, <a class="iref" href="#RFC2026"><b>12</b></a><ul class="ind"><li class="indline1"><em>Section 4.1</em> <a class="iref" href="#rfc.xref.RFC2026.1">10.23</a></li></ul></li><li class="indline1"><em>RFC2119</em> <a class="iref" href="#rfc.xref.RFC2119.1">10.3</a>, <a class="iref" href="#rfc.xref.RFC2119.2">10.25</a>, <a class="iref" href="#RFC2119"><b>12</b></a><ul class="ind"><li class="indline1"><em>Section 5</em> <a class="iref" href="#rfc.xref.RFC2119.2">10.25</a></li></ul></li><li class="indline1"><em>RFC2616</em> <a class="iref" href="#RFC2616"><b>12</b></a>, <a class="iref" href="#rfc.xref.RFC2616.1">B.1</a>, <a class="iref" href="#rfc.xref.RFC2616.2">B.1</a>, <a class="iref" href="#rfc.xref.RFC2616.3">B.1</a><ul class="ind"><li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.RFC2616.1">B.1</a></li><li class="indline1"><em>Section 19.1</em> <a class="iref" href="#rfc.xref.RFC2616.2">B.1</a>, <a class="iref" href="#rfc.xref.RFC2616.3">B.1</a></li></ul></li><li class="indline1"><em>RFC2629</em> <a class="iref" href="#rfc.xref.RFC2629.1">1</a>, <a class="iref" href="#RFC2629"><b>12</b></a></li><li class="indline1"><em>RFC2648</em> <a class="iref" href="#rfc.xref.RFC2648.1">6.4</a>, <a class="iref" href="#RFC2648"><b>12</b></a></li><li class="indline1"><em>RFC2731</em> <a class="iref" href="#rfc.xref.RFC2731.1">6.4</a>, <a class="iref" href="#RFC2731"><b>12</b></a></li><li class="indline1"><em>RFC5234</em> <a class="iref" href="#RFC5234"><b>12</b></a>, <a class="iref" href="#rfc.xref.RFC5234.1">B.1</a></li><li class="indline1"><em>RNC</em> <a class="iref" href="#RNC"><b>12</b></a>, <a class="iref" href="#rfc.xref.RNC.1">A</a>, <a class="iref" href="#rfc.xref.RNC.2">B.1</a></li></ul></li><li class="indline0"><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul class="ind"><li class="indline1">Safari <a class="iref" href="#rfc.iref.s.9">5.2</a>, <a class="iref" href="#rfc.iref.s.11">5.2</a><ul class="ind"><li class="indline1">3.* <a class="iref" href="#rfc.iref.s.10">5.2</a></li></ul></li><li class="indline1">Saxon <a class="iref" href="#rfc.iref.s.8">5.1</a></li><li class="indline1">Schema <a class="iref" href="#rfc.iref.s.14"><b>A</b></a></li><li class="indline1">sec-no-trailing-dots PI pseudo-attribute <a class="iref" href="#rfc.iref.s.7">3.3</a></li><li class="indline1">slides PI pseudo-attribute <a class="iref" href="#rfc.iref.s.3">3.2</a></li><li class="indline1">sortrefs PI pseudo-attribute <a class="iref" href="#rfc.iref.s.1">3.1</a></li><li class="indline1">source Extension Element <a class="iref" href="#rfc.iref.s.12"><b>10.18</b></a>, <a class="iref" href="#rfc.iref.s.15">A</a></li><li class="indline1">span Extension Element <a class="iref" href="#rfc.iref.s.17">A</a></li><li class="indline1">strict PI pseudo-attribute <a class="iref" href="#rfc.iref.s.4">3.2</a></li><li class="indline1">subcompact PI pseudo-attribute <a class="iref" href="#rfc.iref.s.5">3.2</a></li><li class="indline1">sup Extension Element <a class="iref" href="#rfc.iref.s.13"><b>10.19</b></a>, <a class="iref" href="#rfc.iref.s.16">A</a></li><li class="indline1">support-rfc2731 PI pseudo-attribute <a class="iref" href="#rfc.iref.s.6">3.3</a></li><li class="indline1">symrefs PI pseudo-attribute <a class="iref" href="#rfc.iref.s.2">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.T" href="#rfc.index.T"><b>T</b></a><ul class="ind"><li class="indline1">toc PI pseudo-attribute <a class="iref" href="#rfc.iref.t.1">3.1</a></li><li class="indline1">tocdepth PI pseudo-attribute <a class="iref" href="#rfc.iref.t.2">3.1</a></li><li class="indline1">tocindent PI pseudo-attribute <a class="iref" href="#rfc.iref.t.4">3.2</a></li><li class="indline1">tocompact PI pseudo-attribute <a class="iref" href="#rfc.iref.t.5">3.2</a></li><li class="indline1">topblock PI pseudo-attribute <a class="iref" href="#rfc.iref.t.3">3.1</a></li></ul></li><li class="indline0"><a id="rfc.index.X" href="#rfc.index.X"><b>X</b></a><ul class="ind"><li class="indline1">x Extension Element <a class="iref" href="#rfc.iref.x.27">A</a></li><li class="indline1">Xalan <a class="iref" href="#rfc.iref.x.24">5.1</a></li><li class="indline1"><em>XHTML2</em> <a class="iref" href="#rfc.xref.XHTML2.1">10.9</a>, <a class="iref" href="#XHTML2"><b>12</b></a></li><li class="indline1">xml-stylesheet PI <a class="iref" href="#rfc.iref.x.26">6</a></li><li class="indline1">xml2rfc-background parameter <a class="iref" href="#rfc.iref.x.2">3.1</a></li><li class="indline1">xml2rfc-comments parameter <a class="iref" href="#rfc.iref.x.4">3.1</a></li><li class="indline1">xml2rfc-editing parameter <a class="iref" href="#rfc.iref.x.3">3.1</a>, <a class="iref" href="#rfc.iref.x.5">3.1</a></li><li class="indline1">xml2rfc-ext-allow-markup-in-artwork parameter <a class="iref" href="#rfc.iref.x.17">3.3</a></li><li class="indline1">xml2rfc-ext-authors-section parameter <a class="iref" href="#rfc.iref.x.18">3.3</a></li><li class="indline1">xml2rfc-ext-include-references-in-index parameter <a class="iref" href="#rfc.iref.x.19">3.3</a></li><li class="indline1">xml2rfc-ext-justification parameter <a class="iref" href="#rfc.iref.x.20">3.3</a></li><li class="indline1">xml2rfc-ext-parse-xml-in-artwork parameter <a class="iref" href="#rfc.iref.x.21">3.3</a></li><li class="indline1">xml2rfc-ext-sec-no-trailing-dots parameter <a class="iref" href="#rfc.iref.x.23">3.3</a></li><li class="indline1">xml2rfc-ext-support-rfc2731 parameter <a class="iref" href="#rfc.iref.x.22">3.3</a></li><li class="indline1">xml2rfc-footer parameter <a class="iref" href="#rfc.iref.x.6">3.1</a></li><li class="indline1">xml2rfc-header parameter <a class="iref" href="#rfc.iref.x.7">3.1</a></li><li class="indline1">xml2rfc-inline parameter <a class="iref" href="#rfc.iref.x.8">3.1</a></li><li class="indline1">xml2rfc-iprnotified parameter <a class="iref" href="#rfc.iref.x.9">3.1</a></li><li class="indline1">xml2rfc-linkmailto parameter <a class="iref" href="#rfc.iref.x.10">3.1</a></li><li class="indline1">xml2rfc-private parameter <a class="iref" href="#rfc.iref.x.11">3.1</a></li><li class="indline1">xml2rfc-sortrefs parameter <a class="iref" href="#rfc.iref.x.12">3.1</a></li><li class="indline1">xml2rfc-symrefs parameter <a class="iref" href="#rfc.iref.x.13">3.1</a></li><li class="indline1">xml2rfc-toc parameter <a class="iref" href="#rfc.iref.x.14">3.1</a></li><li class="indline1">xml2rfc-tocdepth parameter <a class="iref" href="#rfc.iref.x.15">3.1</a></li><li class="indline1">xml2rfc-topblock parameter <a class="iref" href="#rfc.iref.x.16">3.1</a></li><li class="indline1"><em>XSL-FO</em> <a class="iref" href="#rfc.xref.XSL-FO.1">9.1</a>, <a class="iref" href="#rfc.xref.XSL-FO.2">9.1</a>, <a class="iref" href="#XSL-FO"><b>12</b></a></li><li class="indline1">xsltproc <a class="iref" href="#rfc.iref.x.25">5.1</a><ul class="ind"><li class="indline1">passing parameters <a class="iref" href="#rfc.iref.x.1">3</a></li></ul></li></ul></li></ul></div></body></html> -
rfc2629xslt/rfc2629xslt.txt
r308 r329 4 4 RFC2629 through XSLT J. Reschke 5 5 greenbytes 6 August10, 20086 October 10, 2008 7 7 8 8 … … 46 46 10.8. <dfn> element . . . . . . . . . . . . . . . . . . . . . . 23 47 47 10.9. <h> element . . . . . . . . . . . . . . . . . . . . . . . 23 48 10.10. < length-of> element . . . . . . . . . . . . . . . . . . . 2349 10.11. <l ink> element . .. . . . . . . . . . . . . . . . . . . 2350 10.12. <l t> element .. . . . . . . . . . . . . . . . . . . . . 2351 10.13. < parse-xml> element. . . . . . . . . . . . . . . . . . . 2448 10.10. <highlight> element . . . . . . . . . . . . . . . . . . . 23 49 10.11. <length-of> element . . . . . . . . . . . . . . . . . . . 23 50 10.12. <link> element . . . . . . . . . . . . . . . . . . . . . 23 51 10.13. <lt> element . . . . . . . . . . . . . . . . . . . . . . 24 52 52 53 53 … … 56 56 57 57 58 Documentation RFC2629 through XSLT August 2008 59 60 61 10.14. <q> element . . . . . . . . . . . . . . . . . . . . . . . 24 62 10.15. <ref> element . . . . . . . . . . . . . . . . . . . . . . 24 63 10.16. <source> element . . . . . . . . . . . . . . . . . . . . 24 64 10.17. <sup> element . . . . . . . . . . . . . . . . . . . . . . 25 65 10.18. Extensions to Xml2rfc <iref> element . . . . . . . . . . 25 66 10.19. Extensions to Xml2rfc <list> element . . . . . . . . . . 25 67 10.20. Extensions to Xml2rfc <rfc> element . . . . . . . . . . . 25 68 10.21. Extensions to Xml2rfc <section> element . . . . . . . . . 26 69 10.22. Extensions to Xml2rfc <xref> element . . . . . . . . . . 26 58 Documentation RFC2629 through XSLT October 2008 59 60 61 10.14. <note> element . . . . . . . . . . . . . . . . . . . . . 24 62 10.15. <parse-xml> element . . . . . . . . . . . . . . . . . . . 24 63 10.16. <q> element . . . . . . . . . . . . . . . . . . . . . . . 24 64 10.17. <ref> element . . . . . . . . . . . . . . . . . . . . . . 24 65 10.18. <source> element . . . . . . . . . . . . . . . . . . . . 25 66 10.19. <sup> element . . . . . . . . . . . . . . . . . . . . . . 25 67 10.20. Extensions to Xml2rfc <artwork> element . . . . . . . . . 25 68 10.21. Extensions to Xml2rfc <iref> element . . . . . . . . . . 25 69 10.22. Extensions to Xml2rfc <list> element . . . . . . . . . . 26 70 10.23. Extensions to Xml2rfc <rfc> element . . . . . . . . . . . 26 71 10.24. Extensions to Xml2rfc <section> element . . . . . . . . . 26 72 10.25. Extensions to Xml2rfc <xref> element . . . . . . . . . . 26 70 73 11. Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . 28 71 74 11.1. Checking References . . . . . . . . . . . . . . . . . . . 28 … … 77 80 12. Informative References . . . . . . . . . . . . . . . . . . . . 33 78 81 Appendix A. RELAX NG Compact Schema . . . . . . . . . . . . . . . 35 79 Appendix B. Implementation Notes . . . . . . . . . . . . . . . . 43 80 B.1. Recognized type attributes for <artwork> element . . . . 43 81 Appendix C. License . . . . . . . . . . . . . . . . . . . . . . . 44 82 Appendix D. Change Logs . . . . . . . . . . . . . . . . . . . . . 45 83 D.1. Package . . . . . . . . . . . . . . . . . . . . . . . . . 45 84 D.2. amazon-asin.xslt . . . . . . . . . . . . . . . . . . . . 45 85 D.3. check-references.xslt . . . . . . . . . . . . . . . . . . 45 86 D.4. gen-reference-graph.xslt . . . . . . . . . . . . . . . . 46 87 D.5. rfc2629.xslt . . . . . . . . . . . . . . . . . . . . . . 46 88 D.6. rfc2629toFO.xslt . . . . . . . . . . . . . . . . . . . . 56 89 D.7. xsl11toAn.xslt . . . . . . . . . . . . . . . . . . . . . 58 90 D.8. xsl11toFop.xslt . . . . . . . . . . . . . . . . . . . . . 58 91 D.9. xsl11toFop-0.93.xslt . . . . . . . . . . . . . . . . . . 58 92 D.10. xsl11toXep.xslt . . . . . . . . . . . . . . . . . . . . . 58 93 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 94 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 66 95 96 97 82 Appendix B. Implementation Notes . . . . . . . . . . . . . . . . 44 83 B.1. Recognized type attributes for <artwork> element . . . . 44 84 Appendix C. License . . . . . . . . . . . . . . . . . . . . . . . 45 85 Appendix D. Change Logs . . . . . . . . . . . . . . . . . . . . . 46 86 D.1. Package . . . . . . . . . . . . . . . . . . . . . . . . . 46 87 D.2. amazon-asin.xslt . . . . . . . . . . . . . . . . . . . . 46 88 D.3. check-references.xslt . . . . . . . . . . . . . . . . . . 46 89 D.4. gen-reference-graph.xslt . . . . . . . . . . . . . . . . 47 90 D.5. rfc2629.xslt . . . . . . . . . . . . . . . . . . . . . . 47 91 D.6. rfc2629toFO.xslt . . . . . . . . . . . . . . . . . . . . 58 92 D.7. xsl11toAn.xslt . . . . . . . . . . . . . . . . . . . . . 59 93 D.8. xsl11toFop.xslt . . . . . . . . . . . . . . . . . . . . . 59 94 D.9. xsl11toFop-0.93.xslt . . . . . . . . . . . . . . . . . . 59 95 D.10. xsl11toXep.xslt . . . . . . . . . . . . . . . . . . . . . 59 96 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 97 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 67 98 98 99 99 … … 113 113 114 114 115 Documentation RFC2629 through XSLT August2008115 Documentation RFC2629 through XSLT October 2008 116 116 117 117 … … 170 170 171 171 172 Documentation RFC2629 through XSLT August2008172 Documentation RFC2629 through XSLT October 2008 173 173 174 174 … … 227 227 228 228 229 Documentation RFC2629 through XSLT August2008229 Documentation RFC2629 through XSLT October 2008 230 230 231 231 … … 284 284 285 285 286 Documentation RFC2629 through XSLT August2008286 Documentation RFC2629 through XSLT October 2008 287 287 288 288 … … 341 341 342 342 343 Documentation RFC2629 through XSLT August2008343 Documentation RFC2629 through XSLT October 2008 344 344 345 345 … … 398 398 399 399 400 Documentation RFC2629 through XSLT August2008400 Documentation RFC2629 through XSLT October 2008 401 401 402 402 … … 455 455 456 456 457 Documentation RFC2629 through XSLT August2008457 Documentation RFC2629 through XSLT October 2008 458 458 459 459 … … 512 512 513 513 514 Documentation RFC2629 through XSLT August2008514 Documentation RFC2629 through XSLT October 2008 515 515 516 516 … … 569 569 570 570 571 Documentation RFC2629 through XSLT August2008571 Documentation RFC2629 through XSLT October 2008 572 572 573 573 … … 626 626 627 627 628 Documentation RFC2629 through XSLT August2008628 Documentation RFC2629 through XSLT October 2008 629 629 630 630 … … 683 683 684 684 685 Documentation RFC2629 through XSLT August2008685 Documentation RFC2629 through XSLT October 2008 686 686 687 687 … … 718 718 o Internet Explorer 7 719 719 720 o Firefox 3. * (release candidate available)720 o Firefox 3.0 721 721 722 722 o Safari 3 (starting with version 3.0.4) 723 723 724 o Google Chrome (beta available) 725 724 726 The following browsers are known not to work properly: 725 727 726 o Firefox 1.*/2.* (missing extension function - see change request728 o Firefox 1.*/2.*: (missing extension function - see change request 727 729 at Mozilla BugZilla 193678 [2]) 728 730 729 731 o Opera 9.21: execution fails, potentially to a somewhat complex 730 XPath expression (reported to Opera as bug 245725). Opera 9.5: 731 transformation appears to work, but CSS isn't getting applied 732 (repored to Opera as bug 337388 on 2008-06-12). 732 XPath expression (reported to Opera as bug 245725). 733 734 o Opera 9.5 and 9.6: transformation appears to work, but CSS isn't 735 getting applied (reported to Opera as bug 337388 on 2008-06-12). 736 737 738 739 Reschke [Page 13] 740 741 742 Documentation RFC2629 through XSLT October 2008 743 733 744 734 745 o Safari 2.* supports client-side XSLT as of MacOS X 10.4, but 735 746 misses required extension functions. A problem with stylesheets 736 737 738 739 Reschke [Page 13]740 741 742 Documentation RFC2629 through XSLT August 2008743 744 745 747 producing non-ASCII output (such as NBSP characters) has been 746 748 fixed as of OSX 10.4.4. Both problems have been reported through … … 792 794 793 795 794 795 796 796 Reschke [Page 14] 797 797 798 798 799 Documentation RFC2629 through XSLT August2008799 Documentation RFC2629 through XSLT October 2008 800 800 801 801 … … 854 854 855 855 856 Documentation RFC2629 through XSLT August2008856 Documentation RFC2629 through XSLT October 2008 857 857 858 858 … … 911 911 912 912 913 Documentation RFC2629 through XSLT August2008913 Documentation RFC2629 through XSLT October 2008 914 914 915 915 … … 968 968 969 969 970 Documentation RFC2629 through XSLT August2008970 Documentation RFC2629 through XSLT October 2008 971 971 972 972 … … 1025 1025 1026 1026 1027 Documentation RFC2629 through XSLT August20081027 Documentation RFC2629 through XSLT October 2008 1028 1028 1029 1029 … … 1082 1082 1083 1083 1084 Documentation RFC2629 through XSLT August20081084 Documentation RFC2629 through XSLT October 2008 1085 1085 1086 1086 … … 1139 1139 1140 1140 1141 Documentation RFC2629 through XSLT August20081141 Documentation RFC2629 through XSLT October 2008 1142 1142 1143 1143 … … 1196 1196 1197 1197 1198 Documentation RFC2629 through XSLT August20081198 Documentation RFC2629 through XSLT October 2008 1199 1199 1200 1200 … … 1253 1253 1254 1254 1255 Documentation RFC2629 through XSLT August20081255 Documentation RFC2629 through XSLT October 2008 1256 1256 1257 1257 … … 1264 1264 This element is like the "h" element in [XHTML2]. 1265 1265 1266 10.10. <length-of> element 1266 10.10. <highlight> element 1267 1268 Used to highlight text passages, currently only allowed in <artwork>. 1269 1270 Note: this is stripped when generating input for xml2rfc, so please 1271 use with care. 1272 1273 10.11. <length-of> element 1267 1274 1268 1275 This element can be used to insert the length of another formatted … … 1284 1291 be substracted from the computed length. 1285 1292 1286 10.1 1. <link> element1293 10.12. <link> element 1287 1294 1288 1295 This element can be added as a top-level child element below <rfc> to … … 1298 1305 href="http://ftp.ics.uci.edu/pub/ietf/webdav/"/> 1299 1306 1300 10.12. <lt> element 1307 1308 1309 Reschke [Page 23] 1310 1311 1312 Documentation RFC2629 through XSLT October 2008 1313 1314 1315 10.13. <lt> element 1301 1316 1302 1317 Used for grouping multiple <t> elements into a single list item. 1303 1318 1304 1305 1306 1307 1308 1309 Reschke [Page 23] 1310 1311 1312 Documentation RFC2629 through XSLT August 2008 1313 1314 1315 10.13. <parse-xml> element 1319 10.14. <note> element 1320 1321 Can be used to add a note, usually indented by a few characters. It 1322 should contain one or more <t> child elements. 1323 1324 10.15. <parse-xml> element 1316 1325 1317 1326 This element instructs the processor to parse the contents as XML and … … 1319 1328 newer). 1320 1329 1321 10.1 4. <q> element1330 10.16. <q> element 1322 1331 1323 1332 This element is like the "q" element in [HTML]. 1324 1333 1325 10.1 5. <ref> element1334 10.17. <ref> element 1326 1335 1327 1336 This element is a simplified variant of the <xref> element, in that … … 1351 1360 <xref target="test">alias 2</xref> 1352 1361 1353 10.16. <source> element 1362 1363 1364 1365 1366 Reschke [Page 24] 1367 1368 1369 Documentation RFC2629 through XSLT October 2008 1370 1371 1372 10.18. <source> element 1354 1373 1355 1374 Can be used to enhance a <reference> with information about the 1356 1375 location for the XML source. This can be used by the <xref> 1357 1376 processing code to automatically extract the target section number. 1358 1359 1360 1361 1362 1363 1364 1365 1366 Reschke [Page 24]1367 1368 1369 Documentation RFC2629 through XSLT August 20081370 1371 1377 1372 1378 For example: … … 1381 1387 ... 1382 1388 1383 10.1 7. <sup> element1389 10.19. <sup> element 1384 1390 1385 1391 This element is like the "sup" element in [HTML]. … … 1387 1393 Note: the down conversion to RFC2629 format replaces "x^y" by "x^y". 1388 1394 1389 10.18. Extensions to Xml2rfc <iref> element 1395 10.20. Extensions to Xml2rfc <artwork> element 1396 1397 Sometimes, artwork occurs inside lists. To get it indent properly in 1398 xml2rfc's text output, it needs to be indented in the source. This 1399 is sub-optimal, as this whitespace will also appear in the HTML 1400 output, where it's already indented due to HTML's semantics. 1401 1402 As a workaround, a "x:indent-with" attribute can be specified, 1403 containing a string that will be prepended to each line when 1404 "clean-for-DTD.xslt" is run (see Section 11.4). 1405 1406 10.21. Extensions to Xml2rfc <iref> element 1390 1407 1391 1408 The extension attribute below is allowed on the standard <iref> … … 1398 1415 closest ancestor. 1399 1416 1400 10.19. Extensions to Xml2rfc <list> element 1417 1418 1419 1420 1421 1422 1423 Reschke [Page 25] 1424 1425 1426 Documentation RFC2629 through XSLT October 2008 1427 1428 1429 10.22. Extensions to Xml2rfc <list> element 1401 1430 1402 1431 The extension attribute below is allowed on the standard <list> … … 1412 1441 <t>, allowing to insert multiple paragraphs into a single list item. 1413 1442 1414 10.2 0. Extensions to Xml2rfc <rfc> element1443 10.23. Extensions to Xml2rfc <rfc> element 1415 1444 1416 1445 The extension attributes below are allowed on the standard <rfc> 1417 1446 element: 1418 1419 1420 1421 1422 1423 Reschke [Page 25]1424 1425 1426 Documentation RFC2629 through XSLT August 20081427 1428 1447 1429 1448 o grddl:transformation can be used to reference a GRDDL transform. … … 1433 1452 4.1 of [RFC2026]). 1434 1453 1435 10.2 1. Extensions to Xml2rfc <section> element1454 10.24. Extensions to Xml2rfc <section> element 1436 1455 1437 1456 The extension attribute below is allowed on the standard <list> … … 1442 1461 that used a different numbering style. 1443 1462 1444 10.2 2. Extensions to Xml2rfc <xref> element1463 10.25. Extensions to Xml2rfc <xref> element 1445 1464 1446 1465 Three extension attributes are allowed on the standard <xref> … … 1456 1475 3. x:fmt defines the text format to be used. 1457 1476 1477 1478 1479 1480 Reschke [Page 26] 1481 1482 1483 Documentation RFC2629 through XSLT October 2008 1484 1485 1458 1486 The following formats are defined for the x:fmt attribute: 1459 1487 … … 1475 1503 These extensions are currently only supported for <xref> elements 1476 1504 without child nodes. 1477 1478 1479 1480 Reschke [Page 26]1481 1482 1483 Documentation RFC2629 through XSLT August 20081484 1485 1505 1486 1506 If the processor knows how to reference the target section, it will … … 1515 1535 1516 1536 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1537 Reschke [Page 27] 1538 1538 1539 1539 1540 Documentation RFC2629 through XSLT August20081540 Documentation RFC2629 through XSLT October 2008 1541 1541 1542 1542 … … 1595 1595 1596 1596 1597 Documentation RFC2629 through XSLT August20081597 Documentation RFC2629 through XSLT October 2008 1598 1598 1599 1599 … … 1652 1652 1653 1653 1654 Documentation RFC2629 through XSLT August20081654 Documentation RFC2629 through XSLT October 2008 1655 1655 1656 1656 … … 1709 1709 1710 1710 1711 Documentation RFC2629 through XSLT August20081711 Documentation RFC2629 through XSLT October 2008 1712 1712 1713 1713 … … 1741 1741 1742 1742 o <x:link> elements get stripped. 1743 1744 o <x:note> elements get converted to indented text (through a <list> 1745 element). 1743 1746 1744 1747 o <x:q> elements get stripped, with apostrophes added around the … … 1756 1759 element). 1757 1760 1761 1762 1763 1764 1765 Reschke [Page 31] 1766 1767 1768 Documentation RFC2629 through XSLT October 2008 1769 1770 1758 1771 For instance: 1759 1772 saxon rfc3986.xml extract-artwork.xslt name=uri.abnf 1760 1773 1761 1774 In addition, artwork of a specific type can be extracted, such as 1762 1763 1764 1765 Reschke [Page 31]1766 1767 1768 Documentation RFC2629 through XSLT August 20081769 1770 1771 1775 with: 1772 1776 saxon rfc3986.xml extract-artwork.xslt type=abnf … … 1816 1820 1817 1821 1818 1819 1820 1821 1822 1822 Reschke [Page 32] 1823 1823 1824 1824 1825 Documentation RFC2629 through XSLT August20081825 Documentation RFC2629 through XSLT October 2008 1826 1826 1827 1827 … … 1880 1880 1881 1881 1882 Documentation RFC2629 through XSLT August20081882 Documentation RFC2629 through XSLT October 2008 1883 1883 1884 1884 … … 1937 1937 1938 1938 1939 Documentation RFC2629 through XSLT August20081939 Documentation RFC2629 through XSLT October 2008 1940 1940 1941 1941 … … 1975 1975 | x_bc 1976 1976 | x_bt 1977 | x_highlight 1977 1978 | x_length-of 1978 1979 | x_parse-xml … … 1987 1988 attlist.c, 1988 1989 (TEXT 1990 1991 1992 1993 Reschke [Page 35] 1994 1995 1996 Documentation RFC2629 through XSLT October 2008 1997 1998 1989 1999 | xref 1990 1991 1992 1993 Reschke [Page 35]1994 1995 1996 Documentation RFC2629 through XSLT August 20081997 1998 1999 2000 | eref 2000 2001 | iref … … 2047 2048 2048 2049 2049 2050 2050 Reschke [Page 36] 2051 2051 2052 2052 2053 Documentation RFC2629 through XSLT August20082053 Documentation RFC2629 through XSLT October 2008 2054 2054 2055 2055 … … 2087 2087 | x_anchor-alias 2088 2088 | x_blockquote 2089 | x_include-author 2090 | x_note 2089 2091 | rdf_Description)* 2090 2092 } … … 2100 2102 } 2101 2103 2104 2105 2106 2107 Reschke [Page 37] 2108 2109 2110 Documentation RFC2629 through XSLT October 2008 2111 2112 2102 2113 # Redefine <t> to allow our extension elements 2103 2114 t = 2104 2105 2106 2107 Reschke [Page 37]2108 2109 2110 Documentation RFC2629 through XSLT August 20082111 2112 2113 2115 element t { 2114 2116 attlist.t, … … 2133 2135 } 2134 2136 2135 # Extend attribute set for <iref> (see Section 10.18) 2137 # Allow x:indent-with attribute on <artwork> 2138 attlist.artwork &= 2139 attribute x:indent-with { ATEXT }? 2140 2141 # Allow anchor attribute on <author> 2142 attlist.author &= 2143 attribute anchor { xsd:ID }? 2144 2145 # Extend attribute set for <iref> (see Section 10.21) 2136 2146 attlist.iref &= 2137 2147 attribute x:for-anchor { ATEXT }? 2138 2148 2139 # Extend attribute set for <list> (see Section 10. 19)2149 # Extend attribute set for <list> (see Section 10.22) 2140 2150 attlist.list &= 2141 2151 attribute x:indent { ATEXT }? … … 2148 2158 attlist.rfc &= 2149 2159 attribute grddl:transformation { ATEXT }?, 2150 attribute x:maturity-level { "proposed" | "draft" | "internet" } 2151 2152 # Extend attribute set for <section> (see Section 10.21) 2160 attribute x:maturity-level { "proposed" | "draft" | "internet" }? 2161 2162 2163 2164 Reschke [Page 38] 2165 2166 2167 Documentation RFC2629 through XSLT October 2008 2168 2169 2170 # Extend attribute set for <section> (see Section 10.24) 2153 2171 attlist.section &= 2154 2172 attribute x:fixed-section-number { ATEXT }? … … 2158 2176 attribute anchor { xsd:ID }? 2159 2177 2160 # Extend attribute set for <xref> (see Section 10.22) 2161 2162 2163 2164 Reschke [Page 38] 2165 2166 2167 Documentation RFC2629 through XSLT August 2008 2168 2169 2178 # Extend attribute set for <xref> (see Section 10.25) 2170 2179 attlist.xref &= 2171 2180 attribute x:fmt { "()" | "," | "anchor" | "of" | "number" | "sec" | … … 2185 2194 attribute value { TEXT }, 2186 2195 empty 2196 } 2197 2198 # Including Author information 2199 # (experimental) 2200 x_include-author = 2201 element x:include-author { 2202 attribute target { xsd:IDREF } 2187 2203 } 2188 2204 … … 2200 2216 element x:bb { 2201 2217 (TEXT 2218 2219 2220 2221 Reschke [Page 39] 2222 2223 2224 Documentation RFC2629 through XSLT October 2008 2225 2226 2202 2227 | iref 2203 2228 | xref … … 2216 2241 | x_bb 2217 2242 | x_bc 2218 2219 2220 2221 Reschke [Page 39]2222 2223 2224 Documentation RFC2629 through XSLT August 20082225 2226 2227 2243 | x_bt 2228 2244 | x_ref)* … … 2257 2273 (TEXT 2258 2274 | iref 2275 2276 2277 2278 Reschke [Page 40] 2279 2280 2281 Documentation RFC2629 through XSLT October 2008 2282 2283 2259 2284 | xref 2260 2285 | x_bb … … 2273 2298 2274 2299 # Heading (see Section 10.9) 2275 2276 2277 2278 Reschke [Page 40]2279 2280 2281 Documentation RFC2629 through XSLT August 20082282 2283 2284 2300 x_h = 2285 2301 element x:h { … … 2287 2303 } 2288 2304 2289 # Length Measurement (see Section 10.10) 2305 # Heading (see Section 10.10) 2306 x_highlight = 2307 element x:highlight { 2308 TEXT 2309 } 2310 2311 # Length Measurement (see Section 10.11) 2290 2312 x_length-of = 2291 2313 element x:length-of { … … 2295 2317 } 2296 2318 2297 # Link (see Section 10.1 1)2319 # Link (see Section 10.12) 2298 2320 x_link = 2299 2321 element x:link { … … 2304 2326 } 2305 2327 2306 # Extended list item (see Section 10.1 2)2328 # Extended list item (see Section 10.13) 2307 2329 x_lt = 2308 2330 element x:lt { 2309 2331 attribute anchor { xsd:ID }?, 2332 2333 2334 2335 Reschke [Page 41] 2336 2337 2338 Documentation RFC2629 through XSLT October 2008 2339 2340 2310 2341 attribute hangText { TEXT }?, 2311 2342 t+ 2312 2343 } 2313 2344 2314 # Signal XML content (see Section 10.13) 2345 # Note (see Section 10.14) 2346 x_note = 2347 element x:note { 2348 t+ 2349 } 2350 2351 # Signal XML content (see Section 10.15) 2315 2352 x_parse-xml = 2316 2353 element x:parse-xml { … … 2318 2355 } 2319 2356 2320 # Inline quote (see Section 10.1 4)2357 # Inline quote (see Section 10.16) 2321 2358 x_q = 2322 2359 element x:q { … … 2324 2361 } 2325 2362 2326 # Anchor reference (see Section 10.1 5)2363 # Anchor reference (see Section 10.17) 2327 2364 x_ref = 2328 2365 element x:ref { … … 2330 2367 } 2331 2368 2332 2333 2334 2335 Reschke [Page 41] 2336 2337 2338 Documentation RFC2629 through XSLT August 2008 2339 2340 2341 # source information (see Section 10.16) 2369 # source information (see Section 10.18) 2342 2370 x_source = 2343 2371 element x:source { … … 2347 2375 } 2348 2376 2349 # superscript (see Section 10.1 7)2377 # superscript (see Section 10.19) 2350 2378 x_sup = 2351 2379 element x:sup { … … 2359 2387 (TEXT 2360 2388 | x_parse-xml)* 2389 2390 2391 2392 Reschke [Page 42] 2393 2394 2395 Documentation RFC2629 through XSLT October 2008 2396 2397 2361 2398 } 2362 2399 … … 2390 2427 2391 2428 2392 Reschke [Page 42] 2393 2394 2395 Documentation RFC2629 through XSLT August 2008 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 Reschke [Page 43] 2450 2451 2452 Documentation RFC2629 through XSLT October 2008 2396 2453 2397 2454 … … 2447 2504 2448 2505 2449 Reschke [Page 4 3]2450 2451 2452 Documentation RFC2629 through XSLT August20082506 Reschke [Page 44] 2507 2508 2509 Documentation RFC2629 through XSLT October 2008 2453 2510 2454 2511 … … 2504 2561 2505 2562 2506 Reschke [Page 4 4]2507 2508 2509 Documentation RFC2629 through XSLT August20082563 Reschke [Page 45] 2564 2565 2566 Documentation RFC2629 through XSLT October 2008 2510 2567 2511 2568 … … 2561 2618 2562 2619 2563 Reschke [Page 4 5]2564 2565 2566 Documentation RFC2629 through XSLT August20082620 Reschke [Page 46] 2621 2622 2623 Documentation RFC2629 through XSLT October 2008 2567 2624 2568 2625 … … 2618 2675 2619 2676 2620 Reschke [Page 4 6]2621 2622 2623 Documentation RFC2629 through XSLT August20082677 Reschke [Page 47] 2678 2679 2680 Documentation RFC2629 through XSLT October 2008 2624 2681 2625 2682 … … 2675 2732 2676 2733 2677 Reschke [Page 4 7]2678 2679 2680 Documentation RFC2629 through XSLT August20082734 Reschke [Page 48] 2735 2736 2737 Documentation RFC2629 through XSLT October 2008 2681 2738 2682 2739 … … 2732 2789 2733 2790 2734 Reschke [Page 4 8]2735 2736 2737 Documentation RFC2629 through XSLT August20082791 Reschke [Page 49] 2792 2793 2794 Documentation RFC2629 through XSLT October 2008 2738 2795 2739 2796 … … 2789 2846 2790 2847 2791 Reschke [Page 49]2792 2793 2794 Documentation RFC2629 through XSLT August20082848 Reschke [Page 50] 2849 2850 2851 Documentation RFC2629 through XSLT October 2008 2795 2852 2796 2853 … … 2846 2903 2847 2904 2848 Reschke [Page 5 0]2849 2850 2851 Documentation RFC2629 through XSLT August20082905 Reschke [Page 51] 2906 2907 2908 Documentation RFC2629 through XSLT October 2008 2852 2909 2853 2910 … … 2903 2960 2904 2961 2905 Reschke [Page 5 1]2906 2907 2908 Documentation RFC2629 through XSLT August20082962 Reschke [Page 52] 2963 2964 2965 Documentation RFC2629 through XSLT October 2008 2909 2966 2910 2967 … … 2960 3017 2961 3018 2962 Reschke [Page 5 2]2963 2964 2965 Documentation RFC2629 through XSLT August20083019 Reschke [Page 53] 3020 3021 3022 Documentation RFC2629 through XSLT October 2008 2966 3023 2967 3024 … … 3017 3074 3018 3075 3019 Reschke [Page 5 3]3020 3021 3022 Documentation RFC2629 through XSLT August20083076 Reschke [Page 54] 3077 3078 3079 Documentation RFC2629 through XSLT October 2008 3023 3080 3024 3081 … … 3074 3131 3075 3132 3076 Reschke [Page 5 4]3077 3078 3079 Documentation RFC2629 through XSLT August20083133 Reschke [Page 55] 3134 3135 3136 Documentation RFC2629 through XSLT October 2008 3080 3137 3081 3138 … … 3131 3188 3132 3189 3133 Reschke [Page 5 5]3134 3135 3136 Documentation RFC2629 through XSLT August20083190 Reschke [Page 56] 3191 3192 3193 Documentation RFC2629 through XSLT October 2008 3137 3194 3138 3195 … … 3176 3233 2008-07-06 Add x:abnf-char-sequence. 3177 3234 3235 2008-08-21 Add x:note. 3236 3237 2008-09-06 Add experimental support for SVG images. 3238 3239 2008-09-17 Add experimental support for x:author. Fix xref/@ 3240 format=none. 3241 3242 3243 3244 3245 3246 3247 Reschke [Page 57] 3248 3249 3250 Documentation RFC2629 through XSLT October 2008 3251 3252 3253 2008-10-10 Fix a huge bug, causing text content after an XML comment 3254 to be ignored. 3255 3178 3256 D.6. rfc2629toFO.xslt 3179 3257 … … 3181 3259 3182 3260 2003-11-29 Enhance handling of unknown list styles. 3183 3184 3185 3186 3187 3188 3189 3190 Reschke [Page 56]3191 3192 3193 Documentation RFC2629 through XSLT August 20083194 3195 3261 3196 3262 2004-04-04 Update reference section handling. … … 3230 3296 2005-10-15 Process t/@anchor. 3231 3297 3298 3299 3300 3301 3302 3303 3304 Reschke [Page 58] 3305 3306 3307 Documentation RFC2629 through XSLT October 2008 3308 3309 3232 3310 2006-02-11 References: add "work in progress" for Internet Drafts. 3233 3311 … … 3239 3317 the automatic list indentation via list/x:indent. 3240 3318 3241 3242 3243 3244 3245 3246 3247 Reschke [Page 57]3248 3249 3250 Documentation RFC2629 through XSLT August 20083251 3252 3253 3319 D.7. xsl11toAn.xslt 3254 3320 … … 3293 3359 3294 3360 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 Reschke [Page 58] 3305 3306 3307 Documentation RFC2629 through XSLT August 2008 3361 Reschke [Page 59] 3362 3363 3364 Documentation RFC2629 through XSLT October 2008 3308 3365 3309 3366 … … 3359 3416 3360 3417 3361 Reschke [Page 59]3362 3363 3364 Documentation RFC2629 through XSLT August20083418 Reschke [Page 60] 3419 3420 3421 Documentation RFC2629 through XSLT October 2008 3365 3422 3366 3423 … … 3389 3446 dfn 23, 35 3390 3447 h 23, 35 3448 highlight 23, 35 3449 include-author 35 3391 3450 length-of 23, 35 3392 3451 link 23, 35 3393 lt 23, 35 3452 lt 24, 35 3453 note 24, 35 3394 3454 parse-xml 24, 35 3395 3455 q 24, 35 3396 3456 rdf:Description 35 3397 3457 ref 24, 35 3398 source 2 4, 353458 source 25, 35 3399 3459 span 35 3400 3460 sup 25, 35 … … 3409 3469 G 3410 3470 generator HTML META element 16 3471 Google Chrome 13 3472 3473 3474 3475 Reschke [Page 61] 3476 3477 3478 Documentation RFC2629 through XSLT October 2008 3479 3480 3411 3481 Grammar 35 3412 3482 3413 3483 H 3414 3484 h Extension Element 23, 35 3415 3416 3417 3418 Reschke [Page 60]3419 3420 3421 Documentation RFC2629 through XSLT August 20083422 3423 3424 3485 header PI pseudo-attribute 6 3486 highlight Extension Element 23, 35 3425 3487 HTML compliance 15 3426 3488 HTML LINK elements … … 3439 3501 Identifier DCMI property 16 3440 3502 include PI pseudo-attribute 7 3503 include-author Extension Element 35 3441 3504 include-references-in-index PI pseudo-attribute 8 3442 3505 index HTML LINK element 15 … … 3457 3520 link Extension Element 23, 35 3458 3521 linkmailto PI pseudo-attribute 6 3459 lt Extension Element 2 3, 353522 lt Extension Element 24, 35 3460 3523 3461 3524 M … … 3465 3528 MSXML4 13 3466 3529 3530 3531 3532 Reschke [Page 62] 3533 3534 3535 Documentation RFC2629 through XSLT October 2008 3536 3537 3467 3538 N 3468 3539 needLines PI pseudo-attribute 7 3540 note Extension Element 24, 35 3469 3541 3470 3542 O 3471 3543 Opera 13 3472 3473 3474 3475 Reschke [Page 61]3476 3477 3478 Documentation RFC2629 through XSLT August 20083479 3480 3544 3481 3545 P … … 3520 3584 inline 6 3521 3585 iprnotified 6 3586 3587 3588 3589 Reschke [Page 63] 3590 3591 3592 Documentation RFC2629 through XSLT October 2008 3593 3594 3522 3595 linkmailto 6 3523 3596 needLines 7 … … 3527 3600 slides 7 3528 3601 sortrefs 6 3529 3530 3531 3532 Reschke [Page 62]3533 3534 3535 Documentation RFC2629 through XSLT August 20083536 3537 3538 3602 strict 7 3539 3603 subcompact 7 … … 3573 3637 3574 3638 S 3575 Safari 13 3639 Safari 13-14 3576 3640 3.* 13 3577 3641 Saxon 13 3578 3642 Schema 35 3643 3644 3645 3646 Reschke [Page 64] 3647 3648 3649 Documentation RFC2629 through XSLT October 2008 3650 3651 3579 3652 sec-no-trailing-dots PI pseudo-attribute 8 3580 3653 slides PI pseudo-attribute 7 3581 3654 sortrefs PI pseudo-attribute 6 3582 source Extension Element 2 4, 353655 source Extension Element 25, 35 3583 3656 span Extension Element 35 3584 3657 strict PI pseudo-attribute 7 3585 3658 subcompact PI pseudo-attribute 7 3586 3587 3588 3589 Reschke [Page 63]3590 3591 3592 Documentation RFC2629 through XSLT August 20083593 3594 3595 3659 sup Extension Element 25, 35 3596 3660 support-rfc2731 PI pseudo-attribute 8 … … 3637 3701 3638 3702 3639 3640 3641 3642 3643 3644 3645 3646 Reschke [Page 64] 3647 3648 3649 Documentation RFC2629 through XSLT August 2008 3703 Reschke [Page 65] 3704 3705 3706 Documentation RFC2629 through XSLT October 2008 3650 3707 3651 3708 … … 3701 3758 3702 3759 3703 Reschke [Page 6 5]3704 3705 3760 Reschke [Page 66] 3761 3762 -
rfc2629xslt/rfc2629xslt.xml
r308 r329 30 30 </author> 31 31 32 <date month="August" year="2008"/> 32 <date month="October" year="2008"/> 33 33 34 <keyword>RFC2629</keyword> 34 35 <keyword>xml2rfc</keyword> … … 377 378 <t><iref item="Internet Explorer 6"/>Internet Explorer 6</t> 378 379 <t><iref item="Internet Explorer 7"/>Internet Explorer 7</t> 379 <t anchor="firefox3"><iref item="Mozilla"/><iref item="Firefox" subitem="3.*"/>Firefox 3. * (release candidate available)</t>380 <t anchor="firefox3"><iref item="Mozilla"/><iref item="Firefox" subitem="3.*"/>Firefox 3.0</t> 380 381 <t><iref item="Safari"/><iref item="Safari" subitem="3.*"/>Safari 3 (starting with version 3.0.4)</t> 382 <t><iref item="Google Chrome"/>Google Chrome (beta available)</t> 381 383 </list> 382 384 </t> … … 384 386 The following browsers are known not to work properly: 385 387 <list style="symbols"> 386 <t anchor="firefox12"><iref item="Mozilla"/><iref item="Firefox" subitem="1.*/2.*"/>Firefox 1.*/2.* (missing extension function - see change request at Mozilla BugZilla388 <t anchor="firefox12"><iref item="Mozilla"/><iref item="Firefox" subitem="1.*/2.*"/>Firefox 1.*/2.*: (missing extension function - see change request at Mozilla BugZilla 387 389 <eref target="http://bugzilla.mozilla.org/show_bug.cgi?id=193678">193678</eref>)</t> 388 390 <t anchor="opera"><iref item="Opera"/>Opera 9.21: execution fails, potentially 389 to a somewhat complex XPath expression (reported to Opera as bug 245725). Opera 9.5: 390 transformation appears to work, but CSS isn't getting applied (repored to Opera as bug 337388 on 2008-06-12).</t> 391 to a somewhat complex XPath expression (reported to Opera as bug 245725).</t> 392 <t>Opera 9.5 and 9.6: 393 transformation appears to work, but CSS isn't getting applied (reported to Opera as bug 337388 on 2008-06-12).</t> 391 394 <t anchor="safari"><iref item="Safari"/>Safari 2.* supports client-side XSLT as of MacOS X 10.4, 392 395 but misses required extension functions. A problem … … 687 690 </t> 688 691 </section> 692 693 <!--<section title="<include-author> element" anchor="ext.element.include-author"> 694 <iref item="Extension Elements" subitem="include-author" primary="true"/> 695 <iref item="include-author Extension Element" primary="true"/> 696 <x:anchor-alias value="include-author"/> 697 <t> 698 This element can be used to include an author's contact information in 699 place where a paragraphj (<t>) would be allowed otherwise. 700 </t> 701 </section> --> 689 702 690 703 <section title="<bcp14> element" anchor="ext.element.bcp14"> … … 785 798 </section> 786 799 800 <section title="<highlight> element" anchor="ext.element.highlight"> 801 <iref item="Extension Elements" subitem="highlight" primary="true"/> 802 <iref item="highlight Extension Element" primary="true"/> 803 <x:anchor-alias value="highlight"/> 804 <t> 805 Used to highlight text passages, currently only allowed in <artwork>. 806 </t> 807 <t> 808 <x:h>Note:</x:h> this is stripped when generating input for xml2rfc, 809 so please use with care. 810 </t> 811 </section> 812 787 813 <section title="<length-of> element" anchor="ext.element.length-of"> 788 814 <iref item="Extension Elements" subitem="length-of" primary="true"/> … … 840 866 <t> 841 867 Used for grouping multiple <t> elements into a single list item. 868 </t> 869 </section> 870 871 <section title="<note> element" anchor="ext.element.note"> 872 <iref item="Extension Elements" subitem="note" primary="true"/> 873 <iref item="note Extension Element" primary="true"/> 874 <x:anchor-alias value="note"/> 875 <t> 876 Can be used to add a note, usually indented by a few characters. 877 It should contain one or more <t> child elements. 842 878 </t> 843 879 </section> … … 941 977 "x<x:sup>y</x:sup>" by "x^y". 942 978 </t> 979 </section> 980 981 <section title="Extensions to Xml2rfc <artwork> element" anchor="ext-rfc2629.artwork"> 982 <t> 983 Sometimes, artwork occurs inside lists. To get it indent properly in xml2rfc's 984 text output, it needs to be indented in the source. This is sub-optimal, as 985 this whitespace will also appear in the HTML output, where it's already 986 indented due to HTML's semantics. 987 </t> 988 <t> 989 As a workaround, a "x:indent-with" attribute can be specified, containing 990 a string that will be prepended to each line when <spanx style="verb">clean-for-DTD.xslt</spanx> 991 is run (see <xref target="clean-for-dtd"/>). 992 </t> 943 993 </section> 944 994 … … 1215 1265 <t> 1216 1266 <x:<x:ref>link</x:ref>> elements get stripped. 1267 </t> 1268 <t> 1269 <x:<x:ref>note</x:ref>> elements get converted to 1270 indented text (through a <list> element). 1217 1271 </t> 1218 1272 <t> … … 1624 1678 <spanx style="strong">| <x:ref>x_bc</x:ref></spanx> 1625 1679 <spanx style="strong">| <x:ref>x_bt</x:ref></spanx> 1680 <spanx style="strong">| <x:ref>x_highlight</x:ref></spanx> 1626 1681 <spanx style="strong">| <x:ref>x_length-of</x:ref></spanx> 1627 1682 <spanx style="strong">| <x:ref>x_parse-xml</x:ref></spanx> … … 1718 1773 <spanx style="strong">| <x:ref>x_anchor-alias</x:ref></spanx> 1719 1774 <spanx style="strong">| <x:ref>x_blockquote</x:ref></spanx> 1775 <spanx style="strong">| <x:ref>x_include-author</x:ref></spanx> 1776 <spanx style="strong">| <x:ref>x_note</x:ref></spanx> 1720 1777 <spanx style="strong">| <x:ref>rdf_Description</x:ref></spanx>)* 1721 1778 } … … 1755 1812 } 1756 1813 1757 <spanx># Extend attribute set for <iref> (see <xref target="ext-rfc2629.iref"/>)</spanx> 1814 <spanx># Allow x:indent-with attribute on <artwork></spanx> 1815 attlist.artwork &= 1816 attribute x:indent-with { ATEXT }? 1817 1818 <spanx># Allow anchor attribute on <author></spanx> 1819 attlist.author &= 1820 attribute anchor { xsd:ID }? 1821 1822 <spanx># Extend attribute set for <iref> (see <xref target="ext-rfc2629.iref"/>)</spanx> 1758 1823 attlist.iref &= 1759 1824 attribute x:for-anchor { ATEXT }? … … 1770 1835 attlist.rfc &= 1771 1836 attribute grddl:transformation { ATEXT }?, 1772 attribute x:maturity-level { "proposed" | "draft" | "internet" } 1837 attribute x:maturity-level { "proposed" | "draft" | "internet" }? 1773 1838 1774 1839 <spanx># Extend attribute set for <section> (see <xref target="ext-rfc2629.section"/>)</spanx> … … 1800 1865 attribute value { TEXT }, 1801 1866 empty 1867 } 1868 1869 <spanx anchor="x_include-author"><iref item="include-author Extension Element"/><iref item="Extension Elements" subitem="include-author" 1870 /># Including Author information 1871 # (experimental)</spanx> 1872 <x:ref>x_include-author</x:ref> = 1873 element x:include-author { 1874 attribute target { xsd:IDREF } 1802 1875 } 1803 1876 … … 1892 1965 } 1893 1966 1967 <spanx anchor="x_highlight"><iref item="highlight Extension Element"/><iref item="Extension Elements" subitem="highlight" 1968 /># Heading (see <xref target="ext.element.highlight"/>)</spanx> 1969 <x:ref>x_highlight</x:ref> = 1970 element x:highlight { 1971 TEXT 1972 } 1973 1894 1974 <spanx anchor="x_length-of"><iref item="length-of Extension Element"/><iref item="Extension Elements" subitem="length-of" 1895 1975 /># Length Measurement (see <xref target="ext.element.length-of"/>)</spanx> … … 1920 2000 } 1921 2001 2002 <spanx anchor="x_note"><iref item="note Extension Element"/><iref item="Extension Elements" subitem="note" 2003 /># Note (see <xref target="ext.element.note"/>)</spanx> 2004 <x:ref>x_note</x:ref> = 2005 element x:note { 2006 t+ 2007 } 2008 1922 2009 <spanx anchor="x_parse-xml"><iref item="parse-xml Extension Element"/><iref item="Extension Elements" subitem="parse-xml" 1923 2010 /># Signal XML content (see <xref target="ext.element.parse-xml"/>)</spanx> … … 2702 2789 Add x:abnf-char-sequence. 2703 2790 </t> 2791 <t hangText="2008-08-21"> 2792 Add x:note. 2793 </t> 2794 <t hangText="2008-09-06"> 2795 Add experimental support for SVG images. 2796 </t> 2797 <t hangText="2008-09-17"> 2798 Add experimental support for x:author. Fix xref/@format=none. 2799 </t> 2800 <t hangText="2008-10-10"> 2801 Fix a huge bug, causing text content after an XML comment to be ignored. 2802 </t> 2704 2803 </list></t> 2705 2804 </section> -
rfc2629xslt/testcase.html
r308 r329 342 342 } 343 343 @top-right { 344 content: " March2008";344 content: "October 2008"; 345 345 } 346 346 @top-center { … … 369 369 } 370 370 } 371 </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" href="#rfc.section.12" title="12 References"><meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.387, 2008-08-08 13:06:55, XSLT vendor: SAXON 6.5.5 from Michael Kay http://saxon.sf.net/"><meta name="keywords" content="RFC2629, test case, xml2rfc"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.Creator" content="Reschke, J. F."></head><body><table summary="header information" class="header" border="0" cellpadding="1" cellspacing="1"><tr><td class="header left">RFC2629 test cases</td><td class="header right">J. F. Reschke</td></tr><tr><td class="header left"></td><td class="header right">greenbytes</td></tr><tr><td class="header left"></td><td class="header right">March 2008</td></tr></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 class="tocline0">1. <a href="#lists">Lists</a><ul class="toc"><li class="tocline1">1.1 <a href="#rfc.section.1.1">hanging list</a></li><li class="tocline1">1.2 <a href="#rfc.section.1.2">numbered list</a></li><li class="tocline1">1.3 <a href="#ordered.list.letters">ordered list (letters)</a></li><li class="tocline1">1.4 <a href="#rfc.section.1.4">no explicit counters</a></li><li class="tocline1">1.5 <a href="#rfc.section.1.5">with explicit counters</a></li><li class="tocline1">1.6 <a href="#rfc.section.1.6">Nested list</a></li><li class="tocline1">1.7 <a href="#rfc.section.1.7">list without style</a></li><li class="tocline1">1.8 <a href="#rfc.section.1.8">list with multiple paragraphs in a single list item</a></li></ul></li><li class="tocline0">2. <a href="#rfc.section.2">spanx</a></li><li class="tocline0">3. <a href="#rfc.section.3">Tables</a><ul class="toc"><li class="tocline1">3.1 <a href="#rfc.section.3.1">no borders</a></li><li class="tocline1">3.2 <a href="#rfc.section.3.2">borders around headers</a></li><li class="tocline1">3.3 <a href="#rfc.section.3.3">example from xml2rc README</a></li><li class="tocline1">3.4 <a href="#rfc.section.3.4">referencing tables</a></li><li class="tocline1">3.5 <a href="#rfc.section.3.5">table captions</a></li></ul></li><li class="tocline0">4. <a href="#rfc.section.4">Figures</a><ul class="toc"><li class="tocline1">4.1 <a href="#rfc.section.4.1">with preamble, no title...</a></li><li class="tocline1">4.2 <a href="#rfc.section.4.2">with postamble and title...</a></li><li class="tocline1">4.3 <a href="#rfc.section.4.3">Whitespace handling</a></li><li class="tocline1">4.4 <a href="#rfc.section.4.4">Whitespace around figures</a></li></ul></li><li class="tocline0">5. <a href="#refs">References</a><ul class="toc"><li class="tocline1">5.1 <a href="#rfc.section.5.1">xref with no content</a></li><li class="tocline1">5.2 <a href="#xref.with.no.content">xref with no content</a></li><li class="tocline1">5.3 <a href="#rfc.section.5.3">xref to named <t> element</a></li><li class="tocline1">5.4 <a href="#rfc.section.5.4">xref to named <t> element inside list</a></li><li class="tocline1">5.5 <a href="#rfc.section.5.5">xref with no auto-formatting</a></li><li class="tocline1">5.6 <a href="#rfc.section.5.6">xref with content and auto-formatting</a></li><li class="tocline1">5.7 <a href="#rfc.section.5.7">xref with content and no formatting</a></li><li class="tocline1">5.8 <a href="#rfc.section.5.8">xref with no content and anchor formatting</a></li><li class="tocline1">5.9 <a href="#rfc.section.5.9">eref with no content</a></li><li class="tocline1">5.10 <a href="#rfc.section.5.10">eref with content</a></li><li class="tocline1">5.11 <a href="#rfc.section.5.11">iref inside paragraph</a></li></ul></li><li class="tocline0">6. <a href="#rfc.section.6">Paragraph formatting</a></li><li class="tocline0">7. <a href="#rfc.section.7">Sections</a><ul class="toc"><li class="tocline1">7.1 <a href="#rfc.section.7.1">Subsection with TOC entry</a></li><li class="tocline2"><ul class="toc"><li class="tocline1">7.2.1 <a href="#rfc.section.7.2.1">Sub-subsection with TOC entry</a></li></ul></li></ul></li><li class="tocline0">8. <a href="#rfc.section.8">Comments</a></li><li class="tocline0">9. <a href="#rfc.section.9">Artwork width</a></li><li class="tocline0">10. <a href="#extensions">Extensions</a><ul class="toc"><li class="tocline1">10.1 <a href="#rfc.section.10.1">Markup in figure/artwork</a></li><li class="tocline1">10.2 <a href="#rfc.section.10.2">Measuring Lengths</a></li><li class="tocline1">10.3 <a href="#rfc.section.10.3">Quotations</a></li><li class="tocline1">10.4 <a href="#rfc.section.10.4">Subsections</a></li><li class="tocline1">10.5 <a href="#rfc.section.10.5">Box Drawing</a></li><li class="tocline1">10.6 <a href="#computed.reference.targets">Computed Reference Targets</a></li><li class="tocline1">10.7 <a href="#abnf.support">ABNF Support</a></li></ul></li><li class="tocline0">11. <a href="#rfc.section.11">Blank Lines</a></li><li class="tocline0">12. <a href="#rfc.references">References</a></li><li class="tocline0"><a href="#rfc.comments">Editorial Comments</a></li><li class="tocline0"><a href="#rfc.authors">Author's Address</a></li><li class="tocline0"><a href="#rfc.index">Index</a></li></ul><ul class="toc"><li class="tocline0"><a href="#rfc.figure.1">Figure 1: another figure</a></li></ul><hr class="noprint"><h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a id="lists" href="#lists">Lists</a></h1><h2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a> 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> 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> <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 style="list-style-type: lower-alpha"><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> 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> 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> Nested list</h2><p id="rfc.section.1.6.p.1"> </p><ol><li>One</li><li>Two <ol style="list-style-type: upper-alpha"><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> list without style</h2><dl class="empty"><dd>One</dd><dd>Two</dd><dd>Three</dd></dl><h2 id="rfc.section.1.8"><a href="#rfc.section.1.8">1.8</a> 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> 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> Tables</h1><div id="rfc.table.u.1"><p>The list of valid keywords are:</p><table summary="The list of valid keywords are:" class="tt full" 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>try to enforce the ID-nits conventions and DTD validity</td><td>a</td></tr><tr><td class="right">iprnotified</td><td class="center">no</td><td>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>bb bb</td></tr><tr><td class="right">compact</td><td class="center">no</td><td>when producing a txt/nroff file, try to conserve vertical whitespace</td><td>ccc ccc ccc</td></tr><tr><td class="right">subcompact</td><td class="center">compact</td><td>if compact is "yes", then setting this to "no" will make things a little less compact</td><td>dddd dddd dddd dddd</td></tr><tr><td class="right">needLines</td><td class="center">n/a</td><td>an integer hint indicating how many contiguous lines are needed at this point in the output</td><td>eeeee eeeee eeeee eeeee eeeee</td></tr><tr><td class="right">here come empty cells</td><td class="center"></td><td></td><td></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> no borders</h2><div id="rfc.table.1"><div id="tablenoborder"></div><p>The table below should appear with no borders.</p><table summary="The table below should appear with no borders." class="tt none" cellpadding="3" cellspacing="0"><thead><tr><th class="left">C1</th><th class="left">C2</th></tr></thead><tbody><tr><td>11</td><td>12</td></tr><tr><td>21</td><td>22</td></tr></tbody></table><p class="figure">Table 1: a table with no borders</p></div><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> borders around headers</h2><div id="rfc.table.u.2"><p>The table below should appear with borders just around the headers.</p><table summary="The table below should appear with borders just around the headers." class="tt headers" cellpadding="3" cellspacing="0"><thead><tr><th class="left">C1</th><th class="left">C2</th></tr></thead><tbody><tr><td>11</td><td>12</td></tr><tr><td>21</td><td>22</td></tr></tbody></table></div><h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> 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 summary="So,
 putting it all together, we have, e.g.," class="tt full" cellpadding="3" cellspacing="0"><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><p class="figure">Table 2</p></div><h2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> referencing tables</h2><p id="rfc.section.3.4.p.1"> <a href="#tablenoborder">Table 1</a> shows a table with no borders.</p><p id="rfc.section.3.4.p.2"> <a href="#tablenoborder">The table above</a> shows a table with no borders.</p><h2 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a> table captions</h2><div id="rfc.table.u.3"><p>No anchor, no title</p><table summary="No anchor, no title" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td>-</td><td>-</td></tr></tbody></table></div><div id="rfc.table.3"><div id="texttable1"></div><p>Anchor (not being referenced), no title</p><table summary="Anchor (not being referenced), no title" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td>yes</td><td>-</td></tr></tbody></table><p class="figure">Table 3</p></div><div id="rfc.table.4"><p>No anchor, with title</p><table summary="No anchor, with title" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td>-</td><td>"title"</td></tr></tbody></table><p class="figure">Table 4: title</p></div><div id="rfc.table.5"><div id="texttable2"></div><p>Both anchor and title</p><table summary="Both anchor and title" class="tt full" cellpadding="3" cellspacing="0"><thead><tr><th class="left">Anchor</th><th class="left">Title</th></tr></thead><tbody><tr><td>yes</td><td>"title"</td></tr></tbody></table><p class="figure">Table 5: title</p></div><hr class="noprint"><h1 id="rfc.section.4" class="np"><a href="#rfc.section.4">4.</a> Figures</h1><h2 id="rfc.section.4.1"><a href="#rfc.section.4.1">4.1</a> with preamble, no title...</h2><div id="rfc.figure.u.1"></div> <p>with preamble, no title...</p> <pre> +--+371 </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.400, 2008-10-10 14:04:14, XSLT vendor: SAXON 6.5.5 from Michael Kay http://saxon.sf.net/"><meta name="keywords" content="RFC2629, test case, xml2rfc"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.Creator" content="Reschke, J. F."></head><body><table summary="header information" class="header" border="0" cellpadding="1" cellspacing="1"><tr><td class="header left">RFC2629 test cases</td><td class="header right">J. F. Reschke</td></tr><tr><td class="header left"></td><td class="header right">greenbytes</td></tr><tr><td class="header left"></td><td class="header right">October 2008</td></tr></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 class="tocline0">1. <a href="#lists">Lists</a><ul class="toc"><li class="tocline1">1.1 <a href="#rfc.section.1.1">hanging list</a></li><li class="tocline1">1.2 <a href="#rfc.section.1.2">numbered list</a></li><li class="tocline1">1.3 <a href="#ordered.list.letters">ordered list (letters)</a></li><li class="tocline1">1.4 <a href="#rfc.section.1.4">no explicit counters</a></li><li class="tocline1">1.5 <a href="#rfc.section.1.5">with explicit counters</a></li><li class="tocline1">1.6 <a href="#rfc.section.1.6">Nested list</a></li><li class="tocline1">1.7 <a href="#rfc.section.1.7">list without style</a></li><li class="tocline1">1.8 <a href="#rfc.section.1.8">list with multiple paragraphs in a single list item</a></li></ul></li><li class="tocline0">2. <a href="#rfc.section.2">spanx</a></li><li class="tocline0">3. <a href="#rfc.section.3">Tables</a><ul class="toc"><li class="tocline1">3.1 <a href="#rfc.section.3.1">no borders</a></li><li class="tocline1">3.2 <a href="#rfc.section.3.2">borders around headers</a></li><li class="tocline1">3.3 <a href="#rfc.section.3.3">example from xml2rc README</a></li><li class="tocline1">3.4 <a href="#rfc.section.3.4">no column titles</a></li><li class="tocline1">3.5 <a href="#rfc.section.3.5">referencing tables</a></li><li class="tocline1">3.6 <a href="#rfc.section.3.6">table captions</a></li></ul></li><li class="tocline0">4. <a href="#rfc.section.4">Figures</a><ul class="toc"><li class="tocline1">4.1 <a href="#rfc.section.4.1">with preamble, no title...</a></li><li class="tocline1">4.2 <a href="#rfc.section.4.2">with postamble and title...</a></li><li class="tocline1">4.3 <a href="#rfc.section.4.3">Whitespace handling</a></li><li class="tocline1">4.4 <a href="#rfc.section.4.4">Whitespace around figures</a></li><li class="tocline1">4.5 <a href="#rfc.section.4.5">SVG</a></li></ul></li><li class="tocline0">5. <a href="#refs">References</a><ul class="toc"><li class="tocline1">5.1 <a href="#rfc.section.5.1">xref with no content</a></li><li class="tocline1">5.2 <a href="#xref.with.no.content">xref with no content</a></li><li class="tocline1">5.3 <a href="#rfc.section.5.3">xref to named <t> element</a></li><li class="tocline1">5.4 <a href="#rfc.section.5.4">xref to named <t> element inside list</a></li><li class="tocline1">5.5 <a href="#rfc.section.5.5">xref with no auto-formatting</a></li><li class="tocline1">5.6 <a href="#rfc.section.5.6">xref with content and auto-formatting</a></li><li class="tocline1">5.7 <a href="#rfc.section.5.7">xref with content and no formatting</a></li><li class="tocline1">5.8 <a href="#rfc.section.5.8">xref with content and 'none' formatting</a></li><li class="tocline1">5.9 <a href="#rfc.section.5.9">xref with no content and anchor formatting</a></li><li class="tocline1">5.10 <a href="#rfc.section.5.10">eref with no content</a></li><li class="tocline1">5.11 <a href="#rfc.section.5.11">eref with content</a></li><li class="tocline1">5.12 <a href="#rfc.section.5.12">iref inside paragraph</a></li></ul></li><li class="tocline0">6. <a href="#rfc.section.6">Paragraph formatting</a></li><li class="tocline0">7. <a href="#rfc.section.7">Sections</a><ul class="toc"><li class="tocline1">7.1 <a href="#rfc.section.7.1">Subsection with TOC entry</a></li><li class="tocline2"><ul class="toc"><li class="tocline1">7.2.1 <a href="#rfc.section.7.2.1">Sub-subsection with TOC entry</a></li></ul></li></ul></li><li class="tocline0">8. <a href="#rfc.section.8">Comments</a></li><li class="tocline0">9. <a href="#rfc.section.9">Artwork width</a></li><li class="tocline0">10. <a href="#extensions">Extensions</a><ul class="toc"><li class="tocline1">10.1 <a href="#rfc.section.10.1">Markup in figure/artwork</a></li><li class="tocline1">10.2 <a href="#rfc.section.10.2">Measuring Lengths</a></li><li class="tocline1">10.3 <a href="#rfc.section.10.3">Quotations</a></li><li class="tocline1">10.4 <a href="#rfc.section.10.4">Subsections</a></li><li class="tocline1">10.5 <a href="#rfc.section.10.5">Box Drawing</a></li><li class="tocline1">10.6 <a href="#computed.reference.targets">Computed Reference Targets</a></li><li class="tocline1">10.7 <a href="#abnf.support">ABNF Support</a></li></ul></li><li class="tocline0">11. <a href="#rfc.section.11">Blank Lines</a></li><li class="tocline0">12. <a href="#rfc.section.12">Other</a><ul class="toc"><li class="tocline1">12.1 <a href="#rfc.section.12.1">Comments in Text</a></li></ul></li><li class="tocline0">13. <a href="#rfc.references">References</a></li><li class="tocline0"><a href="#rfc.comments">Editorial Comments</a></li><li class="tocline0"><a href="#rfc.authors">Author's Address</a></li><li class="tocline0"><a href="#rfc.index">Index</a></li></ul><ul class="toc"><li class="tocline0"><a href="#rfc.figure.1">Figure 1: another figure</a></li></ul><hr class="noprint"><h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a id="lists" href="#lists">Lists</a></h1><h2 id="rfc.section.1.1"><a href="#rfc.section.1.1">1.1</a> 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> 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> <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 style="list-style-type: lower-alpha"><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> 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> 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> Nested list</h2><p id="rfc.section.1.6.p.1"> </p><ol><li>One</li><li>Two <ol style="list-style-type: upper-alpha"><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> list without style</h2><dl class="empty"><dd>One</dd><dd>Two</dd><dd>Three</dd></dl><h2 id="rfc.section.1.8"><a href="#rfc.section.1.8">1.8</a> 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> 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> Tables</h1><div id="rfc.table.u.1"><p>The list of valid keywords are:</p><table summary="The list of valid keywords are:" class="tt full" 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>try to enforce the ID-nits conventions and DTD validity</td><td>a</td></tr><tr><td class="right">iprnotified</td><td class="center">no</td><td>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>bb bb</td></tr><tr><td class="right">compact</td><td class="center">no</td><td>when producing a txt/nroff file, try to conserve vertical whitespace</td><td>ccc ccc ccc</td></tr><tr><td class="right">subcompact</td><td class="center">compact</td><td>if compact is "yes", then setting this to "no" will make things a little less compact</td><td>dddd dddd dddd dddd</td></tr><tr><td class="right">needLines</td><td class="center">n/a</td><td>an integer hint indicating how many contiguous lines are needed at this point in the output</td><td>eeeee eeeee eeeee eeeee eeeee</td></tr><tr><td class="right">here come empty cells</td><td class="center"></td><td></td><td></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> no borders</h2><div id="rfc.table.1"><div id="tablenoborder"></div><p>The table below should appear with no borders.</p><table summary="The table below should appear with no borders." class="tt none" cellpadding="3" cellspacing="0"><thead><tr><th class="left">C1</th><th class="left">C2</th></tr></thead><tbody><tr><td>11</td><td>12</td></tr><tr><td>21</td><td>22</td></tr></tbody></table><p class="figure">Table 1: a table with no borders</p></div><h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> borders around headers</h2><div id="rfc.table.u.2"><p>The table below should appear with borders just around the headers.</p><table summary="The table below should appear with borders just around the headers." class="tt headers" cellpadding="3" cellspacing="0"><thead><tr><th class="left">C1</th><th class="left">C2</th></tr></thead><tbody><tr><td>11</td><td>12</td></tr><tr><td>21</td><td>22</td></tr></tbody></table></div><h2 id="rfc.section.3.3"><a href="#rfc.section.3.3">3.3</a> 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 summary="So,
 putting it all together, we have, e.g.," class="tt full" cellpadding="3" cellspacing="0"><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><p class="figure">Table 2</p></div><h2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> no column titles</h2><div id="rfc.table.3"><div id="tablenotitles"></div><p>The table below should appear with no titles.</p><table summary="The table below should appear with no titles." class="tt full" cellpadding="3" cellspacing="0"><tbody><tr><td>11</td><td>12</td></tr><tr><td>21</td><td>22</td></tr></tbody></t