Hi,

Jeremias Maerki a écrit :
> On 22.03.2007 11:41:28 Vincent Hennebert wrote:
>> Hi,

<snip/>

>> This raises the question as to how retained borders and paddings are
>> handled: their widths will count in the penalty width of resolved break
>> elements. How are borders from elements surrounding the list handled?
>>
>> Example:
>> <fo:block border-after-width.length="4pt"
>>   border-after-width.conditionality="retain"
>>   border-after-style="solid" border-after-color="red">
>>   <fo:block-container>
>>     <fo:block border-after-width.length="4pt"
>>       border-after-width.conditionality="retain"
>>       border-after-style="solid" border-after-color="blue">
>>         some text...
>>     </fo:block>
>>   </fo:block-container>
>> </fo:block>
>>
>> IIUC the element list will be cut at the beginning of the
>> block-container.
> 
> Not cut. BlockContainerLM starts a new element list.

Ok.


>> How will the red border of the enclosing block be taken
>> into account in the penalties produced by SpaceResolver on the list of
>> elements inside the block-container?
> 
> Not at all, since they don't interact according to the rules in 4.3.1:
> http://www.w3.org/TR/xsl11/#area-space

Well, the width of the border from the outer block must still be
considered. IIUC the inner block generates pending elements for its
border-after, which will be converted by SpaceResolver into a Knuth
penalty at each legal break of the sequence it generates, with a penalty
length equal to the border width.
At the outer block level, each penalty from subsequences must be
modified to also take the border-after of the outer block into account.
At least that's a way to implement things. Is that actually implemented
that way?

Vincent

Reply via email to