Bug 1318 - problems with tables (column width and when used in the xsl-after-region)
Summary: problems with tables (column width and when used in the xsl-after-region)
Status: CLOSED FIXED
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: page-master/layout (show other bugs)
Version: 0.17
Hardware: PC All
: P3 normal
Target Milestone: ---
Assignee: fop-dev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-04-12 05:56 UTC by patrick.schonckert
Modified: 2012-04-01 06:46 UTC (History)
0 users



Attachments
illustration of the problem (6.18 KB, application/pdf)
2001-04-12 06:09 UTC, patrick.schonckert
Details

Note You need to log in before you can comment on or make changes to this bug.
Description patrick.schonckert 2001-04-12 05:56:35 UTC
When upgrading my system to FOP 0.17 I noticed the following two bugs in 
version 0.17 related to the use of tables :

1. When using tables that have no border at all but that contain some columns 
that exceed 350pt, the content of the columns that follow does not get 
correctly positioned (however you do not have that problem when you specify a 
border of at least 1pt). This problem did not occur with FOP 0.12x (and quite 
annoying as I have some reports that need much more than 350pt)

2. In the xsl-after-region, I also use a table. The last column for some 
reasons does not get completely displayed although it contains less data than 
the first column (which is correctly displayed). When you play with the 
<fo:region-after extent="xxx"/>, you end up getting the third column displayed 
correctly. This is not very logical as the height must be correct if FOP 
manages to render correctly the first column (and also quite annoying because 
of the waste of space).

Appended FO file :
The first page contains the wrong display, 
The second page contains the expected result (by playing with the column-width 
and extend attributes)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
  <xsl:template match="/">  
    <fo:root>
      <xsl:apply-templates/>
    </fo:root>
  </xsl:template>

  <xsl:template match="LOMBARD">
    <fo:layout-master-set>
      <!-- the layout to be used for the cover page -->
      <fo:simple-page-master master-name="cover" page-width="297mm" page-
height="210mm" margin-left="30pt" 
       margin-right="30pt" margin-top="10pt" margin-bottom="10pt">
        <fo:region-body margin-top="10pt" margin-bottom="110pt" margin-
left="10pt" margin-right="10pt"/>
        <fo:region-before extent="170pt"/>
        <fo:region-after extent="90pt"/>
      </fo:simple-page-master>

      <!-- the layout to be used for the summary page -->
      <fo:simple-page-master master-name="summary" page-width="297mm" page-
height="210mm" margin-left="30pt" 
       margin-right="30pt" margin-top="10pt" margin-bottom="10pt">
        <fo:region-body margin-top="10pt" margin-bottom="110pt" margin-
left="10pt" margin-right="10pt"/>
        <fo:region-before extent="170pt"/>
        <fo:region-after extent="110pt"/>
      </fo:simple-page-master>
    </fo:layout-master-set>

    <!-- the cover page -->
    <fo:page-sequence master-name="cover">
      <fo:static-content flow-name="xsl-region-after">
        <fo:block line-height="1pt"><fo:leader leader-pattern="rule" leader-
length="760pt"/></fo:block>
      <fo:table>
	<fo:table-column column-width="288pt"/>
	<fo:table-column column-width="200pt"/>
	<fo:table-column column-width="268pt"/>
	<fo:table-body>
  	  <fo:table-row line-height="7pt">
          <fo:table-cell>
	    <fo:block font-size="7pt" font-family="sans-serif" text-
align="center">
	      <fo:block space-before.optimum="5pt" >BlaBla 1</fo:block>
	      <fo:block>BlaBla 2</fo:block>
	      <fo:block space-before.optimum="5pt">BlaBla 3</fo:block>
	      <fo:block>BlaBla 4</fo:block>
	      <fo:block>BlaBla 5</fo:block>
	      <fo:block>BlaBla 6</fo:block>
            </fo:block>
	    <fo:block font-style="italic" text-align="start" font-size="7pt" 
space-before.optimum="5pt"
             font-family="sans-serif">SIGNATURE : xxxxx</fo:block>
	  </fo:table-cell>
	  <fo:table-cell>
	    <fo:block space-before.optimum="10pt" text-align="center" font-
size="7pt" font-family="sans-serif">
               - Page <fo:page-number/> -
  	    </fo:block>
	  </fo:table-cell>
	  <fo:table-cell>
	    <fo:block font-size="7pt" font-family="sans-serif" text-
align="center">
	      <fo:block space-before.optimum="5pt" >BlaBla 1</fo:block>
	      <fo:block>BlaBla 2</fo:block>
	      <fo:block space-before.optimum="5pt">BlaBla 3</fo:block>
	      <fo:block>BlaBla 4</fo:block>
	      <fo:block>BlaBla 5</fo:block>
	      <fo:block>BlaBla 6</fo:block>
            </fo:block>
	  </fo:table-cell>	  
	  </fo:table-row>
	</fo:table-body>
      </fo:table>
     </fo:static-content>

      <fo:flow flow-name="xsl-region-body">
       <fo:block>
  <fo:block font-weight="bold">Problem 1:</fo:block>
  <fo:block>First column 450pt, each table cell has a border of 1pt :</fo:block>
  <fo:table>
      <fo:table-column column-width="450pt" border-width="0pt"/>
      <fo:table-column column-width="100pt" border-width="0pt"/>
      <fo:table-body>                 
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="1pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="1pt"><fo:block text-
align="end">100.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="1pt"><fo:block text-
align="start">AAABBB</fo:block></fo:table-cell>
	  <fo:table-cell border-width="1pt"><fo:block text-
align="end">1,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="1pt"><fo:block text-
align="start">AAABBBCCC</fo:block></fo:table-cell>
	  <fo:table-cell border-width="1pt"><fo:block text-
align="end">10,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="1pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="1pt"><fo:block text-
align="end">100.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="1pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="1pt"><fo:block text-
align="end">1000,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
      </fo:table-body>
    </fo:table>	

    <fo:block space-before.optimum="15pt">Exactly the same table but with each 
table cell having a border of 0pt :</fo:block>
    <fo:table>
      <fo:table-column column-width="450pt" border-width="0pt"/>
      <fo:table-column column-width="100pt" border-width="0pt"/>
      <fo:table-body>                 
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="0pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="0pt"><fo:block text-
align="end">100.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="0pt"><fo:block text-
align="start">AAABBB</fo:block></fo:table-cell>
	  <fo:table-cell border-width="0pt"><fo:block text-
align="end">1,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="0pt"><fo:block text-
align="start">AAABBBCCC</fo:block></fo:table-cell>
	  <fo:table-cell border-width="0pt"><fo:block text-
align="end">10,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="0pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="0pt"><fo:block text-
align="end">100.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="0pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="0pt"><fo:block text-
align="end">1000,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
      </fo:table-body>
    </fo:table>	

    <fo:block space-before.optimum="15pt">Exactly the same table but no table 
cell has any border-width specified.</fo:block>
    <fo:table>
      <fo:table-column column-width="450pt"/>
      <fo:table-column column-width="100pt"/>
      <fo:table-body>                 
        <fo:table-row line-height="12pt">
	  <fo:table-cell><fo:block text-align="start">AAA</fo:block></fo:table-
cell>
	  <fo:table-cell><fo:block text-align="end">100.00</fo:block></fo:table-
cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell><fo:block text-
align="start">AAABBB</fo:block></fo:table-cell>
	  <fo:table-cell><fo:block text-
align="end">1,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell><fo:block text-
align="start">AAABBBCCC</fo:block></fo:table-cell>
	  <fo:table-cell><fo:block text-
align="end">10,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell><fo:block text-align="start">AAA</fo:block></fo:table-
cell>
	  <fo:table-cell><fo:block text-align="end">100.00</fo:block></fo:table-
cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell><fo:block text-align="start">AAA</fo:block></fo:table-
cell>
	  <fo:table-cell><fo:block text-
align="end">1000,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
      </fo:table-body>
    </fo:table>	
       </fo:block>
       <fo:block space-before.optimum="55pt" font-weight="bold">Problem 
2:</fo:block>
       <fo:block>
 	 The flow-name="xsl-region-after" does not display properly all the 
data contained in the 3rd column (it simply          

stops after the 2nd block (the first column however is properly displayed 
although it contains a supplementary 
         block).
       </fo:block>
     </fo:flow>    
   </fo:page-sequence>

    <!-- the summary page -->
    <fo:page-sequence master-name="summary" initial-page-number="2" >
      <fo:static-content flow-name="xsl-region-after">
        <fo:block line-height="1pt"><fo:leader leader-pattern="rule" leader-
length="760pt"/></fo:block>
      <fo:table>
	<fo:table-column column-width="288pt"/>
	<fo:table-column column-width="200pt"/>
	<fo:table-column column-width="268pt"/>
	<fo:table-body>
  	  <fo:table-row line-height="7pt">
          <fo:table-cell>
	    <fo:block font-size="7pt" font-family="sans-serif" text-
align="center">
	      <fo:block space-before.optimum="5pt" >BlaBla 1</fo:block>
	      <fo:block>BlaBla 2</fo:block>
	      <fo:block space-before.optimum="5pt">BlaBla 3</fo:block>
	      <fo:block>BlaBla 4</fo:block>
	      <fo:block>BlaBla 5</fo:block>
	      <fo:block>BlaBla 6</fo:block>
            </fo:block>
	    <fo:block font-style="italic" text-align="start" font-size="7pt" 
space-before.optimum="5pt"
             font-family="sans-serif">SIGNATURE : xxxxx</fo:block>
	  </fo:table-cell>
	  <fo:table-cell>
	    <fo:block space-before.optimum="10pt" text-align="center" font-
size="7pt" font-family="sans-serif">
               - Page <fo:page-number/> -
  	    </fo:block>
	  </fo:table-cell>
	  <fo:table-cell>
	    <fo:block font-size="7pt" font-family="sans-serif" text-
align="center">
	      <fo:block space-before.optimum="5pt" >BlaBla 1</fo:block>
	      <fo:block>BlaBla 2</fo:block>
	      <fo:block space-before.optimum="5pt">BlaBla 3</fo:block>
	      <fo:block>BlaBla 4</fo:block>
	      <fo:block>BlaBla 5</fo:block>
	      <fo:block>BlaBla 6</fo:block>
            </fo:block>
	  </fo:table-cell>	  
	  </fo:table-row>
	</fo:table-body>
      </fo:table>
     </fo:static-content>

     <fo:flow flow-name="xsl-region-body">
       <fo:block space-after.optimum="25pt">
 	 The only difference with the previous table is that the first column 
width is 350pt, all columns following 
	 a column that is larger than 350pt get shifted...
       </fo:block>
       <fo:block>	
  <fo:block font-weight="bold">Problem 1:</fo:block>
  <fo:block>Same as on previous page but first column has always a width of 
350pt</fo:block>
  <fo:block space-after.optimum="15pt">First column 350pt, each table cell has 
a border of 1pt :</fo:block>
  <fo:table>
      <fo:table-column column-width="350pt" border-width="0pt"/>
      <fo:table-column column-width="100pt" border-width="0pt"/>
      <fo:table-body>                 
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="1pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="1pt"><fo:block text-
align="end">100.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="1pt"><fo:block text-
align="start">AAABBB</fo:block></fo:table-cell>
	  <fo:table-cell border-width="1pt"><fo:block text-
align="end">1,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="1pt"><fo:block text-
align="start">AAABBBCCC</fo:block></fo:table-cell>
	  <fo:table-cell border-width="1pt"><fo:block text-
align="end">10,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="1pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="1pt"><fo:block text-
align="end">100.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="1pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="1pt"><fo:block text-
align="end">1000,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
      </fo:table-body>
    </fo:table>	

    <fo:block space-before.optimum="15pt">Exactly the same table but with each 
table cell having a border of 0pt :</fo:block>
    <fo:table>
      <fo:table-column column-width="350pt" border-width="0pt"/>
      <fo:table-column column-width="100pt" border-width="0pt"/>
      <fo:table-body>                 
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="0pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="0pt"><fo:block text-
align="end">100.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="0pt"><fo:block text-
align="start">AAABBB</fo:block></fo:table-cell>
	  <fo:table-cell border-width="0pt"><fo:block text-
align="end">1,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="0pt"><fo:block text-
align="start">AAABBBCCC</fo:block></fo:table-cell>
	  <fo:table-cell border-width="0pt"><fo:block text-
align="end">10,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="0pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="0pt"><fo:block text-
align="end">100.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell border-width="0pt"><fo:block text-
align="start">AAA</fo:block></fo:table-cell>
	  <fo:table-cell border-width="0pt"><fo:block text-
align="end">1000,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
      </fo:table-body>
    </fo:table>	

    <fo:block space-before.optimum="15pt">Exactly the same table but no table 
cell has any border-width specified.</fo:block>
    <fo:table>
      <fo:table-column column-width="350pt"/>
      <fo:table-column column-width="100pt"/>
      <fo:table-body>                 
        <fo:table-row line-height="12pt">
	  <fo:table-cell><fo:block text-align="start">AAA</fo:block></fo:table-
cell>
	  <fo:table-cell><fo:block text-align="end">100.00</fo:block></fo:table-
cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell><fo:block text-
align="start">AAABBB</fo:block></fo:table-cell>
	  <fo:table-cell><fo:block text-
align="end">1,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell><fo:block text-
align="start">AAABBBCCC</fo:block></fo:table-cell>
	  <fo:table-cell><fo:block text-
align="end">10,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell><fo:block text-align="start">AAA</fo:block></fo:table-
cell>
	  <fo:table-cell><fo:block text-align="end">100.00</fo:block></fo:table-
cell>	
        </fo:table-row>
        <fo:table-row line-height="12pt">
	  <fo:table-cell><fo:block text-align="start">AAA</fo:block></fo:table-
cell>
	  <fo:table-cell><fo:block text-
align="end">1000,000.00</fo:block></fo:table-cell>	
        </fo:table-row>
      </fo:table-body>
    </fo:table>
       </fo:block>
       <fo:block space-before.optimum="55pt" font-weight="bold">Problem 
2:</fo:block>
         <fo:block>
 	 The only difference with the previous table is that the simple-page-
master "summary" has the 
        region-after extent="110pt" (instead of 90 as before).
       </fo:block>
     </fo:flow>
   </fo:page-sequence>
 </xsl:template>
</xsl:stylesheet>
Comment 1 patrick.schonckert 2001-04-12 06:09:32 UTC
Created attachment 88 [details]
illustration of the problem
Comment 2 J.Pietschmann 2002-05-05 19:28:19 UTC
Both problems are fixed in 0.20.3
Comment 3 Glenn Adams 2012-04-01 06:46:39 UTC
batch transition pre-FOP1.0 resolved+fixed bugs to closed+fixed