Re: [xsl] Trouble with simple fo:list-block

Subject: Re: [xsl] Trouble with simple fo:list-block
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 30 Dec 2010 18:40:49 -0500
At 2010-12-30 13:52 -0600, Steve Ylvisaker wrote:
I am trying to use the fo:list-block object with a variable length
list-item-label with the expectation that the list-item-body will format
beside the list-item-label.

That expectation cannot be met with the list construct. fo:list-block labels have a specified width, not a flexible content-accommodating width.


Because the list-item-label will be of
varying lengths I'm not specifying a
provisional-distance-between-starts.

That property is only a convenience in specifying boundaries for label and body components, there is no semantic implied regarding the use of it.


If I format the following, the YYYYYYYYYYYYY text formats over the xxxxx
text. I have tried adding attribute start-indent="body-start()" to
list-item-body and the result is a fixed distance between starts

As per the specification.


and a similar overset.

Which according to 6.8.3 is an error:


  "In the inline-progression-direction these areas are positioned
   in the usual manner for properly stacked areas. It is an error
   if the content-rectangles of the areas overlap."

This seems really simple - am I missing something or
might there be an inheritance I need to look out for?

You are missing that the widths of the label and body are specified, they do not accommodate the content.


To get the effect you want, use a side float for the label.

I am formatting with Antenna House formatter V5.2

Side floats work well with that product. Below is a snippet I've used to test the materials I use in the classroom. The classic use case in my mind is varying length roman numeral labels.


I hope this helps.

. . . . . . . . . . . . Ken

<block space-before="10pt">This is using floats with block</block>
<float float="start">
<block>i&#160;</block>
<block></block>
</float>
<block intrusion-displace="block">
This is a test of a list item that is very long and wraps over a number of lines.
This is a test of a list item that is very long and wraps over a number of lines.
</block>
<float float="start">
<block>iii&#160;</block>
<block></block>
</float>
<block intrusion-displace="block">
This is a test of a list item that is very long and wraps over a number of lines.
This is a test of a list item that is very long and wraps over a number of lines.
</block>
<float float="start">
<block>mcmlxxxviii&#160;</block>
<block></block>
</float>
<block intrusion-displace="block">
This is a test of a list item that is very long and wraps over a number of lines.
This is a test of a list item that is very long and wraps over a number of lines.
</block>




--
Contact us for world-wide XML consulting & instructor-led training
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread