Hi Stewart,
To my surprise and delight, the following worked, producing heavy
def numbers with a following non-break space:
<xsl:template match="def">
<xsl:if test="(count(preceding-sibling::def) +
count(following-sibling::def)) >= 1">
<xsl:element name="strong">
<xsl:number/>
<xsl:text> </xsl:text>
</xsl:element>
</xsl:if>
<xsl:apply-templates/>
</xsl:template>
Is there a prettier/more efficient way of doing the same thing
without resorting to frankly ugly
'(count(preceding-sibling::def)+count(following-sibling::def))'?
Since you don't actually need to know *how many* there are, just
whether there are any siblings of the current def or not, you could
use:
<xsl:if test="preceding-sibling::def or following-sibling::def">
...
</xsl:if>
or you could see if the def element's parent has more than one def
child:
<xsl:if test="../def[2]">
...
</xsl:if>
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list