Altova Mailing List Archives>Archive Index >microsoft.public.xsl Archive Home >Recent entries >Thread Prev - Problems showing unique numbers >Thread Next - Re: Problems showing unique numbers RE: Problems showing unique numbersTo: NULL Date: 10/10/2005 10:06:00 AM This looks like a grouping problem. You can use Muenchian grouping technique
to solve it.
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" indent="yes" />
<xsl:key name="by-number" match="Assignment" use="Number" />
<xsl:template match="/root">
<xsl:for-each select="Assignment[generate-id() =
generate-id(key('by-number', Number)[1])]">
<xsl:sort select="Number" />
<TIT><xsl:value-of select="Number" /></TIT>
<xsl:for-each select="key('by-number', Number)">
<xsl:sort select="Word" />
<TEXT><xsl:value-of select="Word" /></TEXT>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Regards,
Mukul
"XSLNews" wrote:
> I have XML like this
>
> <root>
>
> <Assignment>
> <Number>1</Number>
> <Word>BLA</Word>
> </Assignment>
> <Assignment>
> <Number>3</Number>
> <Word>ZON</Word>
> </Assignment>
> <Assignment>
> <Number>1</Number>
> <Word>DROP</Word>
> </Assignment>
> <Assignment>
> <Number>4</Number>
> <Word>AAN</Word>
> </Assignment>
> <Assignment>
> <Number>2</Number>
> <Word>BALK</Word>
> </Assignment>
> <Assignment>
> <Number>3</Number>
> <Word>VIS</Word>
> </Assignment>
>
> I want it to be like
> <TIT>1</TIT>
> <TEXT>BLA</TXT>
> <TEXT>DROP</TEXT>
> <TIT>2</TIT>
> <TEXT>BALK</TXT>
> <TIT>3</TIT>
> <TEXT>VIS</TXT>
> <TEXT>ZON</TEXT>
> <TIT>4</TIT>
> <TEXT>AAN</TXT>
>
> So sorted first by Number, then by Word
> For each word with number 1 the TIT (number) must appear only once.
>
>
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
