Changeset 571 for rfc2629xslt/rfc2629toFO.xslt
- Timestamp:
- 08/04/09 15:03:33 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
rfc2629xslt/rfc2629toFO.xslt
r446 r571 46 46 <xsl:import href="rfc2629.xslt" /> 47 47 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 48 56 <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/> 49 57 … … 59 67 <xsl:attribute name="font-family">serif</xsl:attribute> 60 68 <xsl:attribute name="font-size">10pt</xsl:attribute> 61 <xsl:attribute name="line-height">12pt</xsl:attribute>62 69 </xsl:attribute-set> 63 70 … … 105 112 106 113 <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> 108 120 </xsl:attribute-set> 109 121 … … 875 887 <fo:region-after extent="1cm" region-name="footer"/> 876 888 </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"> 878 890 <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"/> 881 893 </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"> 883 900 <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"/> 886 908 </fo:simple-page-master> 887 909 <fo:page-sequence-master master-name="sequence"> 888 910 <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> 890 935 </fo:page-sequence-master> 891 936 </fo:layout-master-set> … … 915 960 <xsl:variable name="lang"><xsl:call-template name="get-lang"/></xsl:variable> 916 961 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> 918 966 919 967 <xsl:call-template name="insertHeader" /> … … 926 974 927 975 <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> 929 980 <xsl:call-template name="insertHeader" /> 930 981 <xsl:call-template name="insertFooter" /> … … 1632 1683 1633 1684 <!-- copyright statements --> 1634 <xsl:if test="not($xml2rfc-private) ">1685 <xsl:if test="not($xml2rfc-private) and not($no-copylong)"> 1635 1686 <xsl:call-template name="insert-toc-line"> 1636 1687 <xsl:with-param name="target" select="concat($anchor-prefix,'.ipr')"/> … … 1834 1885 1835 1886 <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"> 1846 1898 <fo:block space-after=".5cm" /> 1847 1899 <fo:table width="100%" text-align="center" table-layout="fixed"> … … 1870 1922 </fo:table> 1871 1923 </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 1872 1953 </xsl:template> 1873 1954 1874 1955 <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"> 1883 1965 <fo:table text-align="center" width="100%" table-layout="fixed"> 1884 1966 <fo:table-column column-width="proportional-column-width({(string-length($left)+string-length($right)) div 2})" /> … … 1904 1986 </fo:table> 1905 1987 </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 1906 2014 </xsl:template> 1907 2015 … … 1982 2090 </xsl:if> 1983 2091 1984 <xsl:if test="not($xml2rfc-private) ">2092 <xsl:if test="not($xml2rfc-private) and not($no-copylong)"> 1985 2093 <!-- copyright statements --> 1986 2094 <fo:bookmark internal-destination="{concat($anchor-prefix,'.ipr')}"> … … 2408 2516 <xsl:template match="x:dfn"> 2409 2517 <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> 2410 2521 <xsl:apply-templates/> 2411 2522 </fo:wrapper>
Note: See TracChangeset
for help on using the changeset viewer.