Subject: Re: [xsl] Trouble using xsl:key under XSL 1.0 From: "Gareth Howells" <subscriptions@xxxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 13 Dec 2007 08:23:49 -0000 |
Gareth Howells CEO, GForce Industries
gareth@xxxxxxxxxxxxxxxxxxxxxxx 07862725134
As far as I know xsl:key is a top-level element. But you can acchieve what you want using something like:
<xsl:key name="playerResultLookupByWeek" match="playerResult" use="concat(@player, '-', ../@week)" />
Kind regards, Geert
Drs. G.P.H. Josten Consultant
Daidalos BV Source of Innovation Hoekeindsehof 1-4 2665 JZ Bleiswijk Tel.: +31 (0) 10 850 1200 Fax: +31 (0) 10 850 1199 www.daidalos.nl KvK 27164984
From: Gareth Howells [mailto:subscriptions@xxxxxxxxxxxxxxxxxxxxxxx] Sent: donderdag 13 december 2007 9:16 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Trouble using xsl:key under XSL 1.0
Interesting. It appears to work fine as it is for the first iteration. The trouble with putting the key declaration outside the template is that I would then not be able to apply the [@week=$week] predicate to the match="playerResult" which is what causes the lookup to be restricted to one of the two sets of week data. How could I get around this, other than hardcoding 2 keys, one for each week? I'd prefer not to do that because if any new weeks are added to the XML then they would not be included in the output.
Gareth
----- Original Message ----- From: "Jeff Sese" <jsese@xxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Thursday, December 13, 2007 3:13 AM
Subject: Re: [xsl] Trouble using xsl:key under XSL 1.0
> On 12 13, 07, at 10:56 AM, Gareth Howells wrote: > >> <xsl:for-each select="//results"> >> >> <xsl:variable name="week" select="@week" /> >> >> <xsl:key name="playerResultLookupByWeek" match="playerResult[../ >> @week=$week]" use="@player" /> > > Haven't checked the whole code, but an xsl:key element must be a a child > of an xsl:stylesheet or xsl:transform. this is not be a valid template. > Try placing it outside the template match maybe you can make your code > work. > >> >> <p> >> Week <xsl:value-of select="substring(@week,2,1)" /> >> </p> >> >> <xsl:for-each select="//teams/team"> >> >> <p> >> Team <xsl:value-of select="name" /> scored a total of <xsl:value-of >> select=" >> (sum(key('playerResultLookupByWeek',//teams/team[name=current()/ >> name]/teamPlayers/teamPlayer)/g) * $gPoints) >> + >> (sum(key('playerResultLookupByWeek',//teams/team[name=current()/ >> name]/teamPlayers/teamPlayer)/a) * $aPoints) >> + >> (sum(key('playerResultLookupByWeek',//teams/team[name=current()/ >> name]/teamPlayers/teamPlayer)/gda) * $gdaPoints) >> + >> (sum(key('playerResultLookupByWeek',//teams/team[name=current()/ >> name]/teamPlayers/teamPlayer)/gdcs) * $gdcsPoints) >> + >> (sum(key('playerResultLookupByWeek',//teams/team[name=current()/ >> name]/teamPlayers/teamPlayer)/gdga) * $gdgaPoints) >> "/> points this week >> >> </xsl:for-each> >> >> </xsl:for-each> > > Jeferson L. Sese > jsese at asiatype dot com > Asiatype Incorporated > Suite 114 Columbia Tower, Ortigas Ave. > Greenhills, Mandaluyong City 1550 Philippines
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Trouble using xsl:key und, Geert Josten | Thread | Re: [xsl] Trouble using xsl:key und, David Carlisle |
RE: [xsl] Trouble using xsl:key und, Geert Josten | Date | Re: [xsl] Escaped characters being , Andrew Welch |
Month |