On Sun, Jul 11, 2010 at 4:44 PM, Christian Grün christian.gruen@gmail.comwrote:
Hi Godmar,
similar to other XQuery processors, BaseX uses its own internal XML representation, which is much more efficient than the classical DOM representation, esp. if several megabytes or gigabytes are to be processed. Next, as most of our users end up using our own APIs, we haven't put more effort into XQJ. Feedback like yours, however, is welcome to see how XQJ is used in practice, and it might give us some ideas how to possibly extend it in future.
As we have limited resources, just as every other open source project, code patches and external contributions are welcome.
I understand that iImplementing DOM events takes a fair amount of effort.
Let me describe our use case. We write an AJAX application in which the DOM nodes directly constitute the model (in the MVC sense). UI elements such as text fields etc. are directly mapped to, for instance, attributes of DOM elements. This allows the controller logic to employ DOMMutationEvents. In addition, we use DOMMutationEvents in order to save DOM nodes back to the database (we implement immediate persistence where any change by the user results in an immediate update to the database).
We find this application model very elegant and consistent; needless to say, it requires that DOM events be supported.
I should point out that we also have problems using bindNode() with the org.w3c. Node implementations - it appears that namespaces aren't handled correctly, with 'xmlns=""' appearing in the output when we dump the database after an update. We'll track down this problem and see if it is BaseX related or if we're doing something wrong. But, it's clear that if we could operate on BaseX's DOM implementation, such problems may be reduced.
- Godmar