Xalan-Java 2.5 contains the following new features:
These new features have been driven by the need to have a closer integration
and better code reuse between the Xalan Interpretive and the Xalan Compiled (XSLTC)
processors. Prior to this release, the processors did not share much code and they
had different underlying models for the input xml document. Xalan Interpretive used
the Document Table Model (DTM) to model the input xml, while
XSLTC used its own DOMImpl implementation. The serializers used by the processors were
also different. As the project matures sharing more components between the processors
becomes increasingly important. This makes the code more maintainable in the future and
also eliminates some subtle behavioral differences between the Interpretive and the
Compiled processors.
In addition to these design benefits, the integration of DTM with XSLTC and the common
serializer provide conformance and performance improvements to our users. In a practical
environment, the performance improvement for most stylesheets in XSLTC is likely to be
in the range of 10-20%. Stylesheets that use a lot of small result tree fragments (RTF) can
be a few times faster because of the new light-weight RTF model. Although the performance
improvement work focused mainly on the XSLTC side, the enhancements introduced also
contributed to performance benefits for the Xalan Interpretive processor. As a result, the
Interpretive processor is roughly 5-10% faster in this release.
|