Oystein:

Just a thought, I have seen this error before, and generally (in my case) this 
has to do with the content. 
Particularly when combining smaller modular docs into a larger book or set. 
We use an ID="attribute" attribute for every section, sect1, sect2, etc. 
When combining sections if there are identical ID="attribute" usually something 
common like ID="introduction" that is when I see this error. 
Typically this error would not validate so it would surface well before the FOP 
step. However anything is possible. Are you are doing any transform to the data 
before running FOP? 


The fix is to use unique labels in the source attribute. 
Not always possible, but that is one possibility to look at. 


Hope it helps. 
/Gregorio




-----Original Message-----
From: Øystein Kleven <[email protected]>
To: docbook-apps <[email protected]>
Sent: Wed, Dec 11, 2013 12:32 pm
Subject: [docbook-apps] 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 
          
 
        
      
    
  

Reply via email to