You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by Arved Sandstrom <Ar...@chebucto.ns.ca> on 2001/04/13 17:00:00 UTC
Re: Table cell infinite loop and widow/orphan properties on
table
At 09:02 AM 4/13/01 +0200, Karen Lease wrote:
>DISCUSSION
>Now before fixing this, I want to discuss using these properties on
>tables. My reading of the XSL-FO CR is that widows and orphans only
>apply to Line Areas in a Block Area. This is in fact the usual
>typographical meaning of these terms. It's true that in sections 7.18.6
>and 7.18.7, the CR says that the properties apply to "block-level
>elements". However the note after 7.18.7 says:
>
> 'In XSL the "orphans" property specifies the minimum number of
>line-areas in the first area
>generated by the formatting object.
> The "widows" property specifies the minimum number of line-areas in
>the last area generated by the formatting object.'
>
>That seems clear to me. So I would interpret "block-level elements" as
>meaning fo:block, period. In fact, in chapter 6, the widow and orphan
>properties are only listed for fo:block.
I consider the property listings by FO to be definitive. So I agree with
you: "widows" and "orphans" are simply not applicable to anything other than
fo:block, by what I consider to be a non-ambiguous reading of the spec.
Note that the "Applies to" tag in the property descriptions is usually more
precise if it's an XSL property, for example if you look at the keeps, as
opposed to CSS2 properties such as these two, where the description is taken
right from the CSS2 spec.
Also, reading Section 4.5 makes it pretty clear what line areas are intended
to be, and we know that "widows" and "orphans" apply to line areas only
(from the XSL-specific part of the property description).
>PROPOSAL
>I therefore propose to stop handling widow and orphan propeties on table
>rows. (NOTE: they can have an effect if we break table cells, because
>they can affect how the cell contents are broken.) Instead, if one
>wants, for example, to force the first two rows to be kept together, one
>can just use keep-with-next="force" on the first row. Similarly, to
>force at least two rows to be together in the last table area, on should
>use keep-with-previous="force" on the last row. Note that this says
>nothing about areas other than the first or last if the table is broken
>into more than two parts. (Strictly speaking, neither does widow or
>orphan, even for block-areas. See above quote.)
I agree, on all points. Because the 2 properties simply do not apply,
according to spec, to anything other than fo:block.
The multi-part bit about widows and orphans for fo:block is a valid point,
although when you think about it, for situations where the fo:block
generates content across umpteen pages and/or columns, since each normal
area that it generates must occupy its own unique column-reference-area or
span-reference-area, it's not really an issue.
>There is already support for keep-with-next and keep-with-previous on
>table-rows. I will make sure that these function as intended and do not
>lead to the infinite loop problem. In fact, what we must do is _not_
>respect keep properties if the "keep set" in question is too large to
>fit in any column-area.
>
>In the table cell-example, if a sequence of rows which are supposed to
>be kept together will not fit together, and if the first row in the
>sequence is already the first in its parent table-body area, and the
>table-area and all of its ancestors are first in _their_ parent areas
>(ie, the table-area is at the top of the column), then we must "violate"
>keeps, either by putting the last row in the sequence in the next area,
>or by breaking it. This latter decision should depend on the value of
>"keep-together" which isn't yet supported.
Right. I mean, if it doesn't fit then it doesn't fit. :-)
>COMMENTS and REACTIONS?
>Please speak up!
Done. :-)
Regards,
Arved Sandstrom
Fairly Senior Software Type
e-plicity (http://www.e-plicity.com)
Wireless * B2B * J2EE * XML --- Halifax, Nova Scotia
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org