xsl-list
[Top] [All Lists]

RE: last() and distinct-values 2.0

2004-10-26 15:58:51
I have now solved this bug: it's rather subtle. I won't be publishing a
source fix because it's too extensive. As a circumvention, it will probably
work if you put the results of distinct-values() in a variable.

Details of the bug are at
http://sourceforge.net/tracker/index.php?func=detail&aid=1054919&group_id=29
872&atid=397617

Sorry about the inconvenience.

Michael Kay
 

-----Original Message-----
From: Jurn Ho [mailto:jurn(_at_)magicmonster(_dot_)com] 
Sent: 26 October 2004 03:09
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] last() and distinct-values 2.0

Hi,

I'm trying to change our stylesheets over to 2.0 and saxon 8, but am 
getting confused about the behaviour of the last() function.
My test case is below, it has a variable called $languages, with many 
<lang> elements.
I wanted to get the 3 distinct languages from there.
If I comment out the last() function, it works as I expect, 
but when I add 
the last() function inside the for-each loop I get it 
returning '2', and 
only get 1 iteration from the loop.
I expect the last() function to return 3.

Any suggestions/hints would be welcome

thanks,
Jurn

<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                 xmlns:fn="http://www.w3.org/2003/11/xpath-functions";>
   <xsl:template match="/">
     <xsl:variable name="languages">
       <lang>English</lang>
       <lang>English</lang>
       <lang>Chinese</lang>
       <lang>French</lang>
       <lang>French</lang>
       <lang>Chinese</lang>
       <lang>French</lang>
       <lang>Chinese</lang>
     </xsl:variable>
     <xsl:for-each select="fn:distinct-values($languages/lang)">
       <xsl:value-of select="position()"/>,
       <xsl:value-of select="."/>,
       <xsl:value-of select="last()"/>
       --
     </xsl:for-each>
   </xsl:template>
</xsl:stylesheet>


--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--





<Prev in Thread] Current Thread [Next in Thread>