blob: 04de0f89e988772ef11acbd04468a3d90b1260ff [file] [log] [blame]
<?xml version="1.0"?>
<todo title="Things To Do" project="Xalan" major-version="2">
<devs>
<!-- in alphabetical order, by last name -->
<person name="Scott Boag" email="scott_boag@lotus.com" id="SB" expertise="code">
Xalan architect, lead developer on Xalan-J 2.x.
</person>
<person name="Shane Curcuru" email="Shane_Curcuru@lotus.com" id="SC" expertise="test">
Lead tester for API issues, automation framework.
</person>
<person name="Paul Dick" email="Paul_Dick@lotus.com" id="PD" expertise="test">
XSLT Conformance stylesheet issues and Xalan-C testing.
</person>
<person name="Joseph Kesselman" email="Joseph_Kesselman@lotus.com" id="JK" expertise="code">
Xalan-J 2.x developer, compiling/compiled stylesheets experiments.
</person>
<person name="Donald Leslie" email="donald_leslie@lotus.com" id="DL" expertise="doc">
Xalan-J and -C documentation, servlets and samples.
</person>
<person name="Costin Manolache" email="cmanolache@yahoo.com" id="CM">
Xalan-J 2.x developer.
</person>
<person name="David Marston" email="David_Marston@lotus.com" id="DM" expertise="test">
Lead tester for XSLT Conformance stylesheet issues.
</person>
<person name="Myriam Midy" email="myriam_midy@lotus.com" id="MM" expertise="code">
Xalan-J 1.x and 2.x developer.
</person>
<person name="Gary L Peskin" email="garyp@firstech.com" id="GP" expertise="code">
Xalan-J 1.x and 2.x developer, especially extension mechanisim.
</person>
</devs>
<actions>
<target-release-description>
<date>01/19/01</date>
<level>production</level>
<goal type="conformance">XSLT 1.0 and XPath 1.0 compliant, 99% conformance test passage.</goal>
<goal type="performance">Reasonable, competative performance. [need metrics]</goal>
<goal type="stability">Robust.</goal>
<goal type="api">API Complete.</goal>
<goal type="documentation">Documentation complete.</goal>
</target-release-description>
<!-- Move to completed section when done. -->
<action context="code" category="release">
No known actions pending for 2.0.0 release.
</action>
</actions>
<actions priority="long-term" >
<!-- Move to completed section when done. -->
<target-release-description>
<date>4/15/01</date>
<level>beta</level>
<goal type="conformance">XSLT 1.1 and XPath 1.0+addendum compliant, 100% conformance test passage.</goal>
<goal type="performance">Very good performance. [need metrics]</goal>
<goal type="stability">Stable, reasonable.</goal>
<goal type="api">API Complete.</goal>
<goal type="documentation">Documentation functionally complete.</goal>
</target-release-description>
<action context="code" category="conformance" who="GP">
Verify that the recomposing procedure for each of the recomposable
elements matches the standard (including errata).
</action>
<action context="code" category="conformance" who="GP">
Fix xsl:output method= so that it only accepts valid values per the
standard (xml, html, text, qname-that-is-not-an-ncname). I'm looking
into where this change should be made.
</action>
<action context="code" category="conformance" who="GP">
Verify that the element-available function exhibits the proper
behavior according to Errata E7 regarding the interaction between the
default namespace and the element-available function.
</action>
<action context="code" category="extensions" who="GP">
Add compatibility with XalanJ1 NodeSet extension, so that stylehsheets
can work with both processors.
</action>
<action context="code" category="bug" who="SB">
Handle qName paramterer to the ContentHandler methods being an empty string.
See note from mikael@ingen.reklam.staldal.nu (Mikael Ståldal), 01/01/2001 09:42 AM.
</action>
<action context="code" category="performance" who="SB">
Optimize "." patterns to be ultra simple iterator.
</action>
<action context="code" category="performance" who="SB">
Optimize "/foo/baz" patterns that have no variability, to a global space,
and don't re-evaluate each time.
</action>
<action context="code" category="feature">
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.
</action>
<action context="code" category="performance">
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 id="issue-compiler-for-january-release">I suspect it is unlikely this
will be ready in time for this release.</issue>
</action>
<action context="test" category="feature" priority="high">
@todo need to find an HTML to DOM parser we can use!!
Get a good, apache-licensed HTML-to-DOM parser checked into the
xml-xalan\test\java repository, for use by org.apache.qetest.xsl.XHTComparator
</action>
<action context="test" category="tests" priority="medium">
Get more real-world stylesheets checked into xml-xalan\test\tests\contrib.
We need more real-life examples of how people are using stylesheets, along
with expected outputs (in contrib-gold) - we can then run our test driver
over the whole set of them easily to get more test points.
Note: please feel free to contribute tests here - the committers
will review and move tests into conformance, product, etc. test
areas as needed, but we can always just run ContribTest on any tests.
</action>
<action context="test" category="tests" priority="high">
Get extension tests checked into xml-xalan\test\tests\extend
We have some at Lotus we need to cleanup and checkin, and we
hope to get more examples from Gary and other list members.
</action>
<action context="code" category="performance" who="SB">
Delete nodes in the source tree when possible. (?? Note sure if this
is do-able by beta2.)
<psuedo-code>
1) For each expression, tell if expression can traverse outside it's
subtree.
2) For each element, tell if any following elements may need to
access that node.
3) In instructions that traverse nodes, once the processing of the
node is completed, remove the node if no following elements may
need to access that node.
4) Keep the parse events from getting too far ahead of the transform.
TODO: In StepPattern, Ancestors tests with predicates are problematic,
and will require special treatment.
</psuedo-code>
</action>
<action context="code" category="feature">
XPointer built on the XPath package.
</action>
<action context="code" packages="xpath.axes" category="performance">
Schema-savy itterators.
This is hard because there is no standard API for schemas yet.
</action>
<action context="code" id="stylesheet-analysis" packages="processor" category="performance">
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?
</action>
<action context="code" packages="stree" category="performance">
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.
</action>
<action context="code" packages="processor" category="performance">
Sub-expression elimination. When I call a series of
xsl:when tests, are there common subexpressions that can be
executed once and then shared?
</action>
<action context="code">
</action>
</actions>
<completed>
<!-- Move action sections to here when completed, and date them. -->
<action context="doc" category="documentation" who="SB" completed="01/12/01">
Update and add to architecture documentation, including package headers.
</action>
<action context="code" category="error-handling" who="SB" completed="01/06/01">
Simplify some of the exception nesting, maybe, and make sure error listeners
are being called for all cases.
<note>Fixed bug with XPaths in this area. Most of the nesting is being caused
by TranformerHandler to SAXException nesting, which can be unnested.</note>
</action>
<action context="code" category="bug" who="SB" completed="01/06/01">
Fix 1.8 problems: extend01 (exception), numberformat 06, numberformat16, output77 (exception).
JDK 1.1.8, using xml-xalan\test\ConformanceTest.bat, runharness.bat, and testthreads.bat as-is.
<note>The number format stuff is a bug in JDK 1.8 and can't easily be fixed
or hacked.</note>
</action>
<!-- action context="code" category="feature" who="SB" completed="01/04/01">
Integrate John Gentilin &lt;johnglinux@eyecatching.com> code,
for SQL Extension Enhancements.
</action (CHANGES BACKED OUT OF) -->
<action context="code" category="bug" who="SB" completed="01/04/01">
Implement xsl:strip-space for generic DOM processing.
</action>
<action context="code" category="performance" who="SB" completed="01/03/01">
For default transformer, do direct transform without stylesheet.
</action>
<action context="code" category="documentation" who="SB" completed="01/01/01">
Fix some javadoc headers that still have old XalanJ1 text. For instance,
TransformerImpl.
</action>
<action context="code" category="bugs" who="SB" completed="12/31/00">
Fix bug with Shane's s2s test hang.
</action>
<action context="code" category="bugs" who="SB, JK" completed="12/31/00">
Fix bug with rare intermittent failures, probably in the STree.
<note>Verification testing on JK's machine needed.</note>
</action>
<action context="code" category="performance" who="SB" completed="12/26/00">
Optimize "/foo/baz" patterns to use simple child walkers.
</action>
<action context="test" who="SC" category="minitest" priority="medium" completed="12/08/00">
Create Minitest automated test for developers to run before checkin;
verifies basic functionality of TRAX interface and Xalan processor.
(Still todo, minor: get xalan-dev list to vote to use this)
</action>
<action context="code" category="architecture" priority="high" who="SB" completed="12/10/00">
Fix remaining axes tests.
</action>
<action context="code" category="performance" priority="high" who="MM" completed="12/8/00">
When using STree for the input, use STree for the document() and
result tree fragments.
</action>
<action context="code" category="architecture, conformance" priority="high" who="SB" completed="12/06/00">
Restructure OutputFormat class to be based on properties. Make sure
include/import conformance is correct.
</action>
<action context="code" category="architecture" priority="high" who="SB" completed="12/06/00">
Make entities in the html serializer to be resource file driven.
</action>
<action context="code" category="architecture" priority="high" who="SB" completed="12/06/00">
Removed linefeed normalization from serializers. I think.
</action>
<action context="code" completed-date="10/31/00">
Make this todo list.
</action>
<action context="code" who="SB" category="trax" completed-date="11/06/00">
implement javax.trax interfaces.
</action>
<action context="code" packages="serialize" who="SB" category="feature"
completed-date="11/17/00">
Implement DOMSerializer on SerializerToXML.
</action>
<action context="code" who="SB" packages="xpath.axes" category="performance"
priority="high" completed-date="11/17/00">
implement fast iterator for "foo" pattern.
</action>
<action context="code" who="MM" category="performance" priority="high" completed-date="11/29/00">
optimize xsl:key and key() stuff by building hash table of iterators for
each key.
</action>
<action context="code" category="code-cleanup" priority="medium" completed="12/01/00">
Clean up treatment of null namespaces, re "" vs. null.
<completed-comment>I consider this to be pretty good in most places. ""
equals the default namespace. No pending plans for action, other than ongoing
cleanup and javadoc as it occurs.</completed-comment>
</action>
<action context="code" category="conformance" priority="high" completed="12/10/00">
Implement namespace aliasing.
</action>
<action context="code" packages="templates" category="conformance" priority="medium"
note="done?" completed="11/29/00">
Catch multiple definitions of a variable with the same name and scope.
</action>
<action context="code" category="code-cleanup" priority="medium" completed="11/25/00">
Move org.apache.xalan.utils package to org.apache.xml.utils.
remove resource dependencies on xalan and/or xpath package.
</action>
<action context="code" category="code-cleanup, performance" packages="templates"
priority="medium" who="GP" completed="11/30/00">
Refactored the recompose logic to operate more cleanly and quickly. Fixed TemplateList
to properly order templates.
</action>
<action context="code" category="code-cleanup" packages="extensions"
priority="medium" who="GP" completed="10/29/00">
Improved error reporting for java extension method errors.
</action>
<action context="code" category="documentation" priority="medium" who="GP" completed="11/23/00">
Updated documentation for Extension Handling to conform to the new extension mechanism.
</action>
<action context="code" category="feature" priority="medium" who="GP" completed="12/03/00">
Changed extension mechanism to load extensions using the thread's ContextClassLoader,
if available.
</action>
<action context="code" category="feature" packages="extensions"
priority="medium" who="GP" completed="11/28/00">
Implement tokenize extension. Implement element-available and function-available for
built-in elements and functions.
</action>
<action context="code" category="code-cleanup" packages="extensions"
priority="medium" who="GP" completed="11/07/00">
Fix handling of xsl:fallback elements within extension elements that process their own
code (like redirect).
</action>
<action context="code" category="code-cleanup" packages="compiler"
priority="medium" who="GP" completed="11/09/00">
Cleaned up compiler handling of getWhatToShow() to result in cleaner code and provide
a more accurate filter.
</action>
<action context="code" who="SB" packages="xpath.axes" category="performance" priority="high" completed="12/13/00">
implement fast iterator for "@foo" pattern.
</action>
<action context="code" who="SB" packages="xpath.axes" category="performance" priority="high" completed="12/14/00">
implement fast iterator for "//foo" pattern.
</action>
<action context="code" category="code-cleanup" who="DL" packages="xalanservlet" priority="medium" completed="12/15/00">
Rewrite the sample servlet to use the TrAX interfaces and eliminate setting system properties
within the servlet.
</action>
<action context="code" who="SB" packages="org.apache.xalan.serialize" category="samples" priority="high" completed="12/16/00">
Fix the serializer so it can serialize arbitrary XPath expression results (other than Document nodes).
As it currently stands, the ApplyXPath sample only works when you give it an expression that returns
the entire Document.
</action>
<action context="code" category="documentation" priority="high" completed="12/17/00">
Fill in all NEEDSDOC sections.
</action>
<action context="code" category="code-cleanup" who="DL" packages="xalan.client" priority="medium" completed="12/17/00">
Rewrite the client applet to use the TrAX interfaces, and move fetching of source
documents and stylesheets to the trusted worker thread to get around IE security restrictions.
</action>
<action context="code" category="conformance" priority="high" completed="12/19/00">
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:".
</action>
<action context="test" category="feature" priority="high" completed="12/19/00">
Update the xml-xalan\test\viewResults.xsl stylesheet to show
differences between two result files from the same test (eg.
show differences from a results-before.xml run before a developer
makes a change, with results-after.xml, which was after the
developer's change.)
This could be a bunch of stuff added to viewResults.xsl or could
be a separate stylesheet. See <b>SC</b> for details.
</action>
</completed>
</todo>