Reputation: 423
I have a header, a body, and a footer set up for an Xsl Fo page sequence. There are certain items displayed on this page in blocks with a keep-together.within-page
value of 1
. This works really well for the most part, but I've noticed that when stuff that will span an entire page or more absolutely has to break it will end up on a new page and then get cut (which is fine) but then the header gets drawn in the middle of this making everything look a little gross/confusing (not fine) as whatever remains is drawn onto the next page.
So I'm wondering, is there some way to suppress the header on content overflow into the next page?
Or is there some way with alternative page sequences or something to achieve what I want?
Sorry for the vagueness here, and a lack of a current working representation of what's going on. I am very new to Xsl Fo, and most of our working code is under an abstracted framework, but if I knew of the correct directives or if this was possible I'm sure I could implement them into the framework and get things working.
Edit: I have attached a picture to hopefully clarify what is going on
Upvotes: 0
Views: 563
Reputation: 8068
You could put the content that you want to hide in an fo:marker
and use fo:retrieve-marker
in the fo:static-content
that flows into the 'region-before' region.
The trick is to put a copy of the 'real' fo:marker
before each of the blocks with the keep-together
and also put an empty fo:marker
with the same marker-class-name
as the first thing inside the block. (I don't know what your XSL-FO markup is like, but you may need to put an fo:wrapper
around each block as a place to put the 'real' marker.)
If retrieve-position
is first-including-carryover
(see https://www.w3.org/TR/xsl11/#retrieve-position), then you should get an empty fo:marker
for blocks that broke across the page boundary and get the 'real' fo:marker
on other pages.
Upvotes: 0