You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mu...@apache.org on 2023/07/18 16:56:45 UTC

[xalan-java] branch xalan-j_xslt3.0 updated: committing minor improvements to, xpath 3.1 function implementations fn:distinct-values, fn:index-of, fn:string-join

This is an automated email from the ASF dual-hosted git repository.

mukulg pushed a commit to branch xalan-j_xslt3.0
in repository https://gitbox.apache.org/repos/asf/xalan-java.git


The following commit(s) were added to refs/heads/xalan-j_xslt3.0 by this push:
     new fbb6b8c8 committing minor improvements to, xpath 3.1 function implementations fn:distinct-values, fn:index-of, fn:string-join
     new eadf4925 Merge pull request #32 from mukulga/xalan-j_xslt3.0_mukul
fbb6b8c8 is described below

commit fbb6b8c89340260c1290801c1126ea9764abe550
Author: Mukul Gandhi <ga...@gmail.com>
AuthorDate: Tue Jul 18 22:20:09 2023 +0530

    committing minor improvements to, xpath 3.1 function implementations fn:distinct-values, fn:index-of, fn:string-join
---
 src/org/apache/xpath/functions/FuncDistinctValues.java | 10 +++++-----
 src/org/apache/xpath/functions/FuncIndexOf.java        |  7 +++----
 src/org/apache/xpath/functions/FuncStringJoin.java     |  5 ++---
 3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/src/org/apache/xpath/functions/FuncDistinctValues.java b/src/org/apache/xpath/functions/FuncDistinctValues.java
index 57147aec..03b0232c 100644
--- a/src/org/apache/xpath/functions/FuncDistinctValues.java
+++ b/src/org/apache/xpath/functions/FuncDistinctValues.java
@@ -81,14 +81,14 @@ public class FuncDistinctValues extends Function2Args {
         if (arg0Obj instanceof XNodeSet) {
            DTMManager dtmMgr = (DTMManager)xctxt;
            
-           int currentNode = xctxt.getCurrentNode();
-           DTMIterator sourceNodes = arg0.asIterator(xctxt, currentNode);
+           XNodeSet xNodeSet = (XNodeSet)arg0Obj;           
+           DTMIterator sourceNodes = xNodeSet.iter();
            
            int nextNodeDtmHandle;
            
            while ((nextNodeDtmHandle = sourceNodes.nextNode()) != DTM.NULL) {
-              XNodeSet xNodeSet = new XNodeSet(nextNodeDtmHandle, xctxt);
-              String nodeStrValue = xNodeSet.str();
+              XNodeSet xNodeSetItem = new XNodeSet(nextNodeDtmHandle, dtmMgr);
+              String nodeStrValue = xNodeSetItem.str();
               
               DTM dtm = dtmMgr.getDTM(nextNodeDtmHandle);
               
@@ -121,7 +121,7 @@ public class FuncDistinctValues extends Function2Args {
         }
         else {
            // we're assuming here that, an input value is an 
-           // singleton xdm item.            
+           // xdm singleton item.            
            if (arg0Obj instanceof XSAnyType) {
               XSAnyType xsAnyType = (XSAnyType)arg0Obj;
               addItemToResultSequence(resultSeq, xsAnyType, false);
diff --git a/src/org/apache/xpath/functions/FuncIndexOf.java b/src/org/apache/xpath/functions/FuncIndexOf.java
index c9fa3bf5..88df4e20 100644
--- a/src/org/apache/xpath/functions/FuncIndexOf.java
+++ b/src/org/apache/xpath/functions/FuncIndexOf.java
@@ -89,14 +89,13 @@ public class FuncIndexOf extends Function3Args {
         if (arg0 instanceof LocPathIterator) {
             arg0ResultSeq = new ResultSequence();
                                 
-            DTMIterator arg0DtmIterator = m_arg0.asIterator(xctxt, contextNode);        
+            DTMIterator arg0DtmIterator = arg0.asIterator(xctxt, contextNode);        
             
             int nextNodeDtmHandle;
             
             while ((nextNodeDtmHandle = arg0DtmIterator.nextNode()) != DTM.NULL) {
-                XNodeSet xNodeSet = new XNodeSet(nextNodeDtmHandle, xctxt.getDTMManager());
-                
-                String nodeStrValue = xNodeSet.str();
+                XNodeSet xNodeSetItem = new XNodeSet(nextNodeDtmHandle, dtmMgr);                
+                String nodeStrValue = xNodeSetItem.str();
                 
                 DTM dtm = dtmMgr.getDTM(nextNodeDtmHandle);
                 
diff --git a/src/org/apache/xpath/functions/FuncStringJoin.java b/src/org/apache/xpath/functions/FuncStringJoin.java
index 55e32c9f..c061d66c 100644
--- a/src/org/apache/xpath/functions/FuncStringJoin.java
+++ b/src/org/apache/xpath/functions/FuncStringJoin.java
@@ -99,9 +99,8 @@ public class FuncStringJoin extends Function2Args {
         int nextNodeDtmHandle;
         
         while ((nextNodeDtmHandle = arg0DtmIterator.nextNode()) != DTM.NULL) {
-            XNodeSet xNodeSet = new XNodeSet(nextNodeDtmHandle, xctxt.getDTMManager());
-            
-            String nodeStrValue = xNodeSet.str();
+            XNodeSet xNodeSetItem = new XNodeSet(nextNodeDtmHandle, dtmMgr);            
+            String nodeStrValue = xNodeSetItem.str();
             
             DTM dtm = dtmMgr.getDTM(nextNodeDtmHandle);
             


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xalan.apache.org
For additional commands, e-mail: commits-help@xalan.apache.org