|
Subject: Re: [xsl] counting/comparing values From: Jörg Heinicke <joerg.heinicke@xxxxxx> Date: Sat, 10 Nov 2001 04:44:19 +0100 |
Hi John,
the easiest and most obviously version is to sort all rows by the count of
there entries.
<xsl:template match="tbody">
<table>
<xsl:attribute name="col_count">
<xsl:for-each select="row">
<xsl:sort select="count(entry)" order="descending"/>
<xsl:if test="position() = 1">
<xsl:value-of select="count(entry)"/>
</xsl:if>
</xsl:for-each>
</xsl:attribute>
</table>
</xsl:template>
But there are a few generic versions of better algorithms. Search for
'generic' and 'Dimitre' in the archives and you will find few answers I
think.
Hope this helps,
Joerg
> Greetings all,
> I am stuck trying to get the highest number of child elements of a
> particular type. What I would like to do is return the count of the most
> <entry> elements within a single <row> of a <table>:
>
> <table>
> <tbody>
> <row>
> <entry>1</entry>
> </row>
> <row>
> <entry>1</entry>
> <entry>2</entry>
> </row>
> <row>
> <entry>1</entry>
> <entry>2</entry>
> <entry>3</entry>
> </row>
> </tbody>
> </table>
>
> The template processing this is:
> <xsl:template match="table">
> <table>
> <xsl:variable name="col_count">
> <xsl:for-each select="child::tbody[1]/row">
> <xsl:choose>
> <xsl:when test="count(preceding-sibling::row/child::entry)
> > count(entry)">
> <xsl:value-of
> select="count(preceding-sibling::row/child::entry)"/>
> </xsl:when>
> <xsl:otherwise>
> <xsl:value-of select="count(entry)"/>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:for-each>
> </xsl:variable>
> <xsl:attribute name="col_count"><xsl:value-of
> select="$col_count"/></xsl:attribute>
> </table>
> </xsl:template>
>
> Which returns:
> <table col_count="123"/>
>
> When what I want is <table col_count="3"/>
>
> Any ideas? Any and all help appreciated.
> Thanks, John
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] checking blank, Vikram Kumar | Thread | RE: [xsl] checking blank, Dunning, John |
| Re: [xsl] how to change the xsl tex, Jörg Heinicke | Date | [xsl] Maximum (Was Re: counting/com, Dimitre Novatchev |
| Month |