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?
Cheers,
Andreas