Jarno, thank you so much for replying. Your solution
works great. But, I am still not clear why it works. I
guess that's bad :)
Ok, here's the thing that I don't get. generate-id
function takes a node-set as a parameter. In your
solution you are concatinating, country_group, year
attribute and num attribute. So, for a country node
with country_group=AAA, @year=2004 and num=2 the
concatinated value will look like this "AAA20042".
How does generate-id on country be equal to
generate-id on the key? That's where I am confused.
country[generate-id() = generate-id(key('groups',
concat(country_group, '2004', '2'))) ??
Using xsl keys seems like a tough concept to
understand(atleast for me). Are there other novices
out there who agrees with me ? I will really
appreciate if Jarno or someone explain.
Thank you in advance. I have pasted the xml below for
reference.
Mark
---------
XML
---------
<?xml version="1.0"?>
<myroot>
<country year="2004" num="1">
<country_group>WWW</course_group>
<num>001</num>
</country>
<country year="2004" num="1">
<country_group>ZZZ</course_group>
<num>001</num>
</country>
<country year="2004" num="2">
<country_group>AAA</course_group>
<num>221</num>
</country>
<country year="2004" num="2">
<country_group>BBB</course_group>
<num>002</num>
</country>
<country year="2004" num="2">
<country_group>CCC</course_group>
<num>022</num>
</country>
<country year="2004" num="2">
<country_group>AAA</course_group>
<num>011</num>
</country>
</myroot>
--- Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com wrote:
Hi,
Hello all,
I am new to xsl and I am having trouble with
grouping.
I have listed my XML below. I would like to get a
list
of all unique country_groups which has a year=2004
and
num=2. I am trying to solve this using xsl:key and
key() function. Can someone help me please ?
<xsl:key name="groups" match="country"
use="concat(country_group, @year, @num)"/>
<xsl:template match="myroot">
<xsl:for-each select="country[generate-id() =
generate-id(key('groups', concat(country_group,
'2004', '2')))]">
<xsl:value-of select="country_group"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
Cheers,
Jarno
--~------------------------------------------------------------------
XSL-List info and archive:
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to:
http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
__________________________________
Do you Yahoo!?
Meet the all-new My Yahoo! - Try it today!
http://my.yahoo.com
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--