Re: [xsl] xsl list item writes over the label?

Subject: Re: [xsl] xsl list item writes over the label?
From: Eliot Kimber <ekimber@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 31 Mar 2005 16:00:35 -0600
josh higgins wrote:
I am trying to use a list and the list-item is writing
over the list-label.  Any ideas?

(I assume that in your real data the elements are not actually empty but nest.)


You have to set the end-indent of the list item label and the start-indent of the list item block so that they don't overlap. It took me forever to finally figure out this aspect of FO (thanks to Ken's FO book).

The trick is that you set the provisional label length and label-to-body gap on the list block and then use the "label-end()" and "body-start()" functions to calculate the necessary indents:

 <fo:list-block provisional-label-separation="4mm"
     provisional-distance-between-starts="20mm">
   <fo:list-item>
    <fo:list-item-label end-indent="label-end()">
      ...
    </fo:list-item-label>
    <fo:list-item-body start-indent="body-start()">
       ...
    </fo:list-item-body>
  </fo:list-block>


This creates a 20mm label "column" and reserves 4mm gutter out of that 20mm.


Cheers,

Eliot

--
W. Eliot Kimber
Professional Services
Innodata Isogen
9390 Research Blvd, #410
Austin, TX 78759
(512) 372-8155

ekimber@xxxxxxxxxxxxxxxxxxx
www.innodata-isogen.com

Current Thread