docbook-apps

  • 1.  Custom page master

    Posted 12-06-2006 09:39
    Hello,

    I try to use custom page masters in my customization layer (see code
    snippet below). But it seems that these are never used. Am I missing
    something? How can I be sure that the templates for custom page
    masters are called? Is there a way to debug my customization layer?
    I'm using docbook-xsl 1.69.1, xsltproc and fop 0.20.5

    Thanks in advance for any ideas!

    Regards,
    Daniela

    My customized pagemaster:

    <xsl:template name="user.pagemasters">

    <fo:simple-page-master master-name="adito_body-first"
    page-width="{$page.width}" page-height="{$page.height}"
    margin-top="{$page.margin.top}"
    margin-bottom="{$page.margin.bottom}"
    margin-left="{$margin.left.inner}"
    margin-right="{$page.margin.outer}">
    <fo:region-body margin-bottom="{$body.margin.bottom}"
    margin-top="{$body.margin.top}"
    column-gap="{$column.gap.body}" column-count="{$column.count.body}"
    border-start-color="black" border-start-width="2pt"
    border-start-style="solid" />
    <fo:region-before region-name="xsl-region-before-first"
    extent="{$region.before.extent}" display-align="before"/>
    <fo:region-after region-name="xsl-region-after-first"
    extent="{$region.after.extent}" display-align="after"/>
    </fo:simple-page-master>

    <fo:simple-page-master master-name="adito_body-odd"
    page-width="{$page.width}" page-height="{$page.height}"
    margin-top="{$page.margin.top}"
    margin-bottom="{$page.margin.bottom}"
    margin-left="{$margin.left.inner}"
    margin-right="{$page.margin.outer}">
    <fo:region-body margin-bottom="{$body.margin.bottom}"
    margin-top="{$body.margin.top}"
    column-gap="{$column.gap.body}" column-count="{$column.count.body}"
    border-start-color="black" border-start-width="2pt"
    border-start-style="solid"
    background-color="red" />
    <fo:region-before region-name="xsl-region-before-odd"
    extent="{$region.before.extent}" display-align="before"/>
    <fo:region-after region-name="xsl-region-after-odd"
    extent="{$region.after.extent}" display-align="after"/>
    </fo:simple-page-master>

    <fo:simple-page-master master-name="adito_body-even"
    page-width="{$page.width}" page-height="{$page.height}"
    margin-top="{$page.margin.top}"
    margin-bottom="{$page.margin.bottom}"
    margin-left="{$margin.left.outer}"
    margin-right="{$page.margin.inner}">
    <fo:region-body margin-bottom="{$body.margin.bottom}"
    margin-top="{$body.margin.top}"
    column-gap="{$column.gap.body}" column-count="{$column.count.body}"
    border-start-color="black" border-start-width="2pt"
    border-start-style="solid" />
    <fo:region-before region-name="xsl-region-before-even"
    extent="{$region.before.extent}" display-align="before" />
    <fo:region-after region-name="xsl-region-after-even"
    extent="{$region.after.extent}" display-align="after"/>
    </fo:simple-page-master>

    <fo:page-sequence-master master-name="adito_body">
    <fo:repeatable-page-master-alternatives>
    <fo:conditional-page-master-reference master-reference="blank"
    blank-or-not-blank="blank"/>
    <fo:conditional-page-master-reference
    master-reference="adito_body-first" page-position="first"/>
    <fo:conditional-page-master-reference
    master-reference="adito_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">adito_body-even</xsl:when>
    <xsl:otherwise>adito_body-odd</xsl:otherwise>
    </xsl:choose>
    </xsl:attribute>
    </fo:conditional-page-master-reference>
    </fo:repeatable-page-master-alternatives>
    </fo:page-sequence-master>
    </xsl:template>


    <xsl:template name="select.user.pagemaster">
    <xsl:param name="element"/>
    <xsl:param name="pageclass"/>
    <xsl:param name="default-pagemaster"/>



    <xsl:choose>
    <xsl:when test="$default-pagemaster = 'body-first'"><xsl:value-of
    select="'adito_body-first'" /></xsl:when>
    <xsl:when test="$default-pagemaster = 'body-odd'"><xsl:value-of
    select="'adito_body-odd'" /></xsl:when>
    <xsl:when test="$default-pagemaster = 'body-even'"><xsl:value-of
    select="'adito_body-even'" /></xsl:when>
    <xsl:otherwise><xsl:value-of select="$default-pagemaster"/></xsl:otherwise>
    </xsl:choose>
    </xsl:template>