summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-03-28 19:43:32 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-03-28 19:44:49 (GMT)
commit3afa4f741c26360245dc313bc368f508b26a6b96 (patch)
tree4fc9fedac990a099010fed8a4ee09ddc51c21cc5 /3rdParty/DocBook/XSL/fo/pagesetup.xsl
parent7548dabae7d10e48816142e508be651ada9f7bc3 (diff)
downloadswift-contrib-3afa4f741c26360245dc313bc368f508b26a6b96.zip
swift-contrib-3afa4f741c26360245dc313bc368f508b26a6b96.tar.bz2
Added DocBook infrastructure.
Imported most of "DocBook kit". Added placeholder for Swiften developers guide.
Diffstat (limited to '3rdParty/DocBook/XSL/fo/pagesetup.xsl')
-rw-r--r--3rdParty/DocBook/XSL/fo/pagesetup.xsl2567
1 files changed, 2567 insertions, 0 deletions
diff --git a/3rdParty/DocBook/XSL/fo/pagesetup.xsl b/3rdParty/DocBook/XSL/fo/pagesetup.xsl
new file mode 100644
index 0000000..62f5ac4
--- /dev/null
+++ b/3rdParty/DocBook/XSL/fo/pagesetup.xsl
@@ -0,0 +1,2567 @@
+<?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>