W3C home > Mailing lists > Public > www-xsl-fo@w3.org > October 2001

stacking

From: Dariusch Bagheri <Dariusch.Bagheri@gwi-ag.com>
Date: Wed, 10 Oct 2001 12:56:12 +0200
Message-ID: <53811A2271D0D41194120002B31FD38B99537A@exch01trier.trier.orbis-net.de>
To: "'www-xsl-fo@w3c.org'" <www-xsl-fo@w3c.org>
Hi,
suppose a layout for letters, where the address appears at an absolute
position on the first page, and text should start at some point beneath this
address box. 

For the address box the block-container element seems to be appropriate, but
text put in a block overwrites the content of the block-container:

<fo:block-container abs.pos.spec. >
  adress here
</fo:block-container>
<fo:block>
  and text here
</fo:block>


Using fop 0.20.1 it is not possible to enclose the address block-container
with another block like this

<fo:block>
  <fo:block-container abs.pos.spec.>
	adress here
  </fo:block-container>
</fo:block>
<fo:block>
	and text here
</fo:block>

Even though the content definition for block elements allows for
block-containers. Putting the text in another block-container or specifying
the space-before attribute do not work. In the first case the text will not
flow onto the next page if long enough; in the second the space-before is
applied at the beginning of every new page.

Has anyone an idea? 

Here is a simple prototype example illustrating this issue. It should be
rendered to pdf by fop 0.20.1 without errors.

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

  <fo:layout-master-set>
    <fo:simple-page-master    master-name   = "DIN A4"
                              page-width    = "210mm"  
                              page-height   = "297mm"
                              margin-top    = "5mm"  
                              margin-bottom = "5mm"
                              margin-left   = "5mm" 
                              margin-right  = "5mm"
    >
       <fo:region-before      extent        = "10mm"
       />
       <fo:region-body        margin-top    = "10mm" 
                              margin-bottom = "10mm"
       />
       <fo:region-after       extent        = "10mm"/>
    </fo:simple-page-master>

    <fo:page-sequence-master  master-name   = "Pages">
      <fo:repeatable-page-master-reference
                              master-name   = "DIN A4"
      />
    </fo:page-sequence-master>
  </fo:layout-master-set>

  <fo:page-sequence           master-name   = "Pages">
                              initial-page-number = "1"   
  >

    <fo:flow flow-name="xsl-region-body">

      <fo:block-container     height    = "4cm" 
                              width     = "20cm" 
                              top       = "0cm" 
                              left      = "0cm" 
                              position  ="absolute"
                              border-top-style    = "solid"
                              border-bottom-style = "solid"
                              border-start-style  = "solid"
                              border-end-style    = "solid"
      >
        <fo:block font-size="36pt">
          the content of the block-container should not be overwritten!
        </fo:block>
      </fo:block-container>
  
      <fo:block>
        this text should appear beneath the block-container!!
      </fo:block>
  
    </fo:flow>

  </fo:page-sequence>

</fo:root>

regards
dariusch
Received on Wednesday, 10 October 2001 06:55:07 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 3 October 2007 16:06:08 GMT