On Jan 12, 2006, at 21:55, gerhard oettl wrote:

from  Andreas L. Delmelle

I see you made the same mistake (?) in interpretation of the
Rec that I initially made: the Rec states literally that "the
column-number for a fo:table-column is 1 plus the column-number
of the previous column"

Literaly you are absolutly right especially if reading the spec
to column-number (7.26.8) first. My main argument against this is
the description of number-columns-repeated (7.26.12) that says:

a) The "number-columns-repeated" property specifies the
repetition of a table-column specification n times; with the same
effect as if the fo:table-column formatting object had been
repeated n times in the result treewith the same effect as if the
fo:table-column formatting object had been repeated n times in
the result tree.

Yeah, I remember we discussed this at the time I was implementing these in the FOTree, and we took this to be an inconsistency in the Rec...

The main issue, I think, that kept me from following the definition under 7.26.12, is that you could end up with a situation where a given table-cell has column-number="2", while there is no column that has that column-number...

In your example, the column-number "2" is not assigned to any column. What would you do if a bit further down in the tree, there is a fo:table-cell with column-number="2" ?

With number-columns-repeated="N", you create the effect of separate columns occupying column-numbers "I" to "I + N - 1", where I is the initial-value (the parent FO's currentColumnIndex = the previous column's number plus 1). I would distinguish number-columns- spanned="M", precisely by having it not occupy M column indices. If not, what would be the point in having two separate properties?

and b) The "column-number" property, for all but the first, is
the column-number of the previous one plus its value of the
"number-columns-spanned" property.

now verify a)

<fo:table-column number-columns-spanned="2"
number-columns-repeated="2"/> [ initial colnum = default = "1" ]
would be expanded according to b) to:
<fo:table-column number-columns-spanned="2"/> [ colnum = "1" ]
<fo:table-column number-columns-spanned="2"/> [ colnum = "3" ]

Stop! number-columns-repeated="N" means "insert a column node like this one N times, where 1 is the default/initial value".

in comparison with:"with the same effect as if the
fo:table-column formatting object had been repeated n times in
the result tree"

<fo:table-column number-columns-spanned="2"/> [ colnum = "1" ]
<fo:table-column number-columns-spanned="2"/> [ colnum = "2" ]

You see the two parts of the spec are not compatible and for this
case i would prefere the rule that was given at
column-numbers-repeat. As a side-effect the verification-example
would produce overlapping table-columns.

Hmm... I still think I like the latter more :-)

Any table-cell having column-number="1" will occupy the first two columns (because of number-columns-spanned="2" on its corresponding table-column). If no cell has been assigned column-number="1", then a cell having column-number="2" will occupy column 2 and the next, whatever column-span (or column-number!) is specified on that next column.

My sight could be wrong, but I think it is a good argument ;-)

So could mine... Maybe others have anything to add to all of this?



Reply via email to