From: Pierrick B. <br...@us...> - 2006-01-13 19:36:28
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/xquery In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22513/src/org/exist/xquery Modified Files: GeneralComparison.java ValueComparison.java BindingExpression.java Predicate.java Log Message: Prepared the ground for composite ContextItems. Marked places where TransverseContext *might* be considered. Index: Predicate.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/Predicate.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** Predicate.java 12 Jan 2006 21:43:18 -0000 1.42 --- Predicate.java 13 Jan 2006 19:36:16 -0000 1.43 *************** *** 217,221 **** currentNode.getGID() + " !"); } ! int count = 0; while (contextItem != null) { --- 217,221 ---- currentNode.getGID() + " !"); } ! //TODO : review to consider transverse context int count = 0; while (contextItem != null) { *************** *** 228,232 **** //} } ! contextItem = contextItem.getNextItem(); count++; } --- 228,232 ---- //} } ! contextItem = contextItem.getNextDirect(); count++; } *************** *** 269,273 **** while (contextNode != null) { temp.add(contextNode.getNode()); ! contextNode = contextNode.getNextItem(); } //TODO : understand why we sort here... --- 269,273 ---- while (contextNode != null) { temp.add(contextNode.getNode()); ! contextNode = contextNode.getNextDirect(); } //TODO : understand why we sort here... *************** *** 300,303 **** --- 300,306 ---- break; case Constants.PARENT_AXIS: + //TODO : understand why the contextSet is not involved here + //NodeProxy.getParent returns a *theoretical* parent + //which is *not* guaranteed to be in the context set ! temp = p.getParents(false); break; Index: ValueComparison.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/ValueComparison.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ValueComparison.java 7 Jan 2006 21:47:10 -0000 1.7 --- ValueComparison.java 13 Jan 2006 19:36:16 -0000 1.8 *************** *** 82,85 **** --- 82,86 ---- for (Iterator i = nodes.iterator(); i.hasNext();) { current = (NodeProxy) i.next(); + //TODO : review to consider transverse context c = current.getContext(); do { *************** *** 91,95 **** if (compareValues(collator, lv, rs.itemAt(0).atomize())) result.add(current); ! } while ((c = c.getNextItem()) != null); } return result; --- 92,96 ---- if (compareValues(collator, lv, rs.itemAt(0).atomize())) result.add(current); ! } while ((c = c.getNextDirect()) != null); } return result; Index: BindingExpression.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/BindingExpression.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** BindingExpression.java 9 Jan 2006 18:04:44 -0000 1.19 --- BindingExpression.java 13 Jan 2006 19:36:16 -0000 1.20 *************** *** 141,144 **** --- 141,145 ---- current.getGID() + "!"); } + //TODO : review to consider transverse context while (contextNode != null) { NodeProxy next = contextNode.getNode(); *************** *** 147,151 **** result.add(next, sizeHint); } ! contextNode = contextNode.getNextItem(); } } --- 148,152 ---- result.add(next, sizeHint); } ! contextNode = contextNode.getNextDirect(); } } Index: GeneralComparison.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/xquery/GeneralComparison.java,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** GeneralComparison.java 6 Jan 2006 16:43:34 -0000 1.54 --- GeneralComparison.java 13 Jan 2006 19:36:16 -0000 1.55 *************** *** 292,295 **** --- 292,296 ---- throw new XPathException(getASTNode(), "Internal error: context node missing"); lv = current.atomize(); + //TODO : review to consider transverse context do { *************** *** 303,307 **** } } ! }while ((c = c.getNextItem()) != null); } } --- 304,308 ---- } } ! }while ((c = c.getNextDirect()) != null); } } |