Re: [xep-support] XEP 2.77: Space resolution in list-item-body

From: Werner Donné (werner.donne@re.be)
Date: Wed Oct 02 2002 - 07:54:34 PDT


David,

The effect I want to achieve is that all list item bodies after the first list item
are not shifted. This can be simply done by dropping the space-before,
because it is not needed anyway (it is a result of some conversion tool I'm
working on). I could also set the same space-before on the label in order to
align them properly.

But I'm also trying to understand why there is a different for the first list item.
My remark about the line-area is indeed wrong. That leaves two reason to discard
the space-before in this particular case.

1) A reference-area could have been started. In the ammended example I have
attached here it is made sure that the list-block does not start a reference area
by putting a block before it. This is how the example should have been in the
first place.

2) The spaces could collapse with others. It seems that the space-before of the
first list item body collapses with the space-after of the first block of the
example. But then why doesn't the space-before of the second list item body
block collapse with space-after of the preceding one?

Maybe none of the list items should collapse, because each item has two blocks
in the inline progessing direction, the first of which has no space-before or
space-after at all. Then again, both blocks may be first aligned and then both
their block progressing spaces taken into account for space resolution.

What is correct according to the specification?

Werner.

David Tolpin wrote:
>>Hi,
>>
>>I think the attached example shows an error in the space resolution in the
>>list-item-body element. The space-before of the content of all but the first
>>list item body is not discarded, despite the fact the fo:block elements in them
>>start a new line-area.
>
>
> Werner,
>
>
> conditionality controls whether a space-specifier has effect at the beginning
> or end of a reference-area for space-before/space-after (specified on elements,
> generating block-level areas) or of a line area for space-start/space-end (specified
> on elements generating inline-level areas).
>
> space-before.conditionality="discard" would have effect at the beginning of a page,
> a column, or a block-container. space-start.conditionality="discard" would take
> effect at the beginning of a line.
>
> What effect are you trying to achieve?
>
> David
>
> -------------------
> By using the Service, you expressly agree to these Terms of Service http://www.renderx.com/tos.html
>
>

-- 
Werner Donné  --  Re BVBA
Engelbeekstraat 8
B-3300 Tienen
tel: (+32) 486 425803	e-mail: werner.donne@re.be

<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <fo:layout-master-set>
    <fo:simple-page-master master-name="doc" page-height="297mm"
      page-width="210mm">
      <fo:region-body/>
    </fo:simple-page-master>
  </fo:layout-master-set>
  <fo:page-sequence master-reference="doc">
    <fo:flow flow-name="xsl-region-body">
      <fo:block space-after="0.83em" space-after.conditionality="discard">
This is the introduction of a list:
      </fo:block>
      <fo:list-block
        provisional-label-separation="6pt"
        provisional-distance-between-starts="1em"
        space-after="0.83em"
        space-before="0.83em"
        space-before.conditionality="discard"
        space-after.conditionality="discard">
        <fo:list-item>
          <fo:list-item-label end-indent="label-end()">
            <fo:block text-align="end">1</fo:block>
          </fo:list-item-label>
          <fo:list-item-body start-indent="body-start()">
            <fo:block
              space-after="0.3em"
              space-before="0.3em"
              space-before.conditionality="discard"
              space-after.conditionality="discard"
              text-align="justify">
This is the first list item.
            </fo:block>
          </fo:list-item-body>
        </fo:list-item>
        <fo:list-item>
          <fo:list-item-label end-indent="label-end()">
            <fo:block text-align="end">2</fo:block>
          </fo:list-item-label>
          <fo:list-item-body start-indent="body-start()">
            <fo:block
              space-after="0.3em"
              space-before="0.3em"
              space-before.conditionality="discard"
              space-after.conditionality="discard"
              text-align="justify">
This is the second list item.
            </fo:block>
          </fo:list-item-body>
        </fo:list-item>
        <fo:list-item>
          <fo:list-item-label end-indent="label-end()">
            <fo:block text-align="end">3</fo:block>
          </fo:list-item-label>
          <fo:list-item-body start-indent="body-start()">
            <fo:block
              space-after="0.3em"
              space-before="0.3em"
              space-before.conditionality="discard"
              space-after.conditionality="discard"
              text-align="justify">
This is the third list item.
            </fo:block>
          </fo:list-item-body>
        </fo:list-item>
      </fo:list-block>
    </fo:flow>
  </fo:page-sequence>
</fo:root>

-------------------
By using the Service, you expressly agree to these Terms of Service http://www.renderx.com/tos.html



This archive was generated by hypermail 2.1.5 : Wed Dec 18 2002 - 08:41:28 PST