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: How can I exclude an "index" page sequence from being processed by an xsl:when statement?


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]