[Bug 6276] New: Breaks and Borders, Successive Break Contexts

http://www.w3.org/Bugs/Public/show_bug.cgi?id=6276

           Summary: Breaks and Borders, Successive Break Contexts
           Product: XSLFO
           Version: 1.1
          Platform: All
               URL: http://lists.w3.org/Archives/Public/xsl-
                    editors/2008AprJun/0003
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSL-FO
        AssignedTo: alb.w3c@gmail.com
        ReportedBy: Tony.Graham@MenteithConsulting.com
         QAContact: xsl-editors@w3.org


>From xsl-editors:

The following situations are not explicitly described by the XSL-FO 1.1
Recommendation and no consistent behaviour could be found among the
various implementations:

Given the following FO snippet:
    <fo:block border-before-color="black"
      border-before-style="double"
      border-before-width="1pt">
      <fo:block break-before="page">
         Some text.
      </fo:block>
    </fo:block>

If the outer block is not leading in the page-reference-area (‘does not
start a page’), what is the expected rendering? Should the border-before
lie on page n and the inner block on page n+1:
    ______________  ______________
    |            |  |            |
    |  ...       |  | Some text. |
    | Content    |  |            |
    | before     |  |            |
    | ...        |  |            |
    |            |  |            |
    | ========== |  |            |
    |            |  |            |
    |____________|  |____________|

... or should both be found on page n+1?
    ______________  ______________
    |            |  |            |
    |  ...       |  | ========== |
    | Content    |  | Some text. |
    | before     |  |            |
    | ...        |  |            |
    |            |  |            |
    |            |  |            |
    |            |  |            |
    |____________|  |____________|

In other words: if the first child of an fo:block has a forced (page)
break, should this block still produce an empty area (that here will
hold a before border) on the current page, or should it be deferred to
the next page along with its child’s area(s)?


As another illustration of this issue, in the following case, and
assuming that we have a two-column page setup:
    <fo:block break-before="column" border-top="1pt solid red">
      <fo:block break-before="page" border-top="1pt solid blue">
        Some text.
      </fo:block>
    </fo:block>
Let’s assume that when the outer block is reached we are inside the
first column of page n. Should (1) the red border be found at the top of
column #2 on page n, and the blue border at the top of column #1 on page
n+1? Or should (2) both borders be found at the top of column #1 on page
n+1?

If empty areas must be produced, then case (1) would win; otherwise this
would be case (2).


On a slightly different topic, there is a small uncertainty in cases
like the following:
    <fo:block break-before="page">
      <fo:block break-before="page">
        Some text.
      </fo:block>
    </fo:block>
Should an empty page be generated? In which case the outer block would
generate an empty area on page n+1, and the inner block its area(s) on
page n+2.
If not, then both blocks would generate their areas on page n+1. Both
behaviours are compliant with the Recommendation I think. But within the
FOP team we couldn’t reach a consensus on which one should be
privileged.


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Thursday, 4 December 2008 15:53:43 UTC