Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: XSL pagination control

From: "=?iso-8859-1?q?Jean-Fran=E7ois_Michaud?=" <cometaj@-------.--->
To: NULL
Date: 7/3/2006 10:13:00 PM

Hello Howard,

howardr101@h... wrote:
> Hi,
>
> I'm really new to this XSL stuff and there's a lot of information out
> there on the web, I just can't seem to find a definitive answer to my
> question, hence......
>
> In FO, I know that you define a block and use the keep-together
> attribute to specify whether or not the block should be split over
> multiple pages - unless the block itself is longer than a page.
>
> However, if you allow the block to be split over two pages, is there a
> mechanism to put some text at the top of the split piece of the block.
>

As far as splitting text goes, you want to look at orphans/widows. When
the attribute is set to a certain value, it garanties that you will get
at least what you are asking for or else the whole content of the block
carries over to the next page. Not all XSLT processors support this
feature, you want to make sure that the processor you use supports all
the features you are looking for. Most of the time, they support one
feature, but not the other and vice versa. Its difficult to get a very
good one that supports all the important features.

If you are not in for hardcore technical publications, FOP (open
source) is actually not so bad (it doesn't support orphans/widows
though).

> Specifically, say I have a table and the table gets split over two
> pages half way down its body. So the top half of the table is at the
> bottom of page 1 and the bottom half of the table is at the top of page
> 2.  Is there a mechanism in FO to reprint the table column headers at
> the top of the chunk of table on page 2.
>
> I read somewhere that this might be possible by writing another XSLT to
> do some post processing, additionally, I've read that XSL is a fire and
> forget kind of technology and you can't do this.  If you don't know
> that this table splitting is going to happen until it's run through the
> FO processor and once it's gone through the processor you've got (in
> this case) a PDF file - how would you then insert the column headers in
> again, by the time the table has been split, it's too late to easily
> insert the column headers.

Google is a very powerful friend ;-). This seems to be what you are
looking for:

http://www.idealliance.org/papers/dx_xmle04/papers/04-02-01/04-02-01.html#s6

> I'd like to ask the same question with regards to a table caption, in
> order to achieve a table title at the top of the split chunk of table
> on page 2. e.g.

Something to keep in mind also, often you will have to use tricks to
pull off certain effects (nested indentation using lists for example
even though the content of your XML isn't contained in lists; to get
sequencial labeling across multiple sections for example. An invisible
table column for which you set the width to align a table exactly like
you want on a page). Don't be afraid to use constructs that don't seem
to be "appropriate" or that look very different (under FO) than what
you have in your XML. Whatever works, works. If there is not direct way
to do something by using the functionalities of the language directly,
you might be able to achieve the desired result through indirect means
(oddly enough, when you are working on solid projects, this happens
very often). Currently, the language is simply not descriptive enough
(functional only). A functional/procedural language hybrid would be
much more appropriate.

In the case of your table caption, you could use an borderless row in a
fo:table-header.
 
[snip]

Regards
Jean-Francois Michaud



transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent