tags:

views:

200

answers:

1

I have the following problem:

I need to use XSLFO to generate a 2-column multipage document. Problem is: I need to have a vertical line between the 2 columns. Since XSLFO does not seem to specify a option for creating such a divider, I need to manually put it there.

I was thinking of using a static rotated blockcontainer with a leader in it. However, it looks like it's not possible to use static-content on the same region as where the flow content comes.

 <fo:layout-master-set>
    <fo:simple-page-master 
      page-width="170mm"
      page-height="222mm"          
      master-name="page"
      >
      <fo:region-body region-name="xsl-region-body"
                      margin-top="2mm"
                      margin-bottom="2mm"
                      margin-left="10mm"
                      margin-right="10mm"
                      column-count="2"
                      column-gap="5mm"
                      />
    </fo:simple-page-master>
  </fo:layout-master-set>
 <fo:page-sequence master-reference="page">
    <fo:static-content flow-name="xsl-region-body" ><!-- This gives a error -->
      <fo:block>test</fo:block>
    </fo:static-content>
    <fo:flow flow-name="xsl-region-body">
      <xsl:apply-templates/>
    </fo:flow>
  </fo:page-sequence>

Results in (XEP):

 [error] Duplicate identifier: flow-name="xsl-region-body". 
 Property 'flow-name' should be unique within 'fo:page-sequence'.

Are there any methods to place static content on the main region when also flow content is placed there? Or: Is there a way to define the divider that divides a 2-column layout?

A: 

I finally went with the following solution:

Use a <FO:Region-Before "extend=100%">.

It looks like you can easily overlap content this way. So, it's a bit of a hack, but with some absolute positioning of a block-container, or just a relative positioned block, it does the job.

Peterdk