<?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
setting its own defaults. This makes XSLTC's default serialializer 
properties (indentation, entity file ... ) the same as Xalan-J.<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/compiler BinOpExpr.java LogicalExpr.java Predicate.java 
RelationalExpr.java UnaryOpExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>
PR: bugzilla 15327	
Submitted by:	Christine Li
Reviewed by:	Brian Minchau
Fix for XSLTC problems with [last()] and [last()-1] predicates.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/10/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java 
Include.java Stylesheet.java xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Replace ad-hoc code to resolve relative URIs by calls to the xml.utils.SystemIDResolver 
class. This change fixes a few a regressions and also simplifies the code in XSLTC.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/10/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastCall.java 
CastExpr.java FunctionCall.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>
Allow conversion between types 'string' and 'object[java.lang.String]'.
Conversion is trivial as instances of both types have the same runtime
representation. This was needed in order to write expressions such
as,
    string:new(xsltc:cast('java.lang.String', $object))
where 'object' is a param bound to a value of type 'java.lang.String'.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2003/10/20<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/transformer 
TransformerIdentityImpl.java TransformerImpl.java 
xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Patch from Christine Li (jycli@ca.ibm.com) for Bugzilla bug report 22167.
When the zero-argument constructor of DOMSource, StreamSource or SAXSource is
invoked, and no setter method is called to specify an actual source, the
source should be treated as if it contained only a root node.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/10/20<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>
Check for null before setting DTM base URI.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/10/21<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>
Fix for regression in Resolve002 TCK.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/10/22<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java 
UnsupportedElement.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
BasisLibrary.java ErrorMessages.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Apply Joanne Tong (joannet@ca.ibm.com) patch for bugzilla 23706,
with my own modifications. I also fixed bug 23896 in the same
patch.

This patch includes the fixes for the following:
1. an unsupported XSL element will trigger a syntax error in 1.0 mode.
2. In forward-compatibility mode, if an unsupported XSL element is in
a template, has no fallback, it will trigger a runtime error if it is
instantiated.
3. All fallback children are called in sequence. The old code only makes
use of the first fallback child.
4. Only direct fallback children are processed. The old code finds the fallback
from all descendants of an unsupported element, which is wrong behavior
according to the spec.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/10/22<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Committing path for bugzilla 22438 from Bhakti Mehta (Bhakti.Mehta@sun.com). This patch 
fixes serialization problems of Templates objects in XSLTC. A user-defined URIResolver 
associated to a Templates object is also serialized whenever possible (i.e. if it is also 
serializable).<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>Changes for Xalan-Java 2.5.1</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2003/04/16<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler DocumentCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Applying patches from Igor Hersht (igorh@ca.ibm.com) for bug 15200 and
bug 18585.

Fixed up code that processes the document function when it has two arguments,
the second of which must be a node-set; the code didn't always resolve the
value of the first argument against the first node in the second argument, as it
should have.

In addition, in order to simplify run-time processing, added a new
LoadDocument.documentF method that is used when the second argument to the XSLT
document function is present; if that argument is an empty node-set, the result
of the document function should be an empty node-set, and that logic is much
easier to code in the run-time than via generated code.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/04/16<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>

 Set SourceLocator in stylesheet instead of XSLTC object. This ensures
 proper use of user-defined URIResolvers in a TemplatesHandler.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/04/24<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 TemplatesHandlerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>

 Output properties were not properly cleared when reusing the same instance
 of a TemplatesHandlerImpl. The top-level stylesheet in the XSLTC object
 referenced by TemplatesHandlerImpl (indirectly via an instance of Parser)
 was not reset after the first use of the instance.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/05/20<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix a multithread safety issue in the use-classpath option. The old code
reuses a Translet object for all newTransformer() calls, which is not the
right thing to do. We should pass in a Class array and let TemplateImpl
create a new Translet instance for each newTransformer() call.
<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>Changes for Xalan-Java 2.5.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/02/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Message.java<br />
<b>
<i>Committer's log entry: </i>
</b>
 New implementation of xsl:message that does not use RTFs. Using RTFs
 is both slow and problematic since the number of RTFs that can be
 created is limited in XSLTC.

 The new implementation uses a StreamXMLOutput and a StringWriter to
 output the template body as a string (in some cases, NS declarations
 will be included and this behavior differs from the old implementation).
 Additionally, the new implementation optimizes the case where the
 message is empty and where the message is just a literal string.

 The bug was reported by Mark Brunkhart (mark@matchanalysis.com).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/02/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>
 Removed the getTreeString() method from the DOM interface (as well as
 from all the classes that implement this interface). This update will
 require a sync with the XSLTC_DTM branch, but there was no point in
 keeping this method when it's no longer used.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/02/26<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ReferenceType.java<br />
<b>
<i>Committer's log entry: </i>
</b>
 Fix for Bugzilla 17447. Conversion from reference type to string type
 assumed the existence of the "current" local variable, which is
 unavailable at top-level.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/02/26<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>
XSLTC_DTM performance work
Improvement for xsl:copy-of. Instead of using the expensive getFirstAttribute()
and getFirstNamespace() interfaces, increase the element id by 1 to iterate
through all attribute and namespace nodes.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/02/27<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>
XSLTC_DTM performance work
Minor cleanup to SAXImpl.copy() and copyElement(). Introduce a new interface
handleTextEvents() to handle Text nodes more efficiently.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/05<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/compiler/util ResultTreeType.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java xml-xalan/java/src/org/apache/xalan/xsltc/trax XSLTCSource.java<br />
<b>
<i>Committer's log entry: </i>
</b>
XSLTC_DTM performance work

Design a new DOM model (SimpleResultTreeImpl) for simple result tree
fragment (RTF). A simple RTF is an RTF which has only one Text node.
It can be generated by a combination of Text, xsl:value-of and xsl:number
instructions. It can also be generated by xsl:if or xsl:choose, as far
as the content of the control body is pure Text. The code to detect whether
an RTF is simple is in SyntaxTreeNode.isSimpleRTF().

Before this change, an RTF is represented by a SAXImpl object. SAXImpl is
a heavy-weight class in that it allocates a lot of array objects for storage.
In the case where the RTF is only one Text node, creating a SAXImpl is just
too expensive.

A SimpleResultTreeImpl has only two nodes, i.e. the root node and the Text
node. All DOM interfaces are overridden to handle this simplified model.
SimpleResultTreeImpl has a few internal iterators, which is designed to support
the nodeset() extension function.

This change brings a significant improvement to stylesheets that create
a lot of simple RTFs. Some testcases are more than 100% faster after the change.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/05<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom SimpleResultTreeImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Add a new class SimpleResultTreeImpl as the model for simple RTF.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/06<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java NodeSortRecord.java SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamXMLOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br />
<b>
<i>Committer's log entry: </i>
</b>
XSLTC_DTM performance work

A few small improvements. More space efficient version of IntegerArray.clone().
Rearrange the condition checking in StreamXML(HTML)Output.escapeCharacters().
Only create one default Collator instance in NodeSortRecord.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/07<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java SAXImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
XSLTC_DTM performance work
Small tweaks in DOMAdapter. Invoking a final method is generally faster than
invoking a method via interface.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/07<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
XSLTC_DTM performance work
Improvement in StreamOutput.escapeString(). Do not create the StringBuffer
if there is nothing to escape.

This change needs to be put back to the new serializer if it uses the same
code.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/07<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>
XSLTC_DTM performance work
Use a more sophisticated algorithm in StringValueHandler.
Do not create new Strings if there is only String value.
Creating many new Strings is an expensive operation.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/10<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>
Fix a bug that causes id function testcases to fail in trax.sax flavor.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/11<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>
XSLTC_DTM performance work
Set the namespace feature directly on the XMLReader. SAXParserFactory.setFeature()
actually creates a temporary SAXParser to verify that feature. So we end up creating
two SAXParsers per document() call in the old code.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/12<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
file AdaptiveResultTreeImpl.java was initially added on branch XSLTC_DTM.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/12<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 AdaptiveResultTreeImpl.java DOMAdapter.java DOMImpl.java MultiDOM.java SAXImpl.java SimpleResultTreeImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
XSLTC_DTM performance work

Design a light-weight DOM model (AdaptiveResultTreeImpl) for RTFs with xsl:call-template.

AdaptiveResultTreeImpl is a adaptive DOM model for result tree fragments (RTF). It is
used in the case where the RTF is likely to be pure text yet it can still be a DOM tree.
It is designed for RTFs which have &lt;xsl:call-template&gt; or &lt;xsl:apply-templates&gt; in
the contents. Example:

    &lt;xsl:variable name = "x"&gt;
      &lt;xsl:call-template name = "test"&gt;
         &lt;xsl:with-param name="a" select="."/&gt;
      &lt;/xsl:call-template&gt;
    &lt;/xsl:variable&gt;

In this example the result produced by &lt;xsl:call-template&gt; is likely to be a single
Text node. But it can also be a DOM tree. This kind of RTF cannot be modelled by
SimpleResultTreeImpl.

AdaptiveResultTreeImpl can be considered as a smart switcher between SimpleResultTreeImpl
and SAXImpl. It treats the RTF as simple Text and uses the SimpleResultTreeImpl model
at the beginning. However, if it receives a call which indicates that this is a DOM tree
(e.g. startElement), it will automatically transform itself into a wrapper around a
SAXImpl. In this way we can have a light-weight model when the result only contains
simple text, while at the same time it still works when the RTF is a DOM tree.

All methods in this class are overridden to delegate the action to the wrapped SAXImpl object
if it is non-null, or delegate the action to the SimpleResultTreeImpl if there is no
wrapped SAXImpl.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/12<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>
XSLTC_DTM performance work
Save the DTMManager in a field in MultiDOM. Don't compute it
everytime in MultiDOM.getDTMId().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/13<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix a bug which causes the docbook testcase to fail.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/14<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>
XSLTC_DTM performance work
Improvement in MultiDOM. Make the nodeHandle to DOMAdapter mapping a
straight map. The code in getDTMId() is much light-weight than before,
because the complicated stuff is moved to addDOMAdapter() which is only
called once per DTM. In the case where the DTM id runs across several
addressing range (the size of each range is 65536 - an unusal case),
there will be several items in the adapter array for one DTM.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2003/03/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Applying patch for bug 15332 from Igor Hersht (igorh@ca.ibm.com).  Ensure that
patterns of the form processing-instruction() and processing-instruction('name')
are given the right priorities.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2003/03/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Applying patch for bug 15332 from Igor Hersht (igorh@ca.ibm.com).  Ensure that
patterns of the form processing-instruction() and processing-instruction('name')
are given the right priorities.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2003/03/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Applying patch for bug 15332 from Igor Hersht (igorh@ca.ibm.com).  Ensure that
patterns of the form processing-instruction() and processing-instruction('name')
are given the right priorities.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/18<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom 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 xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
XSLTC_DTM performance work

New solution for DOM input. Use SAXImpl + DOM2SAX to handle DOM
input. This is the solution used in the old XSLTC. The DOMImpl
class is completely deprecated. This solution is better
than DOMImpl on top of DOM2DTM for the following reasons:

1. DOM2DTM is known to be slow.
2. DOM2DTM is an incremental model while DOMImpl is not.
3. There are too much code duplication between DOMImpl and SAXImpl

Under the new solution, any improvement to SAXImpl and SAX2DTM2 will
also benefit the DOM case. There is no need to have separate optimizations
for the DOM case.

This solution is a little sophisticated than the old XSLTC solution in
that we borrow some code from DOM2DTM (e.g. handling for id function
and unparsed entity). The end result is that conformance in trax.dom
is better than the old XSLTC.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/03/18<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util VoidType.java<br />
<b>
<i>Committer's log entry: </i>
</b>

 Override definition of Type.POP() in VoidType to return NOP instead of POP.
 If type is void, there's nothing to be popped. This problem shows up when
 invoking an external Java function whose return type is void.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2003/03/19<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/compiler Import.java Include.java Parser.java SyntaxTreeNode.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages_no.java ErrorMessages.java ErrorMsg.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java ErrorMessages_no.java ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Changed XSLTC messages to extend ListResourceBundle, and use String keys to
access messages.  Code used to extend ResourceBundle and used to use integer
indices to access error messages.

Changes from myself and Gordon Chiu (grchiu@uwaterloo.ca).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2003/03/20<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/compiler Import.java Include.java Parser.java SyntaxTreeNode.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages_no.java ErrorMessages.java ErrorMsg.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java ErrorMessages_no.java ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Changed XSLTC messages to extend ListResourceBundle, and use String keys to
access messages.  Code used to extend ResourceBundle and used to use integer
indices to access error messages.

Changes from myself and Gordon Chiu (grchiu@uwaterloo.ca).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2003/03/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java Constants.java DecimalFormatting.java<br />
<b>
<i>Committer's log entry: </i>
</b>
The generated code for xsl:decimal-format used the no argument constructor of
DecimalFormatSymbols, which is affected by the default locale.  The default
attribute values for xsl:decimal-format should not be affected by the default
locale.  Instead, the en_US Locale should be passed to the constructor, as it
has settings that are consistent with the defaults for xsl:decimal-format.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2003/03/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java<br />
<b>
<i>Committer's log entry: </i>
</b>
The generated code for xsl:decimal-format used the no argument constructor of
DecimalFormatSymbols, which is affected by the default locale.  The default
attribute values for xsl:decimal-format should not be affected by the default
locale.  Instead, the en_US Locale should be passed to the constructor, as it
has settings that are consistent with the defaults for xsl:decimal-format.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/03/25<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br />
<b>
<i>Committer's log entry: </i>
</b>

 Fix for Bugzilla 18162. Warnings are still reported if an occurrence of
 xsl:attribute *may* result in a runtime error.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/03/26<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>
Committing patch by Arun Yadav (Arun.Yadav@sun.com) that fixes the problem
of using "." or "-" as part of the name of a parameter (Bugzilla 15636).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/03/26<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler KeyCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Committing patch from Arun Yadav (arun.yadav@sun.com) for Bugzilla
15830. Correct handling for id()/key() values of type result-tree.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/03/31<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>

 New implementation for TemplatesHandlerImpl that does not extend
 xsltc.compiler.Parser. The new implementation has a simpler init()
 method. Also, instances of the new class can be re-used (previously,
 there were problems with the output method when an instance was
 used more than once).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/03/31<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Remove XSLTC's compile time dependency on Xalan.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2003/04/01<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
 New implementation of TemplatesHandlerImpl. Fixes output method problem
 when reusing TemplatesHandler instances.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/01<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.cmdline.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/01<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java DOMCache.java NodeIterator.java Translet.java TransletOutputHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.

1. Remove TransletOutputHandler.java
2. Adapt the XSLTC interfaces to the DTM model.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/01<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>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.util.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/01<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler AbsolutePathPattern.java AncestorPattern.java CastExpr.java Constants.java CopyOf.java DocumentCall.java ForEach.java GenerateIdCall.java IdKeyPattern.java Key.java KeyCall.java Message.java Mode.java NameBase.java NodeTest.java Output.java ParentLocationPath.java Predicate.java ProcessingInstructionPattern.java Step.java StepPattern.java Stylesheet.java SyntaxTreeNode.java UnionPathExpr.java UnparsedEntityUriCall.java ValueOf.java xpath.cup XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.compiler.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/01<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java NodeSetType.java ObjectType.java ReferenceType.java ResultTreeType.java TypeCheckError.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.compiler.util.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/01<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java DOM2TO.java SAX2TO.java TemplatesHandlerImpl.java TransformerHandlerImpl.java TransformerImpl.java XSLTCSource.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.trax.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/01<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXHTMLOutput.java SAXOutput.java SAXTextOutput.java SAXXMLOutput.java StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java StreamUnknownOutput.java StreamXMLOutput.java TransletOutputHandlerFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.runtime.output
Remove the output classes in XSLTC. XSLTC now uses the
output classes in the common serializer.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/01<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java AttributeList.java BasisLibrary.java Constants.java DefaultSAXOutputHandler.java SAXAdapter.java StringValueHandler.java TextOutput.java TransletOutputBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.runtime.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/01<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java AdaptiveResultTreeImpl.java AnyNodeCounter.java Axis.java BitArray.java CollatorFactoryBase.java CurrentNodeListFilter.java CurrentNodeListIterator.java DocumentCache.java DOMAdapter.java DOMBuilder.java DOMImpl.java DOMWSFilter.java DTDMonitor.java DupFilterIterator.java EmptyFilter.java ExtendedSAX.java Filter.java FilteredStepIterator.java FilterIterator.java ForwardPositionIterator.java KeyIndex.java LoadDocument.java MatchingIterator.java MultiDOM.java MultipleNodeCounter.java NodeCounter.java NodeIteratorBase.java NodeSortRecord.java NodeSortRecordFactory.java NthIterator.java SAXImpl.java SimpleResultTreeImpl.java SingleNodeCounter.java SingletonIterator.java SortingIterator.java StepIterator.java StripWhitespaceFilter.java UnionIterator.java XSLTCDTMManager.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Merging XSLTC_DTM and common serializer to the head
Adapt all dom classes in org.apache.xalan.xsltc.dom to
the DTM model.

Removed DOMImpl, DTDMonitor.
Added a few new classes for the new DOM model. The core
DOM class is SAXImpl.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>ilene@apache.org<b>
<i> on </i>
</b>2003/04/02<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>
If there is an error listener registered to a TransformerFactory, and the
stylesheet cannot be compiled, call fatalError, in addition to throwing 
the TransformerConfigurationException.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/04<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>
According to spec http://www.w3.org/1999/11/REC-xslt-19991116-errata/#E27,
when element nodes are used in the instantiated content of attribute, comment
and processing instructions, we should ignore the elements together with
their content.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/07<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Need to override more startElement and endElement interfaces
in AdaptiveResultTreeImpl, because it now extends EmptySerializer,
which has a few more interfaces than the old TransletOutputHandler.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/07<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java SAXImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for a few testcase failures in XSLTC trax.localPath.

Detect the backslash ("\") character in the path in addtional to the
forward slash ('/') in LoadDocument.document().

The XSLTC conformance result in trax.localPath changed from
Pass: 1634/Fail: 14/Errr: 35 to Pass: 1657/Fail: 17/Errr: 9
after this change.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/08<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 17448.
Stylesheet.setIncludingStylesheet() should use _includedFrom
instead of _importedFrom.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2003/04/08<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 another problem related to bug 17448.
Only set the import precedence of an included stylesheet when it
is directly included by this stylesheet. If it is indirectly
included via imports, the import precedence will be different.
<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>Changes for Xalan-Java 2.4.1</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/28<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>
Keep track of parameters for built-in identity transform (needed for
some TCK tests).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/08/29<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java TrAXFilter.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed XSLTCs implementation of XMLFilter
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/08/29<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>
added some check for parents of filter chain
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/30<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for Bugzilla 12125.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/08/30<br />
<b>
<i>Modified: </i>
</b> 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 />
<b>
<i>Committer's log entry: </i>
</b>
bug 12148 fixed, xpath pred and relational expr
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2002/09/09<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/10<br />
<b>
<i>Modified: </i>
</b> 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 />
<b>
<i>Committer's log entry: </i>
</b>
New buffering system for stream output.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/10<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>
Support for Greek alphabet in xsl:number.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/11<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output WriterOutputBuffer.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Set a larger buffer size for Solaris.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/14<br />
<b>
<i>Modified: </i>
</b> 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 />
<b>
<i>Committer's log entry: </i>
</b>
Set different initial sizes for DOMImpl arrays. The new values result
in better performance for the average case.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/15<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Optimized evaluation of //RelativeLocationPath expressions.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/16<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ObjectType.java<br />
<b>
<i>Committer's log entry: </i>
</b>
For XSLTC extension integration. Support creating ObjectType from a Class
object. Add an additional field to store the Class.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/16<br />
<b>
<i>Modified: </i>
</b> 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 />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/16<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>
Support the append attribute in the redirect/output extension.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/16<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>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/16<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler TransletOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Support the append attribute in the output extension element, so that
it behavior is more like redirect:write.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/16<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>
Add a constant string for the redirect namespace.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/16<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>
For extension integration. Allow numeric types to be casted to
Object type.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/16<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>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/16<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>
For extension integration. The nodeset extension function can be used as
node-set in the http://exslt.org/common namespace.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/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>
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>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>
Additional optimizations in expansion of '//'.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/17<br />
<b>
<i>Modified: </i>
</b> 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 />
<b>
<i>Committer's log entry: </i>
</b>
Change default policy for template inlining.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/17<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>
Replaced attribute "disable-inlining" by attribute "enable-inlining".
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/21<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>
Lazy computation of mappings and reverse mappings.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
(1) Synchronize access to static variable.
(2) Pre-allocate static objects for attribute and element types.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Changed setting to speed up DOM building process.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/23<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>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/23<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>
For Bugzilla 12924. Add handling code for DocumentType Node.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/23<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>
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>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/09/25<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>
Use a thread variable to cache an XMLReader.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/26<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java FunctionCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>
EXtension work. Make function-available work with external Java and EXSLT
extension functions.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/26<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/26<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Minor cleanup in class name handling.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2002/09/27<br />
<b>
<i>Modified: </i>
</b> 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 />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2002/09/27<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java<br />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2002/09/27<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Removed a duplicate error message number I inadvertently entered.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/09/27<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>
bugzilla 12813 fixed
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/30<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMsg.java<br />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/30<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util Util.java<br />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/30<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>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/30<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>
Add a wrapper for the noExtName() method in compiler.util.Util.
The transformerFactoryImpl class makes use of it.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/30<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>
The member name _defaultTransletName in TransformerFactoryImpl
has been changed to _transletName.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/09/30<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>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/10/01<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/10/01<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>
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>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/10/04<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Param.java<br />
<b>
<i>Committer's log entry: </i>
</b>
The default type of a &lt;xsl:param&gt; should be result tree.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mkwan@apache.org<b>
<i> on </i>
</b>2002/10/04<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 a problem in class namespace format and also cleanup the indentation.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/06<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Param.java<br />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/08<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 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 />
<b>
<i>Committer's log entry: </i>
</b>
(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>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/08<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ForwardPositionExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Expression wrapper to compute positions properly.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/09<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for Bugzilla 13304.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/10/09<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>
bug fix 12644, Santiago found that the clone iterator was doing a shallow copy
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/14<br />
<b>
<i>Modified: </i>
</b> 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 />
<b>
<i>Committer's log entry: </i>
</b>
(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>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/10/15<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>
bug fix 13550, for multiple &lt;xsl:output&gt; elements, cdata-section-elements attrs are now merged
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/15<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslElement.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/10/15<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
bug fix 12317, serialization of Templates is fixed
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/15<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>
A RuntimeException cannot be constructed from a Throwable with JDKs
prior to 1.4.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/17<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>
Clear dom index flag before passing node to DOMAdapter. Bug reported by
Prakash Sridharan.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/17<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>
Switch order of calls to startElement() and namespace() in startXslElement().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/10/18<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>
bug fix 12308, typeCheck, nodeset to node optimization is turned off if node has context
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/18<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added support for all EBCDIC flavors in xsl:output.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/21<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/output StreamOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Moved EBCDIC support from Output to StreamOutput to ensure correct
serialization of XML header.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/21<br />
<b>
<i>Modified: </i>
</b> 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 />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2002/10/22<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Adding XSLTC_DTM version of file to branch.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2002/10/22<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Whoops!  Checked in file on MAIN branch that was meant for XSLTC_DTM branch.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2002/10/22<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Adding DTM version of ForwardPositionIterator to XSLTC_DTM branch.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>zongaro@apache.org<b>
<i> on </i>
</b>2002/10/22<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Aarrrgggghhhhh\!\!  Checked in file on MAIN branch that was meant for XSLTC_DTM branch, again\!
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/25<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>
Fix for Bugzilla 13826. A problem in reset() was the cause of duplicate
nodes in the resulting nodeset.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/25<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 ReferenceType.java ResultTreeType.java<br />
<b>
<i>Committer's log entry: </i>
</b>
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>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/28<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>

  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>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/29<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LocationPathPattern.java Mode.java Step.java StepPattern.java xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>
Distinguish between child::node() and attribute::node() both in patterns
and expressions. This patch also fixes Bugzilla 11433.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/10/29<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed problem in DOMImpl$ChildrenIterator.getLast(). It now returns 0
when the nodeset is empty.
<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>Changes for Xalan-Java 2.4.0</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/10<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>
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
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/10<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler UnresolvedRef.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Assigned type to _type.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/10<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java AttributeSet.java CallTemplate.java DecimalFormatting.java EqualityExpr.java FormatNumberCall.java Key.java KeyCall.java Parser.java QName.java SymbolTable.java Template.java UseAttributeSets.java VariableBase.java xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed problem with default namespace in XPath expressions and XSLT's
named objects (e.g. templates, keys, variables, etc.).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/10<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed StepPattern production to include named PIs.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/11<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>
Optimized calls to setEscaping().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/11<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Simple code optimizations.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/14<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>
Replaced Vector by ArrayList (synchronization is not needed here).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/14<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>
Fixed looping problem reported by Girish.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/14<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc TransletOutputHandler.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Text.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java StringValueHandler.java TextOutput.java TransletOutputBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added characters(String) to TextOutputHandler.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/14<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>
avoid printing standalone attr if it is set to 'no'
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/14<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for conf test axes113.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/16<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>
fixed a regression in output66 test
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/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>
Fix for attribset49.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/16<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for axes127.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/16<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>
Do not add the standalone attribute to the XML header unless requested.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output DOMOutput.java OutputBase.java SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java StreamOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
New output handlers.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix bug in Attr iterator.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/20<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output HtmlOutput.java StreamOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/20<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
updated new code, on-going development
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
added new methods, on-going
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc TransletOutputHandler.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java SAXAdapter.java TransletOutputBase.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output HtmlOutput.java OutputBase.java StreamOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
New methods added to the translet output handler.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output HtmlOutput.java StreamHTMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Renamed module.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output DOMOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
temporarily moved out of the way
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXOutput.java SAXXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
updated namespace support
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java SAXOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
fixed uninitialized stack
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/22<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Experimental output system.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/22<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/22<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/output TransletOutputHandlerFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Experimental output system.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/23<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/compiler/util ErrorMessages.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added "-n" option to Transform.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/23<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/23<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamUnknownOutput.java StreamXMLOutput.java TransletOutputHandlerFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/23<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamTextOutput.java TransletOutputHandlerFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/23<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Insert XML header at the beginning.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/28<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/28<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>
added sax case support
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/28<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>
updated
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/28<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/output TransletOutputHandlerFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added 'experimental-output' attribute to transformer factory.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/28<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/05/29<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
added processing instruction support
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/29<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Bug fixes after testing.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/29<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added DOCTYPE.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/30<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed problem with 'xmlns' reported as attribute.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/30<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/05/31<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed problem with offset in characters().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/03<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java StreamOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Moved common methods to base classes.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/04<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java StreamOutput.java StreamTextOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
updating work in progress
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/04<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXOutput.java SAXXMLOutput.java StreamXMLOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Updated.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/04<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/04<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Updated.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/04<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>
Fixed problems with id/key.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/04<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXOutput.java SAXXMLOutput.java StreamOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Updated.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/04<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamUnknownOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Updated.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/05<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>
reset output flag
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/05<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>
updated xsl:vendor string
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/05<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>
updated xsl:vendor string
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/05<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>
bug fix 9179, leading zero in localized formatting
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/06<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Include attributes in xsl:message template body.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/07<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Set a new buffer size.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/08<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>
Fixed memory leak in AbstractTranslet and moved replace() method
to BasisLibrary.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/10<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXOutput.java SAXTextOutput.java TransletOutputHandlerFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>
New class.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/10<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>
fixed processing instruction call
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/10<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>
added text case for SAX
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/10<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Typo.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/10<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Do not insert &lt;META&gt;.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/10<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>
Fixed problem in the implementation of setOutputProperties().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/11<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added comment() support.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/11<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<br />
<b>
<i>Committer's log entry: </i>
</b>
added support for comment handling in DOM
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/11<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>
Fixed getTemplates() to return null when compilation fails.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/11<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br />
<b>
<i>Committer's log entry: </i>
</b>
No longer in use.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/11<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/compiler Constants.java Output.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java TextOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXOutput.java StreamHTMLOutput.java StreamUnknownOutput.java StreamXMLOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
New output system installed.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/12<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>
bug fix for copy32.xsl unit test; cdata handling
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/12<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>
Fixed file creation for xsltc:output extension.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/12<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom BitArray.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added default constructor.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/12<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed insertion of META when HEAD is empty.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/13<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom CurrentNodeListIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Replaced eager by lazy computation of last.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/13<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom StepIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Very minor optimization.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/13<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Simple hand optimizations.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java Parser.java Stylesheet.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed layering of output properties in Trax.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/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>
Replaced getProperty() by get() in setOutputProperties().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/18<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Include.java<br />
<b>
<i>Committer's log entry: </i>
</b>
catching file not found exception fixed
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/18<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>
added ability to detect/flag superfluous attributes
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/18<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>
removed commented out code
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/18<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>
fixed bug that passes warnings to listener
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/18<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamUnknownOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added support for XHTML in output system (c.f. embed04).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/18<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>
fixed bug with number formatting, richmark test
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/18<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
fixed escaping of quote in href attribute
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/18<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>
Fixed problem in creation of output handler.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/18<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/output OutputBase.java SAXOutput.java SAXXMLOutput.java StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed problem with cdata-section-elements in xsl:output and namespaces.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/19<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>
fixed nit for Tom
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/19<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
fixed unescaped quote in attribute, namespace110 unit test
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/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>
Ignore default properties in setOutputProperties().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/19<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java StreamHTMLOutput.java StreamOutput.java StreamUnknownOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix to set output properties correctly in the new output system.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/19<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed indentation when output method is HTML.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/19<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamUnknownOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed indentation when output method is HTML.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/20<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>
Rollback to revision 1.39
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/20<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>
whitespace13.xsl fix for trax.dom case
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/20<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>
Fixed regression.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/20<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler NameBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>
_type renamed to _paramType to avoid shadowing of protected vars.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/20<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>
Replaced _type by getType().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java MultiDOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed evaluation of "parent::*" with multiple DOMs.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/21<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 for Bugzilla 9068.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/21<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>
Better fix for Bugzilla 9068.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/24<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>
Fix for Bugzilla 8551.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/24<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>
Fix for Bugzillas 3238 and 10137.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/24<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for Bugzilla 6925.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>2002/06/25<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>
fix check for extension functions
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/25<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util Util.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for function-available() needed to handle XSLTC's extension functions.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/25<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ParentLocationPath.java Step.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for axes122.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/25<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>
Fixed regression.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/26<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>
Fixed bug in clone().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/26<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ElementAvailableCall.java Expression.java FunctionAvailableCall.java If.java LogicalExpr.java When.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added support for function-available()/element-available() in logical
expressions (note that these functions are resolved at compile time
in XSLTC).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/26<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java StreamUnknownOutput.java TransletOutputHandlerFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added 'indent-number' attribute to the transformer factory. The value
of this attribute is the number of spaces that will be used by the
output system when indentation is turned on.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/27<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for node21 and some position tests.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/27<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix problem in copyElement().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/27<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>
Use doubles instead of longs for big ints.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/28<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LongExpr.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util LongType.java<br />
<b>
<i>Committer's log entry: </i>
</b>
removed unused class, compiler will now use doubles
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/06/28<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastExpr.java Constants.java Parser.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util Type.java<br />
<b>
<i>Committer's log entry: </i>
</b>
removed references to the LongExpr classes that were removed
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/28<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Copy namespace nodes of an element in xsl:copy.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/28<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ElementAvailableCall.java FunctionAvailableCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Better error reporting when argument is not a literal.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/06/28<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>
Use a BufferedOutputStream to write classes.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/07/08<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>
fixed conf tests copy21, copy22, expression02, idkey04, numbering91 with introduction of setSystemId on InputSource
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/09<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Compile.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Updated XSLTC's version number from 1.0 to 1.1
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/09<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler AttributeSet.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for Bugzilla 4603 (thanks to Henri Zongaro)
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/09<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>
Print warning message for superfluous attributes that have a null URI only.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/07/09<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Sort.java<br />
<b>
<i>Committer's log entry: </i>
</b>
bug 5941 fixed, &lt;clinit&gt; access chged to ACC_STATIC from ACC_FINAL
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/15<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 TypeCheckError.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Enhanced error reporting in calls to external Java functions.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/07/15<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>
bug 10832 fix, relational expressions with RTFs
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/15<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>
Fix for Bugzilla 9174.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed error message in defineTransletClasses() method.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/17<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for Bugzilla 9171.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/18<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>
Fixed problem in error reporting code.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/18<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>
Ignore default NS when expanding calls to position().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/20<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>
Accept null as a possible return value from URIResolver.resolve()
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/20<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>
Report a decent error when the URI cannot be resolved.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/21<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added a few getters to this class.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/22<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Use the superclass to determine the main class of a translet.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/22<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for Bugzilla 10715.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/23<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamXMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed a regression.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/23<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed for Bugzilla 10625. URIResolvers were being dropped in several places.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/23<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>
Util class for the TrAX package.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/23<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>
Synchronize calls to Stylesheet.translate() using class' lock.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/23<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Ensure synchronization for Templates objects.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/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>
Added safety net to getDOM().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/07/25<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ObjectType.java<br />
<b>
<i>Committer's log entry: </i>
</b>
added new type for support of ext java functions
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/07/25<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc Translet.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastExpr.java FunctionCall.java Parser.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMsg.java NodeSetType.java NodeType.java ReferenceType.java StringType.java Type.java xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>
bug fix 10837, support of ext java functions
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/29<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Expression.java FlowList.java Mode.java StepPattern.java TestSeq.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for Bugzilla 11166.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/30<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 loop exit condition in prepareTestSequences().
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/07/30<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 ReferenceType.java ResultTreeType.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Added type promotion from result-tree to object (used in call to nodeset()).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/07/30<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastExpr.java FunctionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MultiHashtable.java<br />
<b>
<i>Committer's log entry: </i>
</b>
improved selection algorithm for overloaded methods and constructors in ext java funct calls
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/12<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fixed regression of test function-available('xalan:nodeset').
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/12<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>
Use factory class methods to instantiate default decimal formatter.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/12<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>
1. Report attributes with non-empty local names.
2. Ignore attributes reported as content.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/12<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>
Use unmodified URI when retrieving the document via the DOM cache.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/12<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc TransletOutputHandler.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java TextOutput.java TransletOutputBase.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXXMLOutput.java StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java DOM2TO.java SAX2TO.java TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java TransformerHandlerImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
New implementation of identity transform. Fix for Bugzilla 11345.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/08/13<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Expression.java ParameterRef.java VariableRef.java<br />
<b>
<i>Committer's log entry: </i>
</b>
bug fix for bugzilla 11221, MK053
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/08/15<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
bug 11704, fixed ErrorMsg to include name information
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/08/21<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>
fixed bug that was calling an inappropriate compare method when the right side of the comparison was a DOM
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/08/23<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>
fixes conf tests lre02, lre03, lre11, namespace125, namespace126
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/23<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler RelationalExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for bugzilla 11987. Missing case in typeCheck() method.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/23<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>
Very minor optimization.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/08/23<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>
conf test string134 fix
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/23<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for namespace102 (this test worked with Crimson but failed with
Xerces).
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/26<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ResultTreeType.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Removed debugging message.
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/26<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Compile.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Closure.java Constants.java Number.java ParameterRef.java Predicate.java Sort.java SyntaxTreeNode.java Template.java Variable.java VariableRef.java VariableRefBase.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NodeSortRecordFactGenerator.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for Bugzilla 11828. A new closure conversion algorithm has been
designed and implemented. The old algorithm did not work in some edge
cases (c.f. description of Bugzilla 11828). Closure variables in an
inner class are now accessed locally instead of via the AbstractTranslet
class. Also, we have set the new version to be "XSLTC 1.2".
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/27<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Allow the default namespace to be redefined as "".
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/27<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
*** empty log message ***
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>2002/08/27<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>
bug fix for output13 conf test
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>2002/08/27<br />
<b>
<i>Modified: </i>
</b> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>
Fix for Bugzilla 12075.
<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>Changes for Xalan-Java 2.3.2</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>02/21/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 6417, removed extra root element in DOM,
 contributed by Tim Elcott<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>02/21/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-beta-branch SAX2DOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>fix DOMResult SOAP bug 4641035<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>02/26/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 6636, Transformers forgets output properties
 fix contributed by Tim Elcott (bigfoot.com)<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>02/28/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 6751, null properties are now set properly,
 fix contributed by Derek Sayeau- thanks Derek.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/01/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TransletLoader.java<br />
<b>
<i>Committer's log entry: </i>
</b>Tomcat 4.x external Java class bug fix, Tomcat 4.x
 could not find external java classes, contrib by Santiago Pericas<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/01/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Tomcat 4.x external Java class bug fix, Tomcat 4.x
 could not find external java classes, contrib by Santiago Pericas<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/01/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-beta-branch TransletLoader.java<br />
<b>
<i>Committer's log entry: </i>
</b>bugtraq #4644811, Tomcat and ext java classes, Santiago Pericas<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/01/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-beta-branch TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>bugtraq #4644811, Tomcat and ext java classes, Santiago Pericas<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/01/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-beta-branch TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>backed out chg<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/01/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-beta-branch TemplatesImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>bugtraq #4644811, Tomcat and ext java classes, Santiago Pericas<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/04/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom SortingIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 6693- fix by Santiago Pericas, implement a
 iterator clone method.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/05/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java
 SAX2DOM.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 6620 fix: DOMSource no longer requires
 Document nodes, fix contrib by Santiago Pericas-Geersten<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/05/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>re-entered bug fix 6751, last putback inadvert.
 removed this fix<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/06/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fixes for 6257,6851,6665,6809; Santiago Pericas-Geerston<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/06/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 6850, Santiago Pericas-Geerston<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/07/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TemplatesHandlerImpl.java
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 6312, TemplatesHandler and XMLReader, fix
 by Santiago Pericas<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>03/11/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler StepPattern.java<br />
<b>
<i>Committer's log entry: </i>
</b>just minor change to syntax<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>03/11/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java
 java/src/org/apache/xalan/xsltc/dom UnionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>fix 5573 for XSLTMark alphabetize test<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>03/11/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom
 CurrentNodeListIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>fix bug 5577 XSLTMark trend test<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>03/11/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Step.java<br />
<b>
<i>Committer's log entry: </i>
</b>got rid of call to forceNaturalOrder code, Santiago Pericasgeersten<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>03/11/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Expression.java<br />
<b>
<i>Committer's log entry: </i>
</b>fix XSLTMark test dbonerow slow performance, Santiago P.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/12/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 FormatNumberCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 6692, fix by Santiago Pericas-Geersen<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/12/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 ProcessingInstruction.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 5141, fix by Santiago Pericas-Geersen<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/12/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 StringValueHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 5141, fix by Santiago Pericas-Geersen<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/12/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util Util.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 6413, fix by Santiago Pericas-Geersen<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/13/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 6963, omit header needs to be set before output
 occurs, fix by Santiago Pericas-Geersen<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/14/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 ParentLocationPath.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 5576, had to add a new test case in translate()
 to set includeself for step iterator, thanks to Santiago Pericas-Geersen<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/15/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 6819, variables translated before attrs to fix
 problems with dependency, fix by Santiago Pericas-Geertsen<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/18/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 6935, fixed char escaping in non-URL HTML
 attribute case; also added recognition for URL escaping in HTML4 cite attrs.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/19/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>fix for unit test customer/murphy3.xsl<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/27/2002<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/dom ExtendedSAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 2951, new class<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/27/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMBuilder.java
 DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 2951 fix<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/27/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 2951 fix<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>03/28/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix for output31, output32 tests, esc chars<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/02/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 7679, xsl:vendor fix<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/03/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch ApplyTemplates.java
 Constants.java Expression.java
 FormatNumberCall.java LiteralElement.java
 ParentLocationPath.java Parser.java
 ProcessingInstruction.java Step.java
 StepPattern.java Stylesheet.java SymbolTable.java
 SyntaxTreeNode.java XslAttribute.java
 XslElement.java
 java/src/org/apache/xalan/xsltc/compiler/util Tag:
 jaxp-ri-1_2_0-fcs-branch Util.java
 java/src/org/apache/xalan/xsltc/dom Tag:
 jaxp-ri-1_2_0-fcs-branch
 CurrentNodeListIterator.java DOMBuilder.java
 DOMImpl.java SortingIterator.java
 UnionIterator.java
 java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-fcs-branch AbstractTranslet.java
 BasisLibrary.java Constants.java
 DefaultSAXOutputHandler.java SAXAdapter.java
 StringValueHandler.java TextOutput.java
 TransletLoader.java
 java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-fcs-branch DOM2SAX.java SAX2DOM.java
 TemplatesHandlerImpl.java TemplatesImpl.java
 TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/dom Tag:
 jaxp-ri-1_2_0-fcs-branch ExtendedSAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>merged the latest xsltc subtree with the xalan 2.3.1 fcs branch<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/04/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed problem with attribute URI<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/04/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for bugzilla 7721<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/04/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix related to bugzilla 7721<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/05/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-fcs-branch DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed attr namespace.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/05/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-fcs-branch SAX2DOM.java
 TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed problem when a DOMResult is created with a root node.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/05/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch FunctionCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>Bugzilla 7721.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/08/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>Add support for user-specified root node.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/08/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Add support for user-specified root node.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/09/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch FunctionAvailableCall.java
 FunctionCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 7375 fixed, handles ext java functions now<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/09/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-fcs-branch SAX2DOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed regression.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/09/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>Regression fixed.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/15/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-fcs-branch TemplatesHandlerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 8017, translet class name fixed in getTemplates<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/15/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch AttributeValue.java
 AttributeValueTemplate.java Number.java
 XslAttribute.java XslElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>New implementation of xsl:element<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/15/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-fcs-branch BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>New implementation of xsl:element<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/15/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom Tag:
 jaxp-ri-1_2_0-fcs-branch DOMAdapter.java
 DOMImpl.java MultiDOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>New implementation of xsl:element<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>Tom.Amiro@Sun.COM<b>
<i> on </i>
</b>04/15/2002<br />
<b>
<i>Committer's log entry: </i>
</b>
&gt; bug 8017, translet class name fixed in getTemplates
&gt;
&gt;<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/16/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TemplatesHandlerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 8017, translet class name fixed in getTemplates<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/16/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom Tag:
 jaxp-ri-1_2_0-fcs-branch DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Check for localName == null.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/16/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch Include.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 7835, patch from Stefan Kost to better handle
 empty strings and local paths in xsl:include<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/16/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Include.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 7835, integrated patch by Stefan Kost which
 better handles empty strings and local paths in xsl:include<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/16/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch DocumentCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>Santiago: fixed type check error when 2nd arg (base-uri) is node instead
 of node-set.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mmidy@apache.org<b>
<i> on </i>
</b>04/17/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag: XSLTC_DTM
 Mode.java<br />
<b>
<i>Committer's log entry: </i>
</b>get rid of debug line<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/17/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch FunctionCall.java
 Parser.java Stylesheet.java SyntaxTreeNode.java
 XSLTC.java xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>Added support for extension function nodeset().<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/17/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom Tag:
 jaxp-ri-1_2_0-fcs-branch DOMAdapter.java
 DOMImpl.java MultiDOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added support for extension function nodeset().<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/17/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-fcs-branch BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added support for extension function nodeset().<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/18/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch CastExpr.java
 java/src/org/apache/xalan/xsltc/compiler/util Tag:
 jaxp-ri-1_2_0-fcs-branch ReferenceType.java
 java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-fcs-branch BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed problem with extension function nodeset() and parameters.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>mmidy@apache.org<b>
<i> on </i>
</b>04/18/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM
 SAXAdapter.java<br />
<b>
<i>Committer's log entry: </i>
</b>Pass in the local name of the element<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/19/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch FunctionAvailableCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>JAVA_EXT_PREFIX renamed to JAVA_EXT_XSLTC<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/22/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util Tag:
 jaxp-ri-1_2_0-fcs-branch MethodGenerator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed bug in addLocalVariable() when the slot allocator was already 
initialized.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/22/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch ElementAvailableCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added namespace support to the implementation of element-available().<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/22/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch LiteralExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>


<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/22/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>Namespace support for element-available().<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/22/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed bug in resolveReferences().<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/23/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-fcs-branch TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>escaped character handling improved by Santiago<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/23/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-fcs-branch TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>escaped character handling improved by Santiago, again<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/23/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util Tag:
 jaxp-ri-1_2_0-fcs-branch ErrorMessages.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed command line synopsis.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/24/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc DOM.java
 java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java
 AttributeValue.java AttributeValueTemplate.java
 CastExpr.java Constants.java DocumentCall.java
 ElementAvailableCall.java Expression.java
 FormatNumberCall.java FunctionAvailableCall.java
 FunctionCall.java Include.java LiteralElement.java
 LiteralExpr.java Number.java
 ParentLocationPath.java Parser.java
 ProcessingInstruction.java Step.java
 StepPattern.java Stylesheet.java SymbolTable.java
 SyntaxTreeNode.java XSLTC.java XslAttribute.java
 XslElement.java xpath.cup
 java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java MethodGenerator.java
 ReferenceType.java Util.java
 java/src/org/apache/xalan/xsltc/dom
 CurrentNodeListIterator.java DOMAdapter.java
 DOMBuilder.java DOMImpl.java ExtendedSAX.java
 MultiDOM.java SortingIterator.java
 UnionIterator.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java BasisLibrary.java
 Constants.java DefaultSAXOutputHandler.java
 SAXAdapter.java StringValueHandler.java
 TextOutput.java TransletLoader.java
 java/src/org/apache/xalan/xsltc/trax DOM2SAX.java
 SAX2DOM.java TemplatesHandlerImpl.java
 TemplatesImpl.java TransformerFactoryImpl.java
 TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Commit after syncing trunk with branch jaxp-ri-1_2_0-fcs-04.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/25/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java<br />
<b>
<i>Committer's log entry: </i>
</b>updated compiler usage statement<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/25/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br />
<b>
<i>Committer's log entry: </i>
</b>added a -v option to compiler,prints out version<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/25/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java<br />
<b>
<i>Committer's log entry: </i>
</b>updated cmdline.Transform usage statement<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/25/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.lex<br />
<b>
<i>Committer's log entry: </i>
</b>Added support for the full Unicode char set.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/25/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util Util.java<br />
<b>
<i>Committer's log entry: </i>
</b>Replacing '/' by '$slash$' and ':' by '$colon$' in escape() (bugzilla 6289)<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/26/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Compile.java
 java/src/org/apache/xalan/xsltc/compiler XSLTC.java
 java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added -n option to disable template inlining. This is useful to avoid
 getting very long methods (the limit set by the JVM is 64K). The same
 option can be passed to a TransformationFactory via Trax using
 the "disable-inlining" attribute.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/26/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler VariableBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added check to avoid duplicate dependencies.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/26/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Constants.java
 FilterParentPath.java ParentLocationPath.java<br />
<b>
<i>Committer's log entry: </i>
</b>Replaced STEP_ITERATOR by NODE_ITERATOR_BASE when calling includeSelf().<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/26/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Ensured that global vars are initialized in the order in which they
 were defined, whenever possible. This order may be altered due to
 the existence of dependencies between the vars.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/29/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler FunctionCall.java
 java/src/org/apache/xalan/xsltc/compiler/util
 ReferenceType.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a type mapping between 'reference' and 'java.lang.Object' and
 vice versa. With this addition, a stylesheet can pass a parameter
 to an external Java function without getting a type check error.
 (see Bugzilla 8595).<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>04/29/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>fixed null ptr exception with sax sources that did
 not specify an xml reader<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/29/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed Bugzilla 8489.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>04/30/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util Util.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed a bug in replace() by writting a new (and more efficient) version.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>Tom.Amiro@Sun.COM<b>
<i> on </i>
</b>04/30/2002<br />
<b>
<i>Committer's log entry: </i>
</b>
&gt; Fixed a bug in replace() by writting a new (and more efficient) version.
&gt;
&gt;<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>05/02/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerHandlerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed file-not-found problem with flavor=trax.sax by propagating
 the systemId.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>05/03/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed for Bugzilla 2886 (node15).<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>05/03/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
 Include.java Stylesheet.java TestSeq.java
 XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>Disabling template inlining for included stylesheets.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>05/06/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 AncestorPattern.java Mode.java ParentPattern.java
 StepPattern.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed a few problems with ancestor patterns (//) and patterns with
 explicit priorities.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>05/06/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Rewrote a couple of if statements as if expressions.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>05/06/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 VariableBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>Better error reporting for syntax errors in XPath expressions.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>05/06/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for Bugzilla 8041.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>05/06/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java ErrorMessages_no.java
 ErrorMsg.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for Bugzilla 8041.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>santiagopg@apache.org<b>
<i> on </i>
</b>05/06/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 AbsolutePathPattern.java AncestorPattern.java
 ParentPattern.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for Bugzilla 2836 (modes15).<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>05/08/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>fixes a set of trax.dom conf tests<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>05/08/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>fixes a set of trax.dom conf tests<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>Changes for Xalan-Java 2.3 and 2.3.1</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>01/24/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 1520 fix, escape chars over 0080 instead of 00FF<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>01/24/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 1520, adjusted 0080 to 007F in ASCII cutoff<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>02/01/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 AttributeValueTemplate.java
 AbsoluteLocationPath.java AbsolutePathPattern.java
 AlternativePattern.java AncestorPattern.java
 ApplyImports.java ApplyTemplates.java
 AttributeSet.java BooleanCall.java BinOpExpr.java
 BooleanExpr.java CallTemplate.java CastExpr.java
 CeilingCall.java Choose.java Comment.java
 DecimalFormatting.java ConcatCall.java
 Constants.java ContainsCall.java Copy.java
 CopyOf.java CurrentCall.java DocumentCall.java
 EqualityExpr.java Import.java If.java
 ElementAvailableCall.java Expression.java
 Fallback.java FilterExpr.java FilterParentPath.java
 FloorCall.java FlowList.java ForEach.java
 FormatNumberCall.java FunctionAvailableCall.java
 FunctionCall.java GenerateIdCall.java
 IdKeyPattern.java Include.java IntExpr.java
 Key.java KeyCall.java LangCall.java LastCall.java
 LiteralAttribute.java LiteralElement.java
 LiteralExpr.java LocalNameCall.java
 NamespaceAlias.java LogicalExpr.java Message.java
 Mode.java NameBase.java NameCall.java
 NamespaceUriCall.java NotCall.java Number.java
 NumberCall.java Output.java Param.java
 ParentLocationPath.java ParameterRef.java
 ParentPattern.java PositionCall.java
 RelationalExpr.java Predicate.java Sort.java
 ProcessingInstruction.java RealExpr.java
 VariableRef.java RoundCall.java ValueOf.java
 SimpleAttributeValue.java StartsWithCall.java
 Stylesheet.java StringCall.java
 StringLengthCall.java StepPattern.java
 Template.java TestSeq.java Text.java
 TopLevelElement.java TransletOutput.java
 UnaryOpExpr.java UnionPathExpr.java
 UnparsedEntityUriCall.java UseAttributeSets.java
 LongExpr.java Variable.java Whitespace.java
 XslAttribute.java WithParam.java XSLTC.java
 XslElement.java UnsupportedElement.java
 VariableBase.java VariableRefBase.java
 FilteredAbsoluteLocationPath.java
 SyntaxTreeNode.java Step.java UnresolvedRef.java
 ProcessingInstructionPattern.java<br />
<b>
<i>Committer's log entry: </i>
</b>changed de.fub.bytecode to org.apache.bcel<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>02/01/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 NamedMethodGenerator.java NodeCounterGenerator.java
 NodeSetType.java NodeSortRecordGenerator.java
 NodeType.java RealType.java ReferenceType.java
 ResultTreeType.java RtMethodGenerator.java
 SlotAllocator.java StringType.java
 TestGenerator.java Util.java LongType.java<br />
<b>
<i>Committer's log entry: </i>
</b>changed de.fub.bytecode to org.apache.bcel<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>02/01/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 AttributeSetMethodGenerator.java BooleanType.java
 ClassGenerator.java CompareGenerator.java
 FilterGenerator.java IntType.java
 MatchGenerator.java MethodGenerator.java
 MethodType.java Type.java VoidType.java<br />
<b>
<i>Committer's log entry: </i>
</b>changed de.fub.bytecode to org.apache.bcel<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>02/05/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 1520, spec chars in href attributes<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>02/07/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug 1520, updating href attr spec char handling<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>02/13/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 6189, ArrayIndexOutOfBoundsException, contrib
 by Mirko Seifert<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>02/14/2002<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc
 javax.xml.transform.TransformerFactory<br />
<b>
<i>Committer's log entry: </i>
</b>added a service provide source file to be copied into
 xsltc.jar (bundled jar)<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>Changes for Xalan-Java 2.2</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>A fix to the XPath parser to make sure (again!) that non-prefixed elements
 in XPath expressions/patterns are not assigned the default namespace but
 rather the null namespace.
 PR: bugzilla 4904
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Modified the order in which top-level elements are parsed. This to make sure
 that xsl:namespace-alias elements are parsed before xsl:import and include,
 so that namespace aliases are global to all included stylesheets.
 PR: bugzilla 4876
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/04/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Predicate.java
 xpath.lex<br />
<b>
<i>Committer's log entry: </i>
</b>


<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/04/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc NodeIterator.java
 java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
 CurrentNodeListIterator.java DOMImpl.java
 FilterIterator.java FilteredStepIterator.java
 KeyIndex.java MatchingIterator.java MultiDOM.java
 NodeIteratorBase.java NthIterator.java
 StepIterator.java UnionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for the various node iterators cloneIterator() method. This method
 should clear the _isRestartable flag to prevent iterators contained within
 variables and parameters from changing their value. This flag is now wrapped
 inside a setRestartable(boolean flag) method so that the call can be
 propagated down a stack of iterators. This seems to solve many of our
 iterator problems.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apaceh.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/04/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler SyntaxTreeNode.java
 XslElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a method to the SyntaxTreeNode base class that can be used to check
 the existence of an attribute in the input document: hasAttribute(String 
name).
 This method is used in the XslElement class to verify the existence of a
 'namespace' attribute with an empty value.
 PR: bugzilla 4983
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/04/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Updated the realToString() method in the runtime library to always output
 numbers on decimal form (and not on Java's "computerized scientific notation."
 PR: bugzilla 4199
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/04/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 RoundCall.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changed the return-type of the round() function form int to double. The result
 is still rounded (of course), but it is returned as a double to be able to
 return NaN and infinite values.
 PR: bugzilla 2805
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br />
<b>
<i>Committer's log entry: </i>
</b>I am still fiddling around with predicates containing variable references
 and position filters.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.lex<br />
<b>
<i>Committer's log entry: </i>
</b>Reverting previous putback.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Output.java
 java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java ErrorMessages_no.java
 ErrorMsg.java
 java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a warning message for unsupported output encodings.
 PR: bugzilla 5139
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.lex<br />
<b>
<i>Committer's log entry: </i>
</b>fixed typo<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/10/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for global parameters whose names contain dots or dashes.
 PR: bugzilla 5328
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/10/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for a bug in the XPath parser. The parser would choke on some XPath
 expressions that contained references to element names that were identical
 to axis names.
 PR: bugzilla 3502
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/10/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added another fix to properly convert ver small floating point numbers to
 strings.
 PR: bugzilla 4199
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/10/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a fix for global variables declared in included/imported stylesheets.
 PR: bugzilla 5327
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/10/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 MethodGenerator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for use of XPath expressions in contexts where there is no 'current'
 node (ie. in top-level elements such as variables and attribute sets).
 PR: bugzilla 5194
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added factory creation methods and checks<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>new prototype class, work in progress<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added factory creation methods and checks<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>new prototype class, work in progress<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 ResultTreeType.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for passing result tree fragments and node-sets to external Java
 methods. Node sets and RTFs can both be handled as org.w3c.dom.Node or
 org.w3c.dom.NodeList in the called method.
 PR: none
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added factory creation methods and checks<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>new prototype class, work in progress<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added factory creation methods and checks<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>new prototype class, work in progress<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 ResultTreeType.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for passing result tree fragments and node-sets to external Java
 methods. Node sets and RTFs can both be handled as org.w3c.dom.Node or
 org.w3c.dom.NodeList in the called method.
 PR: none
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added factory creation methods and checks<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>new prototype class, work in progress<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added factory creation methods and checks<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>new prototype class, work in progress<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added factory creation methods and checks<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>new prototype class, work in progress<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>look for xsltc specific attributes<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>store error listener and or uri resolver locally
 set in real factory when needed<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>12/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>fixed scope of internal method<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed some stupid debug timing-loop in the command line Transform tool.
 PR: none
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed the main() method from the XSLTC class. This class represents the
 native API of the compiler.
 PR: none
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>12/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Transform.java
 java/src/org/apache/xalan/xsltc/dom DTDMonitor.java<br />
<b>
<i>Committer's log entry: </i>
</b>A small cleanup in our native API.
 Submitted by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>01/07/2002<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>fixed problem with output content handler creation
 (while running xalan conf tests) in method getOutputHandler(Result).<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>Changes for Xalan-Java 2.2.D14</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed bug for xsl:attribute
 PR: 4175
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for properly creating a SAX InputSource from a TrAX InputStream for
 encapsulating a stylesheet before it is compiled.
 PR: bugzilla 4711 (I hope to God)
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for last putback.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>This fix should take care of a regression introduced by the code that was
 added on the 29.10.2001 to take care of forward referenced variables.
 This little patch ensures that variables that do not have any dependencies
 are kept in order.
 PR: bugzilla 4779
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/14/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed a minor regression after the fix for 3592. A literal number zero was
 always interpreted as an integer zero and never as a double -0 opr 0.0.
 PR: bugzill 4810
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/15/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the code that prevents escaping of text inside &lt;script&gt; and &lt;style&gt;
 elements in HTML. The code did not handle upper case element names.
 PR: bugzilla 2517
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>11/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 4906<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java
 Template.java xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for nested parent location paths / filter parent paths with key() or
 id() root. These paths would in some case returnt he root node when they
 should not.
 PR: bugzilla 4781
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Sort.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for a big in the &lt;xsl:sort&gt; implementation. The element would not always
 work properly in the innermost loop in nested &lt;xsl:for-each&gt; elements.
 PR: bugzilla 4921
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/21/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java
 Sort.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for a regression introduced by a fix for &lt;xsl:sort/&gt; and nested
 &lt;xsl:for-each/&gt; elements.
 PR: bugzilla 4921
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/21/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to ensure that double quotes are escaped inside attribute values in
 HTML output.
 PR: bugzilla 4845
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/21/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for a bug caused by &lt;xsl:apply-templates/&gt; not always passing parameters 
to
 the invoked template(s). Parameters would not be put on the stack if the
 'select' attribute contained wildcards.
 PR: bugzilla 4718
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/21/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 StringType.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed conversion between strings and numbers. Empty strings should return
 0 and not NaN.
 PR: bugzilla 4783
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/22/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Choose.java
 Parser.java SyntaxTreeNode.java Text.java
 java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for a whole wack of bugs related to text-nodes and handling of whitespace
 and special characters.
 PR: bugzilla 1403, 1520, 3005, 3418 and 3690
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/22/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Prevented the namespace-uri() from returning anything for namespace nodes.
 PR: bugzilla 4896
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/22/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added test in &lt;xsl:element&gt; to verify that the local name of the created
 element is legal (must have contents, but no whitespaces or colon).
 PR: bugzilla 4894
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/22/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>A small fix for the substring() function to output an empty string if the
 start index is an infinite value.
 PR: bugzilla 4813
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/22/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Constants.java
 Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for XHTML output.
 PR: bugzilla 4904
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/22/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Message.java<br />
<b>
<i>Committer's log entry: </i>
</b>A cleanup in the Message class. Making way for a fix for 4874
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for position predicates used within parameters and variables.
 PR: bugzilla 4783
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br />
<b>
<i>Committer's log entry: </i>
</b>A small fix needed after a fix for stripping/preserving text nodes. The fix
 for text-nodes caused us to insert text nodes before &lt;xsl:attribute&gt; elements
 in the AST, which again caused the XslAttribute class to complain.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc DOM.java
 java/src/org/apache/xalan/xsltc/compiler Message.java
 java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
 DOMImpl.java MultiDOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a new method to the DOM interface for retrieving the DOM as a single
 string. This method is different from the existing getStringValue() in the
 way that it generates element brackets and copies PIs and comments.
 PR: bugzilla 4874
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 FilteredStepIterator.java StepIterator.java
 UnionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Updated the StepIterator and FilteredStepIterator's cloneIterator() and
 reset() methods so that the _isRestartable flag is set correctly.
 PR: bugzilla 4905
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>Another fix for 3005 (special characters inside CDATA).
 PR: bugzilla 3005
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for decimal formatting
 PR: bugzilla 4901
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler AttributeSet.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for a regression introduced by a fix for whitespace handling.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler FilterExpr.java
 Predicate.java VariableRefBase.java
 java/src/org/apache/xalan/xsltc/dom
 CurrentNodeListIterator.java DOMImpl.java
 FilteredStepIterator.java KeyIndex.java
 MatchingIterator.java MultiDOM.java
 NthIterator.java StepIterator.java
 UnionIterator.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for trees of step iterators stored inside variables.
 Also some fixes for recently introduced regressions.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.iorg<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/29/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for the TrAX API when used from within an environment that does _not_
 use one of the standard classloaders.
 PR: bigzilla 5130
 Obtained from: n/a
 Submitted by: Jochen.Cordes@t-online.de
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/29/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Sort.java
 java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for multilevel sort-keys. If a set of translets (representing different
 stylesheets) are running one the same JVM, and two or more of these translets
 use NodeSortRecord objects to represent &lt;xsl:sort/&gt; elements, then the number
 of sort keys would be set in the NodeSortRecord _class_ constructor instead of
 being set locally for each occurance of &lt;xsl:sort/&gt;.
 PR: bugzilla 4755
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/29/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler CastExpr.java
 EqualityExpr.java Expression.java LastCall.java
 Predicate.java VariableRefBase.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 StepIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for resetting the source iterator of a node-value iterator.
 PR: bugzilla 5152
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/29/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 DecimalFormatting.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for a few regressions from yesterday.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>A fix to the XPath parser to make sure (again!) that non-prefixed elements
 in XPath expressions/patterns are not assigned the default namespace but
 rather the null namespace.
 PR: bugzilla 4904
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Modified the order in which top-level elements are parsed. This to make sure
 that xsl:namespace-alias elements are parsed before xsl:import and include,
 so that namespace aliases are global to all included stylesheets.
 PR: bugzilla 4876
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>Changes for Xalan-Java 2.2.D12 and 2.2.D13</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changed the values for the output properties "OMIT_XML_DECLARATION" and
 "INDENT" from "true" and "false" to "yes" and "no".
 PR: bugzilla 4039
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Updated the getAttribute() method to throw an IllegalArgumentException
 for unknown attributes.
 PR: bugzilla 4046
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler NameBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed a bug in the name() and local-name() functions. The functions would
 use the current node and not the context node when no arguments were given.
 PR: bugzilla 3322
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Updated Mode.java to properly handle patterns matching on node(), comment() 
and
 processing-instruction(). Also had to make a small change to the 
setStartNode()
 method in the FollowingIterator (inner class of DOMImpl.java) to properly
 handle attribute-nodes as start nodes. Also, I had to change 
ParentLocationPath
 to remove duplicates that can be produced by the FollowingIterator when
 started with an attribute node.
 PR: bugzilla 2551
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>A small for for the output property OMIT_XML_DECLARATION
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to the transformer implementation to allow for namespace-prefixed
 output properties (output property extensions).
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>10/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br />
<b>
<i>Committer's log entry: </i>
</b>included a more portable way to create an URI from a File<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>10/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br />
<b>
<i>Committer's log entry: </i>
</b>ncluded a more portable way to create an URI from a File<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>10/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>ncluded a more portable way to create an URI from a File<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>10/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>ncluded a more portable way to create an URI from a File<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/15/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java
 ParentLocationPath.java Parser.java
 RelationalExpr.java SyntaxTreeNode.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for a few regressions.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/15/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for the "*" pattern. Made it include comment and PI nodes.
 PR: bugzilla 4050
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/15/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for the last fix.
 PR: bugzilla 4050
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/15/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for the last fix.
 PR: bugzil.la 4050
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>10/15/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added catch for malformed url<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>Modified error handling to extract messages from SAXException. This tool
 will also print the stack trace of the SAXException if the '-x' flag is
 specified (debug turned on).
 PR: none
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added code to prevent index-out-of-bounds exception in the output handler.
 PR: none
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc DOM.java
 java/src/org/apache/xalan/xsltc/compiler XSLTC.java
 xpath.cup
 java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
 DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added support for the namespace axis.
 PR: bugzilla 1379
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java<br />
<b>
<i>Committer's log entry: </i>
</b>Missing file from last putback.
 PR: bugzilla 1379
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>A few add'ons to the namespace axis implementation. Added support for
 the namespace-uri() function when applied to namespace nodes.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Code cleanup.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to prevent attribute nodes to be included by the node() pattern.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for the following:: iterator when started with an attribute node.
 PR: bugzilla 2551
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
 Mode.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix to a recent regression after a fix for some axis iterators.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup xpath.lex<br />
<b>
<i>Committer's log entry: </i>
</b>Added 4 symbols to the lexiographical analyser (xpath.lex) to recognise
 name-tests with whitespace between the NCName and the "()" brackets.
 PR: bugzilla 4208
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to prevent xsl:attributes from not compiling itself into the translet 
code.
 PR: bugzilla 4175
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 FilterParentPath.java<br />
<b>
<i>Committer's log entry: </i>
</b>Enabled node ordering for certain filtered parent paths.
 PR: bugzilla 4178
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changed the node sort record base class so that it places NaN values first
 in the sorted list/node-set.
 PR: bugzilla 3517
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changed the DOM's copy() function to always copy the necessary namespace
 declaration to the output handler.
 PR: bugzilla 3409 (not complete fix)
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler CallTemplate.java
 DecimalFormatting.java Param.java SymbolTable.java
 Template.java Variable.java VariableBase.java
 WithParam.java
 java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java<br />
<b>
<i>Committer's log entry: </i>
</b>Cleaned up the compiler's symbol table. Added support for detecting multiple
 defined decimal formatting symbols.
 PR: bugzilla 3872
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler CallTemplate.java
 Template.java VariableBase.java WithParam.java
 XSLTC.java
 java/src/org/apache/xalan/xsltc/compiler/util Util.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added/checked proper escaping of 
template/variable/parameter/attribute-set/etc.
 names. Occurances of the characters '.' and '-' are replaced by '$dot$' and
 '$dash$' respectively in method/variable names. The characters are both
 replaced by an underbar ('_') in the translet class name.
 PR: 2399
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for getting all attributes from the Xerces parser. Xerces and Crimson
 report attributes differently, and we have to take that into account.
 PR: bugzilla 2465
 Obtained from: n/a
 Submitted by: Douglas Sellers &lt;douglasjsellers@hotmail.com&gt;
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 FilterParentPath.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added node ordering to FilterParentPath
 PR: bugzilla 4248
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changed one of the compare() methods in the basis library to properly
 compare node sets.
 PR: bugzilla 4242
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the registerAttribute() method so that it always uses the same
 id for an attribute name.
 PR: bugzilla 4243
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Removed: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Param.java.orig<br />
<b>
<i>Committer's log entry: </i>
</b>Removed file Param.java.orig
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 VariableBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changed the variable base class to allow variables to be re-defined in
 a different scope.
 PR: bugzilla 3268
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a node-value iterator to the DOM multiplexer to allow for predicates
 in combination with the document() function.
 PR: bugzilla 3402
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for variables and parameters containing node sets in stylesheets that
 use the document() function. This fix completes the cloneIterator() method
 of the axis iterators returned by the DOM multiplexer.
 PR: bugzilla 3501
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added the default xml=http://www.w3.org/XML/1998/namespac namespace
 declaration to the root node of our internal DOM.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom LoadDocument.java
 MultiDOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for determining the current working directory when loading XML
 documents using the document() function. The base URI (that gives you
 the CWD) should normally be taken from the context node, but can also
 be determined by the node/node-set defining the document URI.
 PR: bugzilla 3471
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Gave the parent/sibling stacks in the DOM builder dynamic length.
 PR: bugzilla 3066
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a '-i' option to the command-line compiler to allow stylesheets to be
 passed in through stdin. The '-i' option must be used with the '-o' option
 to specify a translet name.
 PR: bugzilla 4253
 Obtained from: n/a
 Submitted by: johnh@schemasoft.com (John Howard)
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Include.java
 Stylesheet.java XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>Cleaned up the include/import precedence code in Import and Include
 PR: bugzilla 2695
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/22/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed output formatting of some floating point numbers.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/22/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for logical expressions that have combinations of not() and "and".
 PR: bugzilla 2351
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>10/22/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added a empty string systemId in cases where it was
 set to null, slight rearrangment of StreamSource handling code as well.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java<br />
<b>
<i>Removed: </i>
</b>java/src/org/apache/xalan/xsltc/compiler header.txt<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for names templates. Dashes and dots in template names are now
 escaped using '$dash$' and '$dot$'.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for a recent regression. A no major change. Just a one-line if to
 test for a potential NPE.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
 Mode.java Stylesheet.java Template.java<br />
<b>
<i>Committer's log entry: </i>
</b>A major fix for &lt;xsl:apply-imports/&gt;. This element was previously treated
 as &lt;xsl:apply-templates/&gt; but is now handled similar to Java's 'super()'
 method. Note that this is not a complete fix. The rest will come tomorrow
 or the day after. I just wanted to make sure that today's efforts were not
 lost and that they are tested overnight.
 PR: bugzilla 1397
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
 DocumentCall.java Stylesheet.java
 SyntaxTreeNode.java
 java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the document() function so that it will load documents relative to
 either the currently loaded document, or if that fails, relative to the
 location of the original stylesheet.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerHandlerImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the TransformerHandler so that it's Transformer instance can be used
 separateely from the handler itself.
 PR: bugzilla 3873
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Import.java
 Include.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for resulving relative URIs when using &lt;xsl:include/&gt; and &lt;xsl:import/&gt;
 through TrAX without using a URIResolver.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for a bug that seemed to be triggered by the sequence in which Xerces'
 lexical handler and content handler were set. The lexical handler must be
 set before the content handler, otherwise Xerces will keep generating the
 first startElement() event over and over again.
 PR: bugzilla 2465
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the general handling of the XML namespace mapping.
 PR: bugzilla 4331
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
 Mode.java Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for setting the scope of templates for an &lt;xsl:apply-imports/&gt; element.
 This fix allows for proper "multiple inheritance" in XSLTC.
 PR: bugzilla 1397
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to ensure that the order of the -o and -p command line options is
 not significant.
 PR: bugzilla 4343
 Obtained from: n/a
 Submitted by: johnh@schemasoft.com (John Howard)
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changed our extension for calling external static Java methods to allow
 both the "http://xml.apache.org/xalan/xsltc/java" namespace and the
 "http://xml.apache.org/xslt/java" namespace (Xalan's namespace for Java
 function calls).
 PR: bugzilla 3994
 Obtained from: n/a
 Submitted by: after numerous requests/suggestions on xalan-dev
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/29/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java
 Choose.java DocumentCall.java Number.java
 Otherwise.java StepPattern.java Stylesheet.java
 VariableBase.java VariableRef.java
 VariableRefBase.java When.java XSLTC.java xpath.cup
 java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java<br />
<b>
<i>Committer's log entry: </i>
</b>Implemented code to resolve forward references and dependencies between
 global variables and parameters.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/30/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler UnresolvedRef.java<br />
<b>
<i>Committer's log entry: </i>
</b>Missing file from last putback.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java
 AttributeSet.java AttributeValueTemplate.java
 BinOpExpr.java CallTemplate.java ConcatCall.java
 ContainsCall.java CopyOf.java
 DecimalFormatting.java DocumentCall.java
 ElementAvailableCall.java Expression.java
 ForEach.java FormatNumberCall.java
 FunctionAvailableCall.java FunctionCall.java
 If.java Import.java Include.java Instruction.java
 Key.java Output.java Param.java Parser.java
 ProcessingInstruction.java RelationalExpr.java
 StartsWithCall.java StringCall.java Stylesheet.java
 Template.java TopLevelElement.java
 TransletOutput.java UnsupportedElement.java
 UseAttributeSets.java ValueOf.java Variable.java
 VariableBase.java When.java Whitespace.java
 WithParam.java XslAttribute.java XslElement.java
 xpath.cup
 java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java<br />
<b>
<i>Committer's log entry: </i>
</b>Moved all error messages from the various source files into the ErrorMsg
 class in the compiler/util directory.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Compile.java
 Transform.java
 java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
 SlotAllocator.java
 java/src/org/apache/xalan/xsltc/dom LoadDocument.java
 NodeSortRecordFactory.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java BasisLibrary.java
 SAXAdapter.java TextOutput.java
 java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
 TransformerFactoryImpl.java
 TransformerHandlerImpl.java TransformerImpl.java
 XSLTCSource.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java ErrorMessages_en.java
 ErrorMessages_no.java<br />
<b>
<i>Committer's log entry: </i>
</b>A first stab at i18n'ing XSLTC. Error and warning messages from the compiler
 and TrAX are handled by the compiler/util/ErrorMsg class, while messages
 from the DOM and runtime/translet are handled by the Basis Library class.
 Only the ErrorMsg class has so far been updated to dynamically read its
 messages from a ResourceBundle. Bundles for British English and Norwegian
 are implemented.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 BooleanType.java ErrorMessages.java
 ErrorMessages_no.java ErrorMsg.java IntType.java
 NodeSetType.java NodeType.java RealType.java
 ReferenceType.java ResultTreeType.java
 StringType.java Type.java VoidType.java<br />
<b>
<i>Committer's log entry: </i>
</b>Code cleanup.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
 CurrentNodeListIterator.java DOMImpl.java
 FilterIterator.java FilteredStepIterator.java
 MatchingIterator.java MultiDOM.java
 NodeIteratorBase.java StepIterator.java
 UnionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Final code cleanup after i18n work.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed a typo in console output.
 Submitted by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added "Compiler Warning" text to output.
 Submitted by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Import.java
 Include.java StepPattern.java
 java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages_no.java
 java/src/org/apache/xalan/xsltc/dom LoadDocument.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
 java/src/org/apache/xalan/xsltc/trax
 TemplatesHandlerImpl.java
 TransformerFactoryImpl.java<br />
<b>
<i>Removed: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages_en.java<br />
<b>
<i>Committer's log entry: </i>
</b>Localised the runtime/dom packages into Norwegian. This proves that the
 internationalisation work is completed. I also fixed a regression that
 was caused by the error handling being changed.
 PR: n/a (i18n and l10n work)
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>Integrated a fix from John Howard for forcing forward slashes in file paths
 in JAR files and in manifests in JAR files.
 PR: bugzilla 4464
 Obtained from: n/a
 Submitted by: John Howard (johnh@schemasoft.com)
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for simplified stylesheets. A namespace declaration on the root element
 in the stylesheet (xmlns="http://www.w3.org/TR/xhtml1/strict") caused XSLTC
 to try to match elements in this namespace instead of elements in the null
 namespace.
 PR: bugzilla 3664
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed a regression from yesterday ('version' attribute missing).
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed default behaviour of text() and "*" in &lt;xsl:apply-imports/&gt;.
 (this element should not invoke built-ins).
 PR: bugzilla 1397
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java<br />
<b>
<i>Committer's log entry: </i>
</b>Updated the SAXAdapter used to build result tree fragments to handle comments.
 PR: bugzilla 4172
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for the XPath substring() function.
 PR: bugzilla 4201
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Number.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed the last putback - should never have been done. Big mistake!!!
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DTDMonitor.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for generating IDs for implied attributes.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Enabled character escaping by default for HTML output. We are now able to
 generate the XSLT and XPath specs without any errors at all.
 PR: bugzilla 3065
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java
 ErrorMessages_no.java<br />
<b>
<i>Committer's log entry: </i>
</b>Missing resource bundles for error messages for XSLTC's dom and runtime lib.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>10/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed pattern matching on namespace qualified wildcards, such
 as match="@blob:*".
 PR: bugzilla 2582
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/01/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a fix for predicates that test on node values, where the value to
 test agains is stored in a variable or predicate.
 PR: bugzilla 3501
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/01/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for re-definitions of variables inside templates (in different scopes).
 PR: bugzilla 3406
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/01/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>Potential fix for bug 3416. Will not integrate for performance reasons.
 Code change is commented.
 PR: bugzilla 3416
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/01/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Step.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed a desperately bad piece of code that caused XSLTC to misinterpret
 some combinations of parent location paths and predicates.
 PR: bugzilla 4249
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/01/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom NodeCounter.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for the formatter used with the xsl:count element.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/01/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Sort.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for sort-elements used with apply-templates elements with no select
 attribute.
 PR: bugzilla 3519
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/02/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler PositionCall.java
 java/src/org/apache/xalan/xsltc/dom NodeCounter.java
 SingleNodeCounter.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for the &lt;xsl:number&gt; element.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org / todd.miller@sun.com
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Sort.java
 java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java
 NodeSortRecordFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changed the 'order' and 'data-type' attributes of the &lt;xsl:sort&gt; element
 from plain attributes to attribute value templates. This required a change
 not inly in the way we interpret these attributes but also in the time at
 which these attributes are intrepreted. Since these are not treated as AVTs
 we need to wait until runtime before reading the values of the attributes.
 PR: bugzilla 3835
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc DOM.java
 java/src/org/apache/xalan/xsltc/compiler PositionCall.java
 StepPattern.java
 java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
 DOMImpl.java MultiDOM.java NodeSortRecord.java<br />
<b>
<i>Removed: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java.old<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for patterns on the format "/foo/*/bar" and "/foo/*[n]/bar".
 PR: bugzilla 4604
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Step.java
 java/src/org/apache/xalan/xsltc/dom
 CurrentNodeListIterator.java DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the last() function for the typed and untyped ancestor iterators.
 I also updated our node list iterator (used to implement some predicates)
 to handle the last() function properly for reverse-order axes.
 PR: bugzilla 4602
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for a regression after a previous fix for bug 3320.
 PR: bugzilla 4656
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java
 CastExpr.java EqualityExpr.java Expression.java
 LastCall.java LogicalExpr.java PositionCall.java
 Predicate.java RelationalExpr.java Step.java
 StepPattern.java UnaryOpExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for compound predicates used in patterns.
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 AttributeValueTemplate.java Constants.java
 FilterParentPath.java LiteralAttribute.java
 LiteralElement.java LiteralExpr.java Mode.java
 ParentLocationPath.java Parser.java
 SimpleAttributeValue.java SyntaxTreeNode.java
 Text.java UnionPathExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>A bit of a code cleanup. I also added a small fix for ensuring document order
 of node sets returned by union expressions.
 PR: bugzilla 4677
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Sort.java
 java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java ErrorMessages_no.java
 ErrorMsg.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a test to verify that &lt;xsl:sort/&gt; elements are only used within
 &lt;xsl:apply-templates/&gt; or &lt;xsl:for-each/&gt; elements.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom Axis.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added an array to the Axis class to give an easy indication to the direction
 of an axis.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc DOMCache.java
 java/src/org/apache/xalan/xsltc/cmdline Transform.java
 java/src/org/apache/xalan/xsltc/compiler FunctionCall.java
 java/src/org/apache/xalan/xsltc/dom
 NodeSortRecordFactory.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TransletLoader.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a new TransletLoader class to the runtime package. This class will
 be used only when the default Class.forName() call fails. The forName()
 call will fail if XSLTC is packed in a JAR and installed under
 $JAVA_HOME/jre/lib/ext. This is because the extensions class
 loader is used instead of the bootstrap class loader, and that the
 extensions class loader does not load classes for the default class path.
 But, if the extensions class loader is being used, then we know two things:

 (1) XSLTC is running on Java 1.2 or later (when extensions were introduced)
 (2) XSLTC has access to the ClassLoader.getSystemClassLoader() method

 This class takes advantage of this and uses a privileged call to this
 method to get a reference to the bootstrap class loader. It then uses this
 class loader to load the desired class.
 PR: none
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a "debug" attribute to the TransformerFactory implementation.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/09/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed a debug statement that was left behind after last putback.
 PR: none
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/09/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Step.java
 StepPattern.java XSLTC.java xpath.cup xpath.lex<br />
<b>
<i>Committer's log entry: </i>
</b>Added support for processing-instruction() with a literal parameter for
 use in node tests in expressions and patterns.
 PR: bugzilla 2583
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>11/09/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 ProcessingInstructionPattern.java<br />
<b>
<i>Committer's log entry: </i>
</b>Forgot this in last putback.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>11/09/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LongExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 3592, new class to handle Long expresssion<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>11/09/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 xpath.cup xpath.lex Constants.java CastExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 3592, handles long now<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>11/09/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util LongType.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 3592, added new class for Long types<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>11/09/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 3592, handles Long types<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>Changes for Xalan-Java 2.2.D11</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>09/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix # 3424, memory retension fixed, John Howard contributed fix.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>09/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 2807, seth ford's fix<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>09/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Include.java
 Import.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 3426, gunnlaugur briem's fix<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>09/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 3320, gunnlaugur briem's fix<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>"Gunnlaugur Thor Briem" &lt;gthb@dimon.is&lt;<b>
<i> on </i>
</b>09/06/2001<br />
<b>
<i>Committer's log entry: </i>
</b>
&gt; bug fix 3320, gunnlaugur briem's fix
&gt;
&gt;<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>"G. Todd Miller - XML Tech Ctr - Development" &lt;Glenn.Miller@Sun.COM&gt;<b>
<i> on </i>
</b>09/06/2001<br />
<b>
<i>Committer's log entry: </i>
</b>
 &gt;&gt;&gt; bug fix 3320, gunnlaugur briem's fix
 &gt;&gt;&gt;
 &gt;&gt;&gt;<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>09/07/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>updated comments from bug fix 2553<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>09/10/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 3360, predicate handling added<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>I have updated out output handler to treat this in the same manner as XT does.
 We allow AVT's to create namespace mappings between some prefix and the null
 URI. But, whenever an attribute or element uses a prefix that maps to the null
 URI we replace the prefix with the default prefix. So insead of outputting an
 illegal namespace declaration xmlns:ns1="" and ns1:Attr1="Whatsup" we simply
 output Attr1="Whatsup"
 PR: bugzilla 1518
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>Modified some of the error messages that are reported by this command-line
 tool to include full and correct error messages.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMBuilder.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added support for comment nodes in the DOM. This support disappeared when
 we upgraded the DOMBuilder's interface from SAX to SAX2. Added a new
 interface for the DOMBuilder that includes SAX's ContentHandler _and_
 LexicalHandler.
 PR: bugzilla namespace30
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Updated the output handler to URL encode href attributes in HTML output.
 I used the URLEncoder class in java.net
 PR: bugzilla 1512
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the default output SAX handler so that it does not indent empty HTML
 tags such as &lt;col&gt; and &lt;br&gt;
 PR: bugzilla 1525
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to prevent character escaping inside &lt;script&gt; and &lt;style&gt; elements in
 HTML output.
 PR: bugzilla 2517
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Transform.java
 java/src/org/apache/xalan/xsltc/compiler BooleanCall.java
 StepPattern.java Variable.java
 java/src/org/apache/xalan/xsltc/compiler/util
 ResultTreeType.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to always return 'true' when result tree fragments are converted to
 boolean values (because a result tree always has at least one node - root).
 PR: bugzilla 2595
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added some code to the DOM builder to make sure that text nodes are not
 broken up into smaller fragments.
 PR: bugzilla 3506
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java
 UnionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for the count() function and union iterators. Union iterators would not
 reset all the iterators it contained, and it needed a reset() method.
 PR: bugzilla 3504
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>09/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 3312, //xx/descendant works now<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed a debug statement that was left in here by mistake. Bad, bad, bad!
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>09/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 ParentLocationPath.java<br />
<b>
<i>Committer's log entry: </i>
</b>added test for ParentLocationPath instance<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>09/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 3312 completed<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
 Param.java ParameterRef.java
 ParentLocationPath.java Variable.java
 VariableBase.java VariableRef.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 MatchingIterator.java ReverseIterator.java
 StepIterator.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
 TextOutput.java
 java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>Several bugfixes and fixes for regressions recently introduced by other
 bugfixes.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for parameter references used within predicates.
 PR: bugzilla 3405
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added '-s' option to command-line compilaton tool to precent calls to
 System.exit(); This is needed when the command-line tool is invoked by
 our Java-based test harness.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added test in the method that handles stylesheet PIs in embedded stylesheets.
 This method did not properly test for the existence of stylesheets referenced
 in these PIs (ref. Sun's test embed09).
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Predicate.java
 StepPattern.java TestSeq.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for predicates used in complex match patterns. The compiler failed to
 produce code that would match on patterns like "blob/*[@attr='str']". It
 would also fail to identify some position predicates such as "blob[$param]".
 Nested parameters were not handled properly either. A pattern such as
 "foo[bar[starts-with(@attr, 'baz')]]" would be broken up and actually
 compiled twice - the outer predicate would be compiled first and the inner
 one after that. This fix makes sure that the predicates are handled together
 as one test, and not as two separate tests.
 PR: bugzilla 1376 (was an id/key problem, now predicates)
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Modified the output handler and SAX handler to produce proper HTML output.
 Special characters in &lt;script&gt; and &lt;style&gt; elements are no longer escaped,
 and end-tags are properly produced (sometimes we would forget the last '&gt;').
 PR: bugzilla 2517
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 MatchingIterator.java StepIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Verious fixes for iterators.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom BitArray.java
 DupFilterIterator.java KeyIndex.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix in the duplicate filter iterator to ensure that the iterator can be
 reset properly. The iterator was using its own variable for tracking the
 current node (not the base class' _position variable) but did not
 implement the reset() method).
 PR: bugzilla 1430
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler VariableRef.java<br />
<b>
<i>Committer's log entry: </i>
</b>Forgot to add this file with my fix for bug 1430.
 PR: bugzilla 1430
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LastCall.java
 ParameterRef.java PositionCall.java Predicate.java
 RoundCall.java VariableRefBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for combination of wildcards and position predicates in match patterns.
 PR: bugzilla 1532
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>09/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler RelationalExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 2838, (namedtemplate test)<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to prevent escaping of the '"' character. This character should only
 be escaped inside attribute values, and not in text nodes.
 PR: bug 2952
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for ChildrenIterator to speed up last() and position() calls.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>This fix may affect a series of bugs. The AbsoluteIterator (/foo/bar/... etc.)
 did not update its _position variable, causing position() to return wrong
 values if called more than once.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 MethodGenerator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added shortcut to call the reset() method on any iterator.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to ensure that node iterators stored inside parameters are clones for
 each time the parameter is referenced. If this is not done then the node
 iterator will be in an unstable state after it has been referenced once.
 PR: bugzilla 3238
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Step.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for layers of parent location paths and steps representing an
 XPath pattern/expression like /foo/*/bar
 PR: bugzilla 3311
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ParameterRef.java
 ParentLocationPath.java Predicate.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed a change from yesterday that caused a pretty bad regression in
 the position() and last() functions. Also changed a line un Param.java
 to add more information in debug outout.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to prevent complaints about illegal namespace declarations in output.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
 WithParam.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added escaping of special characters in parameter names when passed to a
 template using &lt;xsl:with param/&gt;.
 PR: bugzilla 3324
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br />
<b>
<i>Committer's log entry: </i>
</b>minor edit to usuage for -s option<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added functionality behind the '-s' flag in the Transform command-line tool.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Compile.java
 Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed two compile errors (bad, bad, bad).
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/21/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc DOM.java
 java/src/org/apache/xalan/xsltc/compiler LastCall.java
 PositionCall.java
 java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
 DOMImpl.java MultiDOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the getTypedPosition() and getTypedLast() methods of the DOM. These
 were used to implement XPath patterns such as /foo/bar[8]/baz.
 PR: bugzilla 2803
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/21/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a little method to the output post-processor to replace whitespaces
 in URLs by "%20" sequences. This is all the escaping I think we should
 bother our heads doing.
 PR: bugzilla 1512
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/21/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc DOM.java
 java/src/org/apache/xalan/xsltc/compiler Constants.java
 Step.java
 java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
 DOMImpl.java MultiDOM.java NthIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Two fixes in this one. One to make sure that the context-node is set correctly
 when applying templates using an iterator that has a predicate that tests on
 '.' (the current node), such as select="foo/bar[. = 'blob']". The other fix
 is for the nth position iterator, that failed to count to n backwards in
 cases when the underlying iterator was reverse.
 PR: bugzilla 2954 (two bugs in one, really)
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/21/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for CDATA elements. The tags of CDATA sections were passed through the
 output post-processor's character escaping function but should be passed
 directly to the SAX handler.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/24/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 NthIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>The fix for 2954 introduced a regression, so I am pulling out the fix.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/24/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom NthIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>A revised fix for bug 2954, that does not cause the regressions previously
 sown by some tests.
 PR: bugzilla 2954 (revised fix)
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/24/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for the last() function for children iterators.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/24/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the descendant iterator so that it does not return text-nodes
 for descendant::*
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/24/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Import.java
 Param.java Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for resolving mutiple defined global parameters and variables. The
 Import class has been fixed to set import precedences properly, and the
 Param class has been changed to use the import precedence to resolve
 between multiple definitions of the same variable/parameter.
 PR: bugzilla 3404
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/24/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 ClassGenerator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Forgot this file in my last update.
 Submitted by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/24/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 NthIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Another fix for the preceding-sibling iterator. It appeared that this
 iterator returned its nodes in the wrong order, and this was the reason
 why the position iterator (used to implement preceding-siblling::*[n])
 did not return the correct node. It is quite amazing that this iterator
 has been returning nodes in the wrong order for so long without any of
 us notising, and hopefully this fix will help eliminate a few of our
 open bugs.
 PR: bugzilla 2954
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Param.java
 Stylesheet.java Variable.java VariableBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to resolving multiple defined global variables or parameters.
 PR: bugzilla 3404
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Optimisation for string-2-int and real-2-int conversions.
 PR: bugzilla 3448
 Obtained from: n/a
 Submitted by: John Howard (johnh@schemasoft.com)
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
  <li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Param.java
 Step.java Variable.java VariableBase.java xpath.cup
 java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
 DOMImpl.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for nth-position typed descendant iterators (previously not fully
 implemented).
 PR: bugzilla 3468
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for our handling of the &lt;xsl:comment? element.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Param.java
 Variable.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed previous attempt to fix forward references in globar vars.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for allowing LRE as top-level elements in the stylesheet (they will be
 ignored).
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to make sure all num-numeric values are grouped last in numeric sorts.
 PR: bugzilla 3517
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 NodeIteratorBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix to ensure that the current position of any iterator is always kept
 updated. The returnNode() method of the NodeIteratorBase base class updates
 the _position variable for each returned node. This method should be called
 by the next() method of any iterator, except for next() methods that call
 super.next() (because this method calls returnNode() and so _position
 would be incremented twice or more for one returned node).
 PR: bugzilla 3816
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Updated the information returned by the system-property() function.
 xsl:verision returns "1.0"
 xsl:vendor returns "Apache Xalan XSLTC" - must be different from Xalan!!!"
 xsl:vendor-url returns "http://xml.apache.org/xalan-j"
 PR: bugzilla 3470
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to allow indentation to be turned off XML/HTML output.
 PR: bugzilla 3469
 Obtained from: n/a
 Submitted by: Douglas J. Sellers (douglasjsellers@hotmail.com)
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Output.java
 Parser.java Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to make sure the one, and only one, xsl:output element is compiled
 per translet (import precedence taken into account).
 PR: bugzilla 3099
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changed BasisLibrary.formatNumer() (this is the implementation of
 format-number()) so that it correctly formats NaNs into "NaN".
 PR: bugzilla 2890
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Another little update to format-number() to make sure it returns
 "Infinity" and "-Infinity" for infinite numbers.
 PR: bugzilla 2889
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changed the order in which a stylesheet parses its top-level elements.
 PR: bugzilla 3812
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Step.java
 java/src/org/apache/xalan/xsltc/dom NthIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed a bug in the NthIterator iterator that prevented the iterator from
 properly being reset. This bug manifested itself if the Nth iterator was
 wrapped inside a step iterator.
 PR: bugzilla 3419
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Step.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added node-ordering for preceding iterators when used in apply-templates
 or value-of elements.
 PR: bugzilla 3463
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Step.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed debug statement in Step.java
 Submitted by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Modified the DupFilterIterator so that it also orders nodes.
 PR: bugzilla 3466
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/26/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Step.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix after a regression for preceding-sibling::* iterator.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
 <li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>09/28/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc Translet.java
 java/src/org/apache/xalan/xsltc/cmdline Transform.java
 java/src/org/apache/xalan/xsltc/dom
 NodeSortRecordFactory.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java
 java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
 TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for the problem with loading auxiliary classes for sorting when
 called from TrAX API.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>XSLTC source code updates for Xalan-Java 2.2.D10</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>I added a flag to the compiler/Parser class that is set if the outermost 
element
 in the stylesheet contains a definition of the XSL namespace. The parser 
already
 has a global variable '_target' that is set if the stylesheet contains a
 &lt;?xml-stylesheet?&gt; PI or not. The compiler will now flag an error if neither
 flags are set after the whole XSL/XML input document has been parsed.
 PR: bugzilla 1780
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler UnionPathExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a small fix that orders the expressions inside a union in such a way 
that
 expressions with an attribute axis or attribute node type will be put first.
 PR: bugzilla 2921
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>A small fix that will allow top-level elements of an unknown URI.
 XSLTC now ignored the element(s), while it previously reported an error
 of an unsupported XSLT extension.
 PR: bugzilla 2840
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java DefaultSAXOutputHandler.java
 TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>A start on a fix for output DOCTYPE declarations based on the attributes
 of the &lt;xsl:output&gt; element. I also added a fix for bug 2863, to prevent
 us from outputting namespace delcaration that point a prefix to the null
 URI (such as 'xmlns:blob=""').
 PR: bugzilla 2863
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>bug 2553, fixes AbbreviatedAbsoluteLocationPath,
 some relative location paths still give duplicates, will need to filter.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/14/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Transform.java
 java/src/org/apache/xalan/xsltc/compiler Output.java
 java/src/org/apache/xalan/xsltc/runtime DefaultRun.java
 DefaultSAXOutputHandler.java TextOutput.java
 java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Implemented support for the doctype-system and doctype-public attributes
 of the &lt;xsl:output/&gt; element. The translet post-processor (TextOutput) can
 now be instanciated with a ContentHandler and an optional LexicalHandler.
 The LexicalHandler will receive notofications of the DOCTYPE declaration.
 The default SAX output handler now implements both ContentHandler and
 LexicalHandler. The LexicalHandler only handles the startDTD() method,
 by outputting the DOCTYPE declaration, and all other methods are empty.
 The trax.Transformer implementation has also been updated to use the
 LexicalHandler, but I still have not found any way in which a SAX client
 can set the LexicalHandler.
 PR: bugzilla 1504
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/14/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>A minor change to the class handling the &lt;xsl:element&gt; element to be more
 in-sync with the XSLT 1.0 spec (and M.Kay's book). This in order to make
 it more readable and maintainable. I was trying to debug the code for
 something I thought was a bug, and it was just impossible to navigate.
 This change was necessary, even though the code functioned as it should.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/14/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
 Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for outputting all necessary namespace declarations with LREs.
 PR: bugzilla 2863
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/14/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom ReverseIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix to allow reverse iterators to be reset (inside nested for-each loops).
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/15/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 2553, new iterator to get rid of dups<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/15/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 FilteredAbsoluteLocationPath.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 2553, new abs location path<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/15/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup
 Constants.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 2553, updated Constants for dup processing
 and updated CUP rule for AbbreviatedAbsoluteLocationPaths<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
 DOMImpl.java DupFilterIterator.java
 StepIterator.java UnionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Implementation of id() and key() pattern - finally!
 Added a small fix to the DOMImpl$DescendantIterator to prevent NPEs.
 PR: bugzilla 1376
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler IdKeyPattern.java
 KeyCall.java Mode.java Output.java Parser.java
 TestSeq.java xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>Forgot an 'import' in DupFilterIterator
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc TransletOutputHandler.java
 java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java DefaultSAXOutputHandler.java
 SAXAdapter.java TextOutput.java
 TransletOutputBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>missing file<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added another fix for the missing DOCTYPE declaration. XSLTC will now output
 DOCTYPE declarations for HTML output if either doctype-system or doctype-
 public is declared in the &lt;xsl:output&gt; element. XSL output will get a
 DOCTYPE declaration only if doctype-system is declared.
 PR: 1504
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>


<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>turning on filtering, bug 2553<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed a bad optimisation in the duplicate filter iterator.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>re-activated the no dups filtering, dont know how
 this got reverted back to no filtering, but it is fixed again.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler IdKeyPattern.java
 Key.java KeyCall.java Parser.java Sort.java
 xpath.cup
 java/src/org/apache/xalan/xsltc/compiler/util
 CompareGenerator.java NodeSortRecordGenerator.java
 java/src/org/apache/xalan/xsltc/dom DTDMonitor.java
 DupFilterIterator.java KeyIndex.java
 NodeSortRecord.java NodeSortRecordFactory.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Major update for id() and key(). Patterns containing id() and key() are
 now 100% supported (about time), and id() and key() expressions should
 now work in all (at least most) combinations.
 PR: bugzilla 1376 (!!!) and 2624
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>A small fix for a cleanup I did in the basis library (it broke the
 substring() function)&gt;
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added small fix to prevent NPE in output handler.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc TransletOutputHandler.java
 java/src/org/apache/xalan/xsltc/compiler Variable.java
 VariableRef.java VariableRefBase.java
 java/src/org/apache/xalan/xsltc/compiler/util
 MultiHashtable.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
 TextOutput.java TransletOutputBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added element/attribute prefix information in the internal DOM.
 This should fix some problems we have had with the copy and copy-of
 elements. Added a few lines of code in an attempt to speed up the DOM builder.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/21/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DTDMonitor.java<br />
<b>
<i>Committer's log entry: </i>
</b>An attempt to optimise the building of the ID index. The previous version of
 this code would traverse the DOM once for each type of element that had a
 defined ID attribute. The new version traverses the DOM once, and looks up
 each element's type in a hashtable to determine its ID attribute type (if 
any).
 The new version of the code does not use string comparisons, like the old one.
 This update was done to compensate for the possible performance degradation of
 having implemented an element/attribute prefix array in the internal DOM.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/21/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TemplatesHandlerImpl.java TemplatesImpl.java
 TransformerHandlerImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Protected some methods in our TrAX code that are not defined in the TrAX API.
 These methods were never intended for public use and should have been defined
 as "protected" to begin with.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/22/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for a problem with some combinations of &lt;xsl:element&gt; and namespace
 aliasing. The output lacked the necessary namespace definitions when an
 element created with &lt;xsl:element&gt; was given a qname with a prefix that
 was mapped to some other prefix.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ParameterRef.java<br />
<b>
<i>Committer's log entry: </i>
</b>removed typeCheck(), uses the base classes method now<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 VariableRefBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>added default typeCheck() to this base class<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler RelationalExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 2838, cast to type real if both operands are
 ResultTreeType<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc DOM.java
 java/src/org/apache/xalan/xsltc/compiler
 AbsoluteLocationPath.java AbsolutePathPattern.java
 AncestorPattern.java ApplyTemplates.java
 BooleanExpr.java CallTemplate.java CastExpr.java
 Constants.java Copy.java CopyOf.java
 DocumentCall.java FilterExpr.java
 FilteredAbsoluteLocationPath.java ForEach.java
 FunctionCall.java Key.java KeyCall.java
 LastCall.java LocalNameCall.java Mode.java
 NameCall.java NamespaceUriCall.java Number.java
 Param.java ParameterRef.java
 ParentLocationPath.java ParentPattern.java
 PositionCall.java Predicate.java
 RelationalExpr.java Sort.java Step.java
 StepPattern.java Stylesheet.java
 SyntaxTreeNode.java Template.java TestSeq.java
 Text.java TransletOutput.java ValueOf.java
 Variable.java VariableRef.java Whitespace.java
 XSLTC.java
 java/src/org/apache/xalan/xsltc/compiler/util
 ClassGenerator.java ErrorMsg.java
 MethodGenerator.java NodeSetType.java NodeType.java
 ResultTreeType.java
 java/src/org/apache/xalan/xsltc/dom Axis.java
 DOMAdapter.java DOMImpl.java LoadDocument.java
 MultiDOM.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Changes all calls from the compiled translet code to the DOM to be calls
 to the DOM interface (and not to a specific DOM class). I did this to make
 it possible to plugi in any DOM implementation.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc TransletOutputHandler.java
 java/src/org/apache/xalan/xsltc/compiler Constants.java
 TransletOutput.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java DefaultSAXOutputHandler.java
 TextOutput.java TransletOutputBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added an &lt;xsltc:output&gt; extension to allow for multiple output files. I know
 that this is not a prioritised task, but I need this for a little project I
 am working on.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/28/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Param.java
 ParameterRef.java Variable.java VariableBase.java
 VariableRef.java
 java/src/org/apache/xalan/xsltc/compiler/util
 NodeSetType.java NodeType.java ReferenceType.java
 ResultTreeType.java StringType.java Type.java<br />
<b>
<i>Committer's log entry: </i>
</b>A few fixes for the regression caused by my last (huge) putback.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/28/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for the position() function when using duplicate filter iterators.
 PR: n/
 Obtained from: N/A
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
 <li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>08/30/2001<br />
<b>
<i>Modified: 
 </i>
</b>java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java<br />
<b>
<i>Committer's log entry: </i>
</b>
 Submitted by: Tom Amiro  
 I just added an empty close method to resolve the build problem.<br />
<br />
</li> 
 </ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>XSLTC source code updates for Xalan-Java 2.2.D9</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Integrated fix for problem with count() function for certain iterators.
 PR: Bugzilla 1407
 Obtained from: n/a
 Submitted by: John Howard &lt;johnh@schemasoft.com&gt;
 Reviewed by: Morten Jorgensen &lt;morten@xml.apache.org&gt;<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/30/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc DOM.java
 java/src/org/apache/xalan/xsltc/compiler EqualityExpr.java
 FilterParentPath.java Parser.java Predicate.java
 Step.java SyntaxTreeNode.java Variable.java
 XSLTC.java
 java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
 DOMImpl.java MultiDOM.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java DefaultSAXOutputHandler.java
 TextOutput.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added code that will speed up predicates such as //foo[@attr=$var],
 //foo[bar = $var] and //foo/[@attr = 'str'].
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Expression.java
 Param.java ParameterRef.java Predicate.java
 Stylesheet.java SyntaxTreeNode.java Variable.java
 VariableRef.java WithParam.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for parameter and variable handling. This fix makes sure variable slots
 are released once a variable goes out of scope. I have also extracted common
 functionality from Variable and Param into VariableBase, and similarly
 extracted some functionality from VariableRef and ParameterRef into a new
 class VariableRefBase. This can potentially make some code more efficient as
 one can test for 'if (blob instanceof VariableBase)' instead of testing on
 both Variable and Param.
 PR: Bugzilla 2661 and 2699
 Obtained from: n/a
 Submitted by: John Howard &lt;JohnH@schemasoft.com&gt;
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/31/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
 VariableRefBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>Forgot to add these two in my last putback.
 PR: none
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Predicate.java
 Step.java Stylesheet.java XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed type-cast error in Stylesheet.java
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
 java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed some of the linefeeds we output in the default SAX output handler
 to produce output more similar to Saxon (for testing purposes).
 Added a test for null-pointers in the new VariableBase class.
 PR: bugzilla 2922 &amp; 2598
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org`<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/31/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom NodeCounter.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a small fix to prevent unwanted output when using the xsl:number
 element.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/01/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Constants.java
 If.java Key.java Predicate.java Step.java When.java
 java/src/org/apache/xalan/xsltc/compiler/util
 CompareGenerator.java
 java/src/org/apache/xalan/xsltc/dom NodeCounter.java
 java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>A few changes to make our output look more like Saxon's (to simplyfy
 test diffs).
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/01/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
 DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>add support for DOMResult handling<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/01/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>work in progress, converted needed for DOMResult<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/02/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added setting of systemId in DOMSource handling<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/02/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java
 TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerHandlerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added an implementation of the TransformerHandler interface of TrAX/JAXP.
 Implemented the 4 methods in TransformerFactory to instanciate this
 TransformerHandler implementation.
 Added an attribute of the TransformerFactory which contains the default
 name for generated translet classes (the default name is GregorSamsa from
 Kafka's Metemorphosis), but should be set by the user in cases where the
 Templates implementation cannot get the systemId from the Source object.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/02/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java
 TransformerHandlerImpl.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TemplatesHandlerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added missing TemplatesHandlerImpl file (implementation of the TrAX
 TemplatesHandler interface).
 Added initial implementation of getAssociatedStylesheet() in
 the TransformerFactoryImpl class.
 Changed behaviour of TransformerHandlerImpl class with regard to
 the setResult() method. This method now has to be called before
 startDocument() is called, which gives XSLTC the same behaviour
 as Xalan.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/02/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 XSLTC.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added support for the TransformerFactory's getAssociatedStylesheet()
 method. Added similar methods to the native XSLTC API, as they can come
 in handy.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/03/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Constants.java
 DocumentCall.java
 java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for the document() function. The code compiled by DocumentCall now
 passes the context URI to the LoadDocument.document() method, and the
 document() method resolves the base/new URIs and constructs an absolute
 path/URI to the document to load.
 PR: bugzilla 2832
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/03/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>new recursive parse(InputSource) implemented<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/03/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>upated<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>08/03/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>updated again<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/03/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to get around problem with Crimson. Crimson does not like attribute-
 nodes to be created with 'null' or "" namespace URI. Added an if-test to
 invoke setAttribute(name, value) instead of setAttributeNS(uri, name, value).
 Had to add a little test to DOMImpl$DOMBuilder.makeAttributeNode() to get
 around an internal NPE problem.
 PR: n/a
 Obtained from: n.a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/03/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler CopyOf.java
 Step.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 UnionIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for union-iterators wrapping one or more attribute-iterators.
 Attributes should be wrapped in TypedAttributeIterator objects and not
 SingletonIterator objects when they occur insude unions.
 Fix for copying attribute nodes using &lt;xsl:copy&gt; and &lt;xsl:copy-of&gt;
 PR: bugzilla 2603
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/07/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added code behind the document() function to force the parser to be
 namespace aware (Crimson is pr. default, Xerces is not).
 PR: bugzilla 2862
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/07/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to prevent escaping of attribute values in HTML output.
 PR: bugzilla 3003
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/07/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for grouping a sequence of text nodes inside one CDATA section.
 PR: bugzilla 3005
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/07/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ForEach.java
 xpath.cup
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for passing node-sets as parameters into a template with a for-each loop.
 The ForEach class resets its node iterator by default. This behaviour is not
 desierd for iterators that are passed in through a parameter, so I added an
 it-test that checks if the iterator is of type 'Reference'.
 PR: bugzilla 2468
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/07/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 AbsolutePathPattern.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for a certain combination of absolute path patterns and ancestor patterns,
 such as &lt;xsl:template match="/foo//*"/&gt;.
 PR: bugzilla 2836
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/07/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler DocumentCall.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for document() function. Prevents run-time error.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a test to the &lt;xsl:element&gt; element to verify that the element name
 given in the 'name' attribute contains something other than an empty string.
 PR: bugzilla 2794
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>Applied a fix to our class for handling literal result elements. The only
 attributes in the XSLT namespace we handle in LREs are exclude-result-prefixes
 and extension-element-prefixes. We have a test to check if an attribute is
 in the XSLT namespace, and if it is we ignore the attribute. This test was
 placed before the test for the two XSLT attributes we do want to handle,
 causing us to ignore all xsl:exclude-result-prefixes attributes in LREs.
 PR: bugzilla 1506
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Attribute.java
 AttributeSet.java Copy.java UseAttributeSets.java
 XslAttribute.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix and performance improvement for attribute sets.
 PR: bugzilla 2536
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>08/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Copy.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for use of attribute sets with the xsl:copy element. We were a bit too
 restrictive in our tests to see if it was safe to send the attributes to
 the output handler. We only compiled in a test to see if the copied node
 was an elment, but should also have tested if the xsl:copy element's
 parent node was a LRE or a xsl:element element.
 PR: bugzilla 2538
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>XSLTC source code updates for Xalan-Java 2.2.D8</h3>
<p>XSLTC source code updates:</p>
<ul>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added support for SAXSource and SAXResult in TransformerFactoryImpl
 and TransformerFactory. I had to add a new consturctor the the
 default SAX output handler (in the xsltc runtime library) to acommodate
 the SAXResult TrAX output handler.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added default error-reporting behaviour for our trax code (error messages
 are dumped to System.err).
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>07/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>in progress, adding DOMSource support<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>07/20/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>new class, DOM2SAX, supports DOMSources, in progress<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Import.java
 Include.java Stylesheet.java XSLTC.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler SourceLoader.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a SourceLoader interface to the compiler package. This interface can
 be used to plug in an external document loader for imported and/or
 included stylesheets. The trax.TransformerImpl class is updated to
 implement this interface and act as an adapter between the internal XSLTC
 SourceLoader interface and TrAX's URIResolver interface.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@apache.org
 Reviewed by: morten@apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>07/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime Constants.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added the NAMESPACE_FEATURE constant. Checked to see if it was in
 org.xml.sax first, but it wasn't. Since this constant is used both
 at compile and runtime, it should be in the runtime Constants class
 as well as the compile Constants class. Runtime code needs to be
 kept separate from the compile time code.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>07/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime DefaultRun.java
 java/src/org/apache/xalan/xsltc/cmdline Transform.java
 java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added import for org.apache.xalan.xsltc.runtime.Constants;
 to the runtime classes that need to use the NAMESPACE_FEATURE constant
 and had them reference it rather than define it themselves.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>07/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>minor changes for DOMSource impl support<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>07/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added DOMSource support for stylesheet<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>07/20/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br />
<b>
<i>Committer's log entry: </i>
</b>updated convertor which supports DOMSource impl<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a small fix to the compiler (XSLTC.java) to make sure that the SAX
 parser reference was not reset prior to compiling the translet.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added support for DOMSource as input to our Transformer implementation<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Import.java
 Sort.java
 java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java
 NodeSortRecordFactory.java<br />
<b>
<i>Committer's log entry: </i>
</b>For some reason I decided to optimise the &lt;xsl:sort&gt; functionaility. The
 sort records we used has some global values stored behind methods, but are
 now static fields. Somewhat faster.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Import.java
 Include.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for problem with import &amp; include introduced with the latest updated
 for TrAX URIResolvers.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Integrated fix for problem with count() function for certain iterators.
 PR: Bugzilla 1407
 Obtained from: n/a
 Submitted by: John Howard &lt;johnh@schemasoft.com&gt;
 Reviewed by: Morten Jorgensen &lt;morten@xml.apache.org&gt;<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>XSLTC source code updates for Xalan-Java 2.2.D7</h3>
<ul>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/09/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Constants.java
 Param.java StepPattern.java Stylesheet.java
 SyntaxTreeNode.java Variable.java WithParam.java
 java/src/org/apache/xalan/xsltc/dom KeyIndex.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java BasisLibrary.java
 DefaultRun.java Parameter.java TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Loads of small fixes and a good few comments added to the source code.
 The major fixes are one fix for variable/parameter handlingi and one for
 key/id index handling. XSLTC now correctly updates the value of parameters
 with changing default values, such as with
 &lt;xsl:param name="foo" select="current()"/&gt;.
 Also updated bit-arrays to correctly return single node ids, so that the
 key() and id() functions return the correct number of nodes (they would
 sometimes skip the first node in the defined node set for the key/id).
 Added some structure and loads of comments to the Translet base class.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/10/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 AncestorPattern.java AttributeSet.java
 CallTemplate.java CastExpr.java EqualityExpr.java
 Expression.java FunctionCall.java If.java
 Import.java Include.java Mode.java NameBase.java
 Param.java ParameterRef.java Parser.java
 StepPattern.java SyntaxTreeNode.java Template.java
 TestSeq.java Variable.java VariableRef.java
 XSLTC.java XslAttribute.java
 java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
 ReferenceType.java
 java/src/org/apache/xalan/xsltc/dom MultiDOM.java
 StepIterator.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>A wide range of fixes provided by Erwin Bolwidt.
 o) fix for long IF and GOTO instructions inside translets.
 'wide' GOTOs are now used (GOTO_W) instead of plain GOTO
 to allow longer jump offsets
 o) fix for illegal field/method names in the translet.
 Methods and fields no longer contain the '.' or '-' characters
 o) source filenames (and if possible also line numbers) are now
 provided with error and warning messages
 o) external functions that are not supported by XSLTC do not cause
 compile errors. They will still cause a warning message at
 compile-time if they are not wrapped in proper &lt;xsl:if&gt; or
 &lt;xsl:when&gt; elements that test on the availability of the function,
 and will cause a runtime error if the function is attempted called.
 o) added type cast from reference-type to node-type
 o) some other smaller fixes to prevent null-pointer exceptions
 Other changes:
 o) code cleanup and some added comments
 PR: n/a
 Obtained from: n/a
 Submitted by: Erwin Bolwidt &lt;ejb@klomp.org&gt;
 Reviewed by: Morten Jorgensen &lt;morten@xml.apache.org&gt;<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 SyntaxTreeNode.java XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>Cleaned up the XSLTC compiler class in an attempt to make it more flexible.
 This class was originally written as a command-line interface, but it has
 now grown huge and messy. I separated the command-line stuff from the
 methods that make up the actual functionality and made some methods public.
 This is part of the preparation for our new implementation of the JAXP
 Templates object.
 PR: n/a
 Obtained from: n.a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Compile.java
 Transform.java<br />
<b>
<i>Committer's log entry: </i>
</b>Extracted the command-line stuff from the core XSLTC packages. The command-
 line handling is now in xalan.xsltc.cmdline.Compile and
 xalan.xsltc.cmdline.Transform. The command-line stuff is still left in
 xalan.xsltc.compiler.XSLTC and xalan.xsltc.runtime.DefaultRun for backwards
 compatability. This should be removed shortly.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline Compile.java
 java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/cmdline/getopt GetOpt.java
 GetOptsException.java IllegalArgumentException.java
 MissingOptArgException.java
 java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
 TransformerImpl.java<br />
<b>
<i>Removed: </i>
</b>java/src/org/apache/xalan/xsltc/util/getopt GetOpt.java
 GetOptsException.java IllegalArgumentException.java
 MissingOptArgException.java<br />
<b>
<i>Committer's log entry: </i>
</b>Moved the org.apache.xalan.xsltc.util.getopt package to
 org.apache.xalan.xsltc.cmdline.getopt. Also added some skeleton
 code in a new org.apache.xalan.xsltc.trax directory.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br />
<b>
<i>Committer's log entry: </i>
</b>minor adjustment
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>07/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>removed obselete try/catch<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java
 java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
 TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Removed: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br />
<b>
<i>Committer's log entry: </i>
</b>A first stab at our new TrAX design.`
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
 java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
 TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>A few minor adjustments to yesterdays JAXP/TrAX implementation. These is one
 change in the way the compiler (XSLTC) generates bytecode arrays, and the
 rest is basically a cleanup of error reporting and a few added comments.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/16/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax OutputSettings.java<br />
<b>
<i>Committer's log entry: </i>
</b>Reduced the refresh rate of the DocumentCache to 1 second.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>amiro@apache.org<b>
<i> on </i>
</b>07/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br />
<b>
<i>Committer's log entry: </i>
</b>Submitted by: Tom Amiro
 Fixes bug 1591. Changed the lastModified() method to return
 the correct timestamp for local files beginnig with the "file:"
 protocol. Incorporated Brian Ewin's suggestion to use URLdecode.
 Todd Miller and Morten Jorgensen<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
 TransformerFactoryImpl.java TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added some javadoc comments to our trax stuff. Added preliminary support
 for getting/setting output properties, and for getting/setting URL resolvers.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc TransletOutputHandler.java
 java/src/org/apache/xalan/xsltc/cmdline Transform.java
 java/src/org/apache/xalan/xsltc/compiler Output.java
 Stylesheet.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java DefaultRun.java
 DefaultSAXOutputHandler.java SAXAdapter.java
 StringValueHandler.java TextOutput.java
 TransletOutputBase.java<br />
<b>
<i>Committer's log entry: </i>
</b>A series of changes to the XSLTC output handling to accomodate the
 set/getOutputSettings() methods in the TrAX API.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the handling of the 'cdata-section-elements' attribute of the
 &lt;xsl:output&gt; element. Previously we output the whole element, including
 all contents, child elements and the start- and end-tags in one big
 CDATA section. We now correctly output only immediate text child-nodes
 as CDATA sections.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc Translet.java
 java/src/org/apache/xalan/xsltc/dom LoadDocument.java
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java
 java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added implementation of get/setOutputProperties() of the Transformer
 implementation.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>07/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added (a rather brutal) handling of all Exceptions thrown in the
 DocumentCache.getLastModified() method. This class is provided only
 as an example/skeleton, but should still - for various reasons -
 be provided in the base 'xsltc.dom' package.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
</ul>

<p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>XSLTC source code updates for the Xalan-Java 2.2.D releases up to and including 2.2.D6</h3>
<ul>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>05/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Text.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 1403, output escaping fixed<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>05/23/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>bug fix 1403, output escaping fixed<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>stylesheet compilation error listening added for
 TrAX support<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>stylesheet compilation error listening added for
 TrAX support<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>stylesheet compilation error listening added for
 TrAX support<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Transformer factory's setErrorListener() now throws
 IllegalArgumentException is listener is null<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>translet transformation errors now forwarded to
 TrAX error listener when applicable<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/05/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>translet transformation errors now forwarded to
 TrAX error listener when applicable<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime AttributeList.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a constructor for copying an org.xml.sax.Attributes to our
 org.apache.xalan.xsltc.runtime.AttributeList.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
 ApplyTemplates.java Attribute.java
 AttributeSet.java AttributeValueTemplate.java
 BinOpExpr.java CallTemplate.java Comment.java
 ConcatCall.java Constants.java Copy.java
 CopyOf.java DecimalFormatting.java
 DocumentCall.java Expression.java Fallback.java
 ForEach.java FormatNumberCall.java
 FunctionAvailableCall.java FunctionCall.java
 If.java Import.java Include.java Key.java
 LiteralAttribute.java LiteralElement.java
 LiteralExpr.java LogicalExpr.java Message.java
 NamespaceAlias.java Number.java Output.java
 Param.java Parser.java ProcessingInstruction.java
 QName.java RelationalExpr.java Sort.java
 Stylesheet.java SymbolTable.java
 SyntaxTreeNode.java Template.java Text.java
 TransletOutput.java UnaryOpExpr.java ValueOf.java
 Variable.java When.java Whitespace.java
 WithParam.java XSLTC.java XslAttribute.java
 XslElement.java xpath.cup
 java/src/org/apache/xalan/xsltc/compiler/util
 MethodType.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removed the intermediate DOM used to contain the input document (the
 stylesheet) for the compiler. The compiler now uses SAX2 to import
 the stylesheet, and all references to DOM interfaces have been removed.
 This means that most classes representing XSL elements have been
 changed, but most classes representing XPath functions, expressions
 and patterns are unchanged.
 PR: After suggestion from Scott Boag
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/06/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 UnsupportedElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>Adding a class for handling unsupported stylesheet elements
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Minor fix to make sure that attributes are processed in the correct order.
 PR: n/a
 Obtained from: n.a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>Minor change in output indentation/line feeds.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xmp.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 LocationPathPattern.java Parser.java Template.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fixed the code that resolves conflicts between templates with identical
 patterns. The order of the templates is not taken into account - after
 import precedence and priority has been checked.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br />
<b>
<i>Committer's log entry: </i>
</b>Reverted changes to SAX output handler.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/06/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 Template.java xpath.cup<br />
<b>
<i>Committer's log entry: </i>
</b>unified Parser error reporting to use Mortens
 reportError routine<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/07/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java
 FunctionCall.java Otherwise.java Param.java
 RelationalExpr.java Stylesheet.java
 SyntaxTreeNode.java Variable.java When.java
 XSLTC.java XslElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>Updated a few classes that were still calling Parser.addError(),
 Parser.addWarning() and Parser.addFatalError() to use the new common
 error handler Prarser.reportError(int category, ErrorMsg message).
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Parser.java
 java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added two lines of code to explicitly set the feature
 "http://xml.org/sax/features/namespaces" of the SAXParser to "true".
 The default is "true" but xerces seems to set it to "false", and this
 caused some problems for our Stylesheet and XML doc parsers (which are
 both using SAX2).
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Constants.java
 Parser.java
 java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br />
<b>
<i>Committer's log entry: </i>
</b>A few more changes to make sure the parsers used are namespace aware.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/08/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
 SyntaxTreeNode.java XslAttribute.java
 XslElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>The change from using DOM to using SAX in the stylesheet input caused some
 of the elements in the Abstract Syntax Tree (AST) to be out of order. I
 added a few lines of code to the xsl:element/attribute handling code to
 fix this.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler AttributeSet.java
 Choose.java Constants.java If.java
 LiteralElement.java Stylesheet.java
 UseAttributeSets.java When.java XSLTC.java
 XslAttribute.java<br />
<b>
<i>Committer's log entry: </i>
</b>This putback contains three fixes:
 o) fix for complex &lt;xsl:attribute-set&gt; inheritance structures
 o) fix for xsl:element-available() function used in &lt;xsl:when&gt; or
 &lt;xsl:if&gt; to test support for various extension elements
 o) fix for preserving namespace prefixes for &lt;xsl:attribute&gt; output.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Constants.java
 UseAttributeSets.java ValueOf.java
 XslAttribute.java
 java/src/org/apache/xalan/xsltc/compiler/util
 AttributeSetMethodGenerator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to allow iterator access within attribute sets. This is necessary for
 attribute sets that contain attributes whose values are generated by XSL
 functions such as position() and last().
 Obtained from: test mk013
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added output character escaping for non-breaking space characters.
 I cannot believe we've waited this long before doing this. Madness!
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
 Parser.java<br />
<b>
<i>Committer's log entry: </i>
</b>support for java.io.InputStream StreamSources<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/11/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 TransletTemplates.java<br />
<b>
<i>Committer's log entry: </i>
</b>support for java.io.InputStream StreamSources<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for bug 1511. Predicates on the format ((a or b) and c) are not
 handled correctly. I added a small piece of code to direct the true-list
 of the OR expression to the beginning of the AND test.
 PR: Bugzilla 1511
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
 TextOutput.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix attribute node-set comparisons. There was a bug in one of the compare()
 methods of the BasisLibrary class which prevented attribute values from
 being compared. The method compared node IDs instead of node values.
 Pretty stupid bug, but now it is solved anyway.
 PR: Bugzilla 1409
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Mode.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to make sure that the implicit "text()" pattern is run when templates
 containing "text()" in their pattern fail. XSLTC would not previously
 invoke the built-in pattern for "text()" if a stylesheet contained a
 template such as &lt;xsl:template pattern="foo/bar/text()" .../&gt;
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>Modified test for legal element names in &lt;xsl:element&gt;. The element name is
 treated as an attribute value. Whitespaces are not allowed in plain text
 element names, but should be allowed inside "{...}" attribute values.
 PR: Bugzilla 1489
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>A fix for the preceding:: iterator
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>Minor re-adjustment to last fix for preceding:: iterator
 PR: 1407
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ForEach.java
 XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to prevent compiler warnings to be output more than once.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler AttributeSet.java<br />
<b>
<i>Committer's log entry: </i>
</b>Final fix (for now) for attribute sets. In cases where multiple
 &lt;xsl:attribute-set.../&gt; elements make up one attribute set (ie. they share
 the same name) attributes that occured last in the stylesheet will take
 precedence.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/12/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added support for java.io.InputStream StreamSources<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for code handling logical expressions and combinations of logical
 expressions. Mindblowing stuff, but it now seems to work as it should.
 Added another few lines of code to properly direct the program flow in
 compiled predicates with various combinations of "and" and "or" expressions.
 PR: Bugzilla 1511
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/13/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/dom SingletonIterator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for singleton iterators encapsulating variable references.
 PR: Bugzilla 1412
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/14/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added one-line fix to prevent null-pointer error. Simple code cleanup.
 PR: n/a
 Obtained from: suggestion by Guoliang Cao &lt;cao@ispsoft.com&gt;
 Submitted by: cao@ispsoft.com
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/15/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix to prevent compile-time null-pointer exceptions for certain logical
 expressions. Some nexted AND-expressions would cause this error because
 their true-list would not be backpatched. This would result in an
 instruction list with one or more branch instructions with no target,
 such as a GOTO(null) or an IFEQ(null) instruction.
 PR: none, bug found in test run and fixed immediately
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>curcuru@apache.org<b>
<i> on </i>
</b>06/17/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler
 AbsoluteLocationPath.java ApplyImports.java
 ApplyTemplates.java CastExpr.java CopyOf.java
 DocumentCall.java EqualityExpr.java Expression.java
 FilterExpr.java FilterParentPath.java ForEach.java
 FunctionCall.java IdKeyPattern.java Key.java
 KeyCall.java NameBase.java ParentLocationPath.java
 Parser.java Predicate.java RelationalExpr.java
 Step.java UnionPathExpr.java
 java/src/org/apache/xalan/xsltc/compiler/util
 NodeSetType.java NodeType.java ReferenceType.java
 ResultTreeType.java Type.java
 java/src/org/apache/xalan/xsltc/dom UnionIterator.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>OK, I'm going to make a wild guess and assume that sboag's recent commit
 of /NodeSet/NodeSetDTM/ got a little out of control and shouldn't have
 gone down into org.apache.xalan.xsltc - undone to fix compile error<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/18/2001<br />
<b>
<i>Removed: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 NodeSetType.java<br />
<b>
<i>Committer's log entry: </i>
</b>Removing NodeSetType (renamed to NodeSetDTMType).
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 NodeSetDTMType.java<br />
<b>
<i>Committer's log entry: </i>
</b>
<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/18/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 NodeSetType.java<br />
<b>
<i>Removed: </i>
</b>java/src/org/apache/xalan/xsltc/compiler/util
 NodeSetDTMType.java<br />
<b>
<i>Committer's log entry: </i>
</b>


<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/19/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ContainsCall.java
 FunctionCall.java If.java LogicalExpr.java
 Param.java QName.java StartsWithCall.java
 SymbolTable.java SyntaxTreeNode.java Template.java
 Variable.java xpath.cup
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for function calls used as clauses in logical expressions.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>Tom.Amiro@Sun.COM<b>
<i> on </i>
</b>06/19/2001<br />
<b>
<i>Committer's log entry: </i>
</b>
&gt; Fix for function calls used as clauses in logical expressions.
&gt; Submitted by: morten@xml.apache.org
&gt; Reviewed by: morten@xml.apache.org
&gt;
&gt;<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>Morten.Jorgensen@sun.com<b>
<i> on </i>
</b>06/19/2001<br />
<b>
<i>Committer's log entry: </i>
</b>
&gt; &gt; Fix for function calls used as clauses in logical expressions.
&gt; &gt; Submitted by: morten@xml.apache.org
&gt; &gt; Reviewed by: morten@xml.apache.org
&gt; &gt;
&gt; &gt;<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added check to see if stylesheet is already an URL<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 TransletTemplates.java<br />
<b>
<i>Committer's log entry: </i>
</b>added check to see if stylesheet is already an URL<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/25/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TrAXFilter.java<br />
<b>
<i>Committer's log entry: </i>
</b>proto<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/25/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>removed debug statements<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/26/2001<br />
<b>
<i>Removed: </i>
</b>java/src/org/apache/xalan/xsltc/runtime TrAXFilter.java
 TransformerFactoryImpl.java TransletTemplates.java<br />
<b>
<i>Committer's log entry: </i>
</b>in process of moving these to new subdir<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/26/2001<br />
<b>
<i>Added: </i>
</b>java/src/org/apache/xalan/xsltc/trax TrAXFilter.java
 TransformerFactoryImpl.java TransletTemplates.java<br />
<b>
<i>Committer's log entry: </i>
</b>moved from runtime subdir to its own trax subdir<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>fixed bug with deriving translet name from
 stylesheet name that included paths, e.g. /tmp/foo.xsl<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br />
<b>
<i>Committer's log entry: </i>
</b>This update allows variables that contain references to result-tree fragments
 to be used inside position filters.
 PR: n/a
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br />
<b>
<i>Committer's log entry: </i>
</b>added url handling in doTransform<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br />
<b>
<i>Committer's log entry: </i>
</b>added a new sys property called 'transletPool'
 to allow user to set the destination directory for generated translets<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br />
<b>
<i>Committer's log entry: </i>
</b>added a new sys property called 'transletPool'
 to allow user to set the destination directory for generated translets<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>tmiller@apache.org<b>
<i> on </i>
</b>06/27/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br />
<b>
<i>Committer's log entry: </i>
</b>made private method setDestDirectory() public to
 support the new transletPool system property.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/28/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Predicate.java
 Step.java Stylesheet.java VariableRef.java
 java/src/org/apache/xalan/xsltc/compiler/util
 MethodGenerator.java NodeSortRecordGenerator.java
 ResultTreeType.java TestGenerator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Various bugfixes in the way auxiliary classes access variables/fields in
 the main translet class. Fixes a few VAR tests and customer tests.
 Pmorten@xml.apache.org:<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/29/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler Choose.java
 ElementAvailableCall.java
 FunctionAvailableCall.java Parser.java When.java<br />
<b>
<i>Committer's log entry: </i>
</b>Fix for element-available() and function-available() calls. Ties these
 calls to tables in the XSL parser and the symbol-table (the actual
 implementation) instead of using redundant and not-up-to-date tables
 in the classes that implement the X-avaiable() calls.
 I also cleaned up the Choose call so that it now properly handles
 all types of function calls in the xsl:when elements' test clause.<br />
<br />
</li>
<li>
<b>
<i>Committed by </i>
</b>morten@apache.org<b>
<i> on </i>
</b>06/29/2001<br />
<b>
<i>Modified: </i>
</b>java/src/org/apache/xalan/xsltc/compiler ForEach.java
 Param.java Variable.java
 java/src/org/apache/xalan/xsltc/compiler/util
 MethodGenerator.java<br />
<b>
<i>Committer's log entry: </i>
</b>Added a fix for local variables inside nested xsl:for-each elements.
 Local variables are usually not initialized to any default value (such as
 with general Java classes), because code compiled for &lt;xsl:variable&gt;
 elements always assign values to variable slots before they are accessed.
 But the code structure generated by nested &lt;xsl:for-each&gt; elements is too
 much for the JVMs verifier to get around, so we have to initialize all
 local variables inside such loops to zero, false, null, whatever.
 This takes care some of our runtime-errors caused by apparent corrupt code.
 (The JVMs verifier thinks that it is corrupt, but it isn't really.)
 PR: none
 Obtained from: n/a
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br />
<br />
</li>
</ul>
 
 <p align="right" size="2">
<a href="#content">(top)</a>
</p>
<h3>XSLTC Changes for Xalan-Java 2.1.0</h3>
<p>The Sun XSLTC team (david.hofert@east.sun.com, tom.amiro@east.sun.com, todd.miller@east.sun.com, 
morten.jorgensen@Ireland.sun.com) has checked <a href="xsltc_usage.html">XSLTC</a> into the Xalan
source tree, and we have begun the process of merging XSLTC into Xalan. XSLTC provides a compiler for compiling
stylesheets into translets, and a streamlined runtime environment for using translets to transform XML input. 
In the near term, XSLTC will appear in a separate JAR file (xsltc.jar) with its own API and command-line
utilities. You can already use the same JAXP interfaces to perform
transformations with the Xalan transformer and with translets. Over time, we plan to merge the two codebases.
<b>
<i>See <a href="xsltc/index.html">XSLTC Design Documents</a>.</i>
</b>
</p>
<p>Since this is the first release of XSLTC on Apache (xml.apache.org), changes are  
relative to Preview 5 of XSLTC posted on www.sun.com/xml/developers.</p>
<ul>
  <li>Simplified stylesheets are now implemented.</li>
  <li>Base package name has changed from <code>com.sun.xslt</code> to <code>org.apache.xalan.xsltc</code>
</li>
  <li>You no longer have to get the BCEL.jar file; it is included in the distribution.</li>
  <li>The Project X parser components and APIs have all been replaced with JAXP equivalents. 
  Consequently, you may deploy XSLTC with JAXP-conformant parsers, such as Xerces or Crimson.</li>
  <li>Previously undocumented feature: -x. You can use the -x option on the java command line when you
  compile translets or run them to get more detailed information on errors.</li>
  <li>Addition of -s to DefaultRun - a new -s option has been added to the DefaultRun class 
  for use with test auotmation. When you use the option, it prevents System.exit() from being called when 
  and exception is encountered.</li>
</ul>
 
<p align="right" size="2">
<a href="#content">(top)</a>
</p>
</div>
<div id="footer">Copyright © 1999-2014 The Apache Software Foundation<br />Apache, Xalan, and the Feather logo are trademarks of The Apache Software Foundation<div class="small">Web Page created on - Thu 2014-05-15</div>
</div>
</body>
</html>
