XML News from Thursday, November 4, 2004

Wolfgang Meier of the Darmstadt University of Technology has posted the second beta of eXist 1.0, an open source native XML database that supports fulltext search. XML can be stored in either the internal, native XML database or an external relational database. The search engine supports XPath and XQuery. The server is accessible through HTTP and XML-RPC interfaces and supports the XML:DB API for Java programming.

According to Meier, "This release benefits from a lot of testing done by other projects, and fixes many instabilities and database corruptions that were still present in the previous version. In particular, the XUpdate implementation should now have reached a stable state. Concurrent XUpdates are fully supported. The XQuery implementation has matured, adding support for collations, computed constructors, and more. Module loading has been improved, allowing more complex web interfaces to be written entirely in XQuery (see new admin interface). Finally, there's a new WebDAV module, a reindex/repair option and support for running eXist as a system service." eXist is published under the LGPL.


MetaStuff Ltd. has released dom4j 1.5.1, a tree-based API for processing XML with Java. dom4j is based on interfaces rather than classes, which distinguishes it from alternatives like JDOM and XOM (Not to its credit, in my opinion. Using concrete classes instead of interfaces was one of the crucial decisions that made JDOM as simple as it is.) Version 1.5/1.5.1 seems to be mostly a collection of bug fixes and small, backwards compatible, API enhancements. It improves compliance to the DOM interfaces and adds support for StAX.

dom4j is published under a BSD license. However, it uses code form the GNU Classpath extension Project (specifically the Ælfred parser) in a manner incompatible with its license, and it really should be published under the GPL as a result. Because dom4j's own BSD license is incompatible with dom4j, any distribution of dom4j must violate either the copyright of MetaStuff or the copyright of the Free Software Foundation. You might be able to cure this for your own distribution by removing the org.dom4j.aelfred and org.dom4j.aelfred2 packages from your own code base, and linking to unmodified copies of GNU JAXP instead. However there might be other license mines in other parts of the code base. dom4j has a long history of ignoring other projects' licenses—it started life as an illegal fork of JDOM, though that has since been cured—and it wouldn't surprise me in the least to find more misappropriated code in other packages.