OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] How can I exclude an "index" page sequence from being processed by an xsl:when statement?


You can create additional xsl:when clauses and use the 'pageclass' param passed to the footer.content template. Something like test="contains($pageclass, 'index')" will be true when the page-sequence is for the index.

The possible values of pageclass are described in this doc:

http://www.sagehill.net/docbookxsl/PrintHeaders.html#PrintHeadersText
--
Bob Stayton
Sagehill Enterprises
bobs@sagehill.net

On 12/11/2013 9:32 AM, Øystein Kleven wrote:
Hi,
Thanks to a previous post reply from Bob Stayton
(https://lists.oasis-open.org/archives/docbook-apps/200804/msg00086.html),
I have been able to build an article PDF doc with an index with multiple
columns. However, this results in an FOP error:

Property ID "xxxxx" (found on "fo:block") previously used; ID values must be unique within a document!

After debugging, I have narrowed the problem down to the customization
of the first xsl:when statement in the "footer.content" template in my
custom stylesheet. (see below). If I remove that part (everything
between "START" and "END" below), the FO processing succeeds, but the
first page footer and the index footer (which is now also a "first" page
in its separate page sequence) is of course incorrect, since the
customization is missing.

How can I keep the customization, but skip it when the page-sequence is
handled as "index"?

(I am (still) using DocBook 4.5 with XSL/FO version 1.73.2)

Template excerpt:

<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="''"/>
     <xsl:param name="master-reference" select="''"/>

     <fo:block>
       <xsl:choose>

         <!-- OKL: This includes/removes the footer content (not the
rule line)
                    from the first page (necessary for <article> docs)
         -->
         <!-- START -->
         <xsl:when test="$sequence = 'first'">
           <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:block text-align="justify">
                 <!-- OKL: Insert legal notice in the footer of the
first page -->
                 <xsl:apply-templates select="//legalnotice[1]"
mode="article.titlepage.recto.auto.mode"/>
               </fo:block>
             </xsl:when>
           </xsl:choose>
         </xsl:when>
         <!-- END -->

         <xsl:when test="$pageclass = 'titlepage'">
           <!-- nop; no footer on title pages -->
         </xsl:when>

         .................

       </xsl:choose>
     </fo:block>
   </xsl:template>
--

Regards,
Øystein




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]