docbook-apps

Table column proportional values

  • 1.  Table column proportional values

    Posted 05-12-2010 23:43

    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