I’m suddenly all confused about the supposedly expected behaviour of 
breaks. Please have a look at the attached FO file and its PDF result.

We get 2 pages. The break-before on the outer block and the inner block 
are “merged” into just one... Why?

Section 4.8, “Keeps and Breaks” of XSL-FO 1.1 states that 
“A break-before condition is satisfied if the first area generated and 
returned by the formatting object is leading within a context-area.”

I could then expect that the outer block generates an empty area on 
page 2, with a red border-before, plus another area on page 3 (also with  
a red border due to the “retain”) containing the area generated by the 
inner block. I mimicked that in the break-before-alt.pdf file.

I don’t think anything in the spec contradicts this interpretation. I’m 
not even sure whether the current behaviour is more desirable from 
a user-friendliness point of vue or not.


<?xml version="1.0" standalone="no"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format";>
    <fo:simple-page-master master-name="page"
      page-height="29.7cm" page-width="21cm"
      margin-top="2cm" margin-bottom="2cm" margin-left="3cm" margin-right="3cm">
  <fo:page-sequence master-reference="page"
    font-family="serif" font-size="14pt">
    <fo:flow flow-name="xsl-region-body">
      <fo:block>Some text.</fo:block>
      <fo:block break-after="page"/>

Attachment: break-before.pdf
Description: Adobe PDF document

Attachment: break-before-alt.pdf
Description: Adobe PDF document

Reply via email to