To be clear, option B includes compatibility with Xerces 1.x.
I vote +1 for B. Here are my reasons:
1) Joe and I are working on what should be some significant optimizations
that I think should be in the released product:
a) Reduction and reuse of RTFs. In the current base, a new DTM is
created for every RTF. In Joe's new code, a single DTM is used
for
most cases, with each RTF being a subtree of that DTM. This
will
significantly improve memory usage and help performance in
many cases, although we don't have good measurements yet.
b) There is a problem in the current codebase with variables...
every time you use one it is reexecuted. I have fixed this
(though not checked it in yet). Along with this fix comes some
significant simplification if the iterator mechanism, which I
hope will make things more robust overall.
c) I am currently implementing some degree of redundant expression
elimination. In order to be competitive in terms of performance,
Xalan must do this. We've put it off for far too long.
I know it's been a long time since the last major release. The reason is
that I feel strongly that we need to up the bar for when we declare a major
release... making a non-developer release is a declaration of quality, and
unless we can proudly declare that quality, it does more damage to release
something that we know has significant flaws. I'm not trying to be a
perfectionist here... I know we have to be pragmatic. However, I just
don't
feel the main trunk quite passes muster yet.
So none of my reasons really have anything to do with Xerces 2.x... I just
feel we need to wait yet a few weeks longer, which would lead to a
timeframe
where we should go ahead and make the jump to Xerces 2.x. If Xerces 2.x is
delayed, we could go ahead and make a release with Xerces 1.
Just my opinion. I hope we can hear lots of others.
-scott