From: Jean-Marc V. <jm...@us...> - 2006-01-10 20:48:29
|
Update of /cvsroot/exist/eXist-1.0/src/org/exist/dom In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31342/src/org/exist/dom Modified Files: VirtualNodeSet.java Log Message: I solved the //* [ . = 'blabla' ] bug ! Index: VirtualNodeSet.java =================================================================== RCS file: /cvsroot/exist/eXist-1.0/src/org/exist/dom/VirtualNodeSet.java,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** VirtualNodeSet.java 7 Jan 2006 21:47:14 -0000 1.57 --- VirtualNodeSet.java 10 Jan 2006 20:48:20 -0000 1.58 *************** *** 226,231 **** new NodeProxy(proxy.getDocument(), node.getGID(), node.getNodeType()); docElemProxy.setInternalAddress(node.getInternalAddress()); ! if (test.matches(docElemProxy)) result.add(docElemProxy); if (node.getNodeType() == Node.ELEMENT_NODE && (axis == Constants.DESCENDANT_AXIS --- 226,239 ---- new NodeProxy(proxy.getDocument(), node.getGID(), node.getNodeType()); docElemProxy.setInternalAddress(node.getInternalAddress()); ! if (test.matches(docElemProxy)) { result.add(docElemProxy); + + // I took these lines from addChildren() . + // Certainly there is some refactoring here ... + docElemProxy.copyContext(docElemProxy); + if (useSelfAsContext && inPredicate) { + docElemProxy.addContextNode(docElemProxy); + } + } if (node.getNodeType() == Node.ELEMENT_NODE && (axis == Constants.DESCENDANT_AXIS *************** *** 259,263 **** return result; } ! private final void addChildren( NodeProxy contextNode, --- 267,272 ---- return result; } ! ! /** recursively adds children nodes */ private final void addChildren( NodeProxy contextNode, |