[xsl] (FO) Baseline alignment in lists

Subject: [xsl] (FO) Baseline alignment in lists
From: "Deborah Pickett" <debbiep-list-xsl@xxxxxxxxxx>
Date: Tue, 6 May 2008 14:25:22 +1000 (EST)
I am trying to work out whether my markup is wrong, or if the FO
processors I use don't support it, or if I have misinterpreted the spec.

<fo:list-item vertical-align="baseline">
  <fo:list-item-label end-indent="label-end()">
    <fo:block>1</fo:block>
  </fo:list-item-label>
  <fo:list-item-body start-indent="body-start()">
    <fo:block>
      <fo:inline>Some text with a
        <fo:external-graphic src="url(large.png)"/>
        inline image
      </fo:inline>
    </fo:block>
  </fo:list-item-body>
</fo:list-item>

When I render this with FOP 0.94 and XEP 4.11, the baselines of the list
item label and the list item body don't line up vertically, because the
large external graphic pushes down the baseline of the body.  I expected
the baseline of the label to be pushed down an equivalent amount based on
this text in XSL 1.1 section 6.8.1:

  The placement, in the block-progression-direction, of the label with
  respect to the body is made in accordance with the "vertical-align"
  property of the fo:list-item.

Both FOP and XEP claim to support vertical-align, which is making me doubt
my markup.

Current Thread