Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries >Thread Prev - XSL pagination control >Thread Next - Re: XSL pagination control Re: XSL pagination controlTo: 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 | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
