<?xml version="1.0"?>

<todo title="Things To Do" project="Xalan-Java" 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, applets, 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>
  <person name="John Gentilin" email="johng@apache.org" id="JG" expertise="code">
    Major work on the SQL extensions library.
   </person>
   <person name="Costin Manolache" email="costin@apache.org" id="CM" expertise="code">
     JAXP expert.
   </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&#229;dal), 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>
