FOP 0.93 and 0.94 may just give the warning below and continue to render: WARNING: There are fewer table-columns than are needed. Column 5 was accessed, b ut only 4 columns have been defined. The last defined column will be reused. (fo :table, location: 23/245)
FOP 0.95 must have changed a lot. Would not it be nice not to throw an exception? Since 0.95 has done a lot work to process tables without the table-column definition, it appears that this case can be handled better. It would also be nice that column definitions doesn't have to be strictly limited to all columns but just the few columns that user wants. For example, if I only want column#2 to be 200px wide, then I will define only column#2. Other columns will be equally spaced. Another issue we noticed is that table-cell can not take percentage, only table-column can do it. Percentage is always preferred because the table may be nested thus does not necessarily take up all the width of a page. But if the above case occurs, the table won't even be rendered. thanks, Hao -----Original Message----- From: Vincent Hennebert [mailto:[email protected]] Sent: Tuesday, February 03, 2009 5:47 AM To: [email protected] Subject: Re: cell number overflow Hi, fopuser wrote: > Hi there! > > Well, I could bet, that this has already been an issue. however, I didn't > find anything in the archives. I'm trying to move an old piece-a-code from > fop 0.20 to fop 0.95. Here are the details: > > - java v1.6.0 > - fop 0.95 > <snip/> > > As one can see, there is a table defined with two columns per row. The table > itself calls a template, which contains four columns per row. Using FOP > 0.20, this works perfectly well. Using FOP 0.95, I get the following error: > > Error(232/15): column-number or number of cells in the row overflows the > number of fo:table-column specified for the table. > > Now, questions are: > - are there any settings, which allow to ignore such things? > - should they be ignored, at all? You have two solutions: either you put additional fo:table-column elements to match the actual number of columns in the table, or you remove all the fo:table-column elements completely. In the latter case the whole table will be parsed to infer the number of columns. This behaviour aims at satisfying both kind of users. Those who want performance specify table-column elements, which gives the number of columns in the table and allows to immediately start the layout; but that means that cells in the table must match the number of columns. Those who want flexibility need not bother to specify table-columns, but then that requires to parse the whole table once before starting the layout. > One could imagine to fix the stylesheet. However, the stylesheet has a total > length of 6200 lines. It's quite painfull to fix it. > > I'll appretiate your opinions. HTH, Vincent --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
