[xsl] Re: Unique question

Subject: [xsl] Re: Unique question
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Thu, 4 Oct 2001 21:30:26 -0700 (PDT)
Or you can just use:

<xsl:value-of select="count(/*/*/*/*/@index
                          [generate-id()
                          =
                           generate-id(key('kIndex', .)[1])])"/>

Cheers,
Dimitre Novatchev.

--- Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote:
> Hi Daren,
> 
> This is a short solution:
> 
> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>   <xsl:output method="text"/>
>   <xsl:key name="kIndex" match="@index" use="."/>
>   <xsl:template match="/">
>     <xsl:variable name="x">
>        <xsl:for-each select="/*/*/*/*/@index
>                           [generate-id()
>                           =
>                            generate-id(key('kIndex', .)[1])]">
>             <xsl:value-of select="'Z'"/>
>        </xsl:for-each>
>     </xsl:variable>
>     
>     <xsl:value-of select="string-length($x)"/>
>   </xsl:template>
> </xsl:stylesheet>
> 
> It produces:
> 
> 4
> 
> with the corrected version of your xml source (it was not well-formed):
> 
> <groups>
>   <group>
>     <tables>
>       <table index="1" />
>       <table index="2" />
>     </tables>
>     <views>
>       <view index="3" />
>       <view index="4" />
>     </views>
>   </group>
>   <group>
>     <tables>
>       <table index="1" />
>     </tables>
>     <views>
>       <view index="1" />
>     </views>
>   </group>
> </groups>
> 
> Hope this helped.
> 
> Cheers,
> Dimitre Novatchev.
> 
> 
> Darren Hayduk <dhayduk at nauticusnet dot com> wrote:
> 
> I'm trying to take the XPath expression "*/*/@index" and determine how many
> unique vales there are - within my current context.
> I've tried various axis expressions and can't seem to figure it out... I'd
> be happy with either: 
> A. the ability to count the unique nodes (and I'll compare to count of all
> nodes)
> B. just knowing there are duplicates.
> 
> Example: Within each group, the table and view indexes need to be unique.
> Data in first group is OK, the 'view' in the second group is a duplicate...
> 
> <group>
> 	<tables>
> 		<table index="1"/>
> 		<table index="2"/>
> 	</tables/>		
> 	<views>
> 		<view index="3"/>
> 		<view index="4"/>
> 	</views/>		
> </group>
> <group>
> 	<tables>
> 		<table index="1"/>
> 	</tables/>		
> 	<views>
> 		<view index="1"/>
> 	</views/>		
> </group>
> 
> 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> NEW from Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
> http://geocities.yahoo.com/ps/info1
> 


__________________________________________________
Do You Yahoo!?
NEW from Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
http://geocities.yahoo.com/ps/info1

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


Current Thread