W3C home > Mailing lists > Public > www-xsl-fo@w3.org > September 2002

Re: How to create a table that fills the page?

From: Mike Haarman <mhaarman@infinitecampus.org>
Date: Wed, 11 Sep 2002 11:10:11 -0500
Message-ID: <005001c259ad$b4dc5cb0$78027941@infinitecampus.org>
To: <www-xsl-fo@w3.org>, "Kuylen Kim" <kku@skynet.be>



> >If you know in advance or can calculate via count() of records, how many
> >pages you will be building, you can set your table in a wrapper table
which
> >controls the border and spans a number of rows sufficient to fill that
> >number of pages' body regions.
>
> Indeed, this could be done, but then I loose some flexibility. For
example,
> if later on I want to change the font-size......I can start calculating
> again ;)
>

Yes, quite so, but I am unaware of another means of accomplishing the feat.
You can get around this by parameterizing the page values and font settings
and establishing a variable to hold the number of lines required to toss a
page:

<xsl:variable name="pageDepthByRows" select="$bodyDepth div $lineHeight"/>

In general, FO are insufficiently aware of themselves to be a truly
functional typesetting system.  Such traction as is available is usually to
be found in moving as much information about layout as feasible forward into
the XSLT processing pass.  This has drawbacks, of course.  A most useful set
of FO extensions would include functions returning:

a) depth within page, region and block at current baseline
b) horizontal position vis margins, borders, padding
c) the measure of a set of glyphs at given size
d) state of various properties (line-height, font size and weight, indents,
etc.)

These features would help minimize the necessity of layout information
existing in the logical layer.

Mike
Received on Wednesday, 11 September 2002 12:16:28 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 3 October 2007 16:06:09 GMT