Hi Ken,
That is close, but any of the red elements (including the top level ones)
may be followed by a back element before one of the lower level red levels
is encountered.
I think, though, you have given me the general idea. I work on it for
awhile.
Thanks,
Mark
--------------------------------------------------
From: "G. Ken Holman" <gkholman(_at_)CraneSoftwrights(_dot_)com>
Sent: Friday, October 30, 2009 5:57 PM
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: Re: [xsl] Widows and orphans in XSL-FO
At 2009-10-30 17:44 -0700, Mark Wilson wrote:
Sorry my original post was not clear enough. I have a short output PDF
file that may show better what I mean, but I cannot send it to the list. A
longer copy is on the web at:
http://www.knihtisk.org/library/specialist/pdf/a.pdf
That helps a lot.
Page 1 ends with "Kvapilová, Hana"
In a perfect world, it would have ended with the line above it, "New
issues: Czech Republic. Jan/Feb 1996 p.23." which is an <Article> element
and Kvapilová, Hana" ( a <SubDiv1> element), would have been pushed to the
next page.
The rule I want to enforce is:
"A page may only end with one or more renditions of <Article> elements."
(Visually: a page may only end with a black rendition, never a red
rendition).
The bottom of page 3 shows how pages should end. There, a list of
<Article> elements extends from the bottom of page 3 to the top of page 4
I did get a lead on "blind tables" with my Google search and am attempting
to see if that will work for me. The "keep-" properties seems more in line
with my needs than the "break-" properties, but I am not sure.
How about for your top-level entries (e.g. "Actors") you don't use a keep.
Then for their first-level children (i.e. starting with "-") and
second-level grandchildren (i.e. starting with "- - ") use
keep-with-next.within-column="always".
Then for the black lines, use keep-with-previous.within-column="always".
This handles the two lines of the "Velehrad" entry.
That way you'll get no page breaks between your red and black lines. Nor
will you get a break between *adjacent* red lines. If you don't want a
break before "Strahovaska Madona" then add
keep-with-previous.within-column="always" to the "- - " grandchildren.
Page breaks should put first-level children at the top of the column,
except between the first child of a top-level entry.
I think that will get you real close and perhaps meet all of your
requirements as I understand them.
I hope this helps.
. . . . . . . . . . . . . Ken
--
Upcoming: hands-on XSLT, XQuery and XSL-FO Washington DC Nov 2009
Interested in other classes? http://www.CraneSoftwrights.com/s/i/
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--