[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] How to achieve FO Table variable width with nowrap on cells


Subject: Re: [xsl] How to achieve FO Table variable width with nowrap on cells
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Sun, 25 Jan 2009 18:12:34 -0700

It seems that I am having success with a table defined like this:

<table>
  <table-body border-bottom="solid 1px #000">
    <table-row>
        <table-cell><block>Label Cell:</block></table-cell>
        <table-cell><block padding-left=".05in">Value Cell</block></table-cell>
    </table-row
  </table-body>
</table>

Is it correct to assume that the table width will derive from the
total width of content (until it reaches parent object boundary
width)?  Or to be safe, should I conform with your option #1?

On Sun, Jan 25, 2009 at 4:50 PM, G. Ken Holman
<gkholman@xxxxxxxxxxxxxxxxxxxx> wrote:
> At 2009-01-25 11:10 -0700, Karl Stubsjoen wrote:
>>
>> In FO, what would be the correct implementation for a table who's
>> width is strictly dependent on content, where the content does not
>> wrap in the table-cell.
>
> In XSL-FO all table cell boundaries are either explicitly set by the
> stylesheet, or dynamically calculated by the formatter ... not dynamically
> set by the stylesheet.
>
> And cell boundaries cannot be different on a per-row basis within a single
> table (though you can, of course, have many single-row tables).
>
>> I need:  label + value, underlined.  The length of the label is
>> dynamic (unknown), and same for the value.
>
> Two possible ways:
>
> (1) - use table-layout="fixed" and wrap the content of each cell in a block
> keeping the line contents together with something like wrap-option="no-wrap"
> or with a keep-together.within-line= to force the formatter to make its
> table column decisions without breaking the line content
>
> (2) - use a side float instead of a table, again with something like
> wrap-option="no-wrap" on the block so that the formatter calculates the
> width of the float to be the width of the block
>
> And you will need one table per label/value pair, or one side-float and
> associated block per label/value pair.
>
> I hope this helps.
>
> . . . . . . . . . . Ken
>
> --
> Upcoming XSLT/XSL-FO, UBL and code list hands-on training classes:
> :  Sydney, AU 2009-01/02; Brussels, BE 2009-03; Prague, CZ 2009-03
> Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
> Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
> Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
> G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
> Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
> Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
> Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


Current Thread