DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14236>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14236 EXSLT function changes variables Summary: EXSLT function changes variables Product: XalanJ2 Version: 2.4Dx Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Major Priority: Other Component: org.apache.xalan.lib AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Xalan 2.4.1. A variable $fname is bound prior to several function calls, after which it is changed. I seriously doubt this is expected behavior, unless I'm screwing up the function somehow. My guess is that the variable stack is somehow being messed with, but I'm not a source-trawler so I can't tell. Any ideas? Style sheet: <xsl:variable name="source" select="'music'"/> <xsl:template match="/"> <xsl:for-each select="/list/entry"> <xsl:variable name="file" select="file"/> <xsl:variable name="fname" select="name"/> <li><a href="{$source}.{$file}.html"><xsl:value-of select="$fname"/></a></li> <xsl:variable name="prime1" select="foxy:getvar('prime')"/> <li><a href="{$source}.{$file}.html"><xsl:value-of select="$fname"/></a></li> <xsl:variable name="in1" select="foxy:getvar('in')"/> <li><a href="{$source}.{$file}.html"><xsl:value-of select="$fname"/></a></li> <xsl:variable name="sort" select="foxy:getvar('sort')"/> <li><a href="{$source}.{$file}.html"><xsl:value-of select="$fname"/></a></li> <xsl:variable name="sort2" select="foxy:getvar('sort2')"/> <li><a href="{$source}.{$file}.html"><xsl:value-of select="$fname"/></a></li> <xsl:variable name="name" select="foxy:getvar('name')"/> <li><a href="{$source}.{$file}.html"><xsl:value-of select="$fname"/></a></li> <xsl:variable name="display_each" select="foxy:getvar('display_each')"/> <li><a href="{$source}.{$file}.html"><xsl:value-of select="$fname"/></a></li> <xsl:variable name="comp1" select="foxy:getvar('comp')"/> <li><a href="{$source}.{$file}.html"><xsl:value-of select="$fname"/></a></li> </xsl:template> <func:function name="foxy:getvar"> <xsl:param name="var"/> <xsl:variable name="param"> <xsl:choose><xsl:when test="param[@name=$var]"> <xsl:value-of select="param[@name=$var]/@select[1]"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="../default/param[@name=$var]/@select[1]"/> </xsl:otherwise></xsl:choose> </xsl:variable> <func:result select="$param"/> </func:function> Input: <default> <param name="prime" select="$categories"/> <param name="comp" select="$categories/album"/> <param name="in" select=".."/> <param name="sort" select="%@sort"/> <param name="sort2" select="%@sort"/> <param name="name" select="@xfid"/> <param name="display_each" select="1"/> </default> <entry> <file>cat</file> <name>Genre</name> <param name="sort2" select="title"/> </entry> Output: (all should be the same) <li><a href="foxmusic.cat.html">Genre</a></li> <li><a href="foxmusic.prime.html">$categories</a></li> <li><a href="foxmusic.in.html">..</a></li> <li><a href="foxmusic.sort.html">%@sort</a></li> <li><a href="foxmusic.sort2.html">title</a></li> <li><a href="foxmusic.name.html">@xfid</a></li> <li><a href="foxmusic.display_each.html">1</a></li> <li><a href="foxmusic.comp.html">$categories/album</a></li>
