>With all the concentration on the Eclipse Helios release today, something quietly happened earlier in the week that is pretty significant. Xerces-J 2.10 has been released. Why is this significant to those in eclipse land. Because the PsychoPath XPath 2.0 processor that is part of the Eclipse Helios release with Web Tools Platform 3.2, is included and used by the latest Xerces-J 2.10 release.
Mukul Gandhi, a Xerces-J commiter and Eclipse WST XSL committer, has blogged a bit about this release. The PsychoPath processor is an osgi-bundle, but it has no dependencies on OSGI. It can be used standalone as a regular JAR. PsychoPath also provides an XML Schema Aware processor for XPath 2.0. Something that is typically only available in commercial processors.
From an XML standpoint, Xerces-J 2.10’s release is significant, as it provides a viable alternative to the commercial version of Saxon for XML Schema 1.1 support. PsychoPath is used to provide full XPath 2.0 support to the XML Schema 1.1 assertion support provided by Xerces-J. Xerces-J includes a minimal/optimized XPath engine, but it will at times gracefully switch to using PsychoPath when necessary.
PsychoPath had an interesting road. It started off as a College project, and after that project was completed, posted on Sourceforge. There it sat unnoticed for about 4 years (yes, I consider this one of the hidden gems I find on sourceforge). The XSLT project at eclipse was created and we needed a way to support XPath 2.0 validation and functionality. However, the only open source java processor that supported XPath 2.0 was, Saxon 8 at the time. Due to various concerns from the eclipse IP team, Saxon can not be distributed with eclipse. This lead my search to SourceForge where I found the PsychoPath processor, sleeping quietly.
I ran across PsychoPath but was concerned about pedigree. Eventually I contacted Andrea Bittau the author, and approached him with donating the processor to eclipse. He agreed, and that led us to the present state. Along the way, Jesper Moller and Mukul Gandhi joined in helping to maintain the code (both do this on their own time). Without their help and others in the community, PsychoPath would not be where it is today.
Xerces-J is the first project outside of Eclipse to adopt PsychoPath, but there are some rumblings that other projects like Xalan and Apache ODE are looking into it as well. Sometimes if you build it…eventually they will come.