Search code examples
xsltxsl-fo

How do I start a table at a certain point on the first page of my document and have it continue to the next if necessary? XSL-fo


I have a table I want to start at some point on this first page I'm making and I understand that if I put a block container with position absolute with properties top and left I will get the inside content to start from that point I need. But the content won't go to the next page and it will be cut off at the end of this current one.

I also know that if I put a block:container position as relative it will go on to the next page like I need it too. But it's starting point cannot be defined like it can with position: absolute. So I am stuck! Anyone know how to do this?


Solution

  • There's multiple alternatives:

    • Use space-before on the fo:table so that it's pushed down the page the required distance.
    • Make an fo:simple-page-master for the first page that has an fo:region-body (with the applicable region-name) that has a top margin that will put the top of the fo:region-body at the required distance. If your FO processor supports XSL 1.1, you can have multiple fo:region-body in an fo:simple-page-master, so if there's other stuff at fixed positions before the table on the first page, you have the option of putting them in separate flows.