On Nov 10, 2006, at 20:18, Andrejus Chaliapinas wrote:

That would be the
case if you needed different tab-stops for different lines. In the
example the tab-stops are all the same

My sample was just the easiest one to get your thoughts on it. But in
general case I really need to have different tab-stops for different
lines/blocks.

In general it would be like this:

----+----+----+----+
blabla:  text1 after one tab
blablabla:    text2 after one tab
blabla:       text3 after 2 tabs
blabla: text4 when one tab exists before label and another after it
    blabla:   text5 first line
              text6 second line
              text7 third line

So, as you may see - different tab stops positions are used having here each default step. But then later I have also the case when each line has its own
tab stops.

I see your point. Still, mine was that the width of the tab-stops is the same for all rows, making it virtually a grid. You only need to create separate tables if those widths are different.

Using a table, the problem can be solved rather easily, by setting an explicit column-number for the first cell in the fourth and later rows. There is (luckily) no constraint forcing all columns in the row to be occupied by a cell...

The definition of the columns is very simple:
simplest case
-> one fo:table-column, column-width of 0.5in
number-of-columns-repeated something like floor($region-body- width / 0.5in)

Can you show us the non-transformed source nodes for those lines?
The tab-stops, I presume, correspond to some marker in the source XML (a tab character?).

If that is the case, then maybe that could be used to your advantage, to trigger the creation of explicit column-number attributes on the fo:table-cells...?

I'm still convinced that this is doable, and not even too complex, in pure XSL-FO, especially when using XSLT 2.0, though I can't say for sure without having seen the source nodes.


Cheers,

Andreas

Reply via email to