Xindice does not even use the latest available revision of Lexus.
The latest Lexus implementation in the xmldb project's CVS is not quite compatible with Xindice. I have been picking away at that, working toward integrating the latest Lexus version into Xindice.
In the latest version, there have been a few bug fixes and the implementation has been made MT-safe.
I recentlly got a couple changes to that source base (Lexus CVS head) made by contacting Jeroen Breedveld jeroenb at x-hive dot com.
WRT your suggestion, perhaps discussing the Lexus project status with Jeroen might be useful.
Do you mind if I contact him?
Btw, below is the patch I was refering to. The problem occurs if one tries to xupdate:update mixed content. The CVS head version will only remove text nodes and will throw a NullPointerException in the end.
Thanks
Michi
Index: xupdate/src/org/xmldb/xupdate/lexus/commands/UpdateCommand.java
===================================================================
RCS file: /raid/Repository/xmldb/xupdate/src/org/xmldb/xupdate/lexus/commands/UpdateCommand.java,v
retrieving revision 1.4
diff -r1.4 UpdateCommand.java
60a61,62
> import org.apache.log4j.Category;
>
66a69
> Category log = Category.getInstance(UpdateCommand.class);
113c116,117
< for (int j = 0; j < childrenLength; j++) {
---
> for (int j = childrenLength -1 ; j >= 0; j--) {
> log.debug(".execute(): Remove child (" + j + "): " + children.item(j).getNodeType());
115c119
< current.removeChild(children.item(j));
---
> log.debug(".execute(): TEXT_NODE: " + children.item(j).getNodeValue());
116a121
> current.removeChild(children.item(j));
-Terry
Michael Wechner wrote:
I recently fixed a bug within Lexus, but it seems that the Lexus community at xmldb is kind of dead, or am I wrong on that?
Nevertheless I think xupdate and Lexus is very nice and it would be great if Lexus could be part of some Apache (sub-)project or whatever.
Would that make sense?
Thanks
Michi