[xsl] following-sibling in a sorted result tree?
| Subject: [xsl] following-sibling in a sorted result tree? From: "Peter Heald" <healdp@xxxxxxxxxxx>
 Date: Wed, 27 Apr 2005 15:44:21 -0700
 
 | 
Hi,
I have an xslt2 transform that outputs multiple html documents, as well as 
index files and hhc/hhk htmlHelp files.
Part of this is a sorted xsl:for-each loop that references the previous and 
next siblings (used to add next and previous page buttons in the html).
I have found that the sibling instructions reference the unsorted result 
tree, not the sorted tree which is the current context. The results match 
the order of the original XML, not the sorted loop, therefore the previous 
and next buttons are not in sync with the index and content pages, which are 
also sorted. So I'm guessing that following-sibling, for example, is not 
using the sorted result tree at all. Is there a way around this?  Do I 
somehow need to create a parallel result tree?
Any thoughts would be much appreciated.  Below is a little pseudo-code 
demonstrating the problem.
<xsl:for-each select="ITEM">
 <xsl:sort select="@NAME"/>
   <xsl:result-document href="./{$something}.html" format="myhtml">
       .....
       <xsl:value-of select="following-sibling::*[1]/@NAME"/> <!--next 
sorted ITEM ? -->
       ....
   </xsl:result-document>
</xsl:for-each>
Why would the value-of line above result the next sibling according to the 
original XML file order and not the sorted order?
Thanks!  Pete