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