Commiting Sarah McNamara's (mcnamara@ca.ibm.com) patch for buzilla #14111.
Doc and resource updates for upcoming XalanJ 2.4.1 release.


git-svn-id: https://svn.apache.org/repos/asf/xalan/java/trunk@336944 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/build.xml b/build.xml
index 1511a33..e2f6f43 100644
--- a/build.xml
+++ b/build.xml
@@ -85,7 +85,7 @@
   <property name="version.VERSION" value="2"/>
   <property name="version.RELEASE" value="4"/>
   <property name="version.DEVELOPER" value=""/><!-- Set this to 'D' if a developer release; blank "" if maintenance release -->
-  <property name="version.MINOR" value="0"/><!-- EITHER the developer release number, or a maintenance release number -->
+  <property name="version.MINOR" value="1"/><!-- EITHER the developer release number, or a maintenance release number -->
   <property name="version" value="${version.VERSION}_${version.RELEASE}_${version.DEVELOPER}${version.MINOR}"/><!-- GUMP: version # of dist file -->
   <property name="impl.version" value="${version.VERSION}.${version.RELEASE}.${version.DEVELOPER}${version.MINOR}"/><!-- Used in jar task for filtering MANIFEST.MF file -->
   <property name="name" value="xalan"/><!-- GUMP: base name of jar target's file -->
diff --git a/src/org/apache/xalan/processor/XSLProcessorVersion.java b/src/org/apache/xalan/processor/XSLProcessorVersion.java
index 6edadf1..de17278 100644
--- a/src/org/apache/xalan/processor/XSLProcessorVersion.java
+++ b/src/org/apache/xalan/processor/XSLProcessorVersion.java
@@ -118,7 +118,7 @@
    *          When missing, it designates the final and complete
    *          development drop for a release.
    */
-  public static int MAINTENANCE = 0;
+  public static int MAINTENANCE = 1;
 
   /**
    * Development Drop Number.
diff --git a/src/org/apache/xalan/res/XSLTInfo.properties b/src/org/apache/xalan/res/XSLTInfo.properties
index 50ed2f3..2d9e39d 100644
--- a/src/org/apache/xalan/res/XSLTInfo.properties
+++ b/src/org/apache/xalan/res/XSLTInfo.properties
@@ -2,7 +2,7 @@
 #  XSLT Resource File
 #
 
-version=2.4.0
+version=2.4.1
 vendor=Apache Software Foundation
 vendor-url=http://xml.apache.org/xalan-j
 
diff --git a/src/org/apache/xalan/xslt/EnvironmentCheck.java b/src/org/apache/xalan/xslt/EnvironmentCheck.java
index 2116858..f0c7e96 100644
--- a/src/org/apache/xalan/xslt/EnvironmentCheck.java
+++ b/src/org/apache/xalan/xslt/EnvironmentCheck.java
@@ -1266,27 +1266,31 @@
     jarVersions.put(new Long(905872), "xalan.jar from xalan-j_2_3_D1");
     jarVersions.put(new Long(906122), "xalan.jar from xalan-j_2_3_0");
     jarVersions.put(new Long(906248), "xalan.jar from xalan-j_2_3_1");
+    jarVersions.put(new Long(983377), "xalan.jar from xalan-j_2_4_D1");    
     jarVersions.put(new Long(997276), "xalan.jar from xalan-j_2_4_0");
-
-
-    // Impossible to get exact number, so don't use this: jarVersions.put(new Long(), "xalan.jar from xalan-j_2_4_D1");
-
+    
     jarVersions.put(new Long(857171), "xalan.jar from lotusxsl-j_1_0_1");
     jarVersions.put(new Long(802165), "xalan.jar from lotusxsl-j_2_0_0");
     jarVersions.put(new Long(857692), "xalan.jar from lotusxsl-j_2_2");
+    jarVersions.put(new Long(906359), "xalan.jar from lotusxsl-j_2_3_1");
+    jarVersions.put(new Long(857692), "xalan.jar from lotusxsl-j_2_3_2");
+    jarVersions.put(new Long(1201514), "xalan.jar from lotusxsl-j_2_3_3");
+    jarVersions.put(new Long(1201599), "xalan.jar from lotusxsl-j_2_3_4");
+    jarVersions.put(new Long(1201641), "xalan.jar from lotusxsl-j_2_3_5");    
 
     jarVersions.put(new Long(596540), "xsltc.jar from xalan-j_2_2_0");
     jarVersions.put(new Long(590247), "xsltc.jar from xalan-j_2_3_D1");
     jarVersions.put(new Long(589914), "xsltc.jar from xalan-j_2_3_0");
     jarVersions.put(new Long(589915), "xsltc.jar from xalan-j_2_3_1");
+    jarVersions.put(new Long(1306667), "xsltc.jar from xalan-j_2_4_D1");     
     jarVersions.put(new Long(1328227), "xsltc.jar from xalan-j_2_4_0");
     jarVersions.put(new Long(1268634), "xsltc.jar-bundled from xalan-j_2_3_0");
 
     jarVersions.put(new Long(100196), "xml-apis.jar from xalan-j_2_2_0 or xalan-j_2_3_D1");
     jarVersions.put(new Long(108484), "xml-apis.jar from xalan-j_2_3_0, or xalan-j_2_3_1 from xml-commons-1.0.b2");
     jarVersions.put(new Long(109049), "xml-apis.jar from xalan-j_2_4_0 from xml-commons RIVERCOURT1 branch");
-    
-
+    jarVersions.put(new Long(109049), "xml-apis.jar from xalan-j_2_4_0, lotusxsl-j_2_3_2 or lotusxsl-j_2_3_3 from xml-commons RIVERCOURT1");
+    jarVersions.put(new Long(113749), "xml-apis.jar from xalan-j_2_4_1, lotusxsl-j_2_3_4 or lotusxsl-j_2_3_5 from factoryfinder-build of xml-commons RIVERCOURT1");
     // If the below were more common I would update it to report 
     //  errors better; but this is so old hardly anyone has it
     jarVersions.put(new Long(424490), "xalan.jar from Xerces Tools releases - ERROR:DO NOT USE!");
@@ -1309,14 +1313,24 @@
     jarVersions.put(new Long(1812019), "xerces.jar from xalan-j_2_2_0");
     jarVersions.put(new Long(1720292), "xercesImpl.jar from xalan-j_2_3_D1");
     jarVersions.put(new Long(1730053), "xercesImpl.jar from xalan-j_2_3_0 or xalan-j_2_3_1 from xerces-2_0_0");
+    jarVersions.put(new Long(1728861), "xercesImpl.jar from xalan-j_2_4_D1 from xerces-2_0_1");    
     jarVersions.put(new Long(972027), "xercesImpl.jar from xalan-j_2_4_0 from xerces-2_1");
+    jarVersions.put(new Long(831587), "xercesImpl.jar from xalan-j_2_4_1 from xerces-2_2");    
+    jarVersions.put(new Long(1729063), "xercesImpl.jar from lotusxsl-j_2_3_1 from XML4J-4_0_0");
+    jarVersions.put(new Long(1738551), "xercesImpl.jar from lotusxsl-j_2_3_2 from XML4J-4_0_2");
+    jarVersions.put(new Long(3243826), "xercesImpl.jar from lotusxsl-j_2_3_3 from XML4J-4_0_5");
+    jarVersions.put(new Long(1171789), "xercesImpl.jar from lotusxsl-j_2_3_4 from XML4J-4_0_6");
+    jarVersions.put(new Long(1174955), "xercesImpl.jar from lotusxsl-j_2_3_5 from XML4J-4_0_8");
+    jarVersions.put(new Long(1173922), "xercesImpl.jar from lotusxsl-j_2_3_6 from XML4J-4_0_9");
+    jarVersions.put(new Long(831828), "xercesImpl.jar from lotusxsl-j_2_4_0 from XML4J-4_1_1");
 
     jarVersions.put(new Long(37485), "xalanj1compat.jar from xalan-j_2_0_0");
     jarVersions.put(new Long(38100), "xalanj1compat.jar from xalan-j_2_0_1");
 
     jarVersions.put(new Long(18779), "xalanservlet.jar from xalan-j_2_0_0");
     jarVersions.put(new Long(21453), "xalanservlet.jar from xalan-j_2_0_1");
-    jarVersions.put(new Long(24826), "xalanservlet.jar from xalan-j_2_3_1 or xalan-j_2_4_0");
+    jarVersions.put(new Long(24826), "xalanservlet.jar from xalan-j_2_3_1 or xalan-j_2_4_1 or lotusxsl-j_2_3_1 to lotusxsl-j-2_3_5");    
+    jarVersions.put(new Long(24831), "xalanservlet.jar from xalan-j_2_4_1");
 
     // For those who've downloaded JAXP from sun
     jarVersions.put(new Long(5618), "jaxp.jar from jaxp1.0.1");
diff --git a/xdocs/sources/xalan/builds.xml b/xdocs/sources/xalan/builds.xml
index 49cb881..be61be0 100644
--- a/xdocs/sources/xalan/builds.xml
+++ b/xdocs/sources/xalan/builds.xml
@@ -151,7 +151,7 @@
 make critical bugfixes for existing customers who want to stay on the stable release.<br/><br/></li>
 <li>Developer releases are very ad hoc; they represent a chunk of progress along the 
 HEAD of our CVS tree towards a new major or minor release. The developer release 
-versions would be going from 2.3 to a new 2.4.D1 - the developer release can is somewhat 
+versions would be going from 2.3 to a new 2.4.D1 - the developer release is somewhat 
 like a 'beta' towards a new 2.4 minor version release.  Quality standards for developer 
 releases are much less stringent than other releases.<br/><br/></li>
 </ul>
diff --git a/xdocs/sources/xalan/faq.xml b/xdocs/sources/xalan/faq.xml
index 27fed09..3d63147 100644
--- a/xdocs/sources/xalan/faq.xml
+++ b/xdocs/sources/xalan/faq.xml
@@ -81,7 +81,7 @@
     <faq title='Which version of Xerces should I be using?'>
       <q>Which version of Xerces should I be using?</q>
       <a>
-        <p>Xalan-Java version 2.4.0 has been tested with Xerces-Java 2.1.0. See
+        <p><resource-ref idref='xslt4j-current' /> has been tested with <resource-ref idref='xml4j-used' />. See
           <link anchor='status' idref='readme'>Status</link>.
         </p>
       </a>
diff --git a/xdocs/sources/xalan/history.xml b/xdocs/sources/xalan/history.xml
index 46ed931..0f4edbe 100644
--- a/xdocs/sources/xalan/history.xml
+++ b/xdocs/sources/xalan/history.xml
@@ -3,6 +3,365 @@
 <s1 title="History of software changes">
 <p>The following sections list the core software changes in each release since &xslt4j; version 2.0.D01.</p>
 &history2xsltc;
+<s2 title="Changes for &xslt4j; 2.4.1">
+<p> Core (Non-XSLTC) source code updates:</p><ul>
+<li><ref>Committed by </ref>johng@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql DefaultConnectionPool.java<br/><ref>Committer's log entry: </ref>
+Fixed Class loader Problem. Default Connection now uses context Classloader
+<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>
+Fixed problem where a query that returned zero rows would incorrectly return a JDBC
+Exception. Note: This only occurs in streaming mode.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>
+Add a convenient interface getStringValue() which returns the
+string value of a node. It is used by the extension code
+to get a node value without hacking into the DTM.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates Constants.java<br/><ref>Committer's log entry: </ref>
+Add strings for new extension namespaces. This includes new EXSLT
+namespaces (dynamic and strings), namespaces for redirect, PipeDocument
+and SQL extensions and new namespace for the Java extension. For
+backward compatibility, the old Java namespace is still kept.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionNamespacesManager.java<br/><ref>Committer's log entry: </ref>
+Register new extension namespaces, including two new EXSLT namespaces
+(dynamic and strings), namespaces for redirect, PipeDocument and SQL
+extensions and the new/old namespaces for Java extension.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>
+Reorganize the extension functions for new EXSLT extensions and
+XSLTC integration. The implementation of some extension functions
+(intersection, difference, distinct, evaluate and tokenize) are
+moved to the corresponding EXSLT extension classes. We also put
+a note to say that using these extension functions in the
+Xalan namespace is deprecated. The signature of some extension
+functions are changed to facilitate the XSLTC integration.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltMath.java<br/><ref>Committer's log entry: </ref>
+The EXSLT math extension was rewritten for XSLTC integration. The
+signatures of the existing functions (max, min, highest and lowest)
+are changed. We use NodeList instead of NodeSet and NodeIterator
+in arguments and return types, because it is the only node list type
+recognized by XSLTC. We also got rid of the ExpressionContext
+arguments in these functions. We implemented the toNumber() and toString()
+interfaces as a replacement.
+
+I also implemented all of the remaining math functions in the EXSLT spec,
+e.g. constant, sin, random.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltSets.java<br/><ref>Committer's log entry: </ref>
+The signatures of the sets extension functions are changed for
+XSLTC integration. NodeList is used instead of NodeSet and NodeIterator
+in arguments and return types. The implementation of intersection,
+difference and distinct was moved from Extensions.java to this file.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Redirect.java<br/><ref>Committer's log entry: </ref>
+Add comments for the new namespace (http://xml.apache.org/xalan/redirect).
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib PipeDocument.java<br/><ref>Committer's log entry: </ref>
+Add comments for the new namespace (http://xml.apache.org/xalan/PipeDocument).
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref>
+Add comments for the new namespace (http://xml.apache.org/xalan/sql).
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDynamic.java<br/><ref>Committer's log entry: </ref>
+Add the ExsltDynamic class which implements the EXSLT dynamic
+extension functions (max, min, sum, map, evaluate and closure).
+
+The implementation of evaluate is taken from Extensions.java.
+The Javadoc is copied from the relevant EXSLT page.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltStrings.java<br/><ref>Committer's log entry: </ref>
+Implement the EXSLT strings extension functions (align,
+concat, padding, split and tokenize). The implementation
+of tokenize is taken from Extensions.java.
+
+The Javadoc is copied from the relevant EXSLT page. Three
+functions (decode-uri, encode-uri and replace) are missing
+due to ambiguous spec.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes SelfIteratorNoPredicate.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 11809 and 10643. Fix the nextNode() interface so that
+it returns DTM.NULL if the m_foundLast flag is true.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemExtensionCall.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 11073. Fix an extension namespace problem.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 11743 and 12298. Fix argument handling in
+extension functions. Arguments now have non-null parents
+and they will be visited by the XPathVisitor.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/09<br/><ref>Modified: </ref> xml-xalan/java KEYS<br/><ref>Committer's log entry: </ref>
+I had to get a new key after a hard drive crash.  This time, I backed it up!
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref>
+Copy the LICENSE and README files to the bin directory for the source distribution.
+These files are needed by the xsltc.jar target.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>
+Throw an IllegalArgumentException in the setErrorListener() interface
+if the error listener is null.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions MethodResolver.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 9731. Convert an empty NodeList to a null Node.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates OutputProperties.java xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 12379. Transformer.setOutputProperties() should throw
+IllegalArgumentException if the property is invalid.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTAttributeDef.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 12127. Throw a TransformerException if a prefix cannot
+be resolved to a URI insteading of throwing a NullPointerException.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTAttributeDef.java<br/><ref>Committer's log entry: </ref>
+Correct a problem in the previous patch.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java<br/><ref>Committer's log entry: </ref>
+Javadoc correction.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>
+Make the tokenize extension function different from the one in the
+EXSLT strings extension. Reuse the Document object to reduce
+memory consumption.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltStrings.java<br/><ref>Committer's log entry: </ref>
+Make the tokenize function conformed with the EXSLT spec. Reuse
+the Document object to reduce memory usage.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes RTFIterator.java xml-xalan/java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 11341. Let RTFIterator extend NodeSetDTM so that it is the kind
+of DTMIterator expected by DTMNodeList. This also fixes the problem in
+testcase JavaBugzilla3722.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorExsltFunction.java XSLTSchema.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 12077. Fixed problem with func:function in included stylesheet.
+Add exsltFunction to the templateElements list so that we can detect the error where
+func:function is embedded in another (e.g. xsl:variable) element.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/bin xml-apis.jar xml-xalan/java/src xml-commons-src.tar.gz<br/><ref>Committer's log entry: </ref>
+New version of xml-apis.jar taken from xml-commons with tag:
+factoryfinder-build.  It contains the JAXP FactoryFinder patch and some
+SAX file updates.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>
+XSLTC support - phase 1
+
+Add the -XSLTC option to enable transforming using XSLTC
+
+The following existing options do not work in XSLTC mode:
+-TT
+-TG
+-TS
+-TTC
+-QC
+-L
+-INCREMENTAL
+-NOOPTIMIZE
+-RL
+
+If any of these options is used with -XSLTC, a message is printed
+and the option is ignored. All other existing options (e.g. -flavor,
+-text, etc.) can be used with -XSLTC.
+
+In phase 2, we are going to migrate the XSLTC specific options in the
+XSLTC command lines (Compile and Transform) to the Process command line.
+One of the new features would be generating translet class files from
+the xsl.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDynamic.java ExsltMath.java ExsltStrings.java<br/><ref>Committer's log entry: </ref>
+Extension work. A few Javadoc correction. Fix problems in math:max and math:min.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/objects XRTreeFragSelectWrapper.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 6181. Change the execute() interface to return the result
+of executing the select expression.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/20<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref>
+Updating to latest xercesImpl.jar, which contains org.w3c.dom.xpath interfaces.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java XPathResultImpl.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
+Prototype implementation of DOM L3 XPath Specification.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>
+Committing Gordon Chiu's (grchiu@ca.ibm.com) patch for bugzilla #6927.
+<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml xsltc_usage.xml<br/><ref>Committer's log entry: </ref>
+compile -n option changed so inlining is now the default
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltBase.java ExsltDynamic.java ExsltMath.java ExsltSets.java ExsltStrings.java<br/><ref>Committer's log entry: </ref>
+Extension cleanup.
+Add an ExsltBase class as the super class for other EXSLT implementation
+classes, so that the toString() and toNumber() interfaces can be easily
+reused by all the subclasses without duplicating code.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath DOMHelper.java<br/><ref>Committer's log entry: </ref>
+The isNodeTheSame(node1, node2) interface should return true if node1==node2.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemAttribute.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
+Patch for bugzilla #10384.  There's still a problem with attribseterr08 which
+is covered in bugzilla #3969.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/dom3/xpath XPathEvaluator.java XPathException.java XPathExpression.java XPathNamespace.java XPathNSResolver.java XPathResult.java<br/><ref>Committer's log entry: </ref>
+Since Xerces has decided not to build the org.w3c.dom.xpath interfaces into
+XercesImpl I have created a temporary home for these interfaces, until
+the specification becomes a recommendation.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java XPathResultImpl.java<br/><ref>Committer's log entry: </ref>
+Updating import statements to use the interfaces in the temporary org.apache.xalan.dom3.xpath package.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
+Added some new error message strings.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>
+Patch for bugzilla #4344.  The testcases, copyerr04-07 were already
+working correctly in that when an attempt was made to add an attribute
+after child elements, or before an element was produced, the attribute was 
+ignored.  However, Dave M.  said that a warning was also needed.  So,
+I have added a warning message for these cases.  Also, similar behaviour
+was being seen for testcases attribset19,35,36 and attribseterr08.  This
+was being handled in ElemAttribute.execute, but I've commented out the
+code there since it will get caught in  ResultTreeHandler.execute in the
+same place the copyerr tests get handled.
+
+The negative testcases, copyerr04-07, attribset08 should  be moved
+to the positive bucket (possibly with a few tweaks) since they all run to
+completion.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemAttribute.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
+Patch for bugzilla #4344.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>
+Gordon Chiu's (grchui@ca.ibm.com) patch for bugzilla #8473.  Thanks also
+to Brian Minchau (minchau@ca.ibm.com) for the analysis of this bug.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/functions FunctionMultiArgs.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 7161. Add a public accessor to return the argument array.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java xml-xalan/java/src/org/apache/xalan/extensions ExpressionContext.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 10414. Provide a getErrorListener() interface in the ExpressionContext.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/samples/AppletXMLtoHTML client.html<br/><ref>Committer's log entry: </ref>
+For bugzilla 13059. Fix typo width"0" to width="0".
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
+Messages for new options in the Process command line.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>
+XSLTC support in the Process command line - phase 2
+Migrate the options from the XSLTC command line (Compile and Transform)
+to the Process command line. The following new options are added:
+
+-XO [translet_name]  (specify translate class name)
+-XD destination_directory (specify destination directory)
+-XJ jar_name (put translet into jar file)
+-XP package_prefix (specify package name prefix)
+-XN (enable template inlining)
+-XX (additional debug messages)
+-XT (use translet to transform if possible)
+
+The new options can only be used with the -XSLTC option. The options are
+passed to XSLTC via the standard TRAX API - TransformerFactory.setAttribute().
+Process does not directly communicate with XSLTC.
+
+The usage instructions are also re-organized. The options are divided into
+three categories (command options, Options for Xalan and Options for XSLTC). A
+pager is used when displaying the usage instructions so that you can see them
+page by page.
+<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
+Added and fixed up some additional translation guidelines.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref>
+Use Vector.elementAt() instead of Vector.get(). The latter is not available
+in JDK 1.1.8. Add two argument accessor methods for Bugzilla 8939.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates Constants.java ElemTemplateElement.java output_html.properties output_text.properties output_xml.properties OutputProperties.java<br/><ref>Committer's log entry: </ref>
+Use one namespace for all extensions (Bugzilla 9959)
+Use the new namespace uri "http://xml.apache.org/xalan" instead of
+"http://xml.apache.org/xslt" for xsl:output extension attributes.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorLRE.java XSLTElementDef.java XSLTSchema.java<br/><ref>Committer's log entry: </ref>
+Use one namespace for all extensions (Bugzilla 9959)
+Use the new namespace uri "http://xml.apache.org/xalan" for
+the component and script extension elements. We maintain
+backward compatibility so that using the old uri
+"http://xml.apache.org/xslt" still works.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandlerJavaPackage.java<br/><ref>Committer's log entry: </ref>
+Minor Javadoc update to use the new namespace uri.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/samples/extensions 1-redir.xsl 2-basicJscript.xsl 3-java-namespace.xsl 4-numlistJava.xsl 5-numlistJscript.xsl 6-sqllib-instantdb.xsl<br/><ref>Committer's log entry: </ref>
+Update the extension samples to use the new namespace.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltMath.java<br/><ref>Committer's log entry: </ref>
+Minor fix for math:max().
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor StylesheetHandler.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 13106. Visit the XPath expressions created for match patterns.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes DescendantIterator.java UnionPathIterator.java WalkerFactory.java xml-xalan/java/src/org/apache/xpath/compiler Compiler.java Lexer.java OpMap.java XPathParser.java<br/><ref>Committer's log entry: </ref>
+Patch for bugzilla #5046.
+
+The token queue and operations map can now grow to accomodate really
+large XPath expressions.   Starting sizes of the data structures remain set
+at the size in the current code.
+
+I created new classes org.apache.xml.utils.ObjectVector (based on org.apache.xml.utils.IntVector)
+and org.apache.xpath.compiler.OpMapVector to store the token queue
+and operations map.
+
+This patch is essentially a stop gap until the new parser (xslt20 branch) is integrated.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils ObjectVector.java xml-xalan/java/src/org/apache/xpath/compiler OpMapVector.java<br/><ref>Committer's log entry: </ref>
+Patch for bugzilla #5046.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/compiler OpMap.java<br/><ref>Committer's log entry: </ref>
+Cleaning up import statements.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils IntStack.java IntVector.java ObjectStack.java ObjectVector.java xml-xalan/java/src/org/apache/xalan/templates ElemApplyTemplates.java ElemForEach.java xml-xalan/java/src/org/apache/xalan/transformer StackGuard.java TransformerImpl.java TransformSnapshotImpl.java xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>
+Commiting Gordon Chiu's (grchiu@ca.ibm.com) patch for bugzilla#8175.
+
+IntStack's and ObjectStack's are now used in place of fixed length arrays, so that users
+should not run into limitations based on array sizes.  The initial size of the arrays has
+been set to current array sizes, so the user's experience should not change much, except
+in the cases where they were running into the size limitation.
+
+No performance analysis has been done to determine an optimal initial
+size for the stacks.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>
+Committing Igor Hersht's (igorh@ca.ibm.com) patch for bugzilla #10176.
+
+Also, removing testcase position102 from the excludes list for the smoketest
+since it now runs.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
+Patch for bugzilla #13305.  Moved initalization code into a static initializer.
+
+TransformerFactory.newInstance() can now be called safely from multiple
+threads.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/19<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref>
+Updating to XercesJ 2.2.0.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref ExpandedNameTable.java<br/><ref>Committer's log entry: </ref>
+Committing Pavel Ausianik's (Pavel_Ausianik@epam.com) patch for bugzilla #12687.
+
+Reduce memory allocation on initialization of ExpandedNameTable.
+
+m_locNamesPool and m_namespaceNames and code that uses them has
+been commented out.  Some initialization now done in static initializer.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>
+Committing Gordon Chiu's (grchiu@ca.ibm.com) modified patch of Pavel Ausianik's (Pavel_Ausianik@epam.com) 
+patch for bugzilla #12486.
+
+Method XPathContext.reset()  was creating many new instances of java objects, 
+causing unnecessary memory allocations, instead of reusing previously created 
+objects. 
+
+
+m_locNamesPool and m_namespaceNames and code that uses them has
+been commented out.  Some initialization now done in static initializer.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java Encodings.properties<br/><ref>Committer's log entry: </ref>
+Committing Gordon Chiu's (grchiu@ca.ibm.com) patch for bugzilla #13754.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/dom3/xpath COPYRIGHT.html<br/><ref>Committer's log entry: </ref>
+Copying the copyright statement for the DOM L3 XPath API interfaces into
+the temporary package (org.apache.xalan.dom3.xpath) which contains
+the interfaces until they become a recommendation.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorExsltFunction.java<br/><ref>Committer's log entry: </ref>
+For bugzilla 13711
+Fix the conditions for validating the child elements of func:function.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer KeyTable.java xml-xalan/java/src/org/apache/xpath/axes NodeSequence.java<br/><ref>Committer's log entry: </ref>
+Committing urban.spielmann@swisslife.ch (Urban Spielmann)'s  patch for bugzilla #11661.  
+
+After the Redundant Expression Elimination merge, the key cache had
+not yet been replaced.  This patch puts back the key cache, which
+gives xsl:key much better performance.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemExtensionCall.java<br/><ref>Committer's log entry: </ref>
+For bugzilla 7357
+Fix problems in exception handling for extension elements.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>
+Patch for bugzilla #13863.
+
+Moved setting the namespaceContext from the TransformerImpl constructor to
+the transform method.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPath.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
+Move a hardcoded string into the properties file.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandlerJavaClass.java ExtensionHandlerJavaPackage.java<br/><ref>Committer's log entry: </ref>
+For bugzilla 13944. Check for InvocationTargetException in Method.invoke().
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 13303.
+Fix Memory leak in XPathContext.popRTFContext().
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>
+Backing out patch for bugzilla #13863.  It causes a bunch of failures in 
+the trax.sax flavour.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan extensions.xml extensionslib.xml samples.xml<br/><ref>Committer's log entry: </ref>
+Update the extensions documentation.
+Use the new namespaces in documents and examples. Update EXSLT development
+status. Modify setup instructions for SQL samples.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/xdocs xml-site-style.tar.gz xml-xalan/java/xdocs/sources/xalan faq.xml resources.xml<br/><ref>Committer's log entry: </ref>
+For Bugzilla 14022
+Commit Gordon Chiu's update to the FAQ.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/dom3/xpath COPYRIGHT.html XPathEvaluator.java XPathException.java XPathExpression.java XPathNamespace.java XPathNSResolver.java XPathResult.java xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java XPathResultImpl.java<br/><ref>Committer's log entry: </ref>
+Removed the temporary org.apache.xalan.dom3.xpath package.
+
+Updated the org.w3c.dom.xpath interfaces.
+
+Changed dependencies to org.w3c.dom.xpath interfaces in the implementation
+classes in org.apache.xalan.xpath.domapi.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref>
+Build org.w3c.xpath.dom interfaces into xalan.jar.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>
+Patch from Gordon Chiu.  Replace stack.clear() calls with stack.removeAllElements()
+to be compatible with JDK1.1.8.
+<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref>
+Support compiling under JDK 1.2 - 1.4.  Also check for compatability with target JDK 1.1.x.
+<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/domapi XPathNamespaceImpl.java XPathResultImpl.java<br/><ref>Committer's log entry: </ref>
+Somewhat rough implementation of XPathNamespace.
+<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/bin ant.jar<br/><ref>Committer's log entry: </ref>
+Upgrade to Ant 1.5.1.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltBase.java ExsltStrings.java xml-xalan/java/src/org/apache/xalan/lib/sql DefaultConnectionPool.java<br/><ref>Committer's log entry: </ref>
+Fix JDK 1.1.8 compatibility problems.
+Replace methods calls that are only in Java2 by JDK 1.1 equivalents.
+For DefaultConnectionPool.java, use reflection mechanism to invoke
+Thread.getContextClassLoader() instead of hard-coded invocation.
+<br/><br/></li></ul>
+</s2>
 <s2 title="Changes for &xslt4j; 2.4.0">
 <p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize SerializerToText.java<br/><ref>Committer's log entry: </ref>
 Bugzilla 8358 -- bad method signature. I've created a new method
diff --git a/xdocs/sources/xalan/readme.xml b/xdocs/sources/xalan/readme.xml
index a59d7bd..a7fbe24 100644
--- a/xdocs/sources/xalan/readme.xml
+++ b/xdocs/sources/xalan/readme.xml
@@ -69,13 +69,93 @@
  </ul><anchor name="status0"/>
   <s2 title="Status">
    <ul>
-    <li><link anchor="done">Changes since version 2.3.1</link></li>
+    <li><link anchor="done">Changes since version 2.4.0</link></li>
     <li><link anchor="other">Other points of interest</link></li>
     <li><link anchor="bugs">Bugs</link></li>
     <li><link anchor="status">Version of &xml4j; to use</link></li>
     <li><link anchor="developer-list">&xslt4j; developers</link></li>
    </ul>
      <anchor name="done"/>
+     <s3 title="Changes since &xslt4j; 2.4.0">
+     <ul>
+      <li>Performance fixes and enhancements to address the degradation of performance between Xalan-Java
+      version 2.3.1 and Xalan-Java 2.4.0.</li>
+      <li>A prototype implementation of the <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-XPath-20020328/">DOM Level 3 XPath Specification</jump>. 
+          The implementation is considered 'experimental' at this time due to the status of the specification.
+          See the new sample, <link idref="samples" anchor="applyxpathdom">ApplyXPathDOM</link> for an
+          example of how to use this API.</li>
+     <li>Extension changes and enhancements:</li>
+      <ul>
+        <li>Implement canonical namespaces for all Xalan extensions. All extensions
+        now use namespaces starting with <code>http://xml.apache.org/xalan</code>. The old namespaces are
+        still supported for backward compatibility. See the updated 
+        <link idref="extensionslib" anchor="intro">extensions</link> documentation for details.</li>
+        <li>Added new EXSLT extension functions, including the EXSLT dynamic extension functions 
+        max, min, sum, map, evaluate and closure, the EXSLT strings extension functions align, 
+        concat, padding, split and tokenize, and some new extension functions in the math module.</li>
+        <li>Reorganized the extension functions for new EXSLT extensions.
+     The implementation of some extension functions (intersection, difference, distinct, 
+     evaluate and tokenize) are moved from the main Extensions class to the corresponding EXSLT modules.</li>
+        <li>Enable the EXSLT extensions for XSLTC. The EXSLT common, math, sets, dates-and-times and strings
+        modules can be used in XSLTC.</li>
+        <li>Integration of the nodeset and redirect extension for XSLTC. You can now use Xalan namespaces for
+        these extensions in XSLTC.</li>
+        <li>Enhancement in Java extenion for XSLTC. Three namespace formats (Java, package and class) can all
+        be used in XSLTC. More type conversion rules are added as well.</li>
+      </ul>
+      <li>Enable support for invoking transformations using the Xalan compiler (XSLTC) via the 
+     Xalan interpretive Process command line.  Specifically, the -XSLTC option was added.  The 
+     -TT, -TG, -TS, -TTC, -QC, -L, -INCREMENTAL, -NOOPTIMIZE and -RL option do not work in XSLTC mode.  All
+     other existing options can be used with -XSLTC.  Additional options were added to enable XSLTC compile
+     and transform modes: -XO, -XD, -XJ, -XP, -XN, -XX, -XT.  See the Process usage statement for more
+     information on these options.</li>
+     <li>Fixed SQL Extension problem where a query that returned zero rows would incorrectly
+      return a JDBC exception.</li>
+     <li>Fixed a limitation for XPath expressions. The token queue and operations map can now grow
+      to accomodate really large XPath expressions.</li>
+     <li>Fixes for the following bugzilla defects: 
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4344">4344</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5046">5046</jump>,     
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6181">6181</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6927">6927</jump>,     
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7161">7161</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7357">7357</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8175">8175</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8473">8473</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8939">8939</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9731">9731</jump>,                              
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9959">9959</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10176">10176</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10384">10384</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10414">10414</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10643">10643</jump>,     
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11073">11073</jump>,                         
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11341">11341</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11661">11661</jump>,     
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11743">11743</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11809">11809</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12077">12077</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12127">12127</jump>,                         
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12298">12298</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12687">12687</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13059">13059</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13303">13303</jump>,               
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13305">13305</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13106">13106</jump>,   
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13501">13501</jump>,            
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13711">13711</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13754">13754</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13863">13863</jump>,          
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13944">13944</jump>,
+     <jump href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14022">14022</jump></li>. 
+     <li>Support for and bundling of Xerces Java 2.2.</li>
+     <li>Support for and bundling of xml-apis.jar from the factoryfinder-build of the RIVERCOURT1 branch of xml-commons.  This version of the Java
+     APIs for XML Processing successfully passes the JAXP 1.1 and JAXP 1.2 TCKs.</li>
+     <li>For a list of &xslt4j; commits, see xalan-cvs@xml.apache.org in the
+     <jump href="http://nagoya.apache.org/eyebrowse/index.html">Apache mailing list archive index</jump>.</li>
+     <li>Support building Xalan with JDK 1.4.</li>
+     </ul>
+     </s3>
      <s3 title="Changes since &xslt4j; 2.3.1">
      <ul>
      <li>Fixes for the following bugzilla defects: 
diff --git a/xdocs/sources/xalan/resources.xml b/xdocs/sources/xalan/resources.xml
index bd2fc7f..1a88e1a 100644
--- a/xdocs/sources/xalan/resources.xml
+++ b/xdocs/sources/xalan/resources.xml
@@ -49,7 +49,7 @@
 
   <resource id="xml4j-used" 
             title="&xml4j-used;" 
-            location="http://xml.apache.org/xerces-j/index.html"/>
+            location="http://xml.apache.org/xerces2-j/index.html"/>
   <resource id="xml4j-distdir" 
             title="xerces-j distribution directory" 
             location="http://xml.apache.org/dist/xerces-j/"/>
diff --git a/xdocs/sources/xalan/xsltc_history.xml b/xdocs/sources/xalan/xsltc_history.xml
index 6813ede..a48ac08 100644
--- a/xdocs/sources/xalan/xsltc_history.xml
+++ b/xdocs/sources/xalan/xsltc_history.xml
@@ -2,6 +2,309 @@
 <!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
 <s1 title="XSLTC software changes">
 <p>The following sections list <link idref="xsltc_usage">XSLTC</link> changes back to the incorporation of XSLTC into &xslt4j;.</p>
+<s2 title="Changes for &xslt4j; 2.4.1">
+<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
+Keep track of parameters for built-in identity transform (needed for
+some TCK tests).
+<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java TrAXFilter.java<br/><ref>Committer's log entry: </ref>
+Fixed XSLTCs implementation of XMLFilter
+<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TrAXFilter.java<br/><ref>Committer's log entry: </ref>
+added some check for parents of filter chain
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>
+Fix for Bugzilla 12125.
+<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler EqualityExpr.java RelationalExpr.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
+bug 12148 fixed, xpath pred and relational expr
+<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/09/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>
+Change committed on behalf of Igor Hersht: added -DIAG option similar to that
+supported by org.apache.xalan.xslt.Process class (for bug 12261).
+
+Also (on my own behalf) changed calculation of average transform time and
+throughput rate for -n option to use floating-point division, rather than
+integer division; latter yielded meaningless results.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBuffer.java StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java StreamXMLOutput.java StringOutputBuffer.java WriterOutputBuffer.java<br/><ref>Committer's log entry: </ref>
+New buffering system for stream output.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeCounter.java<br/><ref>Committer's log entry: </ref>
+Support for Greek alphabet in xsl:number.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output WriterOutputBuffer.java<br/><ref>Committer's log entry: </ref>
+Set a larger buffer size for Solaris.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java SyntaxTreeNode.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ResultTreeType.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
+Set different initial sizes for DOMImpl arrays. The new values result
+in better performance for the average case.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java<br/><ref>Committer's log entry: </ref>
+Optimized evaluation of //RelativeLocationPath expressions.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ObjectType.java<br/><ref>Committer's log entry: </ref>
+For XSLTC extension integration. Support creating ObjectType from a Class
+object. Add an additional field to store the Class.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util BooleanType.java IntType.java NodeSetType.java NodeType.java RealType.java ResultTreeType.java StringType.java<br/><ref>Committer's log entry: </ref>
+For XSLTC extension integration. Add more translation rules required by
+extensions. Specifically, all types can be translated to a generic Java Object.
+Numeric types can be translated to their corresponding Java types (e.g. Real to
+java.lang.Double). Node, NodeSet and ResultTree can be translated to a Java String.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java<br/><ref>Committer's log entry: </ref>
+Support the append attribute in the redirect/output extension.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
+For XSLTC extension integration. Implement the object-type extension
+function in the EXSLT commons package. Change the behavior of the
+nodeList2Iterator interface so that it will do a deep copy on the argument
+NodeList, i.e. if a Node in the NodeList is an Element, it will not only
+copy the Node itself, but also copy all children and attributes. This is
+required to get any extension function that returns a NodeList to work in
+XSLTC.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler TransletOutput.java<br/><ref>Committer's log entry: </ref>
+Support the append attribute in the output extension element, so that
+it behavior is more like redirect:write.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java<br/><ref>Committer's log entry: </ref>
+Add a constant string for the redirect namespace.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastExpr.java<br/><ref>Committer's log entry: </ref>
+For extension integration. Allow numeric types to be casted to
+Object type.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>
+For extension integration. Add the objectType extension function to the
+Symbol Table. Maps the redirect:write element to the TransletOutPut class.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>
+For extension integration. The nodeset extension function can be used as
+node-set in the http://exslt.org/common namespace.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/><ref>Committer's log entry: </ref>
+Changes for Java extension and EXSLT extension support.
+For Java extension:
+- support 3 different namespace formats (Java, class and package).
+- fix a bunch of type translation problems
+- fix problems in class/method matching algorithm
+
+For EXSLT extension:
+- support the math, set, strings and datetime extension
+- support using the nodeset extension in 3 different ways (xsltc, xalan and EXSLT commons)
+- support the object-type extension in EXSLT commons as a native XSLTC function
+- Maps the redirect:write element to XSLTC's output element
+- extension function name translation (e.g. node-set to nodeSet)
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>
+Additional optimizations in expansion of '//'.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>
+Removed "-DIAG" option as it is similar to "-n 1". XSLTC's command line
+options are single letters, so -DIAG does not really fit in the synopsis.
+Morris K. is working on an extension for Xalan's Process class to allow
+the compilation and execution of translets (once that work is completed
+the -DIAG option will be available for XSLTC too).
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Compile.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java<br/><ref>Committer's log entry: </ref>
+Change default policy for template inlining.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
+Replaced attribute "disable-inlining" by attribute "enable-inlining".
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java<br/><ref>Committer's log entry: </ref>
+Lazy computation of mappings and reverse mappings.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
+(1) Synchronize access to static variable.
+(2) Pre-allocate static objects for attribute and element types.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
+Changed setting to speed up DOM building process.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
+Return a fresh XMLReader for each call to getXMLReader(). Returning the
+same instance is incorrect in multi-threaded apps where a single
+transformer factory is shared by all threads.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 12924. Add handling code for DocumentType Node.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>
+For Bugzilla 12924. In constructor SAX2DOM(Node), the Node might not always
+be a Document. Add additional handling code so that SAX2DOM can work with a
+non-Document root.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
+Use a thread variable to cache an XMLReader.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java FunctionCall.java<br/><ref>Committer's log entry: </ref>
+EXtension work. Make function-available work with external Java and EXSLT
+extension functions.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java<br/><ref>Committer's log entry: </ref>
+Handle dots in the local part, e.g.
+xmlns:ext="http://xml.apache.org/xalan/java/java.lang
+function-available('ext:Thread.currentThread') return true.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java<br/><ref>Committer's log entry: </ref>
+Minor cleanup in class name handling.
+<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java DOMImpl.java DTDMonitor.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java TransformerImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/getopt GetOpt.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Include.java TransletOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
+Committing changes from Gordon Chiu (grchiu@ca.ibm.com), with some tweaks from
+me, to move some hard-coded XSLTC messages into the compiler and run-time
+ErrorMessages classes, as appropriate.
+<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java<br/><ref>Committer's log entry: </ref>
+Committing changes from Gordon Chiu (grchiu@ca.ibm.com), with some tweaks from
+me, to move some hard-coded XSLTC messages into the compiler and run-time
+ErrorMessages classes, as appropriate.
+
+Also, added copious comments to assist anyone who might translate these
+resources in the future.
+<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java<br/><ref>Committer's log entry: </ref>
+Removed a duplicate error message number I inadvertently entered.
+<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
+bugzilla 12813 fixed
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMsg.java<br/><ref>Committer's log entry: </ref>
+Add debug messages for -XX option in the Process command line. These messages
+tell the user whether they are transforming using XSLTC.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util Util.java<br/><ref>Committer's log entry: </ref>
+Fix problems in the baseName() interface so that it can handle system ids like
+file:abc.xsl and file:///c:\test\abc.xsl.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>
+XSLTC support in the Process command line - phase 2
+Add two new output types:
+- BYTEARRAY_AND_FILE_OUTPUT: return a byte array and generate the translet class
+- BYTEARRAY_AND_JAR_OUTPUT:  return a byte array and generate the jar file
+
+Add a new compile() interface which accepts the output type as the third
+parameter. Use different Vectors to store bytecodes and JavaClass objects.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java<br/><ref>Committer's log entry: </ref>
+Add a wrapper for the noExtName() method in compiler.util.Util.
+The transformerFactoryImpl class makes use of it.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>
+The member name _defaultTransletName in TransformerFactoryImpl
+has been changed to _transletName.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
+XSLTC support in the Process command line - phase 2
+Most of the changes appear in this class. The changes not only allow you
+to use the new XSLTC options in the Process command line. It also give
+you the ability to customize the XSLTC behavior using the standard TRAX API.
+Previously, the XSLTC TRAX API is not aware of translets. You cannot tell it
+to use translets for do transformations. Now you can customize the XSLTC bevaior
+using the new attributes. For example, the following code will allow you
+to use translets for transformations when the translet is newer than the xsl.
+
+TransformerFactory tf;
+tf.setAttribute("auto-translet", "true");
+Templates templates = tf.newTemplates(xslSource);
+
+The following attributes are added:
+Attributes		Corresponding Process command line options
+use-translet
+translet-name		-XO
+destination-directory	-XD
+package-name		-XP
+jar-name		-XJ
+auto-translet		-XT
+
+Four of the new attributes (translet-name, destination-directory, package-name and
+jar-name) are transient. They only apply to the next newTemplates() or newTransformer()
+call. Their values are reset to the default after the call.
+
+There is also a makefile like feature when you set the "auto-translet" attribute. It will
+use the translet to do transformation when the translet is newer than the xsl. If the xsl
+is modified, it will use the xsl to transform and regenerate the translet.
+
+Unlike the XSLTC Transform command line, the new code will NOT use the existing
+ClassLoader to load the translet or jar file. It directly reads the file content into a
+byte array. This makes the Process command line capable of loading the translet from
+any directory the xsl file might be in or any user specified destination directory, without
+the need on the user to add that directory to the CLASSPATH first.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
+Multi-thread protection for the new attributes.
+The four transient attributes are now stored in ThreadLocal objects to prevent
+multi-thread contention problems. This ensures that each thread will have a
+different copy of the attributes and no collision issue will occur.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
+Change the four attributes to be instance variables and remove
+the ThreadLocal protection. TransformerFactory is not guaranteed
+to be thread-safe. We will leave the synchronization issues up
+to the user if they want to use one TransformerFactory in multiple
+threads.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Param.java<br/><ref>Committer's log entry: </ref>
+The default type of a &lt;xsl:param&gt; should be result tree.
+<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/><ref>Committer's log entry: </ref>
+Fix a problem in class namespace format and also cleanup the indentation.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Param.java<br/><ref>Committer's log entry: </ref>
+Set default type of parameters to be reference. The type of a parameter
+cannot be determined statically in XSLT 1.0.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java Constants.java ForEach.java LastCall.java Parser.java PositionCall.java Step.java xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java CurrentNodeListIterator.java DOMAdapter.java DOMImpl.java DupFilterIterator.java FilteredStepIterator.java FilterIterator.java ForwardPositionIterator.java KeyIndex.java MatchingIterator.java MultiDOM.java NodeIteratorBase.java NthIterator.java ReverseIterator.java StepIterator.java xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br/><ref>Committer's log entry: </ref>
+(1) Eliminated the need for a ReverseIterator.
+(2) Added a ForwardPositionIterator as a temporary solution for some
+cases.
+(3) Added several javadoc-type comments.
+(4) Fixed a number of cloneIterator() implementations that were broken.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ForwardPositionExpr.java<br/><ref>Committer's log entry: </ref>
+Expression wrapper to compute positions properly.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
+Fix for Bugzilla 13304.
+<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/10/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java<br/><ref>Committer's log entry: </ref>
+bug fix 12644, Santiago found that the clone iterator was doing a shallow copy
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Key.java KeyCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br/><ref>Committer's log entry: </ref>
+(1) Fixed some dynamic typing problems with idkeys. Values are now properly
+converted to strings before they are compared.
+(2) Eliminated the use of BitArrays in KeyIndex (better space efficiency).
+(3) All idkey tests now pass with flavor=stream (the 6 failures that are
+reported are due to the use of a different algorithm to generate ids).
+<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java Parser.java<br/><ref>Committer's log entry: </ref>
+bug fix 13550, for multiple &lt;xsl:output&gt; elements, cdata-section-elements attrs are now merged
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslElement.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
+New implementation of xsl:element that properly handles the case where
+the namespace URI computed at runtime is "". Some of the code implementing
+the xsl:element instruction has been factored out from the translet into
+the basis library.
+<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
+bug fix 12317, serialization of Templates is fixed
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
+A RuntimeException cannot be constructed from a Throwable with JDKs
+prior to 1.4.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>
+Clear dom index flag before passing node to DOMAdapter. Bug reported by
+Prakash Sridharan.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
+Switch order of calls to startElement() and namespace() in startXslElement().
+<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/10/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>
+bug fix 12308, typeCheck, nodeset to node optimization is turned off if node has context
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java<br/><ref>Committer's log entry: </ref>
+Added support for all EBCDIC flavors in xsl:output.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java<br/><ref>Committer's log entry: </ref>
+Moved EBCDIC support from Output to StreamOutput to ensure correct
+serialization of XML header.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler PositionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom CurrentNodeListIterator.java DOMImpl.java FilterIterator.java NthIterator.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
+Committing patch from Henry Zongaro. This patch moves the logic from
+XPath's position() function from NodeIterator.getPosition() to
+BasisLibrary.positionF(). This change simplifies the integration
+between XSLTC and DTM.
+<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
+Adding XSLTC_DTM version of file to branch.
+<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
+Whoops!  Checked in file on MAIN branch that was meant for XSLTC_DTM branch.
+<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
+Adding DTM version of ForwardPositionIterator to XSLTC_DTM branch.
+<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
+Aarrrgggghhhhh\!\!  Checked in file on MAIN branch that was meant for XSLTC_DTM branch, again\!
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java<br/><ref>Committer's log entry: </ref>
+Fix for Bugzilla 13826. A problem in reset() was the cause of duplicate
+nodes in the resulting nodeset.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NodeSetType.java ReferenceType.java ResultTreeType.java<br/><ref>Committer's log entry: </ref>
+Fix for Bugzilla 13850 provided by Morris Kwan.
+
+Morris Kwan wrote:
+
+Changes in NodeSetType.java:
+Allow a org.w3c.dom.Node to be converted to a XSLTC internal nodeset
+
+Changes in ReferenceType.java:
+Allow conversions from Reference to Java String, double, w3c Node/NodeList
+
+Changes in ResultTreeType.java:
+The result tree when converted to a nodeset, should contain only one node
+starting from the root. If you replace &lt;xsl:param&gt; with &lt;xsl:variable&gt; in
+the attached testcase, you will see a problem in "ext:nodelistTest
+($a)/h1/h2" because of this problem.
+
+Changes in BasisLibrary.java:
+Added interfaces referenceToNodeList, referenceToNode and node2Iterator.
+The changes in copyNodes() fix a problem with the document node. In the
+case of an RTF, the NodeList passed to nodeList2Iterator() contains only
+one Node, which is a Document Node. The changes try to create a dummy
+element for the Document and copy all Nodes under it.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
+
+  Fix for Bugzilla 13850 provided by Morris Kwan.
+
+  Changes in BasisLibrary.java:
+  Added interfaces referenceToNodeList, referenceToNode and node2Iterator.
+  The changes in copyNodes() fix a problem with the document node. In the
+  case of an RTF, the NodeList passed to nodeList2Iterator() contains only
+  one Node, which is a Document Node. The changes try to create a dummy
+  element for the Document and copy all Nodes under it.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LocationPathPattern.java Mode.java Step.java StepPattern.java xpath.cup<br/><ref>Committer's log entry: </ref>
+Distinguish between child::node() and attribute::node() both in patterns
+and expressions. This patch also fixes Bugzilla 11433.
+<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
+Fixed problem in DOMImpl$ChildrenIterator.getLast(). It now returns 0
+when the nodeset is empty.
+<br/><br/></li></ul>
+</s2>
 <s2 title="Changes for &xslt4j; 2.4.0">
 <p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>
 added new method 'setDocumentLocator()' to TemplatesHandlerImpl so that SAX parser can inform handler of doc location- thanks to Scott Boag and Shane Curcuru for the insight into this