<?xml version="1.0"?> <xsl:stylesheet exclude-result-prefixes="d" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://docbook.org/ns/docbook" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0"> <!-- ******************************************************************** $Id: pagesetup.xsl 9720 2013-01-31 18:24:47Z bobstayton $ ******************************************************************** 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="dingbat.fontset"> <xsl:value-of select="$dingbat.font.family"/> <xsl:if test="$dingbat.font.family != '' and $symbol.font.family != ''">,</xsl:if> <xsl:value-of select="$symbol.font.family"/> </xsl:param> <!-- These are internal parameters are for the individual precedence attributes --> <xsl:param name="region.start.precedence"> <xsl:choose> <xsl:when test="$side.region.precedence = 'true'">true</xsl:when> <xsl:otherwise>false</xsl:otherwise> </xsl:choose> </xsl:param> <xsl:param name="region.end.precedence"> <xsl:choose> <xsl:when test="$side.region.precedence = 'true'">true</xsl:when> <xsl:otherwise>false</xsl:otherwise> </xsl:choose> </xsl:param> <xsl:param name="region.before.precedence"> <xsl:choose> <xsl:when test="$side.region.precedence = 'true'">false</xsl:when> <xsl:otherwise>true</xsl:otherwise> </xsl:choose> </xsl:param> <xsl:param name="region.after.precedence"> <xsl:choose> <xsl:when test="$side.region.precedence = 'true'">false</xsl:when> <xsl:otherwise>true</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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-blank" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">blank</xsl:with-param> <xsl:with-param name="pageclass">blank</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">blank</xsl:with-param> <xsl:with-param name="pageclass">blank</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">body</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">body</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="pageclass">body</xsl:with-param> <xsl:with-param name="sequence">odd</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="pageclass">body</xsl:with-param> <xsl:with-param name="sequence">odd</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="pageclass">body</xsl:with-param> <xsl:with-param name="sequence">even</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="pageclass">body</xsl:with-param> <xsl:with-param name="sequence">even</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-first" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-odd" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> </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}"> <xsl:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> </fo:region-body> <fo:region-before region-name="xsl-region-before-even" extent="{$region.before.extent}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-blank" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">blank</xsl:with-param> <xsl:with-param name="pageclass">blank</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">blank</xsl:with-param> <xsl:with-param name="pageclass">blank</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">titlepage</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">lot</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">front</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">body</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">body</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">body</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">body</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">body</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">body</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">back</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-first" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">first</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-odd" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">odd</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> </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:attribute name="margin-{$direction.align.start}"> <xsl:value-of select="$body.margin.outer"/> </xsl:attribute> <xsl:attribute name="margin-{$direction.align.end}"> <xsl:value-of select="$body.margin.inner"/> </xsl:attribute> <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}" precedence="{$region.before.precedence}" display-align="before"/> <fo:region-after region-name="xsl-region-after-even" extent="{$region.after.extent}" precedence="{$region.after.precedence}" display-align="after"/> <xsl:call-template name="region.outer"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> <xsl:call-template name="region.inner"> <xsl:with-param name="sequence">even</xsl:with-param> <xsl:with-param name="pageclass">index</xsl:with-param> </xsl:call-template> </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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="titlepage-first" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="lot-first" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="front-first" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="body-first" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="back-first" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="index-first" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="titlepage-first-draft" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="lot-first-draft" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="front-first-draft" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="body-first-draft" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="back-first-draft" page-position="first"/> </xsl:if> <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"/> <xsl:if test="$force.blank.pages != 0"> <fo:conditional-page-master-reference master-reference="index-first-draft" page-position="first"/> </xsl:if> <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:apply-templates select="." mode="region.inner.mode"> <xsl:with-param name="master-reference" select="$master-reference"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:apply-templates> <xsl:apply-templates select="." mode="region.outer.mode"> <xsl:with-param name="master-reference" select="$master-reference"/> <xsl:with-param name="gentext-key" select="$gentext-key"/> </xsl:apply-templates> </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="running.side.content"> <xsl:apply-templates select="." mode="region.inner.mode"/> </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: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> <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: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> <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: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> <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::d: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:param name="pageclass" select="''"/> <xsl:param name="sequence" select="''"/> <xsl:param name="gentext-key" select="''"/> <!-- The location param is either 'header' or 'footer'. The position param is one of '1', '2', or '3' to indicate which column of the header or footer table. --> <!-- The pageclass, sequence, and gentext-key values are passed from the header.table or footer.table template. They are not currently used, but are made available here for customization of this template. --> <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: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> <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: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> <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: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> <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 match="*" mode="region.inner.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-inner-first"> <xsl:call-template name="inner.region.content"> <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:static-content> <fo:static-content flow-name="xsl-region-inner-odd"> <xsl:call-template name="inner.region.content"> <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:static-content> <fo:static-content flow-name="xsl-region-inner-even"> <xsl:call-template name="inner.region.content"> <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:static-content> <fo:static-content flow-name="xsl-region-inner-blank"> <xsl:call-template name="inner.region.content"> <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:static-content> </xsl:template> <xsl:template match="*" mode="region.outer.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-outer-first"> <xsl:call-template name="outer.region.content"> <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:static-content> <fo:static-content flow-name="xsl-region-outer-odd"> <xsl:call-template name="outer.region.content"> <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:static-content> <fo:static-content flow-name="xsl-region-outer-even"> <xsl:call-template name="outer.region.content"> <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:static-content> <fo:static-content flow-name="xsl-region-outer-blank"> <xsl:call-template name="outer.region.content"> <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:static-content> </xsl:template> <xsl:template name="inner.region.content"> <xsl:param name="pageclass" select="''"/> <xsl:param name="sequence" select="''"/> <xsl:param name="position" select="''"/> <xsl:param name="gentext-key" select="''"/> <!-- pageclass can be front, body, back --> <!-- sequence can be odd, even, first, blank --> <!-- position can be left, center, right --> <!-- Customize to add side region content--> <fo:block xsl:use-attribute-sets="inner.region.content.properties"> <!-- Add your content here --> </fo:block> </xsl:template> <xsl:template name="outer.region.content"> <xsl:param name="pageclass" select="''"/> <xsl:param name="sequence" select="''"/> <xsl:param name="position" select="''"/> <xsl:param name="gentext-key" select="''"/> <!-- pageclass can be front, body, back --> <!-- sequence can be odd, even, first, blank --> <!-- position can be left, center, right --> <!-- Customize to add side region content--> <fo:block xsl:use-attribute-sets="outer.region.content.properties"> <!-- Add your content here --> </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::d:book">i</xsl:when> <xsl:when test="$element = 'set'">i</xsl:when> <xsl:when test="$element = 'book'">i</xsl:when> <xsl:when test="$element = 'preface'">i</xsl:when> <xsl:when test="$element = 'dedication'">i</xsl:when> <xsl:when test="$element = 'acknowledgements'">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="''"/> <xsl:variable name="first"> <xsl:choose> <xsl:when test="$force.blank.pages = 0">auto</xsl:when> <xsl:otherwise>auto-odd</xsl:otherwise> </xsl:choose> </xsl:variable> <!-- Select the first content that the stylesheet places after the TOC --> <xsl:variable name="first.book.content" select="ancestor::d:book/*[ not(self::d:title or self::d:subtitle or self::d:titleabbrev or self::d:bookinfo or self::d:info or self::d:dedication or self::d:acknowledgements or self::d:preface or self::d:toc or self::d:lot)][1]"/> <xsl:choose> <!-- double-sided output --> <xsl:when test="$double.sided != 0"> <xsl:choose> <xsl:when test="$element = 'toc'"><xsl:value-of select="$first"/></xsl:when> <xsl:when test="$element = 'book'"><xsl:value-of select="$first"/></xsl:when> <!-- preface typically continues TOC roman numerals --> <!-- If changed to 1 here, then change page.number.format too --> <xsl:when test="$element = 'preface'"><xsl:value-of select="$first"/></xsl:when> <xsl:when test="($element = 'dedication' or $element = 'article') and not(preceding::d:chapter or preceding::d:preface or preceding::d:appendix or preceding::d:article or preceding::d:dedication or parent::d:part or parent::d:reference)">1</xsl:when> <xsl:when test="generate-id($first.book.content) = generate-id(.)">1</xsl:when> <xsl:otherwise><xsl:value-of select="$first"/></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'">auto</xsl:when> <xsl:when test="$element = 'preface'">auto</xsl:when> <xsl:when test="($element = 'dedication' or $element = 'article') and not(preceding::d:chapter or preceding::d:preface or preceding::d:appendix or preceding::d:article or preceding::d:dedication or parent::d:part or parent::d: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> <!-- no automatic even blank pages at end of chapters --> <xsl:when test="$force.blank.pages = 0">no-force</xsl:when> <!-- 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"> <!-- 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> <!-- ==================================================================== --> <!-- Customize this template for custom side regions --> <xsl:template name="region.inner"> <xsl:param name="sequence">blank</xsl:param> <xsl:param name="classname">blank</xsl:param> <xsl:choose> <xsl:when test="$sequence = 'first' or $sequence = 'odd'"> <fo:region-start xsl:use-attribute-sets="region.inner.properties"> <xsl:attribute name="region-name"> <xsl:text>xsl-region-inner-</xsl:text> <xsl:value-of select="$sequence"/> </xsl:attribute> <xsl:attribute name="precedence"> <xsl:value-of select="$region.start.precedence"/> </xsl:attribute> <xsl:attribute name="extent"> <xsl:value-of select="$region.inner.extent"/> </xsl:attribute> </fo:region-start> </xsl:when> <xsl:otherwise> <fo:region-end xsl:use-attribute-sets="region.inner.properties"> <xsl:attribute name="region-name"> <xsl:text>xsl-region-inner-</xsl:text> <xsl:value-of select="$sequence"/> </xsl:attribute> <xsl:attribute name="precedence"> <xsl:value-of select="$region.end.precedence"/> </xsl:attribute> <xsl:attribute name="extent"> <xsl:value-of select="$region.inner.extent"/> </xsl:attribute> </fo:region-end> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- Customize this template for custom side regions --> <xsl:template name="region.outer"> <xsl:param name="sequence">blank</xsl:param> <xsl:param name="classname">blank</xsl:param> <xsl:choose> <xsl:when test="$sequence = 'first' or $sequence = 'odd'"> <fo:region-end xsl:use-attribute-sets="region.outer.properties"> <xsl:attribute name="region-name"> <xsl:text>xsl-region-outer-</xsl:text> <xsl:value-of select="$sequence"/> </xsl:attribute> <xsl:attribute name="precedence"> <xsl:value-of select="$region.start.precedence"/> </xsl:attribute> <xsl:attribute name="extent"> <xsl:value-of select="$region.outer.extent"/> </xsl:attribute> </fo:region-end> </xsl:when> <xsl:otherwise> <fo:region-start xsl:use-attribute-sets="region.outer.properties"> <xsl:attribute name="region-name"> <xsl:text>xsl-region-outer-</xsl:text> <xsl:value-of select="$sequence"/> </xsl:attribute> <xsl:attribute name="precedence"> <xsl:value-of select="$region.end.precedence"/> </xsl:attribute> <xsl:attribute name="extent"> <xsl:value-of select="$region.outer.extent"/> </xsl:attribute> </fo:region-start> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 26953 | Paul Allen | Move //guest/perforce_software/p4convert to //guest/perforce_software/p4convert/main | ||
//guest/perforce_software/p4convert/docs/docbook-xsl-ns-1.78.1/fo/pagesetup.xsl | |||||
#2 | 14806 | Paul Allen | Update docs and add +w. | ||
#1 | 13920 | Paul Allen | copy part 2 (no errors) | ||
//guest/paul_allen/p4convert-maven/docs/docbook-xsl-ns-1.78.1/fo/pagesetup.xsl | |||||
#1 | 13895 | Paul Allen | Copying using p4convert-docbook | ||
//guest/perforce_software/doc_build/main/docbook-xsl-ns-1.78.1/fo/pagesetup.xsl | |||||
#1 | 12728 | eedwards |
Upgrade ANT doc build infrastructure to assemble PDFs: - remove non-namespaced DocBook source and add namespaced DocBook source. - add Apache FOP 1.1 - copy fonts, images, XSL into _build, establishing new asset structure. The original structure remains until all guides using it can be upgraded, and several other issues can be resolved. - updated build.xml to allow for per-target build properties. - upgraded the P4SAG to use the new infrastructure. - tweaked admonition presentation in PDFs to remove admonition graphics, and resemble closely the presentation used in the new HTML layout, including the same colors. With these changes, building PDFs involves using a shell, navigating into the guide's directory (just P4SAG for now), and executing "ant pdf". Issues still to be resolved: - PDF generation encounters several warnings about missing fonts (bold versions of Symbol and ZapfDingbats), and a couple of locations where the page content exceeds the defined content area. - Due to issues within Apache FOP, PDF generation emits a substantial amount of output that is not easily suppressed without losing important warning information. - Apache FOP's interface to ANT does not expose a way to set the font base directory. The current configuration does work under Mac OSX, but further testing on Windows will need to be done to determine if the relative paths defined continue to work. The workaround is for Windows users to customize the fop-config.xml to provide absolute system paths to the required fonts. - HTML generation needs further browser testing, and exhibits broken navigation on iOS browsers within the TOC sidebar. - A number of PDF and HTML presentation tweaks still need to be made, for example: sidebars, gui* DocBook tags, whitespace, section separation, etc. |