for page-sequences so they can be customized.
<xsl:with-param name="master-reference" select="$master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:with-param name="key" select="'hyphenation-character'"/>
<xsl:with-param name="master-reference" select="$master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="not(preceding::chapter
- or preceding::preface
- or preceding::appendix
- or preceding::article
- or preceding::dedication
- or parent::part
- or parent::reference)">
- <!-- if there is a preceding component or we're in a part, the -->
- <!-- page numbering will already be adjusted -->
- <xsl:attribute name="initial-page-number">1</xsl:attribute>
- </xsl:when>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- </xsl:choose>
-
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:with-param name="master-reference" select="$master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:with-param name="key" select="'hyphenation-character'"/>
</xsl:call-template>
</xsl:attribute>
- <!-- Page numbering for a preface doesn't restart; it continues from the ToC -->
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:with-param name="master-reference" select="$master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="not(preceding::chapter
- or preceding::appendix
- or preceding::article
- or preceding::dedication
- or parent::part
- or parent::reference)">
- <!-- if there is a preceding component or we're in a part, the -->
- <!-- page numbering will already be adjusted -->
- <xsl:attribute name="initial-page-number">1</xsl:attribute>
- </xsl:when>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- </xsl:choose>
-
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:with-param name="master-reference" select="$master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="not(preceding::chapter
- or preceding::appendix
- or preceding::article
- or preceding::dedication
- or parent::part
- or parent::reference)">
- <!-- if there is a preceding component or we're in a part, the -->
- <!-- page numbering will already be adjusted -->
- <xsl:attribute name="initial-page-number">1</xsl:attribute>
- </xsl:when>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- </xsl:choose>
-
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:with-param name="master-reference" select="$master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="not(preceding::chapter
- or preceding::preface
- or preceding::appendix
- or preceding::article
- or preceding::dedication
- or parent::part
- or parent::reference)">
- <!-- if there is a preceding component or we're in a part, the -->
- <!-- page numbering will already be adjusted -->
- <xsl:attribute name="initial-page-number">1</xsl:attribute>
- </xsl:when>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- </xsl:choose>
-
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
select="$titlepage-master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference"
+ select="$titlepage-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$titlepage-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:with-param name="key" select="'hyphenation-character'"/>
<xsl:if test="contains($toc.params, 'toc')">
<fo:page-sequence hyphenate="{$hyphenate}"
- format="i"
master-reference="{$lot-master-reference}">
<xsl:attribute name="language">
<xsl:call-template name="l10n.language"/>
select="$lot-master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:if test="$preamble">
<fo:page-sequence hyphenate="{$hyphenate}"
- master-reference="{$titlepage-master-reference}"
- initial-page-number="1">
+ master-reference="{$titlepage-master-reference}">
<xsl:attribute name="language">
<xsl:call-template name="l10n.language"/>
</xsl:attribute>
select="$titlepage-master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference"
+ select="$titlepage-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$titlepage-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:if test="contains($toc.params, 'toc')">
<fo:page-sequence hyphenate="{$hyphenate}"
- format="i"
master-reference="{$lot-master-reference}">
<xsl:attribute name="language">
<xsl:call-template name="l10n.language"/>
select="$lot-master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="element" select="'toc'"/>
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:if test="contains($toc.params,'figure') and .//figure">
<fo:page-sequence hyphenate="{$hyphenate}"
- format="i"
master-reference="{$lot-master-reference}">
<xsl:attribute name="language">
<xsl:call-template name="l10n.language"/>
select="$lot-master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="element" select="'toc'"/>
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:if test="contains($toc.params,'table') and .//table">
<fo:page-sequence hyphenate="{$hyphenate}"
- format="i"
master-reference="{$lot-master-reference}">
<xsl:attribute name="language">
<xsl:call-template name="l10n.language"/>
select="$lot-master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="element" select="'toc'"/>
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:if test="contains($toc.params,'example') and .//example">
<fo:page-sequence hyphenate="{$hyphenate}"
- format="i"
master-reference="{$lot-master-reference}">
<xsl:attribute name="language">
<xsl:call-template name="l10n.language"/>
select="$lot-master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="element" select="'toc'"/>
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:if test="contains($toc.params,'equation') and .//equation">
<fo:page-sequence hyphenate="{$hyphenate}"
- format="i"
master-reference="{$lot-master-reference}">
<xsl:attribute name="language">
<xsl:call-template name="l10n.language"/>
select="$lot-master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="element" select="'toc'"/>
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:if test="contains($toc.params,'procedure') and .//procedure">
<fo:page-sequence hyphenate="{$hyphenate}"
- format="i"
master-reference="{$lot-master-reference}">
<xsl:attribute name="language">
<xsl:call-template name="l10n.language"/>
select="$lot-master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="element" select="'toc'"/>
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="not(preceding::chapter)
- and not(preceding::part)">
- <!-- if there is a preceding chapter or part, page numbering will already -->
- <!-- be adjusted, otherwise restart the page numbers -->
- <xsl:attribute name="initial-page-number">1</xsl:attribute>
- </xsl:when>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- </xsl:choose>
-
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference"
+ select="$titlepage-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$titlepage-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
select="$lot-master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="element" select="'toc'"/>
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$lot-master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
<xsl:param name="master-reference" select="''"/>
<xsl:choose>
- <xsl:when test="$element = 'toc'">i</xsl:when>
+ <xsl:when test="$element = 'toc' and self::book">i</xsl:when>
<xsl:when test="$element = 'preface'">i</xsl:when>
<xsl:when test="$element = 'dedication'">i</xsl:when>
<xsl:otherwise>1</xsl:otherwise>
</xsl:choose>
</xsl:template>
+<xsl:template name="initial.page.number">
+ <xsl:param name="element" select="local-name(.)"/>
+ <xsl:param name="master-reference" select="''"/>
+
+ <xsl:choose>
+ <!-- double-sided output -->
+ <xsl:when test="$double.sided != 0">
+ <xsl:choose>
+ <xsl:when test="$element = 'toc'">auto-odd</xsl:when>
+ <xsl:when test="$element = 'book'">1</xsl:when>
+ <xsl:when test="$element = 'preface'">auto-odd</xsl:when>
+ <xsl:when test="$element = 'part' and not(preceding::chapter)
+ and not(preceding::part)">1</xsl:when>
+ <xsl:when test="($element = 'dedication' or $element = 'article') and
+ not(preceding::chapter
+ or preceding::preface
+ or preceding::appendix
+ or preceding::article
+ or preceding::dedication
+ or parent::part
+ or parent::reference)">1</xsl:when>
+ <xsl:when test="($element = 'chapter' or $element = 'appendix') and
+ not(preceding::chapter
+ or preceding::appendix
+ or preceding::article
+ or preceding::dedication
+ or parent::part
+ or parent::reference)">1</xsl:when>
+ <xsl:otherwise>auto-odd</xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+
+ <!-- single-sided output -->
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$element = 'toc'">auto</xsl:when>
+ <xsl:when test="$element = 'preface'">auto</xsl:when>
+ <xsl:when test="($element = 'dedication' or $element = 'article') and
+ not(preceding::chapter
+ or preceding::preface
+ or preceding::appendix
+ or preceding::article
+ or preceding::dedication
+ or parent::part
+ or parent::reference)">1</xsl:when>
+ <xsl:when test="($element = 'chapter' or $element = 'appendix') and
+ not(preceding::chapter
+ or preceding::appendix
+ or preceding::article
+ or preceding::dedication
+ or parent::part
+ or parent::reference)">1</xsl:when>
+ <xsl:otherwise>auto</xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="force.page.count">
+ <xsl:param name="element" select="local-name(.)"/>
+ <xsl:param name="master-reference" select="''"/>
+
+ <xsl:choose>
+ <!-- double-sided output -->
+ <xsl:when test="$double.sided != 0">end-on-even</xsl:when>
+ <!-- single-sided output -->
+ <xsl:otherwise>no-force</xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
<!-- ==================================================================== -->
</xsl:stylesheet>
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference" select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
</xsl:call-template>
</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$double.sided != 0">
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="force-page-count">no-force</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="element" select="'toc'"/>
+ <xsl:with-param name="master-reference"
+ select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
+
+ <xsl:attribute name="force-page-count">
+ <xsl:call-template name="force.page.count">
+ <xsl:with-param name="master-reference"
+ select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">
select="$master-reference"/>
</xsl:call-template>
</xsl:attribute>
- <xsl:if test="$double.sided != 0">
- <xsl:attribute name="initial-page-number">auto-odd</xsl:attribute>
- </xsl:if>
+
+ <xsl:attribute name="initial-page-number">
+ <xsl:call-template name="initial.page.number">
+ <xsl:with-param name="element" select="'toc'"/>
+ <xsl:with-param name="master-reference"
+ select="$master-reference"/>
+ </xsl:call-template>
+ </xsl:attribute>
<xsl:attribute name="hyphenation-character">
<xsl:call-template name="gentext">