| Subject: Re: [xsl] a nicer total sibling count than this From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Wed, 18 Sep 2002 20:51:43 +0100 | 
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
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| [xsl] a nicer total sibling count t, scruss | Thread | RE: [xsl] a nicer total sibling cou, Michael Kay | 
| Re: [xsl] RE: XML/XSLT to HTML outp, Michael Rothwell | Date | [xsl] Re: a nicer total sibling cou, Dimitre Novatchev | 
| Month |