Obrázek na obálku

Tomáš Waller tomas.waller na seznam.cz
Úterý Listopad 18 19:57:47 CET 2008


Dobrý den!
Povedlo se mi nakonec dát na titulní stranu obrázek tak, aby už nebyl na 
titlepage pro oddíl part. Vytvořil jsem si user.pagemasters a do 
select.user.pagemaster jsem dal podmínku, která mi omezila obrázek jen 
na titulní stranu a následující: test="$default-pagemaster = 'titlepage' 
and self::book".
Bohužel, stále mi to vkládá obrázek i na verso stranu obálky. Ale to já 
nechci. Nenapadá mě, jak bych měl zadat podmínku. A zda musím vytvořit 
dvakrát simple-page-master (cover-odd s obrázkem a cover-even bez 
obrázku), anebo jen jeden cover pro obálku a další už bude bez obrázku 
defaultní...
Můžete mi poradit? Předem děkuji.
Tomáč Waller
Následuje kód:


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

<!-- title page of the cover -->
   <fo:simple-page-master master-name="cover-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}">
     <xsl:if test="$axf.extensions != 0">
       <xsl:call-template name="axf-page-master-properties">
         <xsl:with-param name="page.master">cover-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="background-image">
                   <xsl:call-template name="fo-external-image">
                     <xsl:with-param name="filename" 
select="$filename.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>
     </fo:region-body>
     <fo:region-before region-name="xsl-region-before-first"
                       extent="{$region.before.extent}"
                       display-align="before"/>
     <fo:region-after region-name="xsl-region-after-first"
                      extent="{$region.after.extent}"
                       display-align="after"/>
   </fo:simple-page-master>

   <fo:simple-page-master master-name="cover-even"
                          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}">
     <xsl:if test="$axf.extensions != 0">
       <xsl:call-template name="axf-page-master-properties">
         <xsl:with-param name="page.master">cover-even</xsl:with-param>
       </xsl:call-template>
     </xsl:if>
     <fo:region-body margin-bottom="{$body.margin.bottom}"
                     margin-top="{$body.margin.top}"
                     column-gap="{$column.gap.titlepage}"
                     column-count="{$column.count.titlepage}">
     </fo:region-body>
     <fo:region-before region-name="xsl-region-before-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>

       <!-- setup for title page(s) -->
       <fo:page-sequence-master master-name="cover">
         <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="cover-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">cover-even</xsl:when>
                 <xsl:otherwise>cover-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:param name="sequence"/>
<xsl:choose>
<xsl:when test="$default-pagemaster = 'titlepage' and self::book">
 <!-- 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="'cover'"/>
</xsl:when>
<xsl:otherwise>
 <xsl:value-of select="$default-pagemaster"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>





Další informace o konferenci Docbook