You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Prakash R <ra...@yahoo.com> on 2005/09/23 01:23:27 UTC

multiple tables in same row on page

I have a fo which looks like this:

<fo:block>
   <fo:table>
      .......
   </fo:table>
   <fo:table>
      .......
   </fo:table>
   <fo:table>
      .......
   </fo:table>
   <fo:table>
      .......
   </fo:table>
</fo:block>

The number of tables in the fo:block is variable. Is
there a way to lay the tables in a single row one
after the other and if it does not fit in the same row
to go on the next row.

<table1> <table2> <table3>
<table4> <table5>

In the above example table1, table2 and table3 fit
across the width of the page. table4 and table5 are on
the next row.

Each of the individual pages would resize to content
and so in some cases 2 tables might be on one row
while in some other case it might be as much as 4 in a
row.

Thanks in advance.

Prakash


		
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: multiple tables in same row on page

Posted by Andreas L Delmelle <a_...@pandora.be>.
On Sep 23, 2005, at 04:20, Manuel Mall wrote:

> On Fri, 23 Sep 2005 07:23 am, Prakash R wrote:

Hi,

>> I have a fo which looks like this:
>>
>> The number of tables in the fo:block is variable. Is
>> there a way to lay the tables in a single row one
>> after the other and if it does not fit in the same row
>> to go on the next row.

As Manuel already indicated, this is currently not possible (certainly 
not with FOP 0.20.5).

However, the solution Manuel suggests becomes much simpler if you use 
FOP's svn-trunk, which offers support for starts-row and ends-row on 
table-cells. You would not need to generate a row element, but just 
conditionally add an attribute to the enclosing table-cell. This has 
the advantage of making the XSLT much less complicated.

> Also fop does not support auto table layout. This means you have to
> specify column width on each column. If you do that you know the
> overall width of each table and if you know the width of each table you
> know how many fit on each line and then you can create a one row n-cell
> table for each desired output line in your fo file.

True. This is exactly what makes it possible to keep track of the 
accumulated width and add a starts-row property to the cells in 
question. The feature we'd really need to implement for this is 
"fo:inlines with block content", so that we can have inline-tables like 
in HTML.

Now, a kind request for Prakash --a question of mailing-list etiquette. 
The following is what I obtained from the header of the Raw Message:

From: Prakash R <ra...@yahoo.com>
Subject: multiple tables in same row on page
To: fop-users@xmlgraphics.apache.org
In-Reply-To: <20...@jeremias-maerki.ch>

Although it's a nice try to send your post as a reply to someone else's 
thread, delete all content and provide a new subject line, please 
refrain from this in the future. After all, why would you go to all 
that trouble if you can simply choose 'New Message...' and start from 
there?


Thanks!

Greetz,

Andreas


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: multiple tables in same row on page

Posted by Manuel Mall <mm...@arcus.com.au>.
On Fri, 23 Sep 2005 07:23 am, Prakash R wrote:
> I have a fo which looks like this:
>
> <fo:block>
>    <fo:table>
>       .......
>    </fo:table>
>    <fo:table>
>       .......
>    </fo:table>
>    <fo:table>
>       .......
>    </fo:table>
>    <fo:table>
>       .......
>    </fo:table>
> </fo:block>
>
> The number of tables in the fo:block is variable. Is
> there a way to lay the tables in a single row one
> after the other and if it does not fit in the same row
> to go on the next row.
>
> <table1> <table2> <table3>
> <table4> <table5>
>
> In the above example table1, table2 and table3 fit
> across the width of the page. table4 and table5 are on
> the next row.
>
> Each of the individual pages would resize to content
> and so in some cases 2 tables might be on one row
> while in some other case it might be as much as 4 in a
> row.
>
Prakash,

I don't think so (but I have been known to be wrong).

Also fop does not support auto table layout. This means you have to 
specify column width on each column. If you do that you know the 
overall width of each table and if you know the width of each table you 
know how many fit on each line and then you can create a one row n-cell 
table for each desired output line in your fo file.

That is the above becomes something like:

<fo:block>
   <fo:table>
      <fo:table-row>
        <fo:table-cell>
          <fo:table>
          .......
         </fo:table>
        </fo:table-cell>
        <fo:table-cell>
          <fo:table>
          .......
          </fo:table>
        </fo:table-cell>
        <fo:table-cell>
          <fo:table>
          .......
          </fo:table>
        </fo:table-cell>
      </fo:table-row>
    </fo:table>
   <fo:table>
      <fo:table-row>
        <fo:table-cell>
          <fo:table>
          .......
          </fo:table>
        </fo:table-cell>
      </fo:table-row>
    </fo:table>
 </fo:block>

I know that's not quite what you are after as you basically want this 
type of transformation being done automatically by. May be you can do 
that at the XSLT stage?

> Thanks in advance.
>
> Prakash
>
Manuel

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org