But I want to produce both:
here's the first, second left as an exercise for the reader
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:for-each-group
select="tokenize(lower-case(string(translate(.,',.!:;','
'))),'\s+')[string(.)]"
group-by=".">
<xsl:sort select="- count(current-group())"/>
[<xsl:value-of select="."/> - <xsl:value-of select="count(current-group())"/>]
</xsl:for-each-group>
</xsl:template>
</xsl:stylesheet>
$ saxon7 words.xml words.xsl
[a - 4]
[test - 4]
[this - 2]
[is - 2]
[only - 2]
[really - 1]
[great - 1]
[big - 1]
--
http://www.dcarlisle.demon.co.uk/matthew
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list