[xsl] Different results on different server

Subject: [xsl] Different results on different server
From: Joelle Tegwen <tegwe002@xxxxxxx>
Date: Wed, 07 Oct 2009 09:47:37 -0500
I cannot fathom why this is not working.

I have the following code:
<xsl:key name="project" match="project" use="."/>
<xsl:variable name="projects"
select="//project[generate-id() = generate-id(key('project', .))]"/>

<xsl:template match="/staff">
And then later I use this like so:
<xsl:template match="status">
<xsl:variable name="filter_name" select="filter_name"/>
<xsl:variable name="objects_active"
select="$projects[$filter_name = 'active'][@active!=0] |
$projects[$filter_name = 'archived'][@active=0] |
$projects[$filter_name = 'new'][@new=1][@active!=0] |
$projects[$filter_name = 'all']"/>

This works fine on my personal dev environment (LAMP), but not on our test server (WIMP)
on our test server it says that there are no nodes in the $projects collection.

So that's strange enough. but here's the part that has me pulling my hair out.
If I add the following to the first block of code:
<xsl:template match="/staff">
<xsl:value-of select="count($projects)"/> -
<xsl:value-of select="count(//project[generate-id() = generate-id(key('project', .))])"/>

I get:
0 - 19

It doesn't seem to matter how specific I am with the select statement for $projects, the answer is the same.

I've used a similar methodology on other pages and I've never had an issue with it.

What am I missing here?

Thanks much for your time.

Current Thread