RE: [xsl] grouping by unique...

Subject: RE: [xsl] grouping by unique...
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Tue, 17 Jun 2003 23:22:22 +0100
> 
> Here is the code.
> <xsl:template match="report">
> 	<xsl:variable name="unique-solutions" 
>     	      select="item[not(metadata/solution = 
> preceding-sibling::metadata/solution)]/metadata/solution"	/>

Your items do not have a preceding-sibling::metadata element.

You should write preceding-sibling::item/metadata/solution.

Even then, with multiple solutions in one item, it's wrong. It will
select all the solutions in one item if none of them is the same as a
solution in a previous item; but if one solution is the same and others
are different, none of them will be selected.

I recommend you use the Muenchian technique instead.

Michael Kay

> 					
> 	<xsl:for-each select="$unique-solutions">
> 		<xsl:sort select="." />
> 		<xsl:value-of select="." />
> 	</xsl:for-each>				
> </xsl:template>
> 
> 
> Here is the XML file.
> <report>
> 	<item>
> 		<content>
> 			....
> 		</content>
> 		<metadata>
> 			<solution>A</solution>
> 			<solution>B</solution>
> 			<solution>C</solution>
> 		</metadata>
> 	</item>
> 	<item>
> 		<content>
> 			.....
> 		</content>
> 		<metadata>
> 			<solution>A</solution>
> 			<solution>B</solution>
> 			<solution>D</solution>
> 		</metadata>
> 	</item>
> 
> </report
> 
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread