<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0"> <!-- ******************************************************************** $Id: pagesetup.xsl 8320 2009-03-12 17:43:44Z mzjn $ ******************************************************************** This file is part of the DocBook XSL Stylesheet distribution. See ../README or http://docbook.sf.net/ for copyright copyright and other information. ******************************************************************** --> <!-- ==================================================================== --> <xsl:param name="body.fontset"> <xsl:value-of select="$body.font.family"/> <xsl:if test="$body.font.family != '' and $symbol.font.family != ''">,</xsl:if> <xsl:value-of select="$symbol.font.family"/> </xsl:param> <xsl:param name="title.fontset"> <xsl:value-of select="$title.font.family"/> <xsl:if test="$title.font.family != '' and $symbol.font.family != ''">,</xsl:if> <xsl:value-of select="$symbol.font.family"/> </xsl:param> <xsl:param name="margin.left.inner"> <xsl:choose> <xsl:when test="$passivetex.extensions != 0"> <xsl:value-of select="$page.margin.inner"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$page.margin.inner"/> <xsl:text> - </xsl:text> <xsl:value-of select="$title.margin.left"/> </xsl:otherwise> </xsl:choose> </xsl:param> <xsl:template name="setup.pagemasters"> <fo:layout-master-set> <!-- blank pages --> <fo:simple-page-master master-name="blank" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">blank</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body display-align="center" margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}"> <xsl:if test="$fop.extensions = 0 and $fop1.extensions = 0"> <xsl:attribute name="region-name">blank-body</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-blank" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-blank" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- title pages --> <fo:simple-page-master master-name="titlepage-first" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">titlepage-first</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.titlepage}" column-count="{$column.count.titlepage}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="titlepage-odd" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">titlepage-odd</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.titlepage}" column-count="{$column.count.titlepage}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="titlepage-even" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">titlepage-even</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.titlepage}" column-count="{$column.count.titlepage}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- list-of-title pages --> <fo:simple-page-master master-name="lot-first" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">lot-first</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.lot}" column-count="{$column.count.lot}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="lot-odd" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">lot-odd</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.lot}" column-count="{$column.count.lot}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="lot-even" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">lot-even</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.lot}" column-count="{$column.count.lot}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- frontmatter pages --> <fo:simple-page-master master-name="front-first" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">front-first</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.front}" column-count="{$column.count.front}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="front-odd" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">front-odd</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.front}" column-count="{$column.count.front}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="front-even" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">front-even</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.front}" column-count="{$column.count.front}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- body pages --> <fo:simple-page-master master-name="body-first" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">body-first</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.body}" column-count="{$column.count.body}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="body-odd" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">body-odd</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.body}" column-count="{$column.count.body}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="body-even" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">body-even</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.body}" column-count="{$column.count.body}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- backmatter pages --> <fo:simple-page-master master-name="back-first" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">back-first</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.back}" column-count="{$column.count.back}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="back-odd" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">back-odd</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.back}" column-count="{$column.count.back}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="back-even" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">back-even</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.back}" column-count="{$column.count.back}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- index pages --> <fo:simple-page-master master-name="index-first" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">index-first</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.index}" column-count="{$column.count.index}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="index-odd" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">index-odd</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.index}" column-count="{$column.count.index}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="index-even" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">index-even</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.index}" column-count="{$column.count.index}"> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <xsl:if test="$draft.mode != 'no'"> <!-- draft blank pages --> <fo:simple-page-master master-name="blank-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">blank-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-blank" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-blank" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- draft title pages --> <fo:simple-page-master master-name="titlepage-first-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">titlepage-first-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.titlepage}" column-count="{$column.count.titlepage}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="titlepage-odd-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">titlepage-odd-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.titlepage}" column-count="{$column.count.titlepage}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="titlepage-even-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">titlepage-even-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.titlepage}" column-count="{$column.count.titlepage}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- draft list-of-title pages --> <fo:simple-page-master master-name="lot-first-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">lot-first-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.lot}" column-count="{$column.count.lot}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="lot-odd-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">lot-odd-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.lot}" column-count="{$column.count.lot}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="lot-even-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">lot-even-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.lot}" column-count="{$column.count.lot}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- draft frontmatter pages --> <fo:simple-page-master master-name="front-first-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">front-first-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.front}" column-count="{$column.count.front}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="front-odd-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">front-odd-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.front}" column-count="{$column.count.front}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="front-even-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">front-even-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.front}" column-count="{$column.count.front}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- draft body pages --> <fo:simple-page-master master-name="body-first-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">body-first-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.body}" column-count="{$column.count.body}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="body-odd-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">body-odd-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.body}" column-count="{$column.count.body}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="body-even-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">body-even-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.body}" column-count="{$column.count.body}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- draft backmatter pages --> <fo:simple-page-master master-name="back-first-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">back-first-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.back}" column-count="{$column.count.back}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="back-odd-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">back-odd-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.back}" column-count="{$column.count.back}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="back-even-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">back-even-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.back}" column-count="{$column.count.back}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <!-- draft index pages --> <fo:simple-page-master master-name="index-first-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">index-first-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.index}" column-count="{$column.count.index}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="index-odd-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.inner"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.outer"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">index-odd-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.index}" column-count="{$column.count.index}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> <fo:simple-page-master master-name="index-even-draft" page-width="{$page.width}" page-height="{$page.height}" margin-top="{$page.margin.top}" margin-bottom="{$page.margin.bottom}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$page.margin.outer"/> <xsl:if test="$fop.extensions != 0"> <xsl:value-of select="concat(' - (',$title.margin.left,')')"/> </xsl:if> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$page.margin.inner"/> </xsl:attribute> <xsl:if test="$axf.extensions != 0"> <xsl:call-template name="axf-page-master-properties"> <xsl:with-param name="page.master">index-even-draft</xsl:with-param> </xsl:call-template> </xsl:if> <fo:region-body margin-bottom="{$body.margin.bottom}" margin-top="{$body.margin.top}" column-gap="{$column.gap.index}" column-count="{$column.count.index}"> <xsl:if test="$draft.watermark.image != ''"> <xsl:attribute name="background-image"> <xsl:call-template name="fo-external-image"> <xsl:with-param name="filename" select="$draft.watermark.image"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="background-attachment">fixed</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> <xsl:attribute name="background-position-horizontal">center</xsl:attribute> <xsl:attribute name="background-position-vertical">center</xsl:attribute> </xsl:if> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" display-align="after"/> </fo:simple-page-master> </xsl:if> <!-- setup for title page(s) --> <fo:page-sequence-master master-name="titlepage"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="titlepage-first" page-position="first"/> <fo:conditional-page-master-reference master-reference="titlepage-odd" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">titlepage-even</xsl:when> <xsl:otherwise>titlepage-odd</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <!-- setup for lots --> <fo:page-sequence-master master-name="lot"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="lot-first" page-position="first"/> <fo:conditional-page-master-reference master-reference="lot-odd" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">lot-even</xsl:when> <xsl:otherwise>lot-odd</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <!-- setup front matter --> <fo:page-sequence-master master-name="front"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="front-first" page-position="first"/> <fo:conditional-page-master-reference master-reference="front-odd" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">front-even</xsl:when> <xsl:otherwise>front-odd</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <!-- setup for body pages --> <fo:page-sequence-master master-name="body"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="body-first" page-position="first"/> <fo:conditional-page-master-reference master-reference="body-odd" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">body-even</xsl:when> <xsl:otherwise>body-odd</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <!-- setup back matter --> <fo:page-sequence-master master-name="back"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="back-first" page-position="first"/> <fo:conditional-page-master-reference master-reference="back-odd" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">back-even</xsl:when> <xsl:otherwise>back-odd</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <!-- setup back matter --> <fo:page-sequence-master master-name="index"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="index-first" page-position="first"/> <fo:conditional-page-master-reference master-reference="index-odd" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">index-even</xsl:when> <xsl:otherwise>index-odd</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <xsl:if test="$draft.mode != 'no'"> <!-- setup for draft title page(s) --> <fo:page-sequence-master master-name="titlepage-draft"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank-draft" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="titlepage-first-draft" page-position="first"/> <fo:conditional-page-master-reference master-reference="titlepage-odd-draft" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">titlepage-even-draft</xsl:when> <xsl:otherwise>titlepage-odd-draft</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <!-- setup for draft lots --> <fo:page-sequence-master master-name="lot-draft"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank-draft" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="lot-first-draft" page-position="first"/> <fo:conditional-page-master-reference master-reference="lot-odd-draft" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">lot-even-draft</xsl:when> <xsl:otherwise>lot-odd-draft</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <!-- setup draft front matter --> <fo:page-sequence-master master-name="front-draft"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank-draft" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="front-first-draft" page-position="first"/> <fo:conditional-page-master-reference master-reference="front-odd-draft" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">front-even-draft</xsl:when> <xsl:otherwise>front-odd-draft</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <!-- setup for draft body pages --> <fo:page-sequence-master master-name="body-draft"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank-draft" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="body-first-draft" page-position="first"/> <fo:conditional-page-master-reference master-reference="body-odd-draft" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">body-even-draft</xsl:when> <xsl:otherwise>body-odd-draft</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <!-- setup draft back matter --> <fo:page-sequence-master master-name="back-draft"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank-draft" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="back-first-draft" page-position="first"/> <fo:conditional-page-master-reference master-reference="back-odd-draft" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">back-even-draft</xsl:when> <xsl:otherwise>back-odd-draft</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> <!-- setup draft index pages --> <fo:page-sequence-master master-name="index-draft"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="blank-draft" blank-or-not-blank="blank"/> <fo:conditional-page-master-reference master-reference="index-first-draft" page-position="first"/> <fo:conditional-page-master-reference master-reference="index-odd-draft" odd-or-even="odd"/> <fo:conditional-page-master-reference odd-or-even="even"> <xsl:attribute name="master-reference"> <xsl:choose> <xsl:when test="$double.sided != 0">index-even-draft</xsl:when> <xsl:otherwise>index-odd-draft</xsl:otherwise> </xsl:choose> </xsl:attribute> </fo:conditional-page-master-reference> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> </xsl:if> <xsl:call-template name="user.pagemasters"/> </fo:layout-master-set> </xsl:template> <!-- ==================================================================== --> <xsl:template name="user.pagemasters"/> <!-- intentionally empty --> <!-- ==================================================================== --> <xsl:template name="select.pagemaster"> <xsl:param name="element" select="local-name(.)"/> <xsl:param name="pageclass" select="''"/> <xsl:variable name="pagemaster"> <xsl:choose> <xsl:when test="$pageclass != ''"> <xsl:value-of select="$pageclass"/> </xsl:when> <xsl:when test="$pageclass = 'lot'">lot</xsl:when> <xsl:when test="$element = 'dedication'">front</xsl:when> <xsl:when test="$element = 'acknowledgements'">front</xsl:when> <xsl:when test="$element = 'preface'">front</xsl:when> <xsl:when test="$element = 'appendix'">back</xsl:when> <xsl:when test="$element = 'glossary'">back</xsl:when> <xsl:when test="$element = 'bibliography'">back</xsl:when> <xsl:when test="$element = 'index'">index</xsl:when> <xsl:when test="$element = 'colophon'">back</xsl:when> <xsl:otherwise>body</xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="$draft.mode = 'yes'"> <xsl:text>-draft</xsl:text> </xsl:when> <xsl:when test="$draft.mode = 'no'"> <!-- nop --> </xsl:when> <xsl:when test="ancestor-or-self::*[@status][1]/@status = 'draft'"> <xsl:text>-draft</xsl:text> </xsl:when> <xsl:otherwise> <!-- nop --> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="select.user.pagemaster"> <xsl:with-param name="element" select="$element"/> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="default-pagemaster" select="$pagemaster"/> </xsl:call-template> </xsl:template> <xsl:template name="select.user.pagemaster"> <xsl:param name="element"/> <xsl:param name="pageclass"/> <xsl:param name="default-pagemaster"/> <!-- by default, return the default. But if you've created your own pagemasters in user.pagemasters, you might want to select one here. --> <xsl:value-of select="$default-pagemaster"/> </xsl:template> <!-- ==================================================================== --> <xsl:template name="head.sep.rule"> <xsl:param name="pageclass"/> <xsl:param name="sequence"/> <xsl:param name="gentext-key"/> <xsl:if test="$header.rule != 0"> <xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute> <xsl:attribute name="border-bottom-style">solid</xsl:attribute> <xsl:attribute name="border-bottom-color">black</xsl:attribute> </xsl:if> </xsl:template> <xsl:template name="foot.sep.rule"> <xsl:param name="pageclass"/> <xsl:param name="sequence"/> <xsl:param name="gentext-key"/> <xsl:if test="$footer.rule != 0"> <xsl:attribute name="border-top-width">0.5pt</xsl:attribute> <xsl:attribute name="border-top-style">solid</xsl:attribute> <xsl:attribute name="border-top-color">black</xsl:attribute> </xsl:if> </xsl:template> <!-- ==================================================================== --> <xsl:template match="*" mode="running.head.mode"> <xsl:param name="master-reference" select="'unknown'"/> <xsl:param name="gentext-key" select="local-name(.)"/> <!-- remove -draft from reference --> <xsl:variable name="pageclass"> <xsl:choose> <xsl:when test="contains($master-reference, '-draft')"> <xsl:value-of select="substring-before($master-reference, '-draft')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$master-reference"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <fo:static-content flow-name="xsl-region-before-first"> <fo:block xsl:use-attribute-sets="header.content.properties"> <xsl:call-template name="header.table"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="'first'"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:static-content> <fo:static-content flow-name="xsl-region-before-odd"> <fo:block xsl:use-attribute-sets="header.content.properties"> <xsl:call-template name="header.table"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="'odd'"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:static-content> <fo:static-content flow-name="xsl-region-before-even"> <fo:block xsl:use-attribute-sets="header.content.properties"> <xsl:call-template name="header.table"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="'even'"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:static-content> <fo:static-content flow-name="xsl-region-before-blank"> <fo:block xsl:use-attribute-sets="header.content.properties"> <xsl:call-template name="header.table"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="'blank'"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:static-content> <xsl:call-template name="footnote-separator"/> <xsl:if test="$fop.extensions = 0 and $fop1.extensions = 0"> <xsl:call-template name="blank.page.content"/> </xsl:if> </xsl:template> <xsl:template name="footnote-separator"> <fo:static-content flow-name="xsl-footnote-separator"> <fo:block> <fo:leader xsl:use-attribute-sets="footnote.sep.leader.properties"/> </fo:block> </fo:static-content> </xsl:template> <xsl:template name="blank.page.content"> <fo:static-content flow-name="blank-body"> <fo:block text-align="center"/> </fo:static-content> </xsl:template> <xsl:template name="header.table"> <xsl:param name="pageclass" select="''"/> <xsl:param name="sequence" select="''"/> <xsl:param name="gentext-key" select="''"/> <!-- default is a single table style for all headers --> <!-- Customize it for different page classes or sequence location --> <xsl:choose> <xsl:when test="$pageclass = 'index'"> <xsl:attribute name="margin-{$direction.align.start}">0pt</xsl:attribute> </xsl:when> </xsl:choose> <xsl:variable name="column1"> <xsl:choose> <xsl:when test="$double.sided = 0">1</xsl:when> <xsl:when test="$sequence = 'first' or $sequence = 'odd'">1</xsl:when> <xsl:otherwise>3</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="column3"> <xsl:choose> <xsl:when test="$double.sided = 0">3</xsl:when> <xsl:when test="$sequence = 'first' or $sequence = 'odd'">3</xsl:when> <xsl:otherwise>1</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="candidate"> <fo:table xsl:use-attribute-sets="header.table.properties"> <xsl:call-template name="head.sep.rule"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="$sequence"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> <fo:table-column column-number="1"> <xsl:attribute name="column-width"> <xsl:text>proportional-column-width(</xsl:text> <xsl:call-template name="header.footer.width"> <xsl:with-param name="location">header</xsl:with-param> <xsl:with-param name="position" select="$column1"/> </xsl:call-template> <xsl:text>)</xsl:text> </xsl:attribute> </fo:table-column> <fo:table-column column-number="2"> <xsl:attribute name="column-width"> <xsl:text>proportional-column-width(</xsl:text> <xsl:call-template name="header.footer.width"> <xsl:with-param name="location">header</xsl:with-param> <xsl:with-param name="position" select="2"/> </xsl:call-template> <xsl:text>)</xsl:text> </xsl:attribute> </fo:table-column> <fo:table-column column-number="3"> <xsl:attribute name="column-width"> <xsl:text>proportional-column-width(</xsl:text> <xsl:call-template name="header.footer.width"> <xsl:with-param name="location">header</xsl:with-param> <xsl:with-param name="position" select="$column3"/> </xsl:call-template> <xsl:text>)</xsl:text> </xsl:attribute> </fo:table-column> <fo:table-body> <fo:table-row> <xsl:attribute name="block-progression-dimension.minimum"> <xsl:value-of select="$header.table.height"/> </xsl:attribute> <fo:table-cell text-align="start" display-align="before"> <xsl:if test="$fop.extensions = 0"> <xsl:attribute name="relative-align">baseline</xsl:attribute> </xsl:if> <fo:block> <xsl:call-template name="header.content"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="$sequence"/> <xsl:with-param name="position" select="$direction.align.start"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:table-cell> <fo:table-cell text-align="center" display-align="before"> <xsl:if test="$fop.extensions = 0"> <xsl:attribute name="relative-align">baseline</xsl:attribute> </xsl:if> <fo:block> <xsl:call-template name="header.content"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="$sequence"/> <xsl:with-param name="position" select="'center'"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:table-cell> <fo:table-cell text-align="right" display-align="before"> <xsl:if test="$fop.extensions = 0"> <xsl:attribute name="relative-align">baseline</xsl:attribute> </xsl:if> <fo:block> <xsl:call-template name="header.content"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="$sequence"/> <xsl:with-param name="position" select="$direction.align.end"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </xsl:variable> <!-- Really output a header? --> <xsl:choose> <xsl:when test="$pageclass = 'titlepage' and $gentext-key = 'book' and $sequence='first'"> <!-- no, book titlepages have no headers at all --> </xsl:when> <xsl:when test="$sequence = 'blank' and $headers.on.blank.pages = 0"> <!-- no output --> </xsl:when> <xsl:otherwise> <xsl:copy-of select="$candidate"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="header.content"> <xsl:param name="pageclass" select="''"/> <xsl:param name="sequence" select="''"/> <xsl:param name="position" select="''"/> <xsl:param name="gentext-key" select="''"/> <!-- <fo:block> <xsl:value-of select="$pageclass"/> <xsl:text>, </xsl:text> <xsl:value-of select="$sequence"/> <xsl:text>, </xsl:text> <xsl:value-of select="$position"/> <xsl:text>, </xsl:text> <xsl:value-of select="$gentext-key"/> </fo:block> --> <fo:block> <!-- sequence can be odd, even, first, blank --> <!-- position can be left, center, right --> <xsl:choose> <xsl:when test="$sequence = 'blank'"> <!-- nothing --> </xsl:when> <xsl:when test="$position='left'"> <!-- Same for odd, even, empty, and blank sequences --> <xsl:call-template name="draft.text"/> </xsl:when> <xsl:when test="($sequence='odd' or $sequence='even') and $position='center'"> <xsl:if test="$pageclass != 'titlepage'"> <xsl:choose> <xsl:when test="ancestor::book and ($double.sided != 0)"> <fo:retrieve-marker retrieve-class-name="section.head.marker" retrieve-position="first-including-carryover" retrieve-boundary="page-sequence"/> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="." mode="titleabbrev.markup"/> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:when> <xsl:when test="$position='center'"> <!-- nothing for empty and blank sequences --> </xsl:when> <xsl:when test="$position='right'"> <!-- Same for odd, even, empty, and blank sequences --> <xsl:call-template name="draft.text"/> </xsl:when> <xsl:when test="$sequence = 'first'"> <!-- nothing for first pages --> </xsl:when> <xsl:when test="$sequence = 'blank'"> <!-- nothing for blank pages --> </xsl:when> </xsl:choose> </fo:block> </xsl:template> <xsl:template name="header.footer.width"> <xsl:param name="location" select="'header'"/> <xsl:param name="position" select="1"/> <xsl:variable name="width.set"> <xsl:choose> <xsl:when test="$location = 'header'"> <xsl:value-of select="normalize-space($header.column.widths)"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="normalize-space($footer.column.widths)"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="width"> <xsl:choose> <xsl:when test="$position = 1"> <xsl:value-of select="substring-before($width.set, ' ')"/> </xsl:when> <xsl:when test="$position = 2"> <xsl:value-of select="substring-before(substring-after($width.set, ' '), ' ')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="substring-after(substring-after($width.set, ' '), ' ')"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <!-- Make sure it is a number --> <xsl:choose> <xsl:when test = "$width = number($width)"> <xsl:value-of select="$width"/> </xsl:when> <xsl:otherwise> <xsl:message>Error: value in <xsl:value-of select="$location"/>.column.widths at position <xsl:value-of select="$position"/> is not a number.</xsl:message> <xsl:text>1</xsl:text> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="draft.text"> <xsl:choose> <xsl:when test="$draft.mode = 'yes'"> <xsl:call-template name="gentext"> <xsl:with-param name="key" select="'Draft'"/> </xsl:call-template> </xsl:when> <xsl:when test="$draft.mode = 'no'"> <!-- nop --> </xsl:when> <xsl:when test="ancestor-or-self::*[@status][1]/@status = 'draft'"> <xsl:call-template name="gentext"> <xsl:with-param name="key" select="'Draft'"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <!-- nop --> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- ==================================================================== --> <xsl:template match="*" mode="running.foot.mode"> <xsl:param name="master-reference" select="'unknown'"/> <xsl:param name="gentext-key" select="local-name(.)"/> <!-- remove -draft from reference --> <xsl:variable name="pageclass"> <xsl:choose> <xsl:when test="contains($master-reference, '-draft')"> <xsl:value-of select="substring-before($master-reference, '-draft')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$master-reference"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <fo:static-content flow-name="xsl-region-after-first"> <fo:block xsl:use-attribute-sets="footer.content.properties"> <xsl:call-template name="footer.table"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="'first'"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:static-content> <fo:static-content flow-name="xsl-region-after-odd"> <fo:block xsl:use-attribute-sets="footer.content.properties"> <xsl:call-template name="footer.table"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="'odd'"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:static-content> <fo:static-content flow-name="xsl-region-after-even"> <fo:block xsl:use-attribute-sets="footer.content.properties"> <xsl:call-template name="footer.table"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="'even'"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:static-content> <fo:static-content flow-name="xsl-region-after-blank"> <fo:block xsl:use-attribute-sets="footer.content.properties"> <xsl:call-template name="footer.table"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="'blank'"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:static-content> </xsl:template> <xsl:template name="footer.table"> <xsl:param name="pageclass" select="''"/> <xsl:param name="sequence" select="''"/> <xsl:param name="gentext-key" select="''"/> <!-- default is a single table style for all footers --> <!-- Customize it for different page classes or sequence location --> <xsl:choose> <xsl:when test="$pageclass = 'index'"> <xsl:attribute name="margin-{$direction.align.start}">0pt</xsl:attribute> </xsl:when> </xsl:choose> <xsl:variable name="column1"> <xsl:choose> <xsl:when test="$double.sided = 0">1</xsl:when> <xsl:when test="$sequence = 'first' or $sequence = 'odd'">1</xsl:when> <xsl:otherwise>3</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="column3"> <xsl:choose> <xsl:when test="$double.sided = 0">3</xsl:when> <xsl:when test="$sequence = 'first' or $sequence = 'odd'">3</xsl:when> <xsl:otherwise>1</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="candidate"> <fo:table xsl:use-attribute-sets="footer.table.properties"> <xsl:call-template name="foot.sep.rule"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="$sequence"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> <fo:table-column column-number="1"> <xsl:attribute name="column-width"> <xsl:text>proportional-column-width(</xsl:text> <xsl:call-template name="header.footer.width"> <xsl:with-param name="location">footer</xsl:with-param> <xsl:with-param name="position" select="$column1"/> </xsl:call-template> <xsl:text>)</xsl:text> </xsl:attribute> </fo:table-column> <fo:table-column column-number="2"> <xsl:attribute name="column-width"> <xsl:text>proportional-column-width(</xsl:text> <xsl:call-template name="header.footer.width"> <xsl:with-param name="location">footer</xsl:with-param> <xsl:with-param name="position" select="2"/> </xsl:call-template> <xsl:text>)</xsl:text> </xsl:attribute> </fo:table-column> <fo:table-column column-number="3"> <xsl:attribute name="column-width"> <xsl:text>proportional-column-width(</xsl:text> <xsl:call-template name="header.footer.width"> <xsl:with-param name="location">footer</xsl:with-param> <xsl:with-param name="position" select="$column3"/> </xsl:call-template> <xsl:text>)</xsl:text> </xsl:attribute> </fo:table-column> <fo:table-body> <fo:table-row> <xsl:attribute name="block-progression-dimension.minimum"> <xsl:value-of select="$footer.table.height"/> </xsl:attribute> <fo:table-cell text-align="start" display-align="after"> <xsl:if test="$fop.extensions = 0"> <xsl:attribute name="relative-align">baseline</xsl:attribute> </xsl:if> <fo:block> <xsl:call-template name="footer.content"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="$sequence"/> <xsl:with-param name="position" select="$direction.align.start"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:table-cell> <fo:table-cell text-align="center" display-align="after"> <xsl:if test="$fop.extensions = 0"> <xsl:attribute name="relative-align">baseline</xsl:attribute> </xsl:if> <fo:block> <xsl:call-template name="footer.content"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="$sequence"/> <xsl:with-param name="position" select="'center'"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:table-cell> <fo:table-cell text-align="end" display-align="after"> <xsl:if test="$fop.extensions = 0"> <xsl:attribute name="relative-align">baseline</xsl:attribute> </xsl:if> <fo:block> <xsl:call-template name="footer.content"> <xsl:with-param name="pageclass" select="$pageclass"/> <xsl:with-param name="sequence" select="$sequence"/> <xsl:with-param name="position" select="$direction.align.end"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:call-template> </fo:block> </fo:table-cell> </fo:table-row> </fo:table-body> </fo:table> </xsl:variable> <!-- Really output a footer? --> <xsl:choose> <xsl:when test="$pageclass='titlepage' and $gentext-key='book' and $sequence='first'"> <!-- no, book titlepages have no footers at all --> </xsl:when> <xsl:when test="$sequence = 'blank' and $footers.on.blank.pages = 0"> <!-- no output --> </xsl:when> <xsl:otherwise> <xsl:copy-of select="$candidate"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="footer.content"> <xsl:param name="pageclass" select="''"/> <xsl:param name="sequence" select="''"/> <xsl:param name="position" select="''"/> <xsl:param name="gentext-key" select="''"/> <!-- <fo:block> <xsl:value-of select="$pageclass"/> <xsl:text>, </xsl:text> <xsl:value-of select="$sequence"/> <xsl:text>, </xsl:text> <xsl:value-of select="$position"/> <xsl:text>, </xsl:text> <xsl:value-of select="$gentext-key"/> </fo:block> --> <fo:block> <!-- pageclass can be front, body, back --> <!-- sequence can be odd, even, first, blank --> <!-- position can be left, center, right --> <xsl:choose> <xsl:when test="$pageclass = 'titlepage'"> <!-- nop; no footer on title pages --> </xsl:when> <xsl:when test="$double.sided != 0 and $sequence = 'even' and $position='left'"> <fo:page-number/> </xsl:when> <xsl:when test="$double.sided != 0 and ($sequence = 'odd' or $sequence = 'first') and $position='right'"> <fo:page-number/> </xsl:when> <xsl:when test="$double.sided = 0 and $position='center'"> <fo:page-number/> </xsl:when> <xsl:when test="$sequence='blank'"> <xsl:choose> <xsl:when test="$double.sided != 0 and $position = 'left'"> <fo:page-number/> </xsl:when> <xsl:when test="$double.sided = 0 and $position = 'center'"> <fo:page-number/> </xsl:when> <xsl:otherwise> <!-- nop --> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <!-- nop --> </xsl:otherwise> </xsl:choose> </fo:block> </xsl:template> <!-- ==================================================================== --> <xsl:template name="page.number.format"> <xsl:param name="element" select="local-name(.)"/> <xsl:param name="master-reference" select="''"/> <xsl:choose> <xsl:when test="$element = 'toc' and self::book">i</xsl:when> <xsl:when test="$element = 'preface'">i</xsl:when> <xsl:when test="$element = 'dedication'">i</xsl:when> <xsl:otherwise>1</xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="initial.page.number"> <xsl:param name="element" select="local-name(.)"/> <xsl:param name="master-reference" select="''"/> <!-- Select the first content that the stylesheet places after the TOC --> <xsl:variable name="first.book.content" select="ancestor::book/*[ not(self::title or self::subtitle or self::titleabbrev or self::bookinfo or self::info or self::dedication or self::preface or self::toc or self::lot)][1]"/> <xsl:choose> <!-- double-sided output --> <xsl:when test="$double.sided != 0"> <xsl:choose> <xsl:when test="$element = 'toc'">auto-odd</xsl:when> <xsl:when test="$element = 'book'">1</xsl:when> <!-- preface typically continues TOC roman numerals --> <!-- Change page.number.format if not --> <xsl:when test="$element = 'preface'">auto-odd</xsl:when> <xsl:when test="($element = 'dedication' or $element = 'article') and not(preceding::chapter or preceding::preface or preceding::appendix or preceding::article or preceding::dedication or parent::part or parent::reference)">1</xsl:when> <xsl:when test="generate-id($first.book.content) = generate-id(.)">1</xsl:when> <xsl:otherwise>auto-odd</xsl:otherwise> </xsl:choose> </xsl:when> <!-- single-sided output --> <xsl:otherwise> <xsl:choose> <xsl:when test="$element = 'toc'">auto</xsl:when> <xsl:when test="$element = 'book'">1</xsl:when> <xsl:when test="$element = 'preface'">auto</xsl:when> <xsl:when test="($element = 'dedication' or $element = 'article') and not(preceding::chapter or preceding::preface or preceding::appendix or preceding::article or preceding::dedication or parent::part or parent::reference)">1</xsl:when> <xsl:when test="generate-id($first.book.content) = generate-id(.)">1</xsl:when> <xsl:otherwise>auto</xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="force.page.count"> <xsl:param name="element" select="local-name(.)"/> <xsl:param name="master-reference" select="''"/> <xsl:choose> <!-- double-sided output --> <xsl:when test="$double.sided != 0">end-on-even</xsl:when> <!-- single-sided output --> <xsl:otherwise>no-force</xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="set.flow.properties"> <xsl:param name="element" select="local-name(.)"/> <xsl:param name="master-reference" select="''"/> <!-- This template is called after each <fo:flow> starts. --> <!-- Customize this template to set attributes on fo:flow --> <!-- remove -draft from reference --> <xsl:variable name="pageclass"> <xsl:choose> <xsl:when test="contains($master-reference, '-draft')"> <xsl:value-of select="substring-before($master-reference, '-draft')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$master-reference"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="$fop.extensions != 0 or $passivetex.extensions != 0"> <!-- body.start.indent does not work well with these processors --> </xsl:when> <xsl:when test="starts-with($pageclass, 'body') or starts-with($pageclass, 'lot') or starts-with($pageclass, 'front') or $element = 'preface' or (starts-with($pageclass, 'back') and $element = 'appendix')"> <xsl:attribute name="start-indent"> <xsl:value-of select="$body.start.indent"/> </xsl:attribute> <xsl:attribute name="end-indent"> <xsl:value-of select="$body.end.indent"/> </xsl:attribute> </xsl:when> </xsl:choose> </xsl:template> <!-- ==================================================================== --> </xsl:stylesheet>