|
Subject: RE: [xsl] xsl:key grouping problem From: Mark Ivs <markivs2003@xxxxxxxxx> Date: Wed, 17 Nov 2004 06:10:22 -0800 (PST) |
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.Elovirta@xxxxxxxxx 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
>
>
__________________________________
Do you Yahoo!?
Meet the all-new My Yahoo! - Try it today!
http://my.yahoo.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] xsl:key grouping problem, Jarno.Elovirta | Thread | Re: [xsl] xsl:key grouping problem, David Carlisle |
| [xsl] Adobe export as xml, Pawson, David | Date | Re: [xsl] xsl:key grouping problem, David Carlisle |
| Month |