On 29.11.2007 13:30:56 Vincent Hennebert wrote:
<snip/>
> Studying the spec more carefully I come to the same conclusion as you, 
> but not the same explanation.
> First, width doesn’t apply to fo:block, so what I said above (“it should 
> then also stick out in the margin”) is non-sense and damn me for adding 
> yet another imprecision. The following:
>     <fo:block-container margin-left="0pt" width="100%" border="solid 5pt 
> blue">
>       <fo:block>This is a block!</fo:block>
>     </fo:block-container>
>     <fo:table margin-left="0pt" margin-right="0pt" table-layout="fixed" 
>     width="100%" border-collapse="separate" border="solid 5pt red">
> leads to the same amount of content sticking out in the margin, both for 
> the block-container and the table. I think the explanation is to be 
> found in the XSL Rec instead of CSS since width is mapped to either ipd 
> or bpd. And section 5.3.4, “Overconstrained Geometry” gives the answer. 
> In the present case end-indent is adjusted to a negative value (-10pt).

Oh yeah, overconstrained geometry. Now that you mention it, I remember
doing stuff in that area. My brain just flushes stuff out when it's not
needed anymore for a long time. :-)

> At least that one is clear!
> 
<snip/>
> > As indicated above, you were right to notice a mistake on my side here.
> > Your graphic is correct. Padding indeed lies between half the
> > border-separation from the table and half the border-separation from the
> > table-cells.
> 
> So where should the outermost grid boundary line lie? This is consistent 
> only if it coincides with the table’s padding, and thus has the sickness 
> (oops... thickness) of the padding.

I think that's the one remaining question and it's a good one. You know,
I've just scanned the whole specification to see if I can find some
enlightenment about the relationship between the table grid and the
table's content rectangle. I haven't really found one. Also, "grid
boundary line" is just used but not really defined. Intuitively, I'd say
the normal box model applies and the table grid takes up exactly the
area of the content rectangle (that's what I worked with). But the talk
about the grid boundary line says something else. And that's probably
exactly what causes the different interpretation. Almost sounds like
another case for clarification with the XSL WG. :-/

Some day I'm going on a interoperability crusade for XSL.... Why does
that smell like the HTML wars? ;-)

> >> Still, this contradicts with section 6.7.3 (fo:table) of the spec, which 
> >> doesn’t say where the table’s padding should lie. Indeed it says: “The 
> >> first [border component], 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.” But in the 
> >> description of table-cell (section 6.7.10), it says: “The first [border 
> >> component], which is placed with the outside edge coincident with the 
> >> table grid boundary line, has the width of half the value for the 
> >> border-separation trait.” And what about the padding?
> > 
> > You got it right intuitively by adopting the normal box model.
> > 
> >> We could resort to user expectations, but the fact is I’m not sure what 
> >> I would be expecting as a user... Perhaps the behaviour of XSL Formatter 
> >> (not put half of the border-separation in the margin) is the most 
> >> reasonable one.
> > 
> > I don't have a working trial license of XSL formatter anymore so I can't
> > check what exactly you mean. Anyway, after considering your input and
> 
> See the simulation on the attached PDF. The formula for the table width 
> would not be the same in each case...

Thanks.

> <snip/>
> 
> Vincent


Jeremias Maerki

Reply via email to