Hi Vincent

Looks like you uncovered one of my past mistakes. Looking again at all
this stuff, I have to agree that the table's outer border has to lie
outside the table's content-rectangle, and that content-rectangle is
inset relative to the parent reference area by start-indent. Like it
happens with fo:block. Right now, fo:table (border-collapse=separate)
behaves differently from fo:block. There's only a difference here if
border-collapse is collapse, but not for the "separate" case.

The stuff about the "outermost grid boundary line" is covered by the
normal FO box model with the speciality that fo:table has no padding.
http://www.w3.org/TR/xsl11/#area-stackblock

Out of this follows: The following test cases have to be revisited:
table_border-collapse_separate_border-spacing_1.xml
table_border-collapse_separate_border-spacing_2.xml


Jeremias Maerki



On 27.11.2007 19:25:08 Vincent Hennebert wrote:
> Another one:
> 
> When border-separation is set on a table with the separate border model, 
> should half of it lie in the margin-start/end of the table?
> 
> If an fo:block has, say, border-start set to 1pt that border will lie in 
> the block’s margin; if that block has no margin, then the border will 
> lie outside the region-body.
> 
> Obviously this should be the same for fo:table, but should also half of 
> the border-separation be put in the margin? The rec says the following 
> (section 6.7.3):
>     “If the value of the "border-collapse" property is "separate" the 
>     border is composed of two components. The first, which is placed 
>     with the inside edge coincident with the outermost table grid 
>     boundary line, has the width of half the value for the 
>     "border-separation" property. It is filled in accordance with the 
>     "background" property of the fo:table. Second, outside the outermost 
>     table grid boundary line is placed, for each side of the table, 
>     a border based on a border specified on the table.”
> 
> But nothing is said about how the “outermost grid boundary line” should 
> be x-offset WRT to the parent ref-area... If it’s zero like I believe, 
> then half of the border-separation should lie in the margin.
> 
> FWIW, the only implementation I found that does something sensible about 
> border-separation is XSL Formatter, and it puts nothing of it in the 
> margin. So the opposite to what I believe... :-\
> 
> Thoughts?
> Vincent

Reply via email to