You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by Scott Boag/CAM/Lotus <Sc...@lotus.com> on 2000/11/21 05:52:56 UTC

XalanJ2 Project status & to do

Someone suggested to me that it would be a good idea to release some sort
of weekly status to the list, beyond the todo.xml that I have done in the
CVS, just to get it in people's faces.  I guess the Jakarta project has
been trying to do this?

I tried to restructure the todo.xml so that it can produce these weekly
reports with fairly little effort on my part.  If people don't agree with
what's on this list, or feel they know something that should be added,
please let me & the xalan-dev list know.  For contributers (including folks
at Lotus), feel free to directly add to the list.  The idea is that
everything that is a gateway to the named releases, and is worth putting on
a list, should be in todo.xml.

Not listed in the report below is that we should probably do an another
alpha release right after Thanksgiving.  I would still love to do weekly,
or even nightly .zip releases.  We need to remember the mantra "release
early and often".

As of last Thursday, I marked the CVS code with xalan_2_0_d02.  Here is the
general status as of that mark:

1) Namespace aliasing isn't implemented yet.  I should get this done over
the course of the next week (unless someone else wants to volunteer).

2) xsl:key/key() has n-squared lookup.  Myriam is working on this.

3) We have seen threading problems when stress testing with output to the
xerces DOM.  We think this is a Xerces bug, but haven't had time to track
it down yet.

4) href escaping for HTML URLs is turned on.  This is a fuzzy area of the
spec, and can cause user problems.  We'll have to decide if we want this
turned on or off for the december beta.

5) Iterator objects aren't being reused as they should be, which will
effect performance.  I tried to get this working last week, but had to back
out.

6) Out of our test suite, we pass 1131 tests, and fail at 91.  A lot of
these, probably at least 3/4th, are non-bugs caused by indenting (XalanJ2
has zero indent amount if indent="yes" for performance reasons), non-bug
differences in HTML entity reference output, or differences in manufactured
namespace prefixes.  There are a couple of axes traversal tests that are
failing, which should be PI bugs for beta (but are pretty rare cases), some
number format bugs that may not be fixed for a while, and unparsed entity
references need to be absolutized.  So I think we're generally in pretty
good shape for conformance, except for the above-mentioned namespace
aliasing issue.

7) Error handling is messier than it ought to be, and the ErrorListoner
won't always be called.

Also, there were some last minute changes to TrAX last Friday night.
Mainly changes to Source derivative objects, things like setCharacterStream
changed to setReader, etc.

======= TODO 11/20/00 ========

For release: 12/15/00 , beta
Goal [conformance]: XSLT 1.0 and XPath 1.0 complient, 98% conformance test
passage.
Goal [performance]: Reasonable, competative performance. [need metrics]
Goal [stability]: Stable, reasonable.
Goal [api]: API Complete.
Goal [documentation]: Documentation functionally complete.

1) Fill in all NEEDSDOC sections.
context: code, category: documentation, priority: high

2) When using STree for the input, use STree for the document() and result
tree fragments.
context: code, category: performance, priority: high

3) implement fast iterator for "//foo" pattern.
context: code, who: SB, packages: xpath.axes, category: performance,
priority: high

4) implement fast iterator for "@foo" pattern.
context: code, who: SB, packages: xpath.axes, category: performance,
priority: high

5) optimize xsl:key and key() stuff by building hash table of iterators for
each key.
context: code, who: MM, category: performance, priority: high

6) Clean up treatment of null namespaces, re "" vs. null.
context: code, category: code-cleanup, priority: medium

7) Implement namespace aliasing.
context: code, category: conformance, priority: high

8) Check relative URL resolution with notations and unparsed entities. Not
sure if there is a bug here. See note from Thomal Maesing on 10/24/2000,
titled "Antwort: Re:".
context: code, category: conformance, priority: high

9) Move org.apache.xalan.utils package to org.apache.xml.utils. remove
resource dependencies on xalan and/or xpath package.
context: code, category: code-cleanup, priority: medium

10) Catch multiple definitions of a variable with the same name and scope.
context: code, packages: templates, category: conformance, priority:
medium, note: done?


--------------------------------------------------------------------------------

For release: 01/15/01 , production
Goal [conformance]: XSLT 1.0 and XPath 1.0 complient, 99% conformance test
passage.
Goal [performance]: Reasonable, competative performance. [need metrics]
Goal [stability]: Robust.
Goal [api]: API Complete.
Goal [documentation]: Documentation complete.

1) Don published a list of proposed extensions a while ago. I would really
like to get these implemented. This is a good area for part-time
contributers, as the extensions have limited scope.
context: code, category: feature

2) Joe could use help with the stylesheet compiler stuff. Lots of work to
be done there. In particular, I would like to figure out how to inline some
simple itterator operations, like select="node()" and select="foo". Also,
we need to figure out how to analyze a particular stylesheet's
dependencies, and be able to package just those classes in a jar, along
with the compiled classes.
Issue [issue-compiler-for-january-release]: I suspect it is unlikely this
will be ready in time for this release.
context: code, category: performance


--------------------------------------------------------------------------------

For release: 4/15/01 , beta
Goal [conformance]: XSLT 1.1 and XPath 1.0+addendum complient, 100%
conformance test passage.
Goal [performance]: Very good performance. [need metrics]
Goal [stability]: Stable, reasonable.
Goal [api]: API Complete.
Goal [documentation]: Documentation functionally complete.

1) XPointer built on the XPath package.
context: code, category: feature

2) Schema-savy itterators. This is hard because there is no standard API
for schemas yet.
context: code, packages: xpath.axes, category: performance

3) Stylesheet analysis module. When I call a template, where is it likely
to walk in the tree? Can I be sure that it will not walk up again?
context: code, id: stylesheet-analysis, packages: processor, category:
performance

4) Related to stylesheet-analysis, the ability to throw away parts of the
tree that have been processed, and we know we won't reuse, based on the
stylesheet analysis.
context: code, packages: stree, category: performance

5) Sub-expression elimination. When I call a series of xsl:when tests, are
there common subexpressions that can be executed once and then shared?
context: code, packages: processor, category: performance


--------------------------------------------------------------------------------

Completed:
1) Make this todo list.
context: code, completed-date: 10/31/00

2) implement javax.trax interfaces.
context: code, who: SB, category: trax, completed-date: 11/06/00

3) Implement DOMSerializer on FormatterToXML.
context: code, packages: serialize, who: SB, category: feature,
completed-date: 11/17/00

4) implement fast iterator for "foo" pattern.
context: code, who: SB, packages: xpath.axes, category: performance,
priority: high, completed-date: 11/17/00


--------------------------------------------------------------------------------

Developers:
Scott Boag (SB)
Shane Curcuru (SC)
Joseph Kesselman (JK)
Donald Leslie (DL)
Costin Manolache (CM)
Myriam Midy (MM)
Gary L Peskin (GP)

-scott