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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: Unique question, Dimitre Novatchev | Thread | [xsl] Re: Unique question, Dimitre Novatchev |
[xsl] Re: Unique question, Dimitre Novatchev | Date | Re: [xsl] A Counter Variable in XSL, Paul Tyson |
Month |