Ignore:
Timestamp:
Apr 8, 2009, 8:03:33 AM (11 years ago)
Author:
julian.reschke@…
Message:

Update to latest version of rfc2629.xslt.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rfc2629xslt/rfc2629toFO.xslt

    r446 r571  
    4646<xsl:import href="rfc2629.xslt" />
    4747
     48<!-- switch for doublesided layout -->
     49
     50<xsl:param name="xml2rfc-ext-duplex"
     51  select="substring-after(
     52      translate(/processing-instruction('rfc')[contains(.,'sortrefs=')], concat($quote-chars,' '), ''),
     53        'ext-duplex=')"
     54/>
     55
    4856<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
    4957
     
    5967        <xsl:attribute name="font-family">serif</xsl:attribute>
    6068        <xsl:attribute name="font-size">10pt</xsl:attribute>
    61         <xsl:attribute name="line-height">12pt</xsl:attribute>
    6269</xsl:attribute-set>
    6370
     
    105112
    106113<xsl:attribute-set name="newpage">
    107   <xsl:attribute name="page-break-before">always</xsl:attribute>
     114  <xsl:attribute name="page-break-before">
     115    <xsl:choose>
     116      <xsl:when test="$xml2rfc-ext-duplex='yes'">right</xsl:when>
     117      <xsl:otherwise>always</xsl:otherwise>
     118    </xsl:choose>
     119  </xsl:attribute>
    108120</xsl:attribute-set>
    109121
     
    875887            <fo:region-after extent="1cm" region-name="footer"/>
    876888      </fo:simple-page-master>
    877                         <fo:simple-page-master master-name="other-pages" xsl:use-attribute-sets="page">
     889                        <fo:simple-page-master master-name="other-pages-right" xsl:use-attribute-sets="page">
    878890        <fo:region-body margin-bottom="1in" margin-top="1in" />
    879                                 <fo:region-before extent="1cm" region-name="header"/>
    880                                 <fo:region-after extent="1cm" region-name="footer"/>
     891                                <fo:region-before extent="1cm" region-name="header-right"/>
     892                                <fo:region-after extent="1cm" region-name="footer-right"/>
    881893      </fo:simple-page-master>
    882                         <fo:simple-page-master master-name="other-pages-dc" xsl:use-attribute-sets="page">
     894                        <fo:simple-page-master master-name="other-pages-left" xsl:use-attribute-sets="page">
     895        <fo:region-body margin-bottom="1in" margin-top="1in" />
     896                                <fo:region-before extent="1cm" region-name="header-left"/>
     897                                <fo:region-after extent="1cm" region-name="footer-left"/>
     898      </fo:simple-page-master>
     899                        <fo:simple-page-master master-name="other-pages-dc-right" xsl:use-attribute-sets="page">
    883900        <fo:region-body margin-bottom="1in" margin-top="1in" column-count="2"/>
    884                                 <fo:region-before extent="1cm" region-name="header"/>
    885                                 <fo:region-after extent="1cm" region-name="footer"/>
     901                                <fo:region-before extent="1cm" region-name="header-right"/>
     902                                <fo:region-after extent="1cm" region-name="footer-right"/>
     903      </fo:simple-page-master>
     904                        <fo:simple-page-master master-name="other-pages-dc-left" xsl:use-attribute-sets="page">
     905        <fo:region-body margin-bottom="1in" margin-top="1in" column-count="2"/>
     906                                <fo:region-before extent="1cm" region-name="header-left"/>
     907                                <fo:region-after extent="1cm" region-name="footer-left"/>
    886908      </fo:simple-page-master>
    887909                        <fo:page-sequence-master master-name="sequence"> 
    888910                                <fo:single-page-master-reference master-reference="first-page" />
    889                                 <fo:repeatable-page-master-reference master-reference="other-pages" /> 
     911        <xsl:choose>
     912          <xsl:when test="$xml2rfc-ext-duplex='yes'">
     913            <fo:repeatable-page-master-alternatives>
     914              <fo:conditional-page-master-reference odd-or-even="even" master-reference="other-pages-left"/>
     915              <fo:conditional-page-master-reference odd-or-even="odd" master-reference="other-pages-right"/>
     916            </fo:repeatable-page-master-alternatives>
     917          </xsl:when>
     918          <xsl:otherwise>
     919                                <fo:repeatable-page-master-reference master-reference="other-pages-right" /> 
     920          </xsl:otherwise>
     921        </xsl:choose>
     922                        </fo:page-sequence-master>
     923                        <fo:page-sequence-master master-name="sequence-dc"> 
     924        <xsl:choose>
     925          <xsl:when test="$xml2rfc-ext-duplex='yes'">
     926            <fo:repeatable-page-master-alternatives>
     927              <fo:conditional-page-master-reference odd-or-even="even" master-reference="other-pages-dc-left"/>
     928              <fo:conditional-page-master-reference odd-or-even="odd" master-reference="other-pages-dc-right"/>
     929            </fo:repeatable-page-master-alternatives>
     930          </xsl:when>
     931          <xsl:otherwise>
     932                                <fo:repeatable-page-master-reference master-reference="other-pages-dc-right" /> 
     933          </xsl:otherwise>
     934        </xsl:choose>
    890935                        </fo:page-sequence-master>
    891936                </fo:layout-master-set>
     
    915960    <xsl:variable name="lang"><xsl:call-template name="get-lang"/></xsl:variable>
    916961
    917                 <fo:page-sequence master-reference="sequence" language="{$lang}">
     962                <fo:page-sequence master-reference="sequence" language="{$lang}" force-page-count="even">
     963      <xsl:if test="$xml2rfc-ext-duplex='yes'">
     964        <xsl:attribute name="force-page-count">even</xsl:attribute>
     965      </xsl:if>
    918966
    919967      <xsl:call-template name="insertHeader" />
     
    926974   
    927975    <xsl:if test="$has-index">
    928       <fo:page-sequence master-reference="other-pages-dc" language="{$lang}">
     976      <fo:page-sequence master-reference="sequence-dc" language="{$lang}">
     977        <xsl:if test="$xml2rfc-ext-duplex='yes'">
     978          <xsl:attribute name="force-page-count">even</xsl:attribute>
     979        </xsl:if>
    929980        <xsl:call-template name="insertHeader" />
    930981        <xsl:call-template name="insertFooter" />
     
    16321683
    16331684  <!-- copyright statements -->
    1634   <xsl:if test="not($xml2rfc-private)">
     1685  <xsl:if test="not($xml2rfc-private) and not($no-copylong)">
    16351686    <xsl:call-template name="insert-toc-line">
    16361687      <xsl:with-param name="target" select="concat($anchor-prefix,'.ipr')"/>
     
    18341885
    18351886<xsl:template name="insertHeader">
    1836   <fo:static-content flow-name="header">
    1837     <xsl:variable name="left">
    1838       <xsl:call-template name="get-header-left" />
    1839     </xsl:variable>
    1840     <xsl:variable name="center">
    1841       <xsl:call-template name="get-header-center" />
    1842     </xsl:variable>
    1843     <xsl:variable name="right">
    1844       <xsl:call-template name="get-header-right" />
    1845     </xsl:variable>
     1887  <xsl:variable name="left">
     1888    <xsl:call-template name="get-header-left" />
     1889  </xsl:variable>
     1890  <xsl:variable name="center">
     1891    <xsl:call-template name="get-header-center" />
     1892  </xsl:variable>
     1893  <xsl:variable name="right">
     1894    <xsl:call-template name="get-header-right" />
     1895  </xsl:variable>
     1896
     1897  <fo:static-content flow-name="header-right">
    18461898    <fo:block space-after=".5cm" />
    18471899    <fo:table width="100%" text-align="center" table-layout="fixed">
     
    18701922    </fo:table>
    18711923  </fo:static-content>
     1924
     1925  <fo:static-content flow-name="header-left">
     1926    <fo:block space-after=".5cm" />
     1927    <fo:table width="100%" text-align="center" table-layout="fixed">
     1928      <fo:table-column column-width="proportional-column-width({(string-length($left)+string-length($right)) div 2})" />
     1929      <fo:table-column column-width="proportional-column-width({string-length($center)})" />
     1930      <fo:table-column column-width="proportional-column-width({(string-length($left)+string-length($right)) div 2})" />
     1931      <fo:table-body>
     1932        <fo:table-row>
     1933          <fo:table-cell text-align="start">
     1934            <fo:block>
     1935              <xsl:value-of select="$right" />
     1936                </fo:block>
     1937          </fo:table-cell>
     1938          <fo:table-cell text-align="center">
     1939            <fo:block>
     1940              <xsl:value-of select="$center" />
     1941                </fo:block>
     1942          </fo:table-cell>
     1943          <fo:table-cell>
     1944            <fo:block text-align="end">
     1945              <xsl:value-of select="$left" />
     1946                </fo:block>
     1947          </fo:table-cell>
     1948        </fo:table-row>
     1949      </fo:table-body>
     1950    </fo:table>
     1951  </fo:static-content>
     1952
    18721953</xsl:template>
    18731954
    18741955<xsl:template name="insertFooter">
    1875   <fo:static-content flow-name="footer">
    1876     <xsl:variable name="left">
    1877       <xsl:call-template name="get-author-summary" />
    1878     </xsl:variable>
    1879     <xsl:variable name="center">
    1880       <xsl:call-template name="get-category-long" />
    1881     </xsl:variable>
    1882     <xsl:variable name="right">[Page 999]</xsl:variable>
     1956  <xsl:variable name="left">
     1957    <xsl:call-template name="get-author-summary" />
     1958  </xsl:variable>
     1959  <xsl:variable name="center">
     1960    <xsl:call-template name="get-category-long" />
     1961  </xsl:variable>
     1962  <xsl:variable name="right">[Page 999]</xsl:variable>
     1963
     1964  <fo:static-content flow-name="footer-right">
    18831965    <fo:table text-align="center" width="100%" table-layout="fixed">
    18841966      <fo:table-column column-width="proportional-column-width({(string-length($left)+string-length($right)) div 2})" />
     
    19041986    </fo:table>
    19051987  </fo:static-content>
     1988
     1989  <fo:static-content flow-name="footer-left">
     1990    <fo:table text-align="center" width="100%" table-layout="fixed">
     1991      <fo:table-column column-width="proportional-column-width({(string-length($left)+string-length($right)) div 2})" />
     1992      <fo:table-column column-width="proportional-column-width({string-length($center)})" />
     1993      <fo:table-column column-width="proportional-column-width({(string-length($left)+string-length($right)) div 2})" />
     1994      <fo:table-body>
     1995        <fo:table-row>
     1996          <fo:table-cell>
     1997            <fo:block text-align="start">[Page <fo:page-number />]</fo:block>
     1998          </fo:table-cell>
     1999          <fo:table-cell>
     2000            <fo:block text-align="center">
     2001              <xsl:value-of select="$center" />
     2002                  </fo:block>
     2003          </fo:table-cell>
     2004          <fo:table-cell>
     2005            <fo:block text-align="end">
     2006              <xsl:value-of select="$left" />
     2007                  </fo:block>
     2008          </fo:table-cell>
     2009        </fo:table-row>
     2010      </fo:table-body>
     2011    </fo:table>
     2012  </fo:static-content>
     2013
    19062014</xsl:template>
    19072015
     
    19822090  </xsl:if>
    19832091
    1984   <xsl:if test="not($xml2rfc-private)">
     2092  <xsl:if test="not($xml2rfc-private) and not($no-copylong)">
    19852093    <!-- copyright statements -->
    19862094    <fo:bookmark internal-destination="{concat($anchor-prefix,'.ipr')}">
     
    24082516<xsl:template match="x:dfn">
    24092517  <fo:wrapper font-style="italic">
     2518    <xsl:if test="not(preceding-sibling::x:dfn) and count(following-sibling::list)=1">
     2519      <xsl:attribute name="keep-with-next">always</xsl:attribute>
     2520    </xsl:if>
    24102521    <xsl:apply-templates/>
    24112522  </fo:wrapper>
Note: See TracChangeset for help on using the changeset viewer.