Subject: [xsl] Problem with Predicate selecting only first node rather than all but last From: sara.mitchell@xxxxxxxxx Date: Thu, 18 Jan 2001 19:37:34 -0500 |
I know problems like this have been posted to the list before, but I can't seem to find the answers in the archive and I've been looking at this code too long. Hopefully, someone else will be able to point out the almost-surely obvious error in my code. In the following code, the variable $idx contains nodes that have been sorted to be used in generating an index. The variable $primes contains the unique index entries. Everything works correctly with one exception. If an indexentry has 3 or more nodes in $idx, this code generates a link for the first node and for the second node, but not for the third, or later nodes. <xsl:variable name="entries" select="$idx//indexentry"/> <xsl:variable name="primes" select="$entries/idx1[not(./text()=following::idx1/text())]"/> <xsl:for-each select="$primes"> <xsl:variable name="thisprime" select="./text()"/> <xsl:variable name="dupsall" select="$entries[idx1[(./text()=$thisprime)]]"/> <xsl:variable name="dups" select="$dupsall[not(position()=count($dupsall))]/idx1"/> <!-- dups: <xsl:value-of select="count($dups)"/> --> <xsl:call-template name="doprimes"> <xsl:with-param name="primedups" select="$dups"/> <xsl:with-param name="second" select="$dupsall"/> </xsl:call-template> </xsl:for-each> To test this, I put in the line that is currently commented out because I suspected that the select value for the variable $dups was only selecting the first duplicate, not all duplicates (except the last) which is what I want. I was right, the count for $dups is always 2 even if there are 3 or more present. I can't figure out how to change the predicate to select all the duplicate nodes except for the last one. Even more confusing, when I uncomment the test line with $dups count, I actually get the correct output, all of the duplicates are found and generate separate links even though the count for $dups still says 2. Thanks, Sara Mitchell XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Passing a variable number of , Chris Gow | Thread | Re: [xsl] Problem with Predicate se, David Carlisle |
Re: [xsl] Bouncing, Michael R. Hahn | Date | RE: [xsl] Passing a variable number, Kaganovich, Yevgeniy |
Month |