Title: KCC Stationery
Hi David,
The mode="item-number" template just returns a number, but
it doesn't place it anywhere. Trying to use float sounds hard,
as you'll have to deal with alignment and such to match your other
listitems.
I would suggest creating a customized copy of
the template for the listitem itself:
<xsl:template
match="orderedlist/listitem[@role='no_number']">
I would have it create two fo:list-items. Put
everything that precedes the first para in the first list-item's list-item-body,
and give it an empty list-item-label. Then put the first para and
everything that follows it in the second list-item's list-body, and put the
number in its list-item-label. That would keep everything lined up the way
you want.
Bob Stayton
Sagehill Enterprises
DocBook Consulting
----- Original Message -----
From:
David White
To:
Cc: David White
Sent: Friday, May 12, 2006 7:37 AM
Subject: [docbook-apps] listitems and FO
numbering
Hello everyone,
I'm looking to control how the listitems
are formatted in XSL-FO. I have XML that is formatted like this for my
list:
<listitem
role="no_number">
<figure>
<title/>
<mediaobject><imageobject><imagedata fileref="A.tif"/></imageobject></mediaobject>
</figure>
<para>some text<para>
</listitem>
What I'm trying to do is
move the listitem number to the <para> tag instead of immediately
rendering after the <listitem> tag.
Below is my XSLT
modification to the <xsl:template match="orderedlist/listitem" mode="item-number"> template:
<xsl:choose>
<xsl:when
test="self::listitem/@role='no_number' and
parent::orderedlist">
<!-- This dosnt render the listitem
immediately after the element tag -->
<!--<xsl:apply-templates
select="child::para[1]" mode="item-number" />-->
<fo:inline
height="15pt" float="left" padding-right="2pt" >
<xsl:apply-templates
select="ancestor::listitem[parent::orderedlist][1]" mode="item-number"/>
</fo:inline>
<xsl:number
value="$item-number" format="{$type}"/>
</xsl:when>
<xsl:otherwise>
<xsl:if test="parent::orderedlist/@inheritnum='inherit' and
ancestor::listitem[parent::orderedlist]">
<xsl:apply-templates
select="ancestor::listitem[parent::orderedlist][1]" mode="item-number"/>
</xsl:if>
<xsl:number value="$item-number" format="{$type}"/>
</xsl:otherwise>
</xsl:choose>
Any suggestions as to how I can correct this
code to allow flexiblity in where a list item is rendered?
Thanks,
David White
Ken Cook Co.,
Content Management
http://www.kencook.com
tel: 414.847.1322
--
No virus found in this outgoing message.
Checked by
AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.6/337 - Release
Date: 5/11/2006