Ignore:
Timestamp:
01/02/14 08:51:13 (6 years ago)
Author:
julian.reschke@…
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rfc2629xslt/rfc2629toFO.xslt

    r2280 r2610  
    22    XSLT transformation from RFC2629 XML format to XSL-FO
    33     
    4     Copyright (c) 2006-2012, Julian Reschke (julian.reschke@greenbytes.de)
     4    Copyright (c) 2006-2014, Julian Reschke (julian.reschke@greenbytes.de)
    55    All rights reserved.
    66
     
    4646<xsl:import href="rfc2629.xslt" />
    4747
    48 <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
     48<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    4949
    5050<!-- page sizes as per <http://tools.ietf.org/html/draft-rfc-editor-rfc2223bis-08#section-3.2> -->
     
    615615</xsl:template>
    616616
    617 <xsl:template match="list[starts-with(@style,'format ') and (contains(@style,'%c') or contains(@style,'%d'))]/t" priority="1">
     617<xsl:template match="list[starts-with(@style,'format ')]/t" priority="1">
    618618  <xsl:variable name="list" select=".." />
    619619  <xsl:variable name="format" select="substring-after(../@style,'format ')" />
     
    632632    <fo:list-item-label end-indent="label-end()">
    633633      <fo:block>
    634         <xsl:choose>
    635           <xsl:when test="contains($format,'%c')">
    636             <xsl:value-of select="substring-before($format,'%c')"/><xsl:number value="$pos" format="a" /><xsl:value-of select="substring-after($format,'%c')"/>
    637           </xsl:when>
    638           <xsl:otherwise>
    639             <xsl:value-of select="substring-before($format,'%d')"/><xsl:number value="$pos" format="1" /><xsl:value-of select="substring-after($format,'%d')"/>
    640           </xsl:otherwise>
    641         </xsl:choose>
     634        <xsl:call-template name="expand-format-percent">
     635          <xsl:with-param name="format" select="$format"/>
     636          <xsl:with-param name="pos" select="$pos"/>
     637        </xsl:call-template>
    642638      </fo:block>
    643639    </fo:list-item-label>
     
    11871183      <xsl:value-of select="$refnum"/>
    11881184    </xsl:when>
     1185    <xsl:when test="@format='none'">
     1186      <!-- Nothing to do -->
     1187    </xsl:when>
    11891188    <xsl:when test="@format='title'">
    11901189      <xsl:value-of select="$to/@title"/>
     
    12761275<xsl:template match="xref[not(node())]">
    12771276
    1278   <xsl:variable name="target" select="@target" />
     1277  <xsl:variable name="xref" select="."/>
     1278  <xsl:variable name="target" select="@target"/>
    12791279  <xsl:variable name="anchor"><xsl:value-of select="$anchor-prefix"/>.xref.<xsl:value-of select="@target"/>.<xsl:number level="any" count="xref[@target=$target]"/></xsl:variable>
    12801280  <xsl:variable name="node" select="//*[@anchor=$target]" />
     
    13161316            <xsl:value-of select="$figcnt" />
    13171317          </xsl:when>
     1318          <xsl:when test="@format='none'">
     1319            <!-- Nothing to do -->
     1320          </xsl:when>
    13181321          <xsl:when test="@format='title'">
    13191322            <xsl:value-of select="$node/@title" />
     
    13371340          <xsl:when test="@format='counter'">
    13381341            <xsl:value-of select="$tabcnt" />
     1342          </xsl:when>
     1343          <xsl:when test="@format='none'">
     1344            <!-- Nothing to do -->
    13391345          </xsl:when>
    13401346          <xsl:when test="@format='title'">
     
    13971403            </xsl:choose>
    13981404          </xsl:when>
     1405          <xsl:when test="@format='none'">
     1406            <!-- Nothing to do -->
     1407          </xsl:when>
    13991408          <xsl:when test="@format='title'">
    14001409            <xsl:value-of select="$node/@title" />
     
    14181427          <xsl:when test="@format='counter'">
    14191428            <xsl:value-of select="$name" />
     1429          </xsl:when>
     1430          <xsl:when test="@format='none'">
     1431            <!-- Nothing to do -->
    14201432          </xsl:when>
    14211433          <xsl:when test="@format='title'">
     
    15031515
    15041516      <xsl:if test="$sec='' or ($fmt!='sec' and $fmt!='number')">
    1505         <fo:basic-link internal-destination="{$target}" xsl:use-attribute-sets="internal-link">
    1506           <xsl:if test="$xml2rfc-ext-include-references-in-index='yes'">
    1507             <xsl:attribute name="id">
    1508               <xsl:value-of select="$anchor"/>
    1509             </xsl:attribute>
    1510             <xsl:attribute name="index-key">
    1511               <xsl:value-of select="concat('xrefitem=',@target)"/>
    1512             </xsl:attribute>
    1513             <xsl:if test="$sec!=''">
    1514               <fo:wrapper>
     1517        <xsl:choose>
     1518          <xsl:when test="$xref/@format='none'">
     1519            <!-- Nothing to do -->
     1520          </xsl:when>
     1521          <xsl:otherwise>
     1522            <fo:basic-link internal-destination="{$target}" xsl:use-attribute-sets="internal-link">
     1523              <xsl:if test="$xml2rfc-ext-include-references-in-index='yes'">
     1524                <xsl:attribute name="id">
     1525                  <xsl:value-of select="$anchor"/>
     1526                </xsl:attribute>
    15151527                <xsl:attribute name="index-key">
    1516                   <xsl:value-of select="concat('xrefitem=',@target,'#',$sec)"/>
     1528                  <xsl:value-of select="concat('xrefitem=',@target)"/>
    15171529                </xsl:attribute>
    1518               </fo:wrapper>
    1519             </xsl:if>
    1520           </xsl:if>
    1521           <xsl:variable name="val">
    1522             <xsl:call-template name="referencename">
    1523               <xsl:with-param name="node" select="$node" />
    1524             </xsl:call-template>
    1525           </xsl:variable>
    1526           <xsl:choose>
    1527             <xsl:when test="$fmt='anchor'">
    1528               <!-- remove brackets -->
    1529               <xsl:value-of select="substring($val,2,string-length($val)-2)"/>
    1530             </xsl:when>
    1531             <xsl:otherwise>
    1532               <xsl:value-of select="$val"/>
    1533             </xsl:otherwise>
    1534           </xsl:choose>
    1535         </fo:basic-link>
     1530                <xsl:if test="$sec!=''">
     1531                  <fo:wrapper>
     1532                    <xsl:attribute name="index-key">
     1533                      <xsl:value-of select="concat('xrefitem=',@target,'#',$sec)"/>
     1534                    </xsl:attribute>
     1535                  </fo:wrapper>
     1536                </xsl:if>
     1537              </xsl:if>
     1538              <xsl:variable name="val">
     1539                <xsl:call-template name="referencename">
     1540                  <xsl:with-param name="node" select="$node" />
     1541                </xsl:call-template>
     1542              </xsl:variable>
     1543              <xsl:choose>
     1544                <xsl:when test="$fmt='anchor' or $xref/@format='counter'">
     1545                  <!-- remove brackets -->
     1546                  <xsl:value-of select="substring($val,2,string-length($val)-2)"/>
     1547                </xsl:when>
     1548                <xsl:when test="$xref/@format='title'">
     1549                  <xsl:value-of select="$node/front/title"/>
     1550                </xsl:when>
     1551                <xsl:otherwise>
     1552                  <xsl:value-of select="$val"/>
     1553                </xsl:otherwise>
     1554              </xsl:choose>
     1555            </fo:basic-link>
     1556          </xsl:otherwise>
     1557        </xsl:choose>
    15361558      </xsl:if>
    15371559
     
    21942216<xsl:template match="ed:link" />
    21952217
     2218<xsl:template match="x:feedback" />
    21962219
    21972220<xsl:template match="node()" mode="bookmarks">
     
    24912514        </xsl:if>
    24922515        <xsl:variable name="columns" select="count(ttcol)" />
    2493         <xsl:for-each select="c[$columns=1 or (position() mod $columns) = 1]">
    2494           <fo:table-row>
    2495             <xsl:for-each select=". | following-sibling::c[position() &lt; $columns]">
    2496               <fo:table-cell padding-left="0.5em" padding-right="0.5em">
    2497                 <xsl:if test="$style='full' or $style='headers'">
    2498                   <xsl:attribute name="border-left-style">solid</xsl:attribute>
    2499                   <xsl:attribute name="border-right-style">solid</xsl:attribute>
    2500                   <xsl:attribute name="border-left-width">thin</xsl:attribute>
    2501                   <xsl:attribute name="border-right-width">thin</xsl:attribute>
    2502                 </xsl:if>
    2503                 <xsl:if test="$style='full'">
    2504                   <xsl:attribute name="border-top-style">solid</xsl:attribute>
    2505                   <xsl:attribute name="border-bottom-style">solid</xsl:attribute>
    2506                   <xsl:attribute name="border-top-width">thin</xsl:attribute>
    2507                   <xsl:attribute name="border-bottom-width">thin</xsl:attribute>
    2508                 </xsl:if>
    2509                 <fo:block>
    2510                   <xsl:variable name="pos" select="position()" />
    2511                   <xsl:variable name="col" select="../ttcol[position() = $pos]" />
    2512                   <xsl:if test="$col/@align">
    2513                     <xsl:attribute name="text-align"><xsl:value-of select="$col/@align" /></xsl:attribute>
    2514                   </xsl:if>
    2515                   <xsl:apply-templates select="node()" />
    2516                 </fo:block>
    2517               </fo:table-cell>
     2516        <xsl:choose>
     2517          <xsl:when test="not(c)">
     2518            <!-- special case: empty body -->
     2519            <fo:table-cell><fo:block/></fo:table-cell>
     2520          </xsl:when>
     2521          <xsl:otherwise>
     2522            <xsl:for-each select="c[$columns=1 or (position() mod $columns) = 1]">
     2523              <fo:table-row>
     2524                <xsl:for-each select=". | following-sibling::c[position() &lt; $columns]">
     2525                  <fo:table-cell padding-left="0.5em" padding-right="0.5em">
     2526                    <xsl:if test="$style='full' or $style='headers'">
     2527                      <xsl:attribute name="border-left-style">solid</xsl:attribute>
     2528                      <xsl:attribute name="border-right-style">solid</xsl:attribute>
     2529                      <xsl:attribute name="border-left-width">thin</xsl:attribute>
     2530                      <xsl:attribute name="border-right-width">thin</xsl:attribute>
     2531                    </xsl:if>
     2532                    <xsl:if test="$style='full'">
     2533                      <xsl:attribute name="border-top-style">solid</xsl:attribute>
     2534                      <xsl:attribute name="border-bottom-style">solid</xsl:attribute>
     2535                      <xsl:attribute name="border-top-width">thin</xsl:attribute>
     2536                      <xsl:attribute name="border-bottom-width">thin</xsl:attribute>
     2537                    </xsl:if>
     2538                    <fo:block>
     2539                      <xsl:variable name="pos" select="position()" />
     2540                      <xsl:variable name="col" select="../ttcol[position() = $pos]" />
     2541                      <xsl:if test="$col/@align">
     2542                        <xsl:attribute name="text-align"><xsl:value-of select="$col/@align" /></xsl:attribute>
     2543                      </xsl:if>
     2544                      <xsl:apply-templates select="node()" />
     2545                    </fo:block>
     2546                  </fo:table-cell>
     2547                </xsl:for-each>
     2548              </fo:table-row>
    25182549            </xsl:for-each>
    2519           </fo:table-row>
    2520         </xsl:for-each>
     2550          </xsl:otherwise>
     2551        </xsl:choose>
    25212552      </fo:table-body>
    25222553    </fo:table>
Note: See TracChangeset for help on using the changeset viewer.