Re: Interpretation of border and padding for blocks in XSL-FO 1.0

Antenna House and RenderX are right IMO. Apache FOP does the same. The
start-indent property (which is 0pt in this example for all three blocks)
controls "the distance from the start-edge of the content-rectangle of
the containing reference-area to the start-edge of the content-rectangle
of that block-area." Note that it's always the content rectangle that is
mentioned. Also compare that to the "Geometric Definitions" under 4.2.3.
The rest can be deducted from 5.3.2, I think. If you take the formula
for determining margin-corresponding:

margin-corresponding = start-indent - inherited_value_of(start-indent)
- padding-corresponding - border-corresponding-width

-13pt = 0pt - 0pt - 10pt - 3pt.

I'm not sure if this is the right way to explain it, but it's how I
understand it. HTH

On 24.03.2006 21:32:41 G. Ken Holman wrote:
> 
> Hi folks,
> 
> In the example below I am seeing two implementations interpret the 
> XSL-FO one way, and two implementations interpret the XSL-FO a 
> different way, and I cannot tell which way is correct from the specification.
> 
> <?xml version="1.0" encoding="iso-8859-1"?><!--border-block.fo-->
> <root xmlns="http://www.w3.org/1999/XSL/Format"
>        font-family="Times" font-size="20pt">
> 
>    <layout-master-set>
>      <simple-page-master master-name="frame"
>                          page-height="297mm" page-width="210mm"
>                          margin-top="15mm" margin-bottom="15mm"
>                          margin-left="15mm" margin-right="15mm">
>        <region-body region-name="frame-body"/>
>      </simple-page-master>
>    </layout-master-set>
> 
>    <page-sequence master-reference="frame">
>      <flow flow-name="frame-body" xmlns="http://www.w3.org/1999/XSL/Format">
>        <block>This is a test</block>
>        <block padding="10pt" border-width="3pt" border-style="solid">
>          This is a test
>        </block>
>        <block>This is a test</block>
>      </flow>
>    </page-sequence>
> </root>
> 
> Both Antenna House and RenderX line up the "This" along the left, 
> thus pushing out the border beyond the limits of the parent start and 
> end edges.  This is my intuitive expectation because I'm lining up 
> all the text and I only want some of the text to be bordered.
> 
> Both DOPE and Ibex push the second "This" into the body to 
> accommodate the border and padding such that the border edge lines up 
> with the start of the first and third "This".
> 
> Could you please advise which is conformant behaviour?


Jeremias Maerki

Received on Friday, 24 March 2006 21:43:44 UTC