From: <pau...@us...> - 2011-02-28 00:56:29
|
Author: paultremblay Date: 2011-02-28 01:56:20 +0100 (Mon, 28 Feb 2011) New Revision: 6971 Modified: trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/error.xsl trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/header_footer.xsl trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/page.xsl trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/parameters.xsl trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/root.xsl trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/util.xsl Log: Templates to generated custom headers and footers. Modified: trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/error.xsl =================================================================== --- trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/error.xsl 2011-02-28 00:55:03 UTC (rev 6970) +++ trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/error.xsl 2011-02-28 00:56:20 UTC (rev 6971) @@ -72,7 +72,7 @@ </xsl:call-template> </xsl:if> - <xsl:if test= "$page-layout != 'simple' and $page-layout != 'odd-even' + <xsl:if test= "$page-layout != '' and $page-layout != 'simple' and $page-layout != 'odd-even' and $page-layout != 'first-odd-even' and $page-layout != 'first'"> <xsl:variable name="msg"> <xsl:text>"</xsl:text> Modified: trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/header_footer.xsl =================================================================== --- trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/header_footer.xsl 2011-02-28 00:55:03 UTC (rev 6970) +++ trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/header_footer.xsl 2011-02-28 00:56:20 UTC (rev 6971) @@ -15,60 +15,299 @@ <xsl:attribute name="text-align">center</xsl:attribute> </xsl:attribute-set> + <xsl:attribute-set name="first-header-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="odd-header-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="even-header-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="body-header-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + <xsl:attribute-set name="footer-block"> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="text-align">center</xsl:attribute> </xsl:attribute-set> - <xsl:attribute-set name="header-first-block"> + <xsl:attribute-set name="first-footer-block"> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="text-align">center</xsl:attribute> </xsl:attribute-set> - <xsl:attribute-set name="header-second-block"> - <xsl:attribute name="space-before">5pt</xsl:attribute> + <xsl:attribute-set name="odd-footer-block"> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="text-align">center</xsl:attribute> </xsl:attribute-set> - <xsl:attribute-set name="header-third-block"> - <xsl:attribute name="space-before">5pt</xsl:attribute> + <xsl:attribute-set name="even-footer-block"> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="text-align">center</xsl:attribute> </xsl:attribute-set> + <xsl:attribute-set name="body-footer-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> - <xsl:attribute-set name="footer-first-block"> + <xsl:attribute-set name="toc-first-header-block"> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="text-align">center</xsl:attribute> </xsl:attribute-set> - <xsl:attribute-set name="footer-second-block"> - <xsl:attribute name="space-before">5pt</xsl:attribute> + <xsl:attribute-set name="toc-odd-header-block"> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="text-align">center</xsl:attribute> </xsl:attribute-set> - <xsl:attribute-set name="footer-third-block"> - <xsl:attribute name="space-before">5pt</xsl:attribute> + <xsl:attribute-set name="toc-even-header-block"> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="text-align">center</xsl:attribute> </xsl:attribute-set> + <xsl:attribute-set name="toc-body-header-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="toc-footer-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="toc-first-footer-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="toc-odd-footer-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="toc-even-footer-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="toc-body-footer-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="paragraph-header-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:attribute-set name="paragraph-footer-block"> + <xsl:attribute name="font-size">12pt</xsl:attribute> + <xsl:attribute name="text-align">center</xsl:attribute> + </xsl:attribute-set> + + <xsl:template match="decoration"> <xsl:apply-templates/> </xsl:template> + <xsl:template match="container[@classes='first-header']| + container[@classes='first-footer']| + container[@classes='odd-header']| + container[@classes='even-header']| + container[@classes='odd-footer']| + container[@classes='even-footer']| + container[@classes='body-header']| + container[@classes='body-footer']| + container[@classes='toc-first-header']| + container[@classes='toc-first-footer']| + container[@classes='toc-odd-header']| + container[@classes='toc-even-header']| + container[@classes='toc-odd-footer']| + container[@classes='toc-even-footer']| + container[@classes='toc-body-header']| + container[@classes='toc-body-footer'] "/> + + <xsl:template match="container[@classes='first-header']" mode= "header"> + <xsl:if test= "$layout-page = 'first' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="first-header"> + <fo:block role="header" xsl:use-attribute-sets="first-header-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='first-footer']" mode= "footer"> + <xsl:if test= "$layout-page = 'first' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="first-footer"> + <fo:block role="footer" xsl:use-attribute-sets="first-footer-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='odd-header']" mode= "header"> + <xsl:if test= "$layout-page = 'odd-even' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="odd-header"> + <fo:block role="header" xsl:use-attribute-sets="odd-header-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='even-header']" mode= "header"> + <xsl:if test= "$layout-page = 'odd-even' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="even-header"> + <fo:block role="header" xsl:use-attribute-sets="even-header-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='odd-footer']" mode= "footer"> + <xsl:if test= "$layout-page = 'odd-even' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="odd-footer"> + <fo:block role="footer" xsl:use-attribute-sets="odd-footer-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='even-footer']" mode= "footer"> + <xsl:if test= "$layout-page = 'odd-even' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="even-footer"> + <fo:block role="footer" xsl:use-attribute-sets="even-footer-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='body-header']" mode= "header"> + <xsl:if test= "$layout-page = 'first' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="body-header"> + <fo:block role="header" xsl:use-attribute-sets="body-header-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='body-footer']" mode= "footer"> + <xsl:if test= "$layout-page = 'first' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="body-footer"> + <fo:block role="footer" xsl:use-attribute-sets="body-footer-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='toc-first-header']" mode= "header"> + <xsl:if test= "$layout-page = 'first' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="toc-first-header"> + <fo:block role="header" xsl:use-attribute-sets="toc-first-header-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='toc-first-footer']" mode= "footer"> + <xsl:if test= "$layout-page = 'first' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="toc-first-footer"> + <fo:block role="footer" xsl:use-attribute-sets="toc-first-footer-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='toc-odd-header']" mode= "header"> + <xsl:if test= "$layout-page = 'odd-even' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="toc-odd-header"> + <fo:block role="header" xsl:use-attribute-sets="toc-odd-header-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='toc-even-header']" mode= "header"> + <xsl:if test= "$layout-page = 'odd-even' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="toc-even-header"> + <fo:block role="header" xsl:use-attribute-sets="toc-even-header-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='toc-odd-footer']" mode= "footer"> + <xsl:if test= "$layout-page = 'odd-even' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="toc-odd-footer"> + <fo:block role="footer" xsl:use-attribute-sets="toc-odd-footer-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='toc-even-footer']" mode= "footer"> + <xsl:if test= "$layout-page = 'odd-even' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="toc-even-footer"> + <fo:block role="footer" xsl:use-attribute-sets="toc-even-footer-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='toc-body-header']" mode= "header"> + <xsl:if test= "$layout-page = 'first' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="toc-body-header"> + <fo:block role="header" xsl:use-attribute-sets="toc-body-header-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="container[@classes='toc-body-footer']" mode= "footer"> + <xsl:if test= "$layout-page = 'first' or $layout-page = 'first-odd-even'"> + <fo:static-content flow-name="toc-body-footer"> + <fo:block role="footer" xsl:use-attribute-sets="toc-body-footer-block"> + <xsl:apply-templates/> + </fo:block> + </fo:static-content> + </xsl:if> + </xsl:template> + + <xsl:template match="decoration/header" mode="header"> <xsl:choose> - <xsl:when test="$page-layout = '' or $page-layout = 'simple'"> - <fo:static-content flow-name="odd-even-header"> + <xsl:when test="$layout-page = '' or $layout-page = 'simple'"> + <fo:static-content flow-name="simple-header"> <fo:block role="header" xsl:use-attribute-sets="header-block"> <xsl:apply-templates/> </fo:block> </fo:static-content> </xsl:when> - <xsl:when test="$page-layout = 'odd-even'"> + <xsl:when test="$layout-page = 'odd-even'"> <fo:static-content flow-name="odd-header"> <fo:block role="header" xsl:use-attribute-sets="header-block"> <xsl:apply-templates/> @@ -80,7 +319,7 @@ </fo:block> </fo:static-content> </xsl:when> - <xsl:when test="$page-layout = 'first'"> + <xsl:when test="$layout-page = 'first'"> <xsl:if test="$suppress-first-page-header != 'True'"> <fo:static-content flow-name = "first-header"> <fo:block role="header" xsl:use-attribute-sets="header-block"> @@ -88,13 +327,13 @@ </fo:block> </fo:static-content> </xsl:if> - <fo:static-content flow-name = "odd-even-header"> + <fo:static-content flow-name = "body-header"> <fo:block role="header" xsl:use-attribute-sets="header-block"> <xsl:apply-templates/> </fo:block> </fo:static-content> </xsl:when> - <xsl:when test="$page-layout = 'first-odd-even'"> + <xsl:when test="$layout-page = 'first-odd-even'"> <xsl:if test="$suppress-first-page-header != 'True'"> <fo:static-content flow-name = "first-header"> <fo:block role="header" xsl:use-attribute-sets="header-block"> @@ -118,14 +357,14 @@ <xsl:template match="decoration/footer" mode="footer"> <xsl:choose> - <xsl:when test="$page-layout = '' or $page-layout = 'simple'"> - <fo:static-content flow-name="odd-even-footer"> + <xsl:when test="$layout-page = '' or $layout-page = 'simple'"> + <fo:static-content flow-name="simple-footer"> <fo:block role="footer" xsl:use-attribute-sets="footer-block"> <xsl:apply-templates/> </fo:block> </fo:static-content> </xsl:when> - <xsl:when test="$page-layout = 'odd-even'"> + <xsl:when test="$layout-page = 'odd-even'"> <fo:static-content flow-name="odd-footer"> <fo:block role="footer" xsl:use-attribute-sets="footer-block"> <xsl:apply-templates/> @@ -137,7 +376,7 @@ </fo:block> </fo:static-content> </xsl:when> - <xsl:when test="$page-layout = 'first'"> + <xsl:when test="$layout-page = 'first'"> <xsl:if test="$suppress-first-page-footer != 'True'"> <fo:static-content flow-name = "first-footer"> <fo:block role="footer" xsl:use-attribute-sets="footer-block"> @@ -145,13 +384,13 @@ </fo:block> </fo:static-content> </xsl:if> - <fo:static-content flow-name = "odd-even-footer"> + <fo:static-content flow-name = "body-footer"> <fo:block role="footer" xsl:use-attribute-sets="footer-block"> <xsl:apply-templates/> </fo:block> </fo:static-content> </xsl:when> - <xsl:when test="$page-layout = 'first-odd-even'"> + <xsl:when test="$layout-page = 'first-odd-even'"> <xsl:if test="$suppress-first-page-footer != 'True'"> <fo:static-content flow-name = "first-footer"> <fo:block role="footer" xsl:use-attribute-sets="footer-block"> @@ -177,12 +416,19 @@ <fo:page-number/> </xsl:template> - <xsl:template match="decoration/header/paragraph[1]"> - <fo:block xsl:use-attribute-sets="header-first-block"> + <xsl:template match="decoration/header/paragraph"> + <fo:block xsl:use-attribute-sets="paragraph-header-block"> <xsl:apply-templates/> </fo:block> </xsl:template> + <xsl:template match="decoration/footer/paragraph"> + <fo:block xsl:use-attribute-sets="paragraph-footer-block"> + <xsl:apply-templates/> + </fo:block> + </xsl:template> + + <!-- <xsl:template match="decoration/header/paragraph[2]"> <fo:block xsl:use-attribute-sets="header-second-block"> <xsl:apply-templates/> @@ -212,6 +458,7 @@ <xsl:apply-templates/> </fo:block> </xsl:template> + --> <xsl:template match="decoration/header|decoration/footer"/> Modified: trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/page.xsl =================================================================== --- trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/page.xsl 2011-02-28 00:55:03 UTC (rev 6970) +++ trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/page.xsl 2011-02-28 00:56:20 UTC (rev 6971) @@ -16,7 +16,7 @@ <!-- This template sets up the page styles, needed at the start of an FO document. - The parameter page-layout is inherited from other the parameter stylesheet. + The parameter layout-page is inherited from other the parameter stylesheet. This parameter must be 1.blank (""). The stylesheet interprets an empty string as simple 2. simple @@ -123,6 +123,9 @@ <xsl:text>"
</xsl:text> <xsl:text>value of $page-layout="</xsl:text> <xsl:value-of select="$page-layout"/> + <xsl:text>"
</xsl:text> + <xsl:text>value of $layout-page="</xsl:text> + <xsl:value-of select="$layout-page"/> <xsl:text>"</xsl:text> </xsl:message> </xsl:if> @@ -140,22 +143,22 @@ </xsl:template> <!--call on the appropriate template to make simpe-page-master, depending on - the parameter $page-layout--> + the parameter $layout-page--> <xsl:template name="page-properties"> <!--set up the physical properties of the pages--> <xsl:choose> - <xsl:when test="$page-layout = '' or $page-layout = 'simple'"> + <xsl:when test="$layout-page = '' or $layout-page = 'simple'"> <xsl:call-template name="make-simple-page"/> </xsl:when> - <xsl:when test="$page-layout = 'first'"> + <xsl:when test="$layout-page = 'first'"> <xsl:call-template name="make-first-page"/> <xsl:call-template name="make-body-page"/> </xsl:when> - <xsl:when test="$page-layout = 'odd-even'"> + <xsl:when test="$layout-page = 'odd-even'"> <xsl:call-template name="make-odd-page"/> <xsl:call-template name="make-even-page"/> </xsl:when> - <xsl:when test="$page-layout = 'first-odd-even'"> + <xsl:when test="$layout-page = 'first-odd-even'"> <xsl:call-template name="make-first-page"/> <xsl:call-template name="make-odd-page"/> <xsl:call-template name="make-even-page"/> @@ -170,18 +173,37 @@ <xsl:param name="section"/> <xsl:variable name="margin-top"> <xsl:choose> - <xsl:when test="$page-layout = 'first' and $suppress-first-page-header = 'True' and $page-type = 'first'"> - <xsl:text>0in</xsl:text> + <xsl:when test="$page-type = 'first' and /document/container[@classes = 'first-header']|/document/decoration/header"> + <xsl:value-of select="$default-spacing-header"/> </xsl:when> - <xsl:when test="$page-layout = 'first-odd-even' and $suppress-first-page-header = 'True' and $page-type = 'first'"> - <xsl:text>0in</xsl:text> + <xsl:when test="$page-type = 'odd' and /document/container[@classes = 'odd-header']|/document/decoration/header"> + <xsl:value-of select="$default-spacing-header"/> </xsl:when> - <xsl:when test="$spacing-header != ''"> - <xsl:value-of select="$spacing-header"/> + <xsl:when test="$page-type = 'even' and /document/container[@classes = 'even-header']|/document/decoration/header"> + <xsl:value-of select="$default-spacing-header"/> </xsl:when> - <xsl:when test="/document/decoration/header"> + <xsl:when test="$page-type = 'body' and /document/container[@classes = 'body-header']|/document/decoration/header"> <xsl:value-of select="$default-spacing-header"/> </xsl:when> + <xsl:when test="$page-type = 'toc-first' and + /document/container[@classes = 'toc-first-header']|/document/decoration/header"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> + <xsl:when test="$page-type = 'toc-odd' + and /document/container[@classes = 'toc-odd-header']|/document/decoration/header"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> + <xsl:when test="$page-type = 'toc-even' + and /document/container[@classes = 'toc-even-header']|/document/decoration/header"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> + <xsl:when test="$page-type = 'toc-body' + and /document/container[@classes = 'toc-body-header']|/document/decoration/header"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> + <xsl:when test="$page-type = 'simple' and /document/decoration/header"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> <xsl:otherwise> <xsl:text>0in</xsl:text> </xsl:otherwise> @@ -189,18 +211,40 @@ </xsl:variable> <xsl:variable name="margin-bottom"> <xsl:choose> - <xsl:when test="$page-layout = 'first' and $suppress-first-page-footer = 'True' and $page-type = 'first'"> - <xsl:text>0in</xsl:text> + <xsl:when test="$page-type = 'first' and /document/container[@classes = 'first-footer']|document/decoration/footer"> + <xsl:value-of select="$default-spacing-header"/> </xsl:when> - <xsl:when test="$page-layout = 'first-odd-even' and $suppress-first-page-footer = 'True' and $page-type = 'first'"> - <xsl:text>0in</xsl:text> + <xsl:when test="$page-type = 'odd' and /document/container[@classes = 'odd-footer']|document/decoration/footer"> + <xsl:value-of select="$default-spacing-header"/> </xsl:when> - <xsl:when test="$spacing-footer != ''"> - <xsl:value-of select="$spacing-footer"/> + <xsl:when test="$page-type = 'even' and /document/container[@classes = 'even-footer']|document/decoration/footer"> + <xsl:value-of select="$default-spacing-header"/> </xsl:when> - <xsl:when test="/document/decoration/footer"> - <xsl:value-of select="$default-spacing-footer"/> + <xsl:when test="$page-type = 'body' and /document/container[@classes = 'body-footer']|document/decoration/footer"> + <xsl:value-of select="$default-spacing-header"/> </xsl:when> + <xsl:when test="$page-type = 'simple' and /document/decoration/footer"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> + <xsl:when test="$page-type = 'toc-first' + and /document/container[@classes = 'toc-first-footer']|document/decoration/footer"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> + <xsl:when test="$page-type = 'toc-odd' + and /document/container[@classes = 'toc-odd-footer']|document/decoration/footer"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> + <xsl:when test="$page-type = 'toc-even' + and /document/container[@classes = 'toc-even-footer']|document/decoration/footer"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> + <xsl:when test="$page-type = 'toc-body' + and /document/container[@classes = 'toc-body-footer']|document/decoration/footer"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> + <xsl:when test="$page-type = 'simple' and /document/decoration/footer"> + <xsl:value-of select="$default-spacing-header"/> + </xsl:when> <xsl:otherwise> <xsl:text>0in</xsl:text> </xsl:otherwise> @@ -215,12 +259,14 @@ and footers, and if so, makes room for them--> <xsl:template name="make-simple-page"> <fo:simple-page-master xsl:use-attribute-sets="simple-page-master" master-name="simple-page"> - <xsl:call-template name="make-region-body"/> + <xsl:call-template name="make-region-body"> + <xsl:with-param name="page-type" select="'simple'"/> + </xsl:call-template> <xsl:if test="document/decoration/header"> - <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="odd-even-header"/> + <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="simple-header"/> </xsl:if> <xsl:if test="document/decoration/footer"> - <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="odd-even-footer"/> + <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="simple-footer"/> </xsl:if> </fo:simple-page-master> </xsl:template> @@ -232,10 +278,10 @@ <xsl:call-template name="make-region-body"> <xsl:with-param name="page-type" select="'first'"/> </xsl:call-template> - <xsl:if test="document/decoration/header and $suppress-first-page-header != 'True'"> + <xsl:if test="document/container[@classes='first-header']|document/decoration/header"> <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="first-header"/> </xsl:if> - <xsl:if test="document/decoration/footer and $suppress-first-page-footer != 'True'"> + <xsl:if test="document/container[@classes = 'first-footer']|document/decoration/footer"> <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="first-footer"/> </xsl:if> </fo:simple-page-master> @@ -243,23 +289,27 @@ <xsl:template name="make-body-page"> <fo:simple-page-master xsl:use-attribute-sets="body-simple-page-master" master-name="body"> - <xsl:call-template name="make-region-body"/> - <xsl:if test="document/decoration/header"> - <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name = "odd-even-header"/> + <xsl:call-template name="make-region-body"> + <xsl:with-param name="page-type" select="'body'"/> + </xsl:call-template> + <xsl:if test="document/container[@classes = 'body-header']|document/decoration/header"> + <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name = "body-header"/> </xsl:if> - <xsl:if test="document/decoration/footer"> - <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name = "odd-even-footer"/> + <xsl:if test="document/container[@classes='body-footer']|document/decoration/footer"> + <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name = "body-footer"/> </xsl:if> </fo:simple-page-master> </xsl:template> <xsl:template name="make-odd-page"> <fo:simple-page-master xsl:use-attribute-sets="odd-simple-page-master" master-name="odd"> - <xsl:call-template name="make-region-body"/> - <xsl:if test="document/decoration/header"> + <xsl:call-template name="make-region-body"> + <xsl:with-param name="page-type" select="'odd'"/> + </xsl:call-template> + <xsl:if test="document/container[@classes = 'odd-header']|document/decoration/header"> <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="odd-header"/> </xsl:if> - <xsl:if test="document/decoration/footer"> + <xsl:if test="document/container[@classes = 'odd-footer']|document/decoration/footer"> <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="odd-footer"/> </xsl:if> </fo:simple-page-master> @@ -267,26 +317,28 @@ <xsl:template name="make-even-page"> <fo:simple-page-master xsl:use-attribute-sets="even-simple-page-master" master-name="even"> - <xsl:call-template name="make-region-body"/> - <xsl:if test="document/decoration/header"> + <xsl:call-template name="make-region-body"> + <xsl:with-param name="page-type" select="'even'"/> + </xsl:call-template> + <xsl:if test="document/container[@classes='even-header']|document/decoration/header"> <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="even-header"/> </xsl:if> - <xsl:if test="document/decoration/footer"> + <xsl:if test="document/container[@classes='even-footer']|document/decoration/footer"> <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="even-footer"/> </xsl:if> </fo:simple-page-master> </xsl:template> - <!--Create the fo:page-sequence-master, depending on the parameter page-layout--> + <!--Create the fo:page-sequence-master, depending on the parameter layout-page--> <xsl:template name="page-sequence"> <xsl:choose> - <xsl:when test="$page-layout = '' or $page-layout = 'simple'"> + <xsl:when test="$layout-page = '' or $layout-page = 'simple'"> <fo:page-sequence-master master-name = "pages" > <fo:repeatable-page-master-reference master-reference = "simple-page"/> </fo:page-sequence-master> </xsl:when> - <xsl:when test="$page-layout = 'first'"> + <xsl:when test="$layout-page = 'first'"> <fo:page-sequence-master master-name = "pages"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference = "first" page-position = "first"/> @@ -294,7 +346,7 @@ </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> </xsl:when> - <xsl:when test="$page-layout = 'odd-even'"> + <xsl:when test="$layout-page = 'odd-even'"> <fo:page-sequence-master master-name = "pages"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference = "odd" odd-or-even = "odd"/> @@ -302,7 +354,7 @@ </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> </xsl:when> - <xsl:when test="$page-layout = 'first-odd-even'"> + <xsl:when test="$layout-page = 'first-odd-even'"> <fo:page-sequence-master master-name = "pages"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference = "first" page-position = "first"/> @@ -324,22 +376,22 @@ </xsl:template> <!--call on the appropriate template to make simpe-page-master, depending on - the parameter $page-layout--> + the parameter $layout-page--> <xsl:template name="toc-page-properties"> <!--set up the physical properties of the pages--> <xsl:choose> - <xsl:when test="$page-layout = '' or $page-layout = 'simple'"> + <xsl:when test="$layout-page = '' or $layout-page = 'simple'"> <xsl:call-template name="toc-make-simple-page"/> </xsl:when> - <xsl:when test="$page-layout = 'first'"> + <xsl:when test="$layout-page = 'first'"> <xsl:call-template name="toc-make-first-page"/> <xsl:call-template name="toc-make-body-page"/> </xsl:when> - <xsl:when test="$page-layout = 'odd-even'"> + <xsl:when test="$layout-page = 'odd-even'"> <xsl:call-template name="toc-make-odd-page"/> <xsl:call-template name="toc-make-even-page"/> </xsl:when> - <xsl:when test="$page-layout = 'first-odd-even'"> + <xsl:when test="$layout-page = 'first-odd-even'"> <xsl:call-template name="toc-make-first-page"/> <xsl:call-template name="toc-make-odd-page"/> <xsl:call-template name="toc-make-even-page"/> @@ -350,7 +402,9 @@ <!--make the simple-page-master for toc--> <xsl:template name="toc-make-simple-page"> <fo:simple-page-master xsl:use-attribute-sets="toc-simple-page-master" master-name="toc-simple-page"> - <xsl:call-template name="make-region-body"/> + <xsl:call-template name="make-region-body"> + <xsl:with-param name="page-type" select="'simple'"/> + </xsl:call-template> <xsl:if test="document/decoration/header"> <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="odd-even-header"/> </xsl:if> @@ -364,64 +418,70 @@ <xsl:template name="toc-make-first-page"> <fo:simple-page-master xsl:use-attribute-sets="toc-first-simple-page-master" master-name="toc-first"> <xsl:call-template name="make-region-body"> - <xsl:with-param name="page-type" select="'first'"/> + <xsl:with-param name="page-type" select="'toc-first'"/> </xsl:call-template> - <xsl:if test="document/decoration/header and $suppress-first-page-header != 'True'"> - <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="first-header"/> + <xsl:if test="document/container[@classes='toc-first-header']|document/decoration/header"> + <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="toc-first-header"/> </xsl:if> - <xsl:if test="document/decoration/footer and $suppress-first-page-footer != 'True'"> - <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="first-footer"/> + <xsl:if test="document/container[@classes = 'toc-first-footer']|document/decoration/footer"> + <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="toc-first-footer"/> </xsl:if> </fo:simple-page-master> </xsl:template> <xsl:template name="toc-make-body-page"> <fo:simple-page-master xsl:use-attribute-sets="toc-body-simple-page-master" master-name="toc-body"> - <xsl:call-template name="make-region-body"/> - <xsl:if test="document/decoration/header"> - <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name = "odd-even-header"/> + <xsl:call-template name="make-region-body"> + <xsl:with-param name="page-type" select="'toc-body'"/> + </xsl:call-template> + <xsl:if test="document/container[@classes = 'toc-body-header']|document/decoration/header"> + <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name = "toc-body-header"/> </xsl:if> - <xsl:if test="document/decoration/footer"> - <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name = "odd-even-footer"/> + <xsl:if test="document/container[@classes='toc-body-footer']|document/decoration/footer"> + <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name = "toc-body-footer"/> </xsl:if> </fo:simple-page-master> </xsl:template> <xsl:template name="toc-make-odd-page"> <fo:simple-page-master xsl:use-attribute-sets="toc-odd-simple-page-master" master-name="toc-odd"> - <xsl:call-template name="make-region-body"/> - <xsl:if test="document/decoration/header"> - <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="odd-header"/> + <xsl:call-template name="make-region-body"> + <xsl:with-param name="page-type" select="'toc-odd'"/> + </xsl:call-template> + <xsl:if test="document/container[@classes = 'toc-odd-header']|document/decoration/header"> + <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="toc-odd-header"/> </xsl:if> - <xsl:if test="document/decoration/footer"> - <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="odd-footer"/> + <xsl:if test="document/container[@classes = 'toc-odd-footer']|document/decoration/footer"> + <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="toc-odd-footer"/> </xsl:if> </fo:simple-page-master> </xsl:template> <xsl:template name="toc-make-even-page"> <fo:simple-page-master xsl:use-attribute-sets="toc-even-simple-page-master" master-name="toc-even"> - <xsl:call-template name="make-region-body"/> - <xsl:if test="document/decoration/header"> - <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="even-header"/> + <xsl:call-template name="make-region-body"> + <xsl:with-param name="page-type" select="'toc-even'"/> + </xsl:call-template> + <xsl:if test="document/container[@classes='toc-even-header']|document/decoration/header"> + <fo:region-before xsl:use-attribute-sets = "header-region-before" region-name="toc-even-header"/> </xsl:if> - <xsl:if test="document/decoration/footer"> - <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="even-footer"/> + <xsl:if test="document/container[@classes='toc-even-footer']|document/decoration/footer"> + <fo:region-after xsl:use-attribute-sets = "footer-region-after" region-name="toc-even-footer"/> </xsl:if> </fo:simple-page-master> </xsl:template> - <!--Create the fo:page-sequence-master, depending on the parameter page-layout--> + <!--Create the fo:page-sequence-master, depending on the parameter layout-page--> <xsl:template name="toc-page-sequence"> <!--do I want these params? They seem unneeded and potentially trouble making--> <xsl:choose> - <xsl:when test="$page-layout = '' or $page-layout = 'simple'"> + <xsl:when test="$layout-page = '' or $layout-page = 'simple'"> <fo:page-sequence-master master-name = "toc-pages" > <fo:repeatable-page-master-reference master-reference = "toc-simple-page"/> </fo:page-sequence-master> </xsl:when> - <xsl:when test="$page-layout = 'first'"> + <xsl:when test="$layout-page = 'first'"> <fo:page-sequence-master master-name = "toc-pages"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference = "toc-first" page-position = "first"/> @@ -429,7 +489,7 @@ </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> </xsl:when> - <xsl:when test="$page-layout = 'odd-even'"> + <xsl:when test="$layout-page = 'odd-even'"> <fo:page-sequence-master master-name = "toc-pages"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference = "toc-odd" odd-or-even = "odd"/> @@ -437,7 +497,7 @@ </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> </xsl:when> - <xsl:when test="$page-layout = 'first-odd-even'"> + <xsl:when test="$layout-page = 'first-odd-even'"> <fo:page-sequence-master master-name = "toc-pages"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference = "toc-first" page-position = "first"/> @@ -458,16 +518,16 @@ </xsl:template> <!--call on the appropriate template to make simpe-page-master, depending on - the parameter $page-layout--> + the parameter $layout-page--> <xsl:template name="front-matter-page-properties"> <!--set up the physical properties of the pages--> <xsl:choose> - <xsl:when test="$page-layout = '' or $page-layout = 'simple'"> + <xsl:when test="$layout-page = '' or $layout-page = 'simple'"> <fo:simple-page-master xsl:use-attribute-sets="front-simple-page-master" master-name="front-matter-simple-page"> <fo:region-body xsl:use-attribute-sets="front-matter-region-body"/> </fo:simple-page-master> </xsl:when> - <xsl:when test="$page-layout = 'first'"> + <xsl:when test="$layout-page = 'first'"> <fo:simple-page-master xsl:use-attribute-sets="front-first-simple-page-master" master-name="front-matter-first"> <fo:region-body xsl:use-attribute-sets="front-matter-region-body"/> </fo:simple-page-master> @@ -475,7 +535,7 @@ <fo:region-body xsl:use-attribute-sets="front-matter-region-body"/> </fo:simple-page-master> </xsl:when> - <xsl:when test="$page-layout = 'odd-even'"> + <xsl:when test="$layout-page = 'odd-even'"> <fo:simple-page-master xsl:use-attribute-sets="front-odd-simple-page-master" master-name="front-matter-odd"> <fo:region-body xsl:use-attribute-sets="front-matter-region-body"/> </fo:simple-page-master> @@ -483,7 +543,7 @@ <fo:region-body xsl:use-attribute-sets="front-matter-region-body"/> </fo:simple-page-master> </xsl:when> - <xsl:when test="$page-layout = 'first-odd-even'"> + <xsl:when test="$layout-page = 'first-odd-even'"> <fo:simple-page-master xsl:use-attribute-sets="front-first-simple-page-master" master-name="front-matter-first"> <fo:region-body xsl:use-attribute-sets="front-matter-region-body"/> </fo:simple-page-master> @@ -497,15 +557,15 @@ </xsl:choose> </xsl:template> - <!--Create the fo:page-sequence-master, depending on the parameter page-layout--> + <!--Create the fo:page-sequence-master, depending on the parameter layout-page--> <xsl:template name="front-matter-page-sequence"> <xsl:choose> - <xsl:when test="$page-layout = '' or $page-layout = 'simple'"> + <xsl:when test="$layout-page = 'simple'"> <fo:page-sequence-master master-name = "front-matter-pages" > <fo:repeatable-page-master-reference master-reference = "front-matter-simple-page"/> </fo:page-sequence-master> </xsl:when> - <xsl:when test="$page-layout = 'first'"> + <xsl:when test="$layout-page = 'first'"> <fo:page-sequence-master master-name = "front-matter-pages"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference = "front-matter-first" page-position = "first"/> @@ -513,7 +573,7 @@ </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> </xsl:when> - <xsl:when test="$page-layout = 'odd-even'"> + <xsl:when test="$layout-page = 'odd-even'"> <fo:page-sequence-master master-name = "front-matter-pages"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference = "front-matter-odd" odd-or-even = "odd"/> @@ -521,7 +581,7 @@ </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> </xsl:when> - <xsl:when test="$page-layout = 'first-odd-even'"> + <xsl:when test="$layout-page = 'first-odd-even'"> <fo:page-sequence-master master-name = "front-matter-pages"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference = "front-matter-first" page-position = "first"/> Modified: trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/parameters.xsl =================================================================== --- trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/parameters.xsl 2011-02-28 00:55:03 UTC (rev 6970) +++ trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/parameters.xsl 2011-02-28 00:56:20 UTC (rev 6971) @@ -19,7 +19,7 @@ first-odd-even (different first, odd, and even; headers and footers will be the same, with the option of suppressing the first header and footer) --> -<xsl:param name="page-layout">simple</xsl:param> +<xsl:param name="page-layout"></xsl:param> <!--supress the header on the first page--> <xsl:param name="suppress-first-page-header"/> Modified: trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/root.xsl =================================================================== --- trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/root.xsl 2011-02-28 00:55:03 UTC (rev 6970) +++ trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/root.xsl 2011-02-28 00:56:20 UTC (rev 6971) @@ -58,9 +58,7 @@ <xsl:template match="/"> <xsl:element name="fo:root"> - <xsl:call-template name="make-pages"> - <xsl:with-param name="page-layout" select="$page-layout"/> - </xsl:call-template> + <xsl:call-template name="make-pages"/> <xsl:apply-templates/> </xsl:element> </xsl:template> @@ -89,7 +87,15 @@ </xsl:choose> <fo:page-sequence master-reference="pages" xsl:use-attribute-sets="body-page-sequence"> <xsl:apply-templates select="/document/decoration/header" mode="header"/> + <xsl:apply-templates select="/document/container[@classes='body-header']" mode="header"/> + <xsl:apply-templates select="/document/container[@classes='first-header']" mode="header"/> + <xsl:apply-templates select="/document/container[@classes='odd-header']" mode="header"/> + <xsl:apply-templates select="/document/container[@classes='even-header']" mode="header"/> <xsl:apply-templates select="/document/decoration/footer" mode="footer"/> + <xsl:apply-templates select="/document/container[@classes='body-footer']" mode="footer"/> + <xsl:apply-templates select="/document/container[@classes='first-footer']" mode="footer"/> + <xsl:apply-templates select="/document/container[@classes='odd-footer']" mode="footer"/> + <xsl:apply-templates select="/document/container[@classes='even-footer']" mode="footer"/> <fo:static-content role = "footnote-separator" xsl:use-attribute-sets = "footnote-separator-flow" flow-name="xsl-footnote-separator"> <fo:block xsl:use-attribute-sets = "footnote-separator-block"> @@ -118,7 +124,15 @@ <xsl:template name="make-toc"> <fo:page-sequence master-reference="toc-pages" xsl:use-attribute-sets="toc-page-sequence"> <xsl:apply-templates select="/document/decoration/header" mode="header"/> + <xsl:apply-templates select="/document/container[@classes='toc-body-header']" mode="header"/> + <xsl:apply-templates select="/document/container[@classes='toc-first-header']" mode="header"/> + <xsl:apply-templates select="/document/container[@classes='toc-odd-header']" mode="header"/> + <xsl:apply-templates select="/document/container[@classes='toc-even-header']" mode="header"/> <xsl:apply-templates select="/document/decoration/footer" mode="footer"/> + <xsl:apply-templates select="/document/container[@classes='toc-body-footer']" mode="footer"/> + <xsl:apply-templates select="/document/container[@classes='toc-first-footer']" mode="footer"/> + <xsl:apply-templates select="/document/container[@classes='toc-odd-footer']" mode="footer"/> + <xsl:apply-templates select="/document/container[@classes='toc-even-footer']" mode="footer"/> <fo:flow flow-name="xsl-region-body" xsl:use-attribute-sets="toc-flow"> <xsl:call-template name="apply-in-order"> <xsl:with-param name="order" select="$front-order"/> Modified: trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/util.xsl =================================================================== --- trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/util.xsl 2011-02-28 00:55:03 UTC (rev 6970) +++ trunk/sandbox/paultremblay/docutilsToFo/xsl_fo/util.xsl 2011-02-28 00:56:20 UTC (rev 6971) @@ -64,5 +64,60 @@ </xsl:choose> </xsl:variable> + <xsl:variable name="layout-page"> + <xsl:choose> + <xsl:when test = "$page-layout != ''"> + <xsl:value-of select="$page-layout"/> + </xsl:when> + <xsl:when test = "/document/container[@classes = 'body-header']|/document/container[@classes='body-footer']"> + <xsl:text>first</xsl:text> + </xsl:when> + <xsl:when test = "/document/container[@classes = 'toc-body-header']|/document/container[@classes='toc-body-footer']"> + <xsl:text>first</xsl:text> + </xsl:when> + <xsl:when test = "/document/container[@classes = 'first-header']|/document/container[@classes='first-footer']"> + <xsl:choose> + <xsl:when test="/document/container[@classes = 'odd-header']|/document/container[@classes = 'odd-footer']"> + <xsl:text>first-odd-even</xsl:text> + </xsl:when> + <xsl:when test="/document/container[@classes = 'even-header']|/document/container[@classes = 'even-footer']"> + <xsl:text>first-odd-even</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>first</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test = "/document/container[@classes = 'toc-first-header']|/document/container[@classes='toc-first-footer']"> + <xsl:choose> + <xsl:when test="/document/container[@classes = 'toc-odd-header']|/document/container[@classes = 'toc-odd-footer']"> + <xsl:text>first-odd-even</xsl:text> + </xsl:when> + <xsl:when test="/document/container[@classes = 'toc-even-header']|/document/container[@classes = 'toc-even-footer']"> + <xsl:text>first-odd-even</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>first</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test = "/document/container[@classes = 'odd-header']|/document/container[@classes='odd-footer']"> + <xsl:text>odd-even</xsl:text> + </xsl:when> + <xsl:when test = "/document/container[@classes = 'toc-odd-header']|/document/container[@classes='toc-odd-footer']"> + <xsl:text>odd-even</xsl:text> + </xsl:when> + <xsl:when test = "/document/container[@classes = 'even-header']|/document/container[@classes='even-footer']"> + <xsl:text>odd-even</xsl:text> + </xsl:when> + <xsl:when test = "/document/container[@classes = 'toc-even-header']|/document/container[@classes='toc-even-footer']"> + <xsl:text>odd-even</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>simple</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + </xsl:stylesheet> |