[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: a nicer total sibling count than this
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|