RE: [xsl] Different results on different server

Subject: RE: [xsl] Different results on different server
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 7 Oct 2009 16:05:33 +0100
Prima facie, looks like an XSLT processor bug.

Please supply a complete but concise source document and stylesheet, and
tell us which XSLT processors you were using on the two environments.

(Is there only one input document? I can think of explanations if there are
more than one.)

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 

 

> -----Original Message-----
> From: Joelle Tegwen [mailto:tegwe002@xxxxxxx] 
> Sent: 07 October 2009 15:48
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Different results on different server
> 
> 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.
> Joelle

Current Thread