Hello everyone,
I started paying attention to the warning messages that FOP puts out and
discovered an issue in one of my tables. It appears that the 'colwidth'
attribute is a bit touchy with the values that it gets. If a value is specified
as "1*" it will not generate the proportional XSL-FO code that it needs and
then out puts a message:
WARNING: table-layout="fixed" and column-width unspecified => falling back to
proportional-column-width(1) (See position 560:47)
This in itself is not a big problem, but when tracking down why it did that,
the 1.75.2 version of the stylesheets emits some code that doesn't seem right.
I'm using XSLTPROC but I get the same results with Saxon 6.5.5 and without any
customization layer.
Example 1:
<colspec colname="c1" colwidth="1*" align="left"/>
<colspec colname="c2" colwidth="2*" align="left"/>
<colspec colname="c3" colwidth="2*" align="left"/>
produces in the FO file:
<fo:table-column column-number="1"/>
<fo:table-column column-number="2"
column-width="proportional-column-width(2)"/>
<fo:table-column column-number="3"
column-width="proportional-column-width(2)"/>
and thus produces the warning. Whereas changing the '1*' to '3*' in the first
column produces no warning.
Example 2:
<colspec colname="c1" colwidth="3*" align="left"/>
<colspec colname="c2" colwidth="2*" align="left"/>
<colspec colname="c3" colwidth="2*" align="left"/>
produces in the FO file:
<fo:table-column column-number="1"
column-width="proportional-column-width(3)"/>
<fo:table-column column-number="2"
column-width="proportional-column-width(2)"/>
<fo:table-column column-number="3"
column-width="proportional-column-width(2)"/>
Obviously the work around is to refrain from using '1*' in our tables but that
would be a pain. Is this an error in the stylesheets or my thinking/processing?
Regards,
Dean Nelson