[jdom-interest] Planning for JDOM 2.1.x
There are a few new features for JDOM that should be pushed to a 2.1.x
version. These items include:
- an extension to the XPathFactory API that allows for an
implementation to reuse a 'compiled' or 'preprocessed' version of the
JDOMDocument for the XPath lookups.
- additional XMLStream* implementations (StAX) to output/build JDOM
content that would allow JDOM to be a natural storage target for the
native Java JAXB processes.
- let JDOM Core classes accept Iterable<...> instances (for example,
Element.addAll(Collection<? extends Content>) could rather be
Element.addAll(Iterable<? extends Content>)
- Saxon is anticipating a new version soon, and it would be great to
formalize support for using Saxon for XSLT transformation and XPath
- I have some extensions I would like to make to the NamespaceStack
class to facilitate easier access to Namespace logic.
Depending on other factors, I think it would be reasonable to target a
2.1.0 release around April Fool's day. That gives some time for some
beta versions for some field testing. Also, hopefully the 9.5 Saxon
release will be out by then.
I have been working with Saxon to integrate their API for XPath
evaluation in JDOM, but there are a couple of technical issues in JDOM
and the way that existing XPath evaluation is done that make it slightly
incompatible with the Saxon (and XPath) API. There is a lot of common
ground though, and using native Saxon for JDOM/XSLT makes sense, but
will need some tweaks for use with JDOM XPath evaluation.
I have also been working with Gordon Burgett on the new StAX Support
based on his code submission on GitHub, and I also have code ready for
the extensions to the XPath API. The Iterable changes would be
relatively easy to implement, and the NamespaceStack class would be a
simple extension with no existing logic changes (and the work is mostly
I am looking for input on any other features or updates that you would
like included in a 2.1 version. For example, is anyone using any code
from the contrib area, and should that contrib code be 'productionized'?
To control your jdom-interest membership: