[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] What's wrong with this key?


Subject: Re: [xsl] What's wrong with this key?
From: "andrew welch" <andrew.j.welch@xxxxxxxxx>
Date: Wed, 24 May 2006 13:31:05 +0100

On 5/24/06, Ferdinand Soethe <xsl-list@xxxxxxxxxx> wrote:

I'm currently using keys with Xalan to group course-data by week of the
year.

<xsl:key name="WosNachWoche" match="//KURS[VERANART='Wochenendseminar' and
not(AUSFALL)]"
use="datetime:weekInYear(BEGINNDAT))" />

Now I need to enhance grouping to work with courses from different
years, so I figured I'd just need to extend the use-term like this:

<xsl:key name="WosNachWoche" match="//KURS[VERANART='Wochenendseminar' and
not(AUSFALL)]"

use="concat(datetime:weekInYear(BEGINNDAT),':',datetime:formatDate(BEGINNDAT,
'y'))" />

Unfortunately this isn't working for some reason I don't understand. For quick testing I use this template


<xsl:template match="/"> <xsl:for-each select="key('WosNachWoche',//*)"> <xsl:message> <xsl:value-of select="TITELKURZ"/> </xsl:message> </xsl:for-each> </xsl:template>

and found that the second use-term gives me NO results. Exploring
further it seems like as soon as I use concat in the use-expression I
stop getting any results.

Any ideas? What is the problem and how can I assemble a key with
weeknumber and year?



Have you updated the key() lookup too? You would need to use concat there as well.

cheers
andrew


Current Thread