mmidy 00/08/17 13:13:47
Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
Log:
Set context node before sorting.
Revision Changes Path
1.17 +13 -4
xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java
Index: TransformerImpl.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- TransformerImpl.java 2000/08/11 23:54:59 1.16
+++ TransformerImpl.java 2000/08/17 20:13:46 1.17
@@ -986,10 +986,10 @@
{
// Sort if we need to.
if(null != keys)
- {
+ {
NodeSorter sorter = new NodeSorter(xctxt);
-
NodeSet nodeList;
+
if(sourceNodes instanceof NodeSet)
{
nodeList = ((NodeSet)sourceNodes);
@@ -1000,9 +1000,18 @@
{
nodeList = new NodeSet(sourceNodes);
sourceNodes = nodeList;
+ ((ContextNodeList)sourceNodes).setCurrentPos(0);
+ }
+
+ xctxt.pushContextNodeList((ContextNodeList)sourceNodes );
+ try{
+ sorter.sort(nodeList, keys, xctxt);
+ nodeList.setCurrentPos(0);
+ }
+ finally
+ {
+ xctxt.popContextNodeList();
}
- sorter.sort(nodeList, keys, xctxt);
- nodeList.setCurrentPos(0);
}
// Push the ContextNodeList on a stack, so that select="position()"