You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sh...@apache.org on 2014/05/16 18:11:35 UTC

svn commit: r1595253 [17/18] - in /xalan/java/branches/WebSite: ./ xalan-j/ xalan-j/design/ xalan-j/design/resources/ xalan-j/resources/ xalan-j/xsltc/ xalan-j/xsltc/resources/

Added: xalan/java/branches/WebSite/xalan-j/xsltc_history.html
URL: http://svn.apache.org/viewvc/xalan/java/branches/WebSite/xalan-j/xsltc_history.html?rev=1595253&view=auto
==============================================================================
--- xalan/java/branches/WebSite/xalan-j/xsltc_history.html (added)
+++ xalan/java/branches/WebSite/xalan-j/xsltc_history.html Fri May 16 16:11:33 2014
@@ -0,0 +1,18063 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>ASF: XSLTC software changes</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<link rel="stylesheet" type="text/css" href="resources/apache-xalan.css" />
+</head>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+<body>
+<div id="title">
+<table class="HdrTitle">
+<tbody>
+<tr>
+<th rowspan="2">
+<a href="../index.html">
+<img alt="Trademark Logo" src="resources/XalanJ-Logo-tm.png" width="190" height="90" />
+</a>
+</th>
+<th text-align="center" width="75%">
+<a href="index.html">Xalan XSL Transformer User's Guide</a>
+</th>
+</tr>
+<tr>
+<td valign="middle">XSLTC software changes</td>
+</tr>
+</tbody>
+</table>
+<table class="HdrButtons" align="center" border="1">
+<tbody>
+<tr>
+<td>
+<a href="http://www.apache.org">Apache Foundation</a>
+</td>
+<td>
+<a href="http://xalan.apache.org">Xalan Project</a>
+</td>
+<td>
+<a href="http://xerces.apache.org">Xerces Project</a>
+</td>
+<td>
+<a href="http://www.w3.org/TR">Web Consortium</a>
+</td>
+<td>
+<a href="http://www.oasis-open.org/standards">Oasis Open</a>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div id="navLeft">
+<ul>
+<li>
+<a href="resources.html">Resources</a>
+<br />
+</li>
+<li>
+<a href="http://xalan.apache.org/index.html">Home</a>
+</li></ul><hr /><ul>
+<li>
+<a href="index.html">Xalan-J 2.7.2</a>
+</li>
+<li>
+<a href="charter.html">Charter</a>
+</li></ul><hr /><ul>
+<li>
+<a href="whatsnew.html">What's New</a>
+</li>
+<li>
+<a href="readme.html">Release Notes</a>
+</li></ul><hr /><ul>
+<li>
+<a href="overview.html">Overview</a>
+</li>
+<li>
+<a href="downloads.html">Download/Build</a>
+</li>
+<li>
+<a href="getstarted.html">Getting Started</a>
+</li>
+<li>
+<a href="xsltc_usage.html">Using XSLTC</a>
+</li></ul><hr /><ul>
+<li>
+<a href="faq.html">FAQs</a>
+</li></ul><hr /><ul>
+<li>
+<a href="samples.html">Sample Apps</a>
+</li>
+<li>
+<a href="commandline.html">Command Line</a>
+</li></ul><hr /><ul>
+<li>
+<a href="features.html">Features</a>
+</li>
+<li>
+<a href="trax.html">Transform API</a>
+</li>
+<li>
+<a href="xpath_apis.html">XPath API</a>
+</li>
+<li>
+<a href="usagepatterns.html">Usage Patterns</a>
+</li></ul><hr /><ul>
+<li>
+<a href="apidocs/index.html">Xalan-J API</a>
+</li>
+<li>
+<a href="public_apis.html">Public APIs</a>
+</li>
+<li>
+<a href="dtm.html">DTM</a>
+</li></ul><hr /><ul>
+<li>
+<a href="extensions.html">Extensions</a>
+</li>
+<li>
+<a href="extensionslib.html">Extensions Library</a>
+</li>
+<li>
+<a href="extensions_xsltc.html">XSLTC Exts</a>
+</li></ul><hr /><ul>
+<li>
+<a href="design/design2_0_0.html">Xalan 2 Design</a>
+</li>
+<li>
+<a href="xsltc/index.html">XSLTC Design</a>
+</li></ul><hr /><ul>
+<li>
+<a href="builds.html">Building a release</a>
+</li>
+<li>
+<a href="http://xml.apache.org/xalan-j/test/overview.html">Testing</a>
+</li>
+<li>
+<a href="bugreporting.html">Bug Reporting</a>
+</li></ul><hr /><ul>
+<li>
+<a href="contact_us.html">Contact us</a>
+</li>
+</ul>
+</div>
+<div id="content">
+<h2>XSLTC software changes</h2>
+<p>The following sections list <a href="xsltc_usage.html">XSLTC</a> changes back to the incorporation of XSLTC into Xalan-Java.</p>
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Changes for Xalan-Java 2.7.0</h3>
+<p>XSLTC source code updates:</p>
+<ul>
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/02/27<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java NodeSortRecordFactory.java SortSettings.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Restored old constructor of NodeSortRecordFactory and _collator field of
+NodeSortRecord for binary compatibility.  These changes allow translets
+compiled with an earlier version of XSLTC to continue to run with the new
+version.  They should not be used in newly compiled translets or in new code
+in XSLTC itself.<br />
+
+Also introduced a SortSettings class that is used to bundle sort settings from
+NodeSortRecordFactory into instances of NodeSortRecord.  That reduces some of
+the space overhead in constructing a NodeSortRecord.<br />
+
+Reviewed by Igor Hersht (igorh@ca.ibm.com)<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/02/27<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Revived ForwardPositionIterator class and BasisLibrary.positionF purely to
+support backwards compatibility with translets compiled with earlier versions
+of XSLTC.  New code should not reference either.<br />
+
+Reviewed by Christine Li (jycli@ca.ibm.com).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>igorh@apache.org<b>
+<i> on </i>
+</b>2004/03/09<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeCounter.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+xsl:number, minor code cleaning and optimization.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>bhakti@apache.org<b>
+<i> on </i>
+</b>2004/03/10<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Check if the systemId for the stylesheet is null to avoid getting an NPE.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/03/16<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Reverting latest patch by Arun. There are some problems with the new code to invoke functions dynamically (e.g. docbook 
+reports a compile-time type check error). The approach taken to determine when to invoke methods dynamically needs to be revisted.
+<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2004/03/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for bug 27417.  If an output stream is created by the XSLTC transformer, close
+it after the transformation.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/04/10<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyImports.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Applying patch for bugs 27932 and 15333.<br />
+
+Code was incorrectly calculating the set of templates to which an
+xsl:apply-imports instruction applies.  It should consider all templates that
+the current template rule could override, which means that if the template
+appeared in a stylesheet that was included in another stylesheet, any templates
+imported into the including stylesheet have to be considered as well.  The
+method Stylesheet.getMinimumDescendantPrecedence is responsible for this
+calculation.<br />
+
+In addition, when code is generated for an xsl:apply-imports, if any template
+has local parameters, an empty stack frame has to be pushed before attempting
+to apply-imports.  Otherwise, parameters from the template that contains the
+apply-imports instruction will be passed into the matching template.<br />
+
+Reviewed by Joanne Tong (joannet@ca.ibm.com)<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/04/10<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Applying patch for bug 27932.<br />
+
+Code was incorrectly calculating the set of templates to which an
+xsl:apply-imports instruction applies.  It should consider all templates that
+the current template rule could override, which means that if the template
+appeared in a stylesheet that was included in another stylesheet, any templates
+imported into the including stylesheet have to be considered as well.  The
+method Stylesheet.getMinimumDescendantPrecedence is responsible for this
+calculation.<br />
+
+Reviewed by Joanne Tong (joannet@ca.ibm.com)<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>bhakti@apache.org<b>
+<i> on </i>
+</b>2004/05/13<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+In xsltc currently with the extension redirect the output file is created only if the parent dir exists. 
+Making the behaviour similar to that of xalan wherein the parent directory is also created.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/05/20<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for Bugzilla 29120. The translet now stores a reference to the DocumentBuilderFactory which is used by 
+nodeList2Iterator() in the basis library. Note that to reuse that reference you need to use the same transformer 
+(not just the same template).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/05/21<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler AttributeValueTemplate.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Implemented a new parser for ATVs. The old was buggy: did not handle escaped curly braces in all cases and did 
+not handled quotes at all. The old parser assumed that braces came in pairs, but it is possible to have an odd 
+number as in "{{{$foo}}}". The new parser seems to handle all cases correctly.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/05/21<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralAttribute.java LiteralElement.java Parser.java 
+SyntaxTreeNode.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Modified code to ensure line number information is propagated from parent to children to ensure we get informative 
+error messages. This was particularly bad for errors in ATVs.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/05/25<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Improved patch for Bugzilla 29120 based on Matthias' suggestion. A DOMImplementation is now cached for even better performance.
+<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>jycli@apache.org<b>
+<i> on </i>
+</b>2004/05/26<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java Stylesheet.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+If the local is set to Turkish, but the codepage is MS-DOS (US) 437. The BCEL
+InstructionFinder.search(String) method can not find any instructions contain
+letter I. In Turkish, there are 2 lower case i.  Since the search() method is case
+insensitive, change the pattern string to use lower case.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/06/10<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla 29411. New algorithm shoudl optimize the way NS decls are reported for nested literal 
+elements. Note that the algorithm will not work accross non-literal elements. E.g., if there is an 
+xsl:element between two literal elements, the inner literal element may report unnecessary NS delcs. 
+This is just a simple way to ensure that any NS decls defined by the xsl:element instruction are re-defined 
+in the inner literal (see namespace39 in the conf tests).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/06/11<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fixed a problem with peephole optimization patterns. I don't know if something changed in BCEL since the 
+code was written, but the pattern syntax was not correct. I've also added a new common peephole pattern 
+which should reduce then inner loop's length in some Translets.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>igorh@apache.org<b>
+<i> on </i>
+</b>2004/06/21<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java xml-xalan/java/src/org/apache/xalan/xsltc/util 
+IntegerArray.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for Bugzilla Bug 28622.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/06/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastExpr.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ObjectType.java StringType.java Type.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla 27539 and related problems. The main problem was that hashCode() was not implemented 
+correctly in ObjectType. To eleminate further problems I also removed Type.ObjectString as this type is the 
+same as Type.String and the latter can be used in place of the former.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>aruny@apache.org<b>
+<i> on </i>
+</b>2004/07/15<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java TransformerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Description: getNode should return the result DOM tree once TransformerHandler completes the transformation.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>aruny@apache.org<b>
+<i> on </i>
+</b>2004/07/15<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
+AbstractTranslet.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Description: Patch for the support of extension attribute "intent-amount" for xsl:output. Supports the old URI 
+{http://xml.apache.org/xslt} and new URI{http://xml.apache.org/xalan}.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>aruny@apache.org<b>
+<i> on </i>
+</b>2004/07/15<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Description: Patch for concatenating adjacent text nodes.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>minchau@apache.org<b>
+<i> on </i>
+</b>2004/07/22<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Submitted by:	Yash Talwar<br />
+Reviewed by:	Brian Minchau<br />
+Fix for bugzilla 28796.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>jycli@apache.org<b>
+<i> on </i>
+</b>2004/08/17<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc TransletException.java xml-xalan/java/src/org/apache/xalan/xsltc/cmdline 
+ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/getopt GetOptsException.java IllegalArgumentException.java 
+MissingOptArgException.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler CompilerException.java IllegalCharException.java 
+ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MultiHashtable.java ObjectFactory.java StringStack.java 
+TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/dom BitArray.java ObjectFactory.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/runtime ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/trax 
+ObjectFactory.java TemplatesImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Added serialVersionUID for classes which implement Serializable interface. Patch created by Christine Li (jycli@ca.ibm.com) 
+and was reviewed by Henry Zongaro (zongaro@ca.ibm.com)<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/09/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Variable.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Skip translation for any unreferenced variables. Patch reviewed by Christine Li (jycli@ca.ibm.com).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/11/16<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for bug report XALANJ-1994.<br />
+
+The CallTemplate.getCalleeTemplate() method was searching through a Vector of
+all templates defined by the logical stylesheet, and picked out the first with
+the same name referenced by the current xsl:call-template instruction.  However,
+that failed to account for import precedence.  The SymbolTable.lookupTemplate
+method takes into account import precedence, and should be used instead.<br />
+
+Patch was reviewed by Christine Li (jycli@ca.ibm.com)<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/12/06<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java Operators.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for XALANJ-2003. Problem was unrelated to recursion, but simply a bug in the basis library. Swapping 
+operands requires swapping operators and the latter was not done. A workaround for this bug would be to 
+swap the operands (and operator) in the stylesheet (as that would not cause any swapping in the basis library).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/12/10<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for XALANJ-2015. Namespace declarations are now reported on a first pass to avoid the problem described in the bug report.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/12/10<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java Parser.java SyntaxTreeNode.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for XALANJ-1761. Output properties from multiple xsl:output instructions are now correctly merged (previously, 
+only cdata-section-elements were handled correctly).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/12/10<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime Operators.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Replaced meaningless numbers by predefined constants in swapArray[] vector.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>joannet@apache.org<b>
+<i> on </i>
+</b>2004/12/13<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fixed XALANJ-1812. Template inlining setting propagated to imported stylesheets.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>jycli@apache.org<b>
+<i> on </i>
+</b>2005/02/04<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Number.java xml-xalan/java/src/org/apache/xalan/xsltc/dom 
+AnyNodeCounter.java MultipleNodeCounter.java NodeCounter.java SingleNodeCounter.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Implement Errata E24 for XSLTC, when the value attribute of xsl:number is NaN, infinite or less than 0.5. 
+More details please refer to bug report XALANJ-1979. Patch is reviewed by Morris Kwan (mkwan@ca.ibm.com)<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>ytalwar@apache.org<b>
+<i> on </i>
+</b>2005/02/09<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyImports.java 
+Mode.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ClassGenerator.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for XALANJ-1417.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>ytalwar@apache.org<b>
+<i> on </i>
+</b>2005/02/17<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java TestSeq.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
+MethodGenerator.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for XALANJ-2058. In the code, the problem is that a pattern gets compiled once, 
+and then this compiled pattern gets re-used whenever the pattern is
+needed in any method.
+The fix is that pattern should get compiled once per method.  So, pattern get reused only within a given method.
+for any new method, a pattern is recompiled.
+This fix has been reviewed by Henry Zongaro. Henry had also provided suggestions about the fix to resolve this issue.
+Thanks Henry for his valuable input.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>mcnamara@apache.org<b>
+<i> on </i>
+</b>2005/03/03<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/xdocs/sources/xalan readme.xml resources.xml xsltc_usage.xml xml-xalan/java/xdocs/sources/xsltc 
+README.xslt README.xsltc<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for XALANJ-1937.  Change references in the docs from bugzilla to Apache Jira for reporting new issues and checking the 
+status of existing issues.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>ytalwar@apache.org<b>
+<i> on </i>
+</b>2005/03/16<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Text.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+This is a fix for XALANJ-2081.
+In class org.apache.xalan.xsltc.compiler.Text, a check was being done to find out if a given text string is all whitespaces.
+In case, a given text string is all whitespace, a call to serializer is not made.
+The code was using trim() method from java.lang.String.  trim() method trimmed characters as whitespaces 
+that are not considered as whitespace in XML.
+The code logic is changed to check if a given string is all whitespace accoding to XML specifications.
+I would like to thank Michael Glavassevich and Brian Minchau for their input to resolve this issue.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2005/04/08<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Clear XML reader for the case in which them main stylesheet is passed using a DOMSource. This fixes the problem 
+of trying to use a DOM2SAX reader for included/imported stylesheets that are resolved by user-defined URI resovers.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2005/05/19<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Put in the missing Transformer.reset() implementation when doing the JAXP 1.3 integration.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2005/05/20<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java TransformerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Support DOMResult.nextSibling in XSLTC. The nextSibling information is passed from TransformerImpl to TransletOutputHandlerFactory,
+then to SAX2DOM. If nextSibling is not null, SAX2DOM inserts the result nodes before it.
+Otherwise the result nodes are appended as the last children of the parent.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2005/05/31<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan Version.java xml-xalan/java/src/org/apache/xalan/processor 
+TransformerFactoryImpl.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMsg.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java TransformerFactoryImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for XALANJ-2123. Move hard-coded messages for JAXP 1.3 into resource bundles.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2005/06/08<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java Parser.java TransletOutput.java XSLTC.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java ErrorMessages.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java 
+TransformerImpl.java TrAXFilter.java Util.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for XALANJ-2136. Implement the secure processing feature for XSLTC. Extension functions
+and extension elements are disabled when this feature is set to true.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2005/06/08<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for XALANJ-1938.<br />
+
+A KeyIndex object contains a Hashtable mappings from key values to the
+IntegerArray objects that contain the set of nodes selected by those key values.
+For a reference to the key function, the lookupKey method finds the nodes
+selected by a particular key value, and the merge method merges all the nodes
+selected if more than one key value is specified for the one refernce to the key
+function.<br />
+
+The problem was that the lookupKey and merge methods operated on the "live"
+versions of the IntegerArrays stored in the mapping Hashtable, so that one
+reference to the key function might affect the result of subsequent references
+to the key function.  Changed those methods to make clones of the selected
+IntegerArray objects, which can be safely modified without affecting the
+original IntegerArrays.<br />
+
+This patch was reviewed by Joanne Tong (joannet@ca.ibm.com).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2005/06/15<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for bug XALANJ-2097 from Nick Van den Bleeken.
+(Nick.VandenBleeken@pandora.be), reviewed by Henry Zongaro.<br />
+
+The code generated for a path expression of the form $var/self::node() was
+incorrect.  It looked like the following, where "i" refers to the context node.<br />
+
+  new StepIterator(dtmaxisiterator1.cloneIterator(), new SingletonIterator(i));<br />
+
+That's incorrect, because the SingletonIterator will only return the node used
+upon its instantiation, rather than the node provided from the parent step
+expression by the StepIterator.<br />
+
+The SingletonIterator should only be used if the self::node() is not a step
+in a path expression.  In the case of a path expression, dom.getAxisIterator
+should be used to create the axis iterator instead.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2005/06/30<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler AbsoluteLocationPath.java FilteredAbsoluteLocationPath.java 
+FilterExpr.java FilterParentPath.java FunctionCall.java KeyCall.java ParentLocationPath.java Sort.java Step.java StepPattern.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for XALANJ-2146.  Reviewed by Christine Li (jycli@ca.ibm.com).<br />
+
+Section 4.3.4 of the JVM specification prohibits an uninitialized object from
+appearing on the stack or in a local variable when a backwards branch is
+executed.  We need to guard against that in the generated code in XSLTC by
+storing arguments to constructors in temporary variables if there's any
+possibility that the code used to calculate such arguments might contain a
+backwards branch.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>jycli@apache.org<b>
+<i> on </i>
+</b>2005/07/08<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
+ErrorMessages.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Added missing apostrophe for error messages. Fixed bug report XALANJ-2167. Patch is reviewed by Sarah McNamara (mcnamara@ca.ibm.com)
+<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2005/07/11<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for bug report XALANJ-2140.<br />
+
+The AbstractTranslet._keyIndexes field is used to record the sets of keys
+for a particular transformation by name.  This table was not cleared at the
+end of a transformation, so the keys from one transformation persisted to
+subsequent transformations.  Fixed this by adding a try-finally block in
+the AbstractTranslet.transform method and setting _keyIndexes to null in the
+finally block.<br />
+
+Reviewed by Brian Minchau (minchau@ca.ibm.com).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>minchau@apache.org<b>
+<i> on </i>
+</b>2005/07/13<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Minor change in the error message,
+fix was found by Brian Vargas, patch produced and
+reviewed by Brian Minchau.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>minchau@apache.org<b>
+<i> on </i>
+</b>2005/07/15<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fixing a NPE for when _locator is null in the XSLTC Parser.
+Applyin the patch in XALANJ-2154 from Brian Minchau, reiwed and approved by Santiago P.G.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>mcnamara@apache.org<b>
+<i> on </i>
+</b>2005/07/19<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/processor XSLProcessorVersion.java xml-xalan/java/src/org/apache/xalan/xslt 
+EnvironmentCheck.java xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java 
+XPathNSResolverImpl.java XPathResultImpl.java xml-xalan/java/src/org/apache/xml/serializer Version.src xml-xalan/java/xdocs/sources 
+entities.src xalan-jlocal.xml xalan-jsite.xml xml-xalan/java/xdocs/sources/xalan commandline_xsltc.xml commandline.xml downloads.xml 
+extensions.xml extensionslib.xml faq.xml features.xml getstarted.xml index.xml overview.xml public_apis.xml resources.xml samples.xml 
+trax.xml usagepatterns.xml whatsnew.xml xpath_apis.xml xsltc_usage.xml xml-xalan/java/xdocs/sources/xsltc README.xslt README.xsltc<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Doc changes for Xalan Java 2.7.0 release.
+This change was reviewed and approved in XALANJ-2170 by Christine Li.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>mcnamara@apache.org<b>
+<i> on </i>
+</b>2005/07/13<br />
+<b>
+<i>Modified: </i>
+</b> java/src/org/apache/xalan/xsltc/compiler xpath.lex<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for XALANJ-1912.<br />
+Provided by Santiago Pericas-Geertsen<br />
+Reviewed by Yash Talwar.<br />
+<br />
+</li>
+
+</ul>
+
+
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Changes for Xalan-Java 2.6.0</h3>
+<p>XSLTC source code updates:</p>
+<ul>
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/10/31<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Use translet as whitespace filter if it implements the StripFilter interface (This class should 
+probably be deprecated to avoid having to get it in sync with the Process class).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/10/31<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/processor StylesheetPIHandler.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla 24187 by Bhakti Mehta (Bhakti.Mehta@sun.com).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/11/04<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla 24188 by Bhakti Mehta (Bhakti.Mehta@sun.com). The runtime now attempts to resolve a reference when 
+the URI resolver returns null.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/11/05<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Committing patch for Bugzilla 24414 by Bhakti Mehta (Bhakti.Mehta@sun.com).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/11/11<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Param.java ParameterRef.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla 24518 by Mehta Bhakti (Mehta.Bhakti@sun.com).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/11/17<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java Util.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla 24695 by Bhakti Mehta (Bhakti.Mehta@sun.com).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/11/21<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java Util.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Updated patch for Bugzilla 24695 by Bhakti Metha. This patch gets an XMLReader from a SAXParserFactory if unable 
+to obtain one from an XMLReaderFactory.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/11/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Stylesheet.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch from Morris Kwan (mkwan@ca.ibm.com), reviewed by myself:<br />
+<br />
+
+Split namesArray in translet into three arrays:  namesArray, urisArray and
+typesArray.<br />
+<br />
+
+Previously, entries in the namesArray had to be examined at run-time to
+distinguish those that represented elements, from those that represented
+attributes (prefixed by an '@'), and those that represented namespace node
+names (prefixed by a '?').  In addition, any namespace URI for the element or
+attribute was similarly stored in the namesArray entry.  So,
+"http://example.org:abc" and "http://example.org:@abc" respectively represented
+an element and an attribute named abc in the http://example.org namespace;
+"?abc" represented a namespace prefix of abc.<br />
+<br />
+
+With this change, the namesArray will have entries for "abc" in all three
+cases; the urisArray will contain entries for "http://example.org" for the
+element and attribute, and an empty string for the namespace prefix; and the
+typesArray will contain the value 1 for the element, 2 for the attribute and 13
+for the namespace (which correspond to the DTM constant values for those kinds
+of nodes).<br />
+<br />
+
+In addition, these values are stored in static arrays in the translet, and
+references to those arrays are copied to instance fields in the translet's
+constructor, rather than constructing arrays and initializing all their entries
+in the constructor each time.<br />
+<br />
+
+All this serves to reduce the overhead of initializing a transformation.<br />
+<br />
+
+
+Patch from myself, reviewed by Morris Kwan:<br />
+<br />
+
+Introduced a versioning mechanism in AbstractTranslet.  After constructing an
+object of a class that extends AbstractTranslet, the postInitialization method
+must be called.  That method will detect any versioning differences that can
+be resolved automatically, if a translet was compiled with an older version of
+the XSLTC than is being used at run-time.  The version number is stored in the
+translet's transletVersion field.<br />
+<br />
+
+In many cases, incompabilities run up against Java's binary compatibility
+rules, and fail catastrophically.  This versioning mechanism is designed to
+detect those cases that can't be detected by the JVM.  The first use of this
+mechanism is to translate from the old form of the namesArray used by old
+translets, to the new form expected by the modified version of the XSLTC
+run-time, as described above.<br />
+<br />
+
+In addition, if the translet version detected by the XSLTC run-time is more
+recent than any supported by the XSLTC run-time, an error will be reported.
+<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/11/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/trax 
+TemplatesImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch from myself, reviewed by Morris Kwan (mkwan@ca.ibm.com):<br />
+<br />
+
+Introduced a versioning mechanism in AbstractTranslet.  After constructing an
+object of a class that extends AbstractTranslet, the postInitialization method
+must be called.  That method will detect any versioning differences that can
+be resolved automatically, if a translet was compiled with an older version of
+the XSLTC than is being used at run-time.  The version number is stored in the
+translet's transletVersion field.<br />
+<br />
+
+In many cases, incompabilities run up against Java's binary compatibility
+rules, and fail catastrophically.  This versioning mechanism is designed to
+detect those cases that can't be detected by the JVM.  The first use of this
+mechanism is to translate from the old form of the namesArray used by old
+translets, to the new form expected by the modified version of the XSLTC
+run-time, as described above.<br />
+<br />
+
+In addition, if the translet version detected by the XSLTC run-time is more
+recent than any supported by the XSLTC run-time, an error will be reported.
+<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/12/04<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc DOMEnhancedForDTM.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java DOMAdapter.java DOMWSFilter.java 
+KeyIndex.java LoadDocument.java SAXImpl.java XSLTCDTMManager.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
+AbstractTranslet.java BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Changes to permit different DTM implementations to be supplied to XSLTC.<br />
+<br />
+
+Part of the change was to replace hard-coded references to SAXImpl with
+references to a new interface - DOMEnhancedForDTM.  This part of the change was
+supplied by Joseph Kesselman (keshlam@us.ibm.com).<br />
+<br />
+
+The other part of the change was to use ObjectFactory to look up a new XSLTC
+DTM Manager service provider (org.apache.xalan.xsltc.dom.XSLTCDTMManager).  The
+provider is looked up once when a TransformerFactory is created, and used by
+any Transformer objects created by that TransformerFactory.
+<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/12/04<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java TransformerImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Changes to permit different DTM implementations to be supplied to XSLTC.<br />
+<br />
+
+XSLTC will now use ObjectFactory to look up a new XSLTC DTM Manager service
+provider (org.apache.xalan.xsltc.dom.XSLTCDTMManager).  The provider is looked
+up once when a TransformerFactory is created, and used by any Transformer
+objects created by that TransformerFactory.<br />
+<br />
+
+Also, moved code for caching XMLReader objects from XSLTC's
+TransformerFactoryImpl to a new org.apache.xml.utils.XMLReaderManager class.<br />
+<br />
+
+It is now the responsibility of the DTMManagerDefault class to request one of
+these cached XMLReader objects, so the benefit of reusing an XMLReader is now
+conferred upon both XSLTC and Xalan-J Interpretive, as well as upon references
+to the document() function.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/12/04<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Added comments to describe the situation in which this iterator is used.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/12/04<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Creation of translet's class loader should be wrapped in a doPrivileged block (java.lang.RuntimePermission createClassLoader).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>rameshm@apache.org<b>
+<i> on </i>
+</b>2003/12/11<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/lib/sql SQLQueryParser.java xml-xalan/java/src/org/apache/xalan/processor 
+XSLProcessorVersion.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util Util.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime Constants.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Adding explicit final keyword to the intended constants which are defined with public static keywords. This will avoid the problem 
+of cross site java sandbox violation. In the case of xsltc/compiler/util/Util.java making the "filesep" variable to private to avoid 
+the  chance of somebody else   changing the value of this static variable.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/12/12<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/dom 
+DocumentCache.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Take advantage of DTM pluggability support for XSLTC.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/12/12<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+The getDOM method might be entered more than once during a transformation, so
+the DTMManager that is created the first time in must be saved so that
+subsequent DTM's can be created with respect to it, and then discarded at the
+end of the transformation.<br />
+<br />
+
+This change restores logic that I had foolishly eliminated with my previous
+change to this file.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/12/19<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java BooleanCall.java CastExpr.java 
+CopyOf.java DocumentCall.java EqualityExpr.java Expression.java FilterExpr.java ForEach.java FunctionCall.java Key.java KeyCall.java 
+NameBase.java NumberCall.java RelationalExpr.java StringCall.java VariableBase.java WithParam.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for XSLTC's parameter optimization introduced in 2.5.2. The problem is that a param's default value can now be compiled multiple 
+times, once for every call to the template for which that param is not specified. This essentially turns the AST into a graph, 
+which requires the state of a param subtree to be reset after the each compilation. In particular, the variable Expression._startReset 
+was not reset and this resulted in calls to setStartNode() to be generated only the first time the param's default value was 
+compiled. After some analysis, I realized that _startReset was no longer necessary, so I removed it. I also renamed 
+Expression.startResetIterator() to Expression.startIterator() since calls to reset() are no longer generated within this method.
+<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/12/19<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Setting the maximum fraction digits on a DecimalFormat object to Integer.MAX_VALUE causes problems in some JDKs. Since 
+only doubles need to be formatted, I've changed the code to set the maximum to 340. I've also optimized formatNumber(), 
+the new version uses setters on the DecimalFormat object instead of calling toPattern().<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/12/23<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util BooleanType.java IntType.java RealType.java ReferenceType.java 
+StringType.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Type conversions from internal to external Java types revisited: (1) Type.Int and Type.Real are now treated identically 
+given that the former is an optimization for the latter (i.e. their use should be transparent to the user) (2) Better support 
+Type.Reference, conversions to integral types are now supported. There are still some conversions that are supported by 
+Xalan and not by XSLTC. We need to either revisit the conversion table for XSLTC or document the differences.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/12/23<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java Param.java ParameterRef.java 
+Template.java VariableBase.java WithParam.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NamedMethodGenerator.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+The parameter optimization implemented in 2.5.2 does not work in all cases. The problem (see Bugzilla 25449) is that a param's 
+default value needs to be compiled multiples when there are mulitple calls the a template none of which has a correspoding with-param. 
+However, ASTs store an internal state which is not restored after compilation; consequently, only the first compilation is 
+guaranteed to succeed. Stated differently, the AST cannot be operated as a graph because sub-tree sharing causes problems.<br />
+<br />
+
+The optimization has now been changed so that a param default value is compiled only once by the callee instead of multiple 
+times by each caller. A caller will now pass 'null' when there is no with-param; a callee will only initialize a param if 
+its value is 'null'. This ensures that default values are compiled exactly once while at the same time preserving the XSLT semantics.
+<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/01/06<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+SAXImpl.startDocument was calling SAX2DTM.startDocument followed by
+SAX2DTM.startPrefixMapping for the xml prefix.  However, the
+SAX2DTM.startElement always ensures the xml prefix is declared for the first
+element.  The effect of the startPrefixMapping call was to create two namespace
+nodes on the first element declaring the xml prefix.  This had no discernible
+consequence, except to throw off the numbering of subsequent nodes with the
+generate-id() function.<br />
+<br />
+
+I've eliminated the redundant call to startPrefixMapping, and adjusted the gold
+test output files for the generate-id function.<br />
+<br />
+
+Reviewed by Christine Li (jycli@ca.ibm.com)<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/01/13<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for Bugzilla 25924 by Bhakti Mehta (Bhakti.Mehta@sun.com). Variable _lastNext must be preserved in setMark() and 
+restored in gotoMark().<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/01/14<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java ForEach.java ForwardPositionExpr.java 
+PositionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Committing a patch from Bhakti Mehta (Bhakti.Mehta@sun.com). ForwardPositionIterators and ForwardPositionExprs are not 
+needed anymore after the intergration with DTM. Despite that, ForwardPositionIterators were still being used even though 
+they did not provide any additional functionally (they were basically identity iterators). This patch eliminates the need 
+for these iterators (and the corresponding compile-time expressions) and also replaces calls to BasisLibrary.positionF() 
+with calls to currentIterator.getPosition(). The resulting code should be smaller and faster.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/01/14<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Removing unused constant.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/01/20<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NodeSetType.java ResultTreeType.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+XSLT-&gt;Java and Java-&gt;XSLT conversion table revisited. I made sure that two internal types corresponding to the same 
+XSLT type had identical conversion rules (e.g. IntType and RealType). The multi-step conversions NodeSetType-&gt;int and 
+ResultTreeType-&gt;double have been eliminated in order to simplify the table (they can always by implemented externally). 
+The resulting conversion table is still not identical to the interpreter (and perhaps it will never be) so it should be 
+documented separately.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>jycli@apache.org<b>
+<i> on </i>
+</b>2004/02/02<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for bugzilla bug report 23046.
+
+For included stylesheet, set the _numberFormattingUsed flag to true
+for its including stylesheet too.<br />
+<br />
+
+Reviewed by Henry Zongaro (zongaro@ca.ibm.com)<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/02/05<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FilterExpr.java Predicate.java Step.java StepPattern.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla 19194. I've made the following changes: (i) re-wrote Predicate.typeCheck() (ii) the predicate optimizations are 
+turned off for FilterExpr, as they don't apply in all cases (iii) sync up Step, StepPattern and FilterExpr to accomodate the new 
+changes. The interaction between these classes is non-trivial, and the code for some optimizations is brittle, to say the least. 
+As part of this patch, I rolled back a patch to FilterExpr and fixed Bugzilla 25783 which wasn't really related despite what the 
+bug report states. For the 2.0 work, it would be nice to place optimization code in separate classes so that it can be easily 
+maintained and also easily deactivated via a command-line flag.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>jycli@apache.org<b>
+<i> on </i>
+</b>2004/02/10<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xpath/functions FuncRound.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
+RoundCall.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for bugzilla bug report 24111.
+
+The string values for both positive and nagative zero are 0. However,
+a number div 0 returns Infinity, a number div -0 returns -Infinity.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/02/11<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Predicate.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for Bugzilla 24788. NodeValue optimization was too optimistic. Since the value in 'step = value' is not 
+compiled in the predicate's context, it must be limited to expressions that are context independent, but this 
+was not the case as the example in 24788 shows.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2004/02/12<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Committing patch by Bhakti for XSLTC. If attributes are created without an explicit prefix, then NamespaceMappings.generateNextPrefix 
+will be called to generate a prefix. Also if elements are created using createElementNS(null,localname) then they will be 
+serialized properly without being in default namespace.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>jycli@apache.org<b>
+<i> on </i>
+</b>2004/02/13<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+A slightly faster implementation of round function.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>jycli@apache.org<b>
+<i> on </i>
+</b>2004/02/16<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix a bug introduced during optimizing for the previous code
+Should check for NaN cases.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>minchau@apache.org<b>
+<i> on </i>
+</b>2004/02/16<br />
+<b>
+<i>Modified: </i>
+</b> Most files in the Xalan Java cvs repository (too many to list)<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+New Apache 2.0 license update.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>igorh@apache.org<b>
+<i> on </i>
+</b>2004/02/19<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for Bugzilla Bugs 24793.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>bhakti@apache.org<b>
+<i> on </i>
+</b>2004/02/20<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for the bug in DOM2TO where there was a call to _handler.addAttribute
+which was moved to the if clause and hence attributes in no namespace were
+lost when using an identity transformation with DOMSource.<br />
+<br />
+
+Thanks to Henry Z. for pointing it out and Santiago for reviewing.  I have tested it locally. Please let me 
+know if you see any issues with this.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>jycli@apache.org<b>
+<i> on </i>
+</b>2004/02/20<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for bugzilla bug report 26697
+
+XSLTC supports convert a NodeList to an internal DOM iterator.
+Use setAttributeNS method to copy attribute node when an attribute
+has a prefix, which maps to a namespace URI<br />
+<br />
+
+Reviewed by Morris Kwan (mkwan@ca.ibm.com)<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>jycli@apache.org<b>
+<i> on </i>
+</b>2004/02/23<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Always use setAttributeNS() method and pass null as its namespace for non-namespaced nodes.
+Thanks Joe Kesselman for pointing it out.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>aruny@apache.org<b>
+<i> on </i>
+</b>2004/02/23<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java FunctionCall.java Param.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ReferenceType.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
+CallFunction.java ObjectFactory.java SecuritySupport.java SecuritySupport12.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Description : Adding the basic functionality for resolving external function dynamically. If static resolution fails then 
+Dynamic resolution is used as last resort.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>igorh@apache.org<b>
+<i> on </i>
+</b>2004/02/23<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java xml-xalan/java/src/org/apache/xalan/transformer 
+TransformerIdentityImpl.java TransformerImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
+ErrorMsg.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla Bug 25368 submitted by Joanne Tong.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/02/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java VariableBase.java WithParam.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla bug reports 24988 and 25368 from Joanne Tong
+(joannet@ca.ibm.com) reviewed by myself.<br />
+<br />
+
+24988:
+Changes required to test whether an attribute value that is required to be
+a QName, NCName or whitespace-separated list of QNames actually meets that
+requirement.<br />
+<br />
+
+25368:
+Code was basing variable and parameter names on the local part of the name,
+rather than including the namespace URI in the name.  This resulted in
+collisions in the generated code between distinct variables that had the same
+local-name.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/02/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Number.java Predicate.java Sort.java Variable.java 
+VariableRef.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla bug report 25368 from Joanne Tong (joannet@ca.ibm.com)
+reviewed by myself.<br />
+<br />
+
+Code was basing variable and parameter names on the local part of the name,
+rather than including the namespace URI in the name.  This resulted in
+collisions in the generated code between distinct variables that had the same
+local-name.<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/02/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Part of fix for bug report 24985.  The code that resulted for a NodeTest of
+the form "@p:*" or "attribute::p:*" was identical to that for "@*" - in other
+words, the prefix was not being tested.  Fixed this so that
+DOM.getNamespaceAxisIterator is used to create the right kind of iterator.<br />
+<br />
+
+Reviewed by Morris Kwan (mkwan@ca.ibm.com).<br />
+<br />
+</li>
+
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2004/02/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br />
+<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Part of fix for bug reports 24985 and 24365.<br />
+<br />
+
+Moved the NamespaceChildrenIterator and NamespaceAttributeIterator classes into
+this class from SAX2DTM2, where they can use fields specific to SAXImpl to
+refer to namespace information.<br />
+<br />
+
+Also added a new NamespaceWildcardIterator that handles axes other than the
+child and attribute axes (which are handled by the specific iterators already
+mentioned).<br />
+<br />
+
+Reviewed by Morris Kwan (mkwan@ca.ibm.com).<br />
+<br />
+</li>
+</ul>
+
+<p align="right" size="2">
+<a href="#content">(top)</a>
+</p>
+<h3>Changes for Xalan-Java 2.5.2</h3>
+<p>XSLTC source code updates:</p>
+<ul>
+<li>
+<b>
+<i>Committed by </i>
+</b>grchiu@apache.org<b>
+<i> on </i>
+</b>2003/06/11<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Expression.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for bugzilla 20685. In startResetIterator(), check see if the
+expression wrapped by the CastExpr is a VariableRef. If so, don't
+generate a call to setStartNode.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/06/16<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>Fix a minor bug in MultiDOM.addDOMAdapter().<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/06/17<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc DOMCache.java xml-xalan/java/src/org/apache/xalan/xsltc/dom 
+DocumentCache.java LoadDocument.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for bugzilla #15828.
+Arguments to URIResolver.resolve method for document function, in XSLTC are now
+href: argument passed to document function
+base: URI of stylesheet<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/06/17<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Putting back LoadDocument.java<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/06/17<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for bugzilla #15828.
+Arguments to URIResolver.resolve method for document function, in XSLTC are now
+href: argument passed to document function
+base: URI of stylesheet<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/06/17<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Putting back TransformerImpl<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/06/17<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for bugzilla #15828.
+Arguments to URIResolver.resolve method for document function, in XSLTC are now
+href: argument passed to document function
+base: URI of stylesheet<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/06/19<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Added SAXTransformerFactory.FEATURE and SAXTransformerFactory.FEATURE_XMLFILTER
+to the list of features that are implemented.  Fix for bug 20795.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/06/23<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler SyntaxTreeNode.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java MultiDOM.java SAXImpl.java SimpleResultTreeImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Performance improvement for XSLTC
+Don't add a simple or adaptive RTF to the DTMManager if the nodeset
+extension is not used. The DOMAdapters are also not created in
+this case. This is a noticeable improvement for stylesheets that use
+many small RTFs but do not use the nodeset extension.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/06/23<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java Mode.java Param.java Template.java WithParam.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NamedMethodGenerator.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Performance improvement for XSLTC
+
+New codegen solution for parameter passing in named templates,
+which provides significant improvement for stylesheets that use
+xsl:call-template and xsl:with-param heavily.
+
+The old solution generates code to call Translet.addParameter(),
+which seems to be too expensive. In the new solution, parameters
+are passed to named templates via method arguments. The method
+signature for a named template is not fixed. It depends on the number
+of parameters declared in the template.
+
+The caller (xsl:call-template) is responsible for generating the
+correct parameter list and passes it to the called template. This is
+done in the CallTemplate class, which finds out the corresponding
+called template and processes its own xsl:with-param children together
+with the xsl:params in the called template to generate an effective
+parameter list. In the case where a xsl:param references another xsl:param,
+local variables are generated to hold the temporary parameter value.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/06/23<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for bugzilla #15828.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/06/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TrAXFilter.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Add a "public Transformer getTransformer()" method to XSLTC's TrAXFilter class.
+The Xalan TrAXFilter class already has such an interface.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/06/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java XSLTCSource.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for XSLTCSource (see bugzilla 21048).<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/06/24<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/xdocs/sources/xsltc xsltc_trax_api.xml<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Update documentation about how to use XSLTCSource.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/06/25<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java VariableBase.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/dom CachedNodeListIterator.java ClonedNodeListIterator.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Performance improvement for XSLTC
+
+Introduce two new iterators (CachedNodeListIterator and CloneNodeListIterator).
+They are used by variable/param references that are evaluated to nodesets.
+CachedNodeListIterator traverses the underlying iterator once and caches the
+nodes in an IntegerArray. Its clone() method returns an object of
+CloneNodeListIterator, which also retrieves nodes from the cache.
+
+This mostly improves the case where a variable is referenced multiple times
+in a context. In the old code, the iterator for the variable is traversed
+as many times as the variable is referenced. Using the cached iterators,
+the iterator is only traversed once. All later references retrieve nodes
+from the cache.
+<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/06/25<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java MultiDOM.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java xml-xalan/java/src/org/apache/xalan/xsltc/trax 
+TemplatesImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Implement a feature to cache the DTM for the stylesheet in
+the Templates object. This improves the case where document('')
+is used. In this case the DTM for the stylesheet is only built
+once per thread. It can be reused by multiple transformers
+created by the sample Templates.
+<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>grchiu@apache.org<b>
+<i> on </i>
+</b>2003/06/26<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch from Christine Li (jycli@ca.ibm.com) for bugzilla 20913, with
+modifications. In UnionIterator, after calling the getLast() method, the
+heap is not restored properly. Recreate the heap in gotoMark(), as well
+as restore _returnedLast and _heapSize.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/06/30<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Put back DocumentCache<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/06/30<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java xml-xalan/java/src/org/apache/xalan/xsltc 
+DOMCache.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Update the DocumentCache class to be compatible with the DOMCache 
+interface.  Although, with the native interface no longer supported, users
+should not be using the DocumentCache.  Instead they should set a 
+URIResolver on the Transformer in order to resolve arguments
+passed to the document function.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/06/30<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for 3 trax.localPath failures.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/07/07<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix a memory leak problem with the DTMManager.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/07/08<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java Stylesheet.java Template.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix a few conformance regressions introduced by the addParameter
+optimization work.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/07/10<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for bugzilla 20074. Don't create an IntegerArray of size 0.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/07/11<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMsg.java 
+xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+XSLTC: TransformerHandler.setResult should throw an IllegalArgumentException
+when the result argument is null.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/07/16<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for bug 20256. Remove an unused reference to an
+inexistent class.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>ilene@apache.org<b>
+<i> on </i>
+</b>2003/07/21<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for bugzilla #20537.  
+When URIResolver was set for includes/imports, the system id of the included/imported
+files was not always set correctly.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/07/22<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Predicate.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Applying patch from Igor Hersht (igorh@ca.ibm.com) for Bugzilla bug 18821.
+At some point in the recent past, Predicate started trying to optimize filter
+expressions with positional predicates, but the receiving code in FilterExpr
+was always incorrect.  The fixes to FilterExpr and related code aren't so
+straightforward, so the easiest thing to do for now is to disable the
+broken optimization for FilterExpr objects.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/07/22<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Applying patch from Igor Hersht (igorh@ca.ibm.com) for Bugzilla bug 18821.
+Nested iterators in UnionIterator weren't correctly handling multiple calls to
+setStartNode in generated code.  Fixed by ignoring calls after the first.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/07/25<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for bugzilla 20832. Also fix testcase attribset19.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/07/25<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix for bugzilla 21805.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/08/01<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Added code to create static char[] fields in the translet containing the
+literal text in the source stylesheet.  The code generation for xsl:comment and
+for literal text that constructs text nodes takes advantage of this by using
+the serializer's comment(char[],int,int) and characters(char[],int,int) methods,
+respectively, rather than the comment(String) and characters(String) methods.
+The former pair of methods avoid some potential overhead in the serializer from
+copying the contents of strings to char[] objects.
+
+Code that creates a static initializer method in a translet was written by
+Morris Kwan (mkwan@ca.ibm.com).
+
+Reviewed by Morris Kwan (mkwan@ca.ibm.com)
+<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/08/01<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Comment.java Constants.java Text.java XSLTC.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Added code to create static char[] fields in the translet containing the
+literal text in the source stylesheet.  The code generation for xsl:comment and
+for literal text that constructs text nodes takes advantage of this by using
+the serializer's comment(char[],int,int) and characters(char[],int,int) methods,
+respectively, rather than the comment(String) and characters(String) methods.
+The former pair of methods avoid some potential overhead in the serializer from
+copying the contents of strings to char[] objects.
+
+Reviewed by Morris Kwan (mkwan@ca.ibm.com)<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>grchiu@apache.org<b>
+<i> on </i>
+</b>2003/08/06<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch from Bruno Dumon (bruno@outerthought.org) for bugzilla 20114.
+When using XSLTC's TemplatesHandler to create templates, errors are never
+reported; getTemplates() just returns null.
+Changed behaviour to be inline with Xalan behaviour: stylesheets are
+compiled in the endDocument() event and a SAXException wrapping the real
+exception is thrown.<br />
+<br />
+</li>
+\<li>
+<b>
+<i>Committed by </i>
+</b>igorh@apache.org<b>
+<i> on </i>
+</b>2003/08/08<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler AttributeSet.java Constants.java 
+UseAttributeSets.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util AttributeSetMethodGenerator.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla Bug 19918<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/08/12<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix bytecode generation problem for extension method calls via
+interfaces for bugzilla 22115.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>minchau@apache.org<b>
+<i> on </i>
+</b>2003/08/12<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+PR: bugzilla 19972	
+Submitted by:	William Lee (william.lee@cognos.com)
+Reviewed by:	Brian Minchau and Gordon Chui
+
+The code loops over elements in a Vector, incrementing the index j.
+Some elements should not be processed so they were removed from the Vector.
+The removal of element "j" shifted all higher elements down and made the
+Vector 1 shorter.  So removal of an element and incrementing "j" actually caused
+elements to be skipped.
+
+It is not quite clear why the element is being removed from the Vector rather
+than just skipped over. For safety sake an iteration over the loop either removes an
+element, or increments "j", but not both in the same iteration.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/08/27<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Applying patch for bug 19973 from Christine Li (jycli@ca.ibm.com).
+A call to buildKeys (for xsl:key) should be generated before a call to topLevel
+(to handle top-level variable and parameter declarations) because top-level
+variables and parameters can contain references to the key() function, but not
+the other way around.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>zongaro@apache.org<b>
+<i> on </i>
+</b>2003/09/05<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler VariableRefBase.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Applied patch for bug 22769 from Christine Li (jycli@ca.ibm.com).  If a
+variable reference occurs inside the definition of another variable, XSLTC adds
+a dependency link upon the referenced variable to the defined variable.
+However, if the referenced variable was overrode by another variable definition
+with higher import precendence, the dependency should be placed on the
+overriding variable instead.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/09/09<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Moved return statements outside of finally block. The compiler correctly points out that when an exception is not caught by a catch, the 
+finally block cannot return normally.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/10/03<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Ensure we set a non-empty name for the translet even when one cannot be obtained from the systemId.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/10/06<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fixed problem in XSLT parameter optimization. The search for the template being called should start from the top-level stylesheet. 
+The incorrect signature was generated when xsl:template and xsl:call-template were located in different stylesheets.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/10/06<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+(Committing this again to get the log message right! - c.f. revision 1.54)
+1. Added Javadoc comments to instance variables.
+2. getAllValidTemplates() now caches result in top-level stylesheet.
+3. setSystemId() maps a file system path to a URI (if needed).<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/10/06<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java xml-xalan/java/src/org/apache/xalan/xsltc/dom 
+SAXImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+1. New code to map relative paths to URIs in Include.java and Import.java.
+2. If SourceLoader returns null, the JAXP API states that the processor
+should attempt to resolve the reference. Changed the logic to do this.
+(1 and 2 should solve some of the problems we have resolving relative
+paths and also using URI resolvers. More testing is needed, though).<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>santiagopg@apache.org<b>
+<i> on </i>
+</b>2003/10/07<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastCall.java Parser.java xpath.cup<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Adding a new extension function for XSLTC. Using this extension function, it is
+possible to recover type information lost by the use of xsl:param (see Bugzilla
+19038). Here is an example:
+
+&lt;xsl:stylesheet version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:java="http://xml.apache.org/xalan/java"
+    xmlns:xsltc="http://xml.apache.org/xalan/xsltc"&gt;
+
+&lt;xsl:param name="object"/&gt;
+
+&lt;xsl:template match="/"&gt;
+    &lt;xsl:value-of select="java:length(xsltc:cast('java.lang.String', $object))"/&gt;
+&lt;/xsl:template&gt;
+
+&lt;/xsl:stylesheet&gt;
+
+Without using xsltc:cast(), XSLTC will report an error as the type of param
+'object' cannot be determined statically. The type of xsltc:cast() is:
+
+object[T] cast('T', reference | object[R])
+
+where 'T' indicates that the type of the first argument must be a literal
+string. A ClassCastException may be thrown at runtime if R is not convertible
+to T.
+
+I believe we still need a fully-dynamic solution that does not rely on this
+extension function. However, the two solutions can coexists, especially since
+using xsltc:cast() will always be more efficient than any alternative based
+on Java reflection.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>igorh@apache.org<b>
+<i> on </i>
+</b>2003/10/10<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/dom 
+DOMAdapter.java SAXImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Patch for Bugzilla Bug 14607<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/10/15<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Fix the makeNode and makeNodeList methods in SAXImpl for bugzilla 23115.<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>mkwan@apache.org<b>
+<i> on </i>
+</b>2003/10/15<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Sort.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+Apply the patch for bugzilla 23271 from Bruno Fernandez-Ruiz (brunofr@olympum.com).<br />
+<br />
+</li>
+<li>
+<b>
+<i>Committed by </i>
+</b>minchau@apache.org<b>
+<i> on </i>
+</b>2003/10/15<br />
+<b>
+<i>Modified: </i>
+</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
+<b>
+<i>Committer's log entry: </i>
+</b>
+PR: bugzilla 15901
+Submitted by:	Brian Minchau
+Reviewed by:	John Meyer (bug reporter)
+
+XSLTC now uses properties from the serializer's factory rather than

[... 15044 lines stripped ...]


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xalan.apache.org
For additional commands, e-mail: commits-help@xalan.apache.org