xsl-list
[Top] [All Lists]

RE: [xsl] testing for numbers of nodes

2008-05-10 14:37:21
The present code I've got (not working) is:

       <xsl:for-each select="sense_area"><xsl:text> </xsl:text>
        <xsl:for-each select="sense">
         <xsl:if test="count(sense) &gt; I">(<xsl:number 
format="I"/>)</xsl:if> <xsl:apply-templates />
        </xsl:for-each>
       </xsl:for-each>

Can someone perhaps see what is wrong with this?


Firstly, I assume you meant "&gt; 1" rather than "&gt; I".

Secondly, inside the for-each the context node is a sense element, so
count(sense) counts how many sense children that sense element has. Try:

        <xsl:for-each select="sense_area"><xsl:text> </xsl:text>
         <xsl:for-each select="sense">
          <xsl:if test="last() &gt; 1">(<xsl:number format="I"/>)</xsl:if> 
          <xsl:apply-templates />
         </xsl:for-each>
        </xsl:for-each>

Michael Kay
http://www.saxonica.com/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>