<?xml version="1.0" standalone="no"?> 
<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
<!--
 * 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.
-->
<!-- $Id$ -->
<s1 title="XSLTC software changes">
<p>The following sections list <link idref="xsltc_usage">XSLTC</link> changes back to the incorporation of XSLTC into &xslt4j;.</p>
<s2 title="Changes for &xslt4j; 2.7.0">
<p>XSLTC source code updates:</p>
<ul>
<li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/02/27<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java NodeSortRecordFactory.java SortSettings.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/02/27<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>igorh@apache.org<ref> on </ref>2004/03/09<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeCounter.java<br/>
<ref>Committer's log entry: </ref>
xsl:number, minor code cleaning and optimization.<br/><br/></li>

<li><ref>Committed by </ref>bhakti@apache.org<ref> on </ref>2004/03/10<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/>
<ref>Committer's log entry: </ref>
Check if the systemId for the stylesheet is null to avoid getting an NPE.<br/><br/></li>

<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/03/16<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2004/03/24<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Patch for bug 27417.  If an output stream is created by the XSLTC transformer, close
it after the transformation.<br/><br/></li>

<li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/04/10<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyImports.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/04/10<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>bhakti@apache.org<ref> on </ref>2004/05/13<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/05/20<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/05/21<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler AttributeValueTemplate.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/05/21<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralAttribute.java LiteralElement.java Parser.java 
SyntaxTreeNode.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/05/25<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java<br/>
<ref>Committer's log entry: </ref>
Improved patch for Bugzilla 29120 based on Matthias' suggestion. A DOMImplementation is now cached for even better performance.
<br/><br/></li>

<li><ref>Committed by </ref>jycli@apache.org<ref> on </ref>2004/05/26<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java Stylesheet.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/06/10<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/06/11<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>igorh@apache.org<ref> on </ref>2004/06/21<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java xml-xalan/java/src/org/apache/xalan/xsltc/util 
IntegerArray.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla Bug 28622.<br/><br/></li>

<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/06/24<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>aruny@apache.org<ref> on </ref>2004/07/15<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java TransformerImpl.java<br/>
<ref>Committer's log entry: </ref>
Description: getNode should return the result DOM tree once TransformerHandler completes the transformation.<br/><br/></li>

<li><ref>Committed by </ref>aruny@apache.org<ref> on </ref>2004/07/15<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
AbstractTranslet.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>aruny@apache.org<ref> on </ref>2004/07/15<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/>
<ref>Committer's log entry: </ref>
Description: Patch for concatenating adjacent text nodes.<br/><br/></li>

<li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2004/07/22<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java<br/>
<ref>Committer's log entry: </ref>
Submitted by:	Yash Talwar<br/>
Reviewed by:	Brian Minchau<br/>
Fix for bugzilla 28796.<br/><br/></li>

<li><ref>Committed by </ref>jycli@apache.org<ref> on </ref>2004/08/17<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/09/24<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Variable.java<br/>
<ref>Committer's log entry: </ref>
Skip translation for any unreferenced variables. Patch reviewed by Christine Li (jycli@ca.ibm.com).<br/><br/></li>

<li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/11/16<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/12/06<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java Operators.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/12/10<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/12/10<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java Parser.java SyntaxTreeNode.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/12/10<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime Operators.java<br/>
<ref>Committer's log entry: </ref>
Replaced meaningless numbers by predefined constants in swapArray[] vector.<br/><br/></li>

<li><ref>Committed by </ref>joannet@apache.org<ref> on </ref>2004/12/13<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java<br/>
<ref>Committer's log entry: </ref>
Fixed XALANJ-1812. Template inlining setting propagated to imported stylesheets.<br/><br/></li>

<li><ref>Committed by </ref>jycli@apache.org<ref> on </ref>2005/02/04<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>ytalwar@apache.org<ref> on </ref>2005/02/09<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
Fix for XALANJ-1417.<br/><br/></li>

<li><ref>Committed by </ref>ytalwar@apache.org<ref> on </ref>2005/02/17<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mcnamara@apache.org<ref> on </ref>2005/03/03<br/>
<ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan readme.xml resources.xml xsltc_usage.xml xml-xalan/java/xdocs/sources/xsltc 
README.xslt README.xsltc<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>ytalwar@apache.org<ref> on </ref>2005/03/16<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Text.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2005/04/08<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2005/05/19<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/>
<ref>Committer's log entry: </ref>
Put in the missing Transformer.reset() implementation when doing the JAXP 1.3 integration.<br/><br/></li>

<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2005/05/20<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2005/05/31<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
Patch for XALANJ-2123. Move hard-coded messages for JAXP 1.3 into resource bundles.<br/><br/></li>

<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2005/06/08<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2005/06/08<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2005/06/15<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2005/06/30<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>jycli@apache.org<ref> on </ref>2005/07/08<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
ErrorMessages.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2005/07/11<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2005/07/13<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/>
<ref>Committer's log entry: </ref>
Minor change in the error message,
fix was found by Brian Vargas, patch produced and
reviewed by Brian Minchau.<br/><br/></li>

<li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2005/07/15<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mcnamara@apache.org<ref> on </ref>2005/07/19<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mcnamara@apache.org<ref> on </ref>2005/07/13<br/>
<ref>Modified: </ref> java/src/org/apache/xalan/xsltc/compiler xpath.lex<br/>
<ref>Committer's log entry: </ref>
Patch for XALANJ-1912.<br/>
Provided by Santiago Pericas-Geertsen<br/>
Reviewed by Yash Talwar.<br/><br/></li>

</ul>
</s2>

<s2 title="Changes for &xslt4j; 2.6.0">
<p>XSLTC source code updates:</p>
<ul>
<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/31<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/31<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor StylesheetPIHandler.java 
xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><br/>
<ref>Committer's log entry: </ref>
Patch for Bugzilla 24187 by Bhakti Mehta (Bhakti.Mehta@sun.com).<br/><br/></li>

<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/11/04<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/11/05<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><br/>
<ref>Committer's log entry: </ref>
Committing patch for Bugzilla 24414 by Bhakti Mehta (Bhakti.Mehta@sun.com).<br/><br/></li>

<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/11/11<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
Patch for Bugzilla 24518 by Mehta Bhakti (Mehta.Bhakti@sun.com).<br/><br/></li>

<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/11/17<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java Util.java<br/><br/>
<ref>Committer's log entry: </ref>
Patch for Bugzilla 24695 by Bhakti Mehta (Bhakti.Mehta@sun.com).<br/><br/></li>

<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/11/21<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java Util.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/11/24<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/11/24<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/12/04<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/12/04<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java TransformerImpl.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/12/04<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br/><br/>
<ref>Committer's log entry: </ref>
Added comments to describe the situation in which this iterator is used.<br/><br/></li>

<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/12/04<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br/><br/>
<ref>Committer's log entry: </ref>
Creation of translet's class loader should be wrapped in a doPrivileged block (java.lang.RuntimePermission createClassLoader).<br/><br/></li>

<li><ref>Committed by </ref>rameshm@apache.org<ref> on </ref>2003/12/11<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/12/12<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
Take advantage of DTM pluggability support for XSLTC.<br/><br/></li>

<li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/12/12<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/12/19<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/12/19<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/12/23<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util BooleanType.java IntType.java RealType.java ReferenceType.java 
StringType.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/12/23<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/01/06<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/01/13<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/01/14<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/01/14<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java<br/>
<ref>Committer's log entry: </ref>
Removing unused constant.<br/><br/></li>

<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/01/20<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NodeSetType.java ResultTreeType.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>jycli@apache.org<ref> on </ref>2004/02/02<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/02/05<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FilterExpr.java Predicate.java Step.java StepPattern.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>jycli@apache.org<ref> on </ref>2004/02/10<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/02/11<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2004/02/12<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>jycli@apache.org<ref> on </ref>2004/02/13<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><br/>
<ref>Committer's log entry: </ref>
A slightly faster implementation of round function.<br/><br/></li>

<li><ref>Committed by </ref>jycli@apache.org<ref> on </ref>2004/02/16<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><br/>
<ref>Committer's log entry: </ref>
Fix a bug introduced during optimizing for the previous code
Should check for NaN cases.<br/><br/></li>

<li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2004/02/16<br/>
<ref>Modified: </ref> Most files in the Xalan Java cvs repository (too many to list)<br/><br/>
<ref>Committer's log entry: </ref>
New Apache 2.0 license update.<br/><br/></li>

<li><ref>Committed by </ref>igorh@apache.org<ref> on </ref>2004/02/19<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java<br/><br/>
<ref>Committer's log entry: </ref>
Fix for Bugzilla Bugs 24793.<br/><br/></li>

<li><ref>Committed by </ref>bhakti@apache.org<ref> on </ref>2004/02/20<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>jycli@apache.org<ref> on </ref>2004/02/20<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>jycli@apache.org<ref> on </ref>2004/02/23<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>aruny@apache.org<ref> on </ref>2004/02/23<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>igorh@apache.org<ref> on </ref>2004/02/23<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
Patch for Bugzilla Bug 25368 submitted by Joanne Tong.<br/><br/></li>

<li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/02/24<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java VariableBase.java WithParam.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/02/24<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Number.java Predicate.java Sort.java Variable.java 
VariableRef.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/02/24<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java<br/><br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2004/02/24<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br/><br/>
<ref>Committer's log entry: </ref>
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>
</s2>
<s2 title="Changes for &xslt4j; 2.5.2">
<p>XSLTC source code updates:</p>
<ul>
<li><ref>Committed by </ref>grchiu@apache.org<ref> on </ref>2003/06/11<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Expression.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/06/16<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/>
<ref>Committer's log entry: </ref>Fix a minor bug in MultiDOM.addDOMAdapter().<br/><br/></li>
<li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/06/17<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/06/17<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/>
<ref>Committer's log entry: </ref>
Putting back LoadDocument.java<br/><br/></li>
<li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/06/17<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/06/17<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/>
<ref>Committer's log entry: </ref>
Putting back TransformerImpl<br/><br/></li>
<li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/06/17<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/06/19<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/>
<ref>Committer's log entry: </ref>
Added SAXTransformerFactory.FEATURE and SAXTransformerFactory.FEATURE_XMLFILTER
to the list of features that are implemented.  Fix for bug 20795.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/06/23<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/06/23<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/06/23<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/>
<ref>Committer's log entry: </ref>
Patch for bugzilla #15828.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/06/24<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TrAXFilter.java<br/>
<ref>Committer's log entry: </ref>
Add a "public Transformer getTransformer()" method to XSLTC's TrAXFilter class.
The Xalan TrAXFilter class already has such an interface.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/06/24<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java XSLTCSource.java<br/>
<ref>Committer's log entry: </ref>
Fix for XSLTCSource (see bugzilla 21048).<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/06/24<br/>
<ref>Modified: </ref> xml-xalan/java/xdocs/sources/xsltc xsltc_trax_api.xml<br/>
<ref>Committer's log entry: </ref>
Update documentation about how to use XSLTCSource.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/06/25<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/06/25<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>grchiu@apache.org<ref> on </ref>2003/06/26<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/06/30<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/>
<ref>Committer's log entry: </ref>
Put back DocumentCache<br/><br/></li>
<li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/06/30<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/06/30<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/>
<ref>Committer's log entry: </ref>
Fix for 3 trax.localPath failures.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/07/07<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/>
<ref>Committer's log entry: </ref>
Fix a memory leak problem with the DTMManager.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/07/08<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java Stylesheet.java Template.java<br/>
<ref>Committer's log entry: </ref>
Fix a few conformance regressions introduced by the addParameter
optimization work.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/07/10<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br/>
<ref>Committer's log entry: </ref>
Fix for bugzilla 20074. Don't create an IntegerArray of size 0.<br/><br/></li>
<li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/07/11<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
XSLTC: TransformerHandler.setResult should throw an IllegalArgumentException
when the result argument is null.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/07/16<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java<br/>
<ref>Committer's log entry: </ref>
Fix for bug 20256. Remove an unused reference to an
inexistent class.<br/><br/></li>
<li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/07/21<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/07/22<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/07/22<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/07/25<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br/>
<ref>Committer's log entry: </ref>
Fix for bugzilla 20832. Also fix testcase attribset19.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/07/25<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/>
<ref>Committer's log entry: </ref>
Fix for bugzilla 21805.<br/><br/></li>
<li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/08/01<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/08/01<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Comment.java Constants.java Text.java XSLTC.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>grchiu@apache.org<ref> on </ref>2003/08/06<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>igorh@apache.org<ref> on </ref>2003/08/08<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
Patch for Bugzilla Bug 19918<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/08/12<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/>
<ref>Committer's log entry: </ref>
Fix bytecode generation problem for extension method calls via
interfaces for bugzilla 22115.<br/><br/></li>
<li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/08/12<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/08/27<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/09/05<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler VariableRefBase.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/09/09<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/03<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/>
<ref>Committer's log entry: </ref>
Ensure we set a non-empty name for the translet even when one cannot be obtained from the systemId.<br/><br/></li>
<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/06<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/06<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/>
<ref>Committer's log entry: </ref>
(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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/06<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/07<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastCall.java Parser.java xpath.cup<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>igorh@apache.org<ref> on </ref>2003/10/10<br/>
<ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
Patch for Bugzilla Bug 14607<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/10/15<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br/>
<ref>Committer's log entry: </ref>
Fix the makeNode and makeNodeList methods in SAXImpl for bugzilla 23115.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/10/15<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Sort.java<br/>
<ref>Committer's log entry: </ref>
Apply the patch for bugzilla 23271 from Bruno Fernandez-Ruiz (brunofr@olympum.com).<br/><br/></li>
<li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/10/15<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java LogicalExpr.java Predicate.java 
RelationalExpr.java UnaryOpExpr.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/17<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/17<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/10/20<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer 
TransformerIdentityImpl.java TransformerImpl.java 
xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/20<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br/>
<ref>Committer's log entry: </ref>
Check for null before setting DTM base URI.<br/><br/></li>
<li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/21<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java<br/>
<ref>Committer's log entry: </ref>
Fix for regression in Resolve002 TCK.<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/10/22<br/>
<ref>Modified: </ref> 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/>
<ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/10/22<br/>
<ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br/>
<ref>Committer's log entry: </ref>
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>
</s2>
<s2 title="Changes for &xslt4j; 2.5.1">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/04/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler DocumentCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/04/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>

 Set SourceLocator in stylesheet instead of XSLTC object. This ensures
 proper use of user-defined URIResolvers in a TemplatesHandler.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/04/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>

 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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/05/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
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>
</s2>
<s2 title="Changes for &xslt4j; 2.5.0">
<p>XSLTC source code updates:</p>
<ul><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/02/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Message.java<br/><ref>Committer's log entry: </ref>
 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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/02/21<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
 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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/02/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ReferenceType.java<br/><ref>Committer's log entry: </ref>
 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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/02/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/02/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/05<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/05<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SimpleResultTreeImpl.java<br/><ref>Committer's log entry: </ref>
Add a new class SimpleResultTreeImpl as the model for simple RTF.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/06<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java SAXImpl.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>
Fix a bug that causes id function testcases to fail in trax.sax flavor.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java<br/><ref>Committer's log entry: </ref>
file AdaptiveResultTreeImpl.java was initially added on branch XSLTC_DTM.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/12<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Save the DTMManager in a field in MultiDOM. Don't compute it
everytime in MultiDOM.getDTMId().
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java<br/><ref>Committer's log entry: </ref>
Fix a bug which causes the docbook testcase to fail.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/18<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/03/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util VoidType.java<br/><ref>Committer's log entry: </ref>

 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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/19<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/20<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java Constants.java DecimalFormatting.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/03/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>

 Fix for Bugzilla 18162. Warnings are still reported if an occurrence of
 xsl:attribute *may* result in a runtime error.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/03/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/03/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler KeyCall.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/03/31<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>

 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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/31<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Remove XSLTC's compile time dependency on Xalan.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
 New implementation of TemplatesHandlerImpl. Fixes output method problem
 when reusing TemplatesHandler instances.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.cmdline.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java DOMCache.java NodeIterator.java Translet.java TransletOutputHandler.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.util.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.compiler.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java NodeSetType.java ObjectType.java ReferenceType.java ResultTreeType.java TypeCheckError.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.compiler.util.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java DOM2TO.java SAX2TO.java TemplatesHandlerImpl.java TransformerHandlerImpl.java TransformerImpl.java XSLTCSource.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.trax.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.runtime.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/04/02<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java SAXImpl.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>
Fix for bugzilla 17448.
Stylesheet.setIncludingStylesheet() should use _includedFrom
instead of _importedFrom.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>
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>
</s2>
<s2 title="Changes for &xslt4j; 2.4.1">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Keep track of parameters for built-in identity transform (needed for
some TCK tests).
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java TrAXFilter.java<br/><ref>Committer's log entry: </ref>
Fixed XSLTCs implementation of XMLFilter
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TrAXFilter.java<br/><ref>Committer's log entry: </ref>
added some check for parents of filter chain
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 12125.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler EqualityExpr.java RelationalExpr.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
bug 12148 fixed, xpath pred and relational expr
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/09/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>
Change committed on behalf of Igor Hersht: added -DIAG option similar to that
supported by org.apache.xalan.xslt.Process class (for bug 12261).

Also (on my own behalf) changed calculation of average transform time and
throughput rate for -n option to use floating-point division, rather than
integer division; latter yielded meaningless results.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBuffer.java StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java StreamXMLOutput.java StringOutputBuffer.java WriterOutputBuffer.java<br/><ref>Committer's log entry: </ref>
New buffering system for stream output.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeCounter.java<br/><ref>Committer's log entry: </ref>
Support for Greek alphabet in xsl:number.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output WriterOutputBuffer.java<br/><ref>Committer's log entry: </ref>
Set a larger buffer size for Solaris.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java SyntaxTreeNode.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ResultTreeType.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Set different initial sizes for DOMImpl arrays. The new values result
in better performance for the average case.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java<br/><ref>Committer's log entry: </ref>
Optimized evaluation of //RelativeLocationPath expressions.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ObjectType.java<br/><ref>Committer's log entry: </ref>
For XSLTC extension integration. Support creating ObjectType from a Class
object. Add an additional field to store the Class.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util BooleanType.java IntType.java NodeSetType.java NodeType.java RealType.java ResultTreeType.java StringType.java<br/><ref>Committer's log entry: </ref>
For XSLTC extension integration. Add more translation rules required by
extensions. Specifically, all types can be translated to a generic Java Object.
Numeric types can be translated to their corresponding Java types (e.g. Real to
java.lang.Double). Node, NodeSet and ResultTree can be translated to a Java String.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java<br/><ref>Committer's log entry: </ref>
Support the append attribute in the redirect/output extension.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
For XSLTC extension integration. Implement the object-type extension
function in the EXSLT commons package. Change the behavior of the
nodeList2Iterator interface so that it will do a deep copy on the argument
NodeList, i.e. if a Node in the NodeList is an Element, it will not only
copy the Node itself, but also copy all children and attributes. This is
required to get any extension function that returns a NodeList to work in
XSLTC.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler TransletOutput.java<br/><ref>Committer's log entry: </ref>
Support the append attribute in the output extension element, so that
it behavior is more like redirect:write.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java<br/><ref>Committer's log entry: </ref>
Add a constant string for the redirect namespace.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastExpr.java<br/><ref>Committer's log entry: </ref>
For extension integration. Allow numeric types to be casted to
Object type.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>
For extension integration. Add the objectType extension function to the
Symbol Table. Maps the redirect:write element to the TransletOutPut class.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>
For extension integration. The nodeset extension function can be used as
node-set in the http://exslt.org/common namespace.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/><ref>Committer's log entry: </ref>
Changes for Java extension and EXSLT extension support.
For Java extension:
- support 3 different namespace formats (Java, class and package).
- fix a bunch of type translation problems
- fix problems in class/method matching algorithm

For EXSLT extension:
- support the math, set, strings and datetime extension
- support using the nodeset extension in 3 different ways (xsltc, xalan and EXSLT commons)
- support the object-type extension in EXSLT commons as a native XSLTC function
- Maps the redirect:write element to XSLTC's output element
- extension function name translation (e.g. node-set to nodeSet)
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>
Additional optimizations in expansion of '//'.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>
Removed "-DIAG" option as it is similar to "-n 1". XSLTC's command line
options are single letters, so -DIAG does not really fit in the synopsis.
Morris K. is working on an extension for Xalan's Process class to allow
the compilation and execution of translets (once that work is completed
the -DIAG option will be available for XSLTC too).
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Compile.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java<br/><ref>Committer's log entry: </ref>
Change default policy for template inlining.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Replaced attribute "disable-inlining" by attribute "enable-inlining".
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java<br/><ref>Committer's log entry: </ref>
Lazy computation of mappings and reverse mappings.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
(1) Synchronize access to static variable.
(2) Pre-allocate static objects for attribute and element types.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Changed setting to speed up DOM building process.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Return a fresh XMLReader for each call to getXMLReader(). Returning the
same instance is incorrect in multi-threaded apps where a single
transformer factory is shared by all threads.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 12924. Add handling code for DocumentType Node.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 12924. In constructor SAX2DOM(Node), the Node might not always
be a Document. Add additional handling code so that SAX2DOM can work with a
non-Document root.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Use a thread variable to cache an XMLReader.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java FunctionCall.java<br/><ref>Committer's log entry: </ref>
EXtension work. Make function-available work with external Java and EXSLT
extension functions.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java<br/><ref>Committer's log entry: </ref>
Handle dots in the local part, e.g.
xmlns:ext="http://xml.apache.org/xalan/java/java.lang
function-available('ext:Thread.currentThread') return true.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java<br/><ref>Committer's log entry: </ref>
Minor cleanup in class name handling.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java DOMImpl.java DTDMonitor.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java TransformerImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/getopt GetOpt.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Include.java TransletOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
Committing changes from Gordon Chiu (grchiu@ca.ibm.com), with some tweaks from
me, to move some hard-coded XSLTC messages into the compiler and run-time
ErrorMessages classes, as appropriate.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java<br/><ref>Committer's log entry: </ref>
Committing changes from Gordon Chiu (grchiu@ca.ibm.com), with some tweaks from
me, to move some hard-coded XSLTC messages into the compiler and run-time
ErrorMessages classes, as appropriate.

Also, added copious comments to assist anyone who might translate these
resources in the future.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java<br/><ref>Committer's log entry: </ref>
Removed a duplicate error message number I inadvertently entered.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
bugzilla 12813 fixed
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMsg.java<br/><ref>Committer's log entry: </ref>
Add debug messages for -XX option in the Process command line. These messages
tell the user whether they are transforming using XSLTC.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util Util.java<br/><ref>Committer's log entry: </ref>
Fix problems in the baseName() interface so that it can handle system ids like
file:abc.xsl and file:///c:\test\abc.xsl.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>
XSLTC support in the Process command line - phase 2
Add two new output types:
- BYTEARRAY_AND_FILE_OUTPUT: return a byte array and generate the translet class
- BYTEARRAY_AND_JAR_OUTPUT:  return a byte array and generate the jar file

Add a new compile() interface which accepts the output type as the third
parameter. Use different Vectors to store bytecodes and JavaClass objects.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java<br/><ref>Committer's log entry: </ref>
Add a wrapper for the noExtName() method in compiler.util.Util.
The transformerFactoryImpl class makes use of it.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>
The member name _defaultTransletName in TransformerFactoryImpl
has been changed to _transletName.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
XSLTC support in the Process command line - phase 2
Most of the changes appear in this class. The changes not only allow you
to use the new XSLTC options in the Process command line. It also give
you the ability to customize the XSLTC behavior using the standard TRAX API.
Previously, the XSLTC TRAX API is not aware of translets. You cannot tell it
to use translets for do transformations. Now you can customize the XSLTC bevaior
using the new attributes. For example, the following code will allow you
to use translets for transformations when the translet is newer than the xsl.

TransformerFactory tf;
tf.setAttribute("auto-translet", "true");
Templates templates = tf.newTemplates(xslSource);

The following attributes are added:
Attributes		Corresponding Process command line options
use-translet
translet-name		-XO
destination-directory	-XD
package-name		-XP
jar-name		-XJ
auto-translet		-XT

Four of the new attributes (translet-name, destination-directory, package-name and
jar-name) are transient. They only apply to the next newTemplates() or newTransformer()
call. Their values are reset to the default after the call.

There is also a makefile like feature when you set the "auto-translet" attribute. It will
use the translet to do transformation when the translet is newer than the xsl. If the xsl
is modified, it will use the xsl to transform and regenerate the translet.

Unlike the XSLTC Transform command line, the new code will NOT use the existing
ClassLoader to load the translet or jar file. It directly reads the file content into a
byte array. This makes the Process command line capable of loading the translet from
any directory the xsl file might be in or any user specified destination directory, without
the need on the user to add that directory to the CLASSPATH first.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Multi-thread protection for the new attributes.
The four transient attributes are now stored in ThreadLocal objects to prevent
multi-thread contention problems. This ensures that each thread will have a
different copy of the attributes and no collision issue will occur.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Change the four attributes to be instance variables and remove
the ThreadLocal protection. TransformerFactory is not guaranteed
to be thread-safe. We will leave the synchronization issues up
to the user if they want to use one TransformerFactory in multiple
threads.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Param.java<br/><ref>Committer's log entry: </ref>
The default type of a &lt;xsl:param&gt; should be result tree.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/><ref>Committer's log entry: </ref>
Fix a problem in class namespace format and also cleanup the indentation.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Param.java<br/><ref>Committer's log entry: </ref>
Set default type of parameters to be reference. The type of a parameter
cannot be determined statically in XSLT 1.0.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java Constants.java ForEach.java LastCall.java Parser.java PositionCall.java Step.java xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java CurrentNodeListIterator.java DOMAdapter.java DOMImpl.java DupFilterIterator.java FilteredStepIterator.java FilterIterator.java ForwardPositionIterator.java KeyIndex.java MatchingIterator.java MultiDOM.java NodeIteratorBase.java NthIterator.java ReverseIterator.java StepIterator.java xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br/><ref>Committer's log entry: </ref>
(1) Eliminated the need for a ReverseIterator.
(2) Added a ForwardPositionIterator as a temporary solution for some
cases.
(3) Added several javadoc-type comments.
(4) Fixed a number of cloneIterator() implementations that were broken.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ForwardPositionExpr.java<br/><ref>Committer's log entry: </ref>
Expression wrapper to compute positions properly.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 13304.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/10/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java<br/><ref>Committer's log entry: </ref>
bug fix 12644, Santiago found that the clone iterator was doing a shallow copy
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Key.java KeyCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br/><ref>Committer's log entry: </ref>
(1) Fixed some dynamic typing problems with idkeys. Values are now properly
converted to strings before they are compared.
(2) Eliminated the use of BitArrays in KeyIndex (better space efficiency).
(3) All idkey tests now pass with flavor=stream (the 6 failures that are
reported are due to the use of a different algorithm to generate ids).
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java Parser.java<br/><ref>Committer's log entry: </ref>
bug fix 13550, for multiple &lt;xsl:output&gt; elements, cdata-section-elements attrs are now merged
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslElement.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
New implementation of xsl:element that properly handles the case where
the namespace URI computed at runtime is "". Some of the code implementing
the xsl:element instruction has been factored out from the translet into
the basis library.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
bug fix 12317, serialization of Templates is fixed
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
A RuntimeException cannot be constructed from a Throwable with JDKs
prior to 1.4.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>
Clear dom index flag before passing node to DOMAdapter. Bug reported by
Prakash Sridharan.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
Switch order of calls to startElement() and namespace() in startXslElement().
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/10/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>
bug fix 12308, typeCheck, nodeset to node optimization is turned off if node has context
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java<br/><ref>Committer's log entry: </ref>
Added support for all EBCDIC flavors in xsl:output.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java<br/><ref>Committer's log entry: </ref>
Moved EBCDIC support from Output to StreamOutput to ensure correct
serialization of XML header.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler PositionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom CurrentNodeListIterator.java DOMImpl.java FilterIterator.java NthIterator.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
Committing patch from Henry Zongaro. This patch moves the logic from
XPath's position() function from NodeIterator.getPosition() to
BasisLibrary.positionF(). This change simplifies the integration
between XSLTC and DTM.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
Adding XSLTC_DTM version of file to branch.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
Whoops!  Checked in file on MAIN branch that was meant for XSLTC_DTM branch.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
Adding DTM version of ForwardPositionIterator to XSLTC_DTM branch.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
Aarrrgggghhhhh\!\!  Checked in file on MAIN branch that was meant for XSLTC_DTM branch, again\!
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 13826. A problem in reset() was the cause of duplicate
nodes in the resulting nodeset.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NodeSetType.java ReferenceType.java ResultTreeType.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 13850 provided by Morris Kwan.

Morris Kwan wrote:

Changes in NodeSetType.java:
Allow a org.w3c.dom.Node to be converted to a XSLTC internal nodeset

Changes in ReferenceType.java:
Allow conversions from Reference to Java String, double, w3c Node/NodeList

Changes in ResultTreeType.java:
The result tree when converted to a nodeset, should contain only one node
starting from the root. If you replace &lt;xsl:param&gt; with &lt;xsl:variable&gt; in
the attached testcase, you will see a problem in "ext:nodelistTest
($a)/h1/h2" because of this problem.

Changes in BasisLibrary.java:
Added interfaces referenceToNodeList, referenceToNode and node2Iterator.
The changes in copyNodes() fix a problem with the document node. In the
case of an RTF, the NodeList passed to nodeList2Iterator() contains only
one Node, which is a Document Node. The changes try to create a dummy
element for the Document and copy all Nodes under it.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>

  Fix for Bugzilla 13850 provided by Morris Kwan.

  Changes in BasisLibrary.java:
  Added interfaces referenceToNodeList, referenceToNode and node2Iterator.
  The changes in copyNodes() fix a problem with the document node. In the
  case of an RTF, the NodeList passed to nodeList2Iterator() contains only
  one Node, which is a Document Node. The changes try to create a dummy
  element for the Document and copy all Nodes under it.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LocationPathPattern.java Mode.java Step.java StepPattern.java xpath.cup<br/><ref>Committer's log entry: </ref>
Distinguish between child::node() and attribute::node() both in patterns
and expressions. This patch also fixes Bugzilla 11433.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Fixed problem in DOMImpl$ChildrenIterator.getLast(). It now returns 0
when the nodeset is empty.
<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.4.0">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>
added new method 'setDocumentLocator()' to TemplatesHandlerImpl so that SAX parser can inform handler of doc location- thanks to Scott Boag and Shane Curcuru for the insight into this
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler UnresolvedRef.java<br/><ref>Committer's log entry: </ref>
Assigned type to _type.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/10<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
Fixed problem with default namespace in XPath expressions and XSLT's
named objects (e.g. templates, keys, variables, etc.).
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>
Fixed StepPattern production to include named PIs.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Text.java<br/><ref>Committer's log entry: </ref>
Optimized calls to setEscaping().
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Simple code optimizations.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java<br/><ref>Committer's log entry: </ref>
Replaced Vector by ArrayList (synchronization is not needed here).
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>
Fixed looping problem reported by Girish.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/14<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
Added characters(String) to TextOutputHandler.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>
avoid printing standalone attr if it is set to 'no'
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java<br/><ref>Committer's log entry: </ref>
Fix for conf test axes113.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>
fixed a regression in output66 test
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Text.java<br/><ref>Committer's log entry: </ref>
Fix for attribset49.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>
Fix for axes127.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Do not add the standalone attribute to the XML header unless requested.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output DOMOutput.java OutputBase.java SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java StreamOutput.java<br/><ref>Committer's log entry: </ref>
New output handlers.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Fix bug in Attr iterator.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output HtmlOutput.java StreamOutput.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java<br/><ref>Committer's log entry: </ref>
updated new code, on-going development
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java<br/><ref>Committer's log entry: </ref>
added new methods, on-going
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
New methods added to the translet output handler.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output HtmlOutput.java StreamHTMLOutput.java<br/><ref>Committer's log entry: </ref>
Renamed module.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output DOMOutput.java<br/><ref>Committer's log entry: </ref>
temporarily moved out of the way
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXOutput.java SAXXMLOutput.java<br/><ref>Committer's log entry: </ref>
updated namespace support
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java SAXOutput.java<br/><ref>Committer's log entry: </ref>
fixed uninitialized stack
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>
Experimental output system.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br/><ref>Committer's log entry: </ref>
Experimental output system.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java<br/><ref>Committer's log entry: </ref>
Added "-n" option to Transform.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamUnknownOutput.java StreamXMLOutput.java TransletOutputHandlerFactory.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamTextOutput.java TransletOutputHandlerFactory.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
Insert XML header at the beginning.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br/><ref>Committer's log entry: </ref>
added sax case support
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br/><ref>Committer's log entry: </ref>
updated
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/28<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
Added 'experimental-output' attribute to transformer factory.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/05/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXXMLOutput.java<br/><ref>Committer's log entry: </ref>
added processing instruction support
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
Bug fixes after testing.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java<br/><ref>Committer's log entry: </ref>
Added DOCTYPE.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java Parser.java<br/><ref>Committer's log entry: </ref>
Fixed problem with 'xmlns' reported as attribute.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/31<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
Fixed problem with offset in characters().
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java StreamOutput.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
Moved common methods to base classes.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
updating work in progress
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
Updated.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXXMLOutput.java<br/><ref>Committer's log entry: </ref>
Updated.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Fixed problems with id/key.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXOutput.java SAXXMLOutput.java StreamOutput.java<br/><ref>Committer's log entry: </ref>
Updated.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamUnknownOutput.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
Updated.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/05<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
reset output flag
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/05<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
updated xsl:vendor string
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/05<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
updated xsl:vendor string
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/05<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
bug fix 9179, leading zero in localized formatting
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Include attributes in xsl:message template body.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java<br/><ref>Committer's log entry: </ref>
Set a new buffer size.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java<br/><ref>Committer's log entry: </ref>
Fixed memory leak in AbstractTranslet and moved replace() method
to BasisLibrary.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXOutput.java SAXTextOutput.java TransletOutputHandlerFactory.java<br/><ref>Committer's log entry: </ref>
New class.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>
fixed processing instruction call
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br/><ref>Committer's log entry: </ref>
added text case for SAX
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java<br/><ref>Committer's log entry: </ref>
Typo.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java<br/><ref>Committer's log entry: </ref>
Do not insert &lt;META&gt;.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Fixed problem in the implementation of setOutputProperties().
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>
Added comment() support.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>
added support for comment handling in DOM
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>
Fixed getTemplates() to return null when compilation fails.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Committer's log entry: </ref>
No longer in use.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
New output system installed.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>
bug fix for copy32.xsl unit test; cdata handling
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java<br/><ref>Committer's log entry: </ref>
Fixed file creation for xsltc:output extension.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom BitArray.java<br/><ref>Committer's log entry: </ref>
Added default constructor.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java<br/><ref>Committer's log entry: </ref>
Fixed insertion of META when HEAD is empty.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom CurrentNodeListIterator.java<br/><ref>Committer's log entry: </ref>
Replaced eager by lazy computation of last.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom StepIterator.java<br/><ref>Committer's log entry: </ref>
Very minor optimization.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Simple hand optimizations.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/17<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
Fixed layering of output properties in Trax.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Replaced getProperty() by get() in setOutputProperties().
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Include.java<br/><ref>Committer's log entry: </ref>
catching file not found exception fixed
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>
added ability to detect/flag superfluous attributes
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>
removed commented out code
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
fixed bug that passes warnings to listener
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamUnknownOutput.java<br/><ref>Committer's log entry: </ref>
Added support for XHTML in output system (c.f. embed04).
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
fixed bug with number formatting, richmark test
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java<br/><ref>Committer's log entry: </ref>
fixed escaping of quote in href attribute
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Fixed problem in creation of output handler.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXOutput.java SAXXMLOutput.java StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
Fixed problem with cdata-section-elements in xsl:output and namespaces.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
fixed nit for Tom
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
fixed unescaped quote in attribute, namespace110 unit test
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Ignore default properties in setOutputProperties().
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java StreamHTMLOutput.java StreamOutput.java StreamUnknownOutput.java<br/><ref>Committer's log entry: </ref>
Fix to set output properties correctly in the new output system.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java<br/><ref>Committer's log entry: </ref>
Fixed indentation when output method is HTML.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/19<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
Fixed indentation when output method is HTML.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java<br/><ref>Committer's log entry: </ref>
Rollback to revision 1.39
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>
whitespace13.xsl fix for trax.dom case
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Fixed regression.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler NameBase.java<br/><ref>Committer's log entry: </ref>
_type renamed to _paramType to avoid shadowing of protected vars.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/><ref>Committer's log entry: </ref>
Replaced _type by getType().
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java MultiDOM.java<br/><ref>Committer's log entry: </ref>
Fixed evaluation of "parent::*" with multiple DOMs.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 9068.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>
Better fix for Bugzilla 9068.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 8551.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzillas 3238 and 10137.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 6925.
<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/06/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java<br/><ref>Committer's log entry: </ref>
fix check for extension functions
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util Util.java<br/><ref>Committer's log entry: </ref>
Fix for function-available() needed to handle XSLTC's extension functions.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ParentLocationPath.java Step.java<br/><ref>Committer's log entry: </ref>
Fix for axes122.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>
Fixed regression.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br/><ref>Committer's log entry: </ref>
Fixed bug in clone().
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ElementAvailableCall.java Expression.java FunctionAvailableCall.java If.java LogicalExpr.java When.java<br/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/26<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Fix for node21 and some position tests.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Fix problem in copyElement().
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>
Use doubles instead of longs for big ints.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LongExpr.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util LongType.java<br/><ref>Committer's log entry: </ref>
removed unused class, compiler will now use doubles
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/28<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
removed references to the LongExpr classes that were removed
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Copy namespace nodes of an element in xsl:copy.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ElementAvailableCall.java FunctionAvailableCall.java<br/><ref>Committer's log entry: </ref>
Better error reporting when argument is not a literal.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/06/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>
Use a BufferedOutputStream to write classes.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/07/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
fixed conf tests copy21, copy22, expression02, idkey04, numbering91 with introduction of setSystemId on InputSource
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Compile.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>
Updated XSLTC's version number from 1.0 to 1.1
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler AttributeSet.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 4603 (thanks to Henri Zongaro)
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>
Print warning message for superfluous attributes that have a null URI only.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/07/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Sort.java<br/><ref>Committer's log entry: </ref>
bug 5941 fixed, &lt;clinit&gt; access chged to ACC_STATIC from ACC_FINAL
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util TypeCheckError.java<br/><ref>Committer's log entry: </ref>
Enhanced error reporting in calls to external Java functions.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/07/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
bug 10832 fix, relational expressions with RTFs
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 9174.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br/><ref>Committer's log entry: </ref>
Fixed error message in defineTransletClasses() method.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java Stylesheet.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 9171.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/><ref>Committer's log entry: </ref>
Fixed problem in error reporting code.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>
Ignore default NS when expanding calls to position().
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Accept null as a possible return value from URIResolver.resolve()
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java<br/><ref>Committer's log entry: </ref>
Report a decent error when the URI cannot be resolved.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br/><ref>Committer's log entry: </ref>
Added a few getters to this class.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br/><ref>Committer's log entry: </ref>
Use the superclass to determine the main class of a translet.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 10715.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
Fixed a regression.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Fixed for Bugzilla 10625. URIResolvers were being dropped in several places.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java<br/><ref>Committer's log entry: </ref>
Util class for the TrAX package.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>
Synchronize calls to Stylesheet.translate() using class' lock.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br/><ref>Committer's log entry: </ref>
Ensure synchronization for Templates objects.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Added safety net to getDOM().
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/07/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ObjectType.java<br/><ref>Committer's log entry: </ref>
added new type for support of ext java functions
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/07/25<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
bug fix 10837, support of ext java functions
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Expression.java FlowList.java Mode.java StepPattern.java TestSeq.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 11166.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>
Fixed loop exit condition in prepareTestSequences().
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/07/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ReferenceType.java ResultTreeType.java<br/><ref>Committer's log entry: </ref>
Added type promotion from result-tree to object (used in call to nodeset()).
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/07/30<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
improved selection algorithm for overloaded methods and constructors in ext java funct calls
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java<br/><ref>Committer's log entry: </ref>
Fixed regression of test function-available('xalan:nodeset').
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
Use factory class methods to instantiate default decimal formatter.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java<br/><ref>Committer's log entry: </ref>
1. Report attributes with non-empty local names.
2. Ignore attributes reported as content.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>
Use unmodified URI when retrieving the document via the DOM cache.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/12<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
New implementation of identity transform. Fix for Bugzilla 11345.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Expression.java ParameterRef.java VariableRef.java<br/><ref>Committer's log entry: </ref>
bug fix for bugzilla 11221, MK053
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br/><ref>Committer's log entry: </ref>
bug 11704, fixed ErrorMsg to include name information
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
fixed bug that was calling an inappropriate compare method when the right side of the comparison was a DOM
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java<br/><ref>Committer's log entry: </ref>
fixes conf tests lre02, lre03, lre11, namespace125, namespace126
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler RelationalExpr.java<br/><ref>Committer's log entry: </ref>
Fix for bugzilla 11987. Missing case in typeCheck() method.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
Very minor optimization.
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>
conf test string134 fix
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>
Fix for namespace102 (this test worked with Crimson but failed with
Xerces).
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ResultTreeType.java<br/><ref>Committer's log entry: </ref>
Removed debugging message.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/26<br/><ref>Modified: </ref> 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/><ref>Committer's log entry: </ref>
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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Allow the default namespace to be redefined as "".
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
*** empty log message ***
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
bug fix for output13 conf test
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla 12075.
<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.3.2">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>02/21/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>bug fix 6417, removed extra root element in DOM,
 contributed by Tim Elcott<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>02/21/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-beta-branch SAX2DOM.java<br/><ref>Committer's log entry: </ref>fix DOMResult SOAP bug 4641035<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>02/26/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>bug fix 6636, Transformers forgets output properties
 fix contributed by Tim Elcott (bigfoot.com)<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>02/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>bug 6751, null properties are now set properly,
 fix contributed by Derek Sayeau- thanks Derek.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/01/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TransletLoader.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/01/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/01/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-beta-branch TransletLoader.java<br/><ref>Committer's log entry: </ref>bugtraq #4644811, Tomcat and ext java classes, Santiago Pericas<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/01/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-beta-branch TransformerImpl.java<br/><ref>Committer's log entry: </ref>bugtraq #4644811, Tomcat and ext java classes, Santiago Pericas<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/01/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-beta-branch TransformerImpl.java<br/><ref>Committer's log entry: </ref>backed out chg<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/01/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-beta-branch TemplatesImpl.java<br/><ref>Committer's log entry: </ref>bugtraq #4644811, Tomcat and ext java classes, Santiago Pericas<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom SortingIterator.java<br/><ref>Committer's log entry: </ref>bug 6693- fix by Santiago Pericas, implement a
 iterator clone method.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java
 SAX2DOM.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>bug 6620 fix: DOMSource no longer requires
 Document nodes, fix contrib by Santiago Pericas-Geersten<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>re-entered bug fix 6751, last putback inadvert.
 removed this fix<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br/><ref>Committer's log entry: </ref>bug fixes for 6257,6851,6665,6809; Santiago Pericas-Geerston<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>bug fix 6850, Santiago Pericas-Geerston<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/07/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TemplatesHandlerImpl.java
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>bug 6312, TemplatesHandler and XMLReader, fix
 by Santiago Pericas<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>03/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler StepPattern.java<br/><ref>Committer's log entry: </ref>just minor change to syntax<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>03/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java
 java/src/org/apache/xalan/xsltc/dom UnionIterator.java<br/><ref>Committer's log entry: </ref>fix 5573 for XSLTMark alphabetize test<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>03/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom
 CurrentNodeListIterator.java<br/><ref>Committer's log entry: </ref>fix bug 5577 XSLTMark trend test<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>03/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>got rid of call to forceNaturalOrder code, Santiago Pericasgeersten<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>03/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Expression.java<br/><ref>Committer's log entry: </ref>fix XSLTMark test dbonerow slow performance, Santiago P.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/12/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 FormatNumberCall.java<br/><ref>Committer's log entry: </ref>bug 6692, fix by Santiago Pericas-Geersen<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/12/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 ProcessingInstruction.java<br/><ref>Committer's log entry: </ref>bug 5141, fix by Santiago Pericas-Geersen<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/12/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 StringValueHandler.java<br/><ref>Committer's log entry: </ref>bug 5141, fix by Santiago Pericas-Geersen<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/12/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Util.java<br/><ref>Committer's log entry: </ref>bug 6413, fix by Santiago Pericas-Geersen<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/13/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br/><ref>Committer's log entry: </ref>bug 6963, omit header needs to be set before output
 occurs, fix by Santiago Pericas-Geersen<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/14/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 ParentLocationPath.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/15/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br/><ref>Committer's log entry: </ref>bug 6819, variables translated before attrs to fix
 problems with dependency, fix by Santiago Pericas-Geertsen<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/19/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>fix for unit test customer/murphy3.xsl<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/27/2002<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/dom ExtendedSAX.java<br/><ref>Committer's log entry: </ref>bug 2951, new class<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMBuilder.java
 DOMImpl.java<br/><ref>Committer's log entry: </ref>bug 2951 fix<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java<br/><ref>Committer's log entry: </ref>bug 2951 fix<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>03/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug fix for output31, output32 tests, esc chars<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>bug 7679, xsl:vendor fix<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/03/2002<br/><ref>Modified: </ref>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/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/dom Tag:
 jaxp-ri-1_2_0-fcs-branch ExtendedSAX.java<br/><ref>Committer's log entry: </ref>merged the latest xsltc subtree with the xalan 2.3.1 fcs branch<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>Fixed problem with attribute URI<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/><ref>Committer's log entry: </ref>Fix for bugzilla 7721<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/><ref>Committer's log entry: </ref>Fix related to bugzilla 7721<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-fcs-branch DOM2SAX.java<br/><ref>Committer's log entry: </ref>Fixed attr namespace.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-fcs-branch SAX2DOM.java
 TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fixed problem when a DOMResult is created with a root node.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch FunctionCall.java<br/><ref>Committer's log entry: </ref>Bugzilla 7721.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/08/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>Add support for user-specified root node.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/08/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>Add support for user-specified root node.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch FunctionAvailableCall.java
 FunctionCall.java<br/><ref>Committer's log entry: </ref>bug 7375 fixed, handles ext java functions now<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-fcs-branch SAX2DOM.java<br/><ref>Committer's log entry: </ref>Fixed regression.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>Regression fixed.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/15/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax Tag:
 jaxp-ri-1_2_0-fcs-branch TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>bug 8017, translet class name fixed in getTemplates<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/15/2002<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>New implementation of xsl:element<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/15/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-fcs-branch BasisLibrary.java<br/><ref>Committer's log entry: </ref>New implementation of xsl:element<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/15/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom Tag:
 jaxp-ri-1_2_0-fcs-branch DOMAdapter.java
 DOMImpl.java MultiDOM.java<br/><ref>Committer's log entry: </ref>New implementation of xsl:element<br/><br/></li><li><ref>Committed by </ref>Tom.Amiro@Sun.COM<ref> on </ref>04/15/2002<br/><ref>Committer's log entry: </ref>
&gt; bug 8017, translet class name fixed in getTemplates
&gt;
&gt;<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/16/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>bug 8017, translet class name fixed in getTemplates<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/16/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom Tag:
 jaxp-ri-1_2_0-fcs-branch DOMImpl.java<br/><ref>Committer's log entry: </ref>Check for localName == null.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/16/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch Include.java<br/><ref>Committer's log entry: </ref>bug 7835, patch from Stefan Kost to better handle
 empty strings and local paths in xsl:include<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/16/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Include.java<br/><ref>Committer's log entry: </ref>bug 7835, integrated patch by Stefan Kost which
 better handles empty strings and local paths in xsl:include<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/16/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch DocumentCall.java<br/><ref>Committer's log entry: </ref>Santiago: fixed type check error when 2nd arg (base-uri) is node instead
 of node-set.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Tag: XSLTC_DTM
 Mode.java<br/><ref>Committer's log entry: </ref>get rid of debug line<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/17/2002<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>Added support for extension function nodeset().<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom Tag:
 jaxp-ri-1_2_0-fcs-branch DOMAdapter.java
 DOMImpl.java MultiDOM.java<br/><ref>Committer's log entry: </ref>Added support for extension function nodeset().<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-fcs-branch BasisLibrary.java<br/><ref>Committer's log entry: </ref>Added support for extension function nodeset().<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/18/2002<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>Fixed problem with extension function nodeset() and parameters.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM
 SAXAdapter.java<br/><ref>Committer's log entry: </ref>Pass in the local name of the element<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/19/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch FunctionAvailableCall.java<br/><ref>Committer's log entry: </ref>JAVA_EXT_PREFIX renamed to JAVA_EXT_XSLTC<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Tag:
 jaxp-ri-1_2_0-fcs-branch MethodGenerator.java<br/><ref>Committer's log entry: </ref>Fixed bug in addLocalVariable() when the slot allocator was already 
initialized.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch ElementAvailableCall.java<br/><ref>Committer's log entry: </ref>Added namespace support to the implementation of element-available().<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch LiteralExpr.java<br/><ref>Committer's log entry: </ref>


<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch Parser.java<br/><ref>Committer's log entry: </ref>Namespace support for element-available().<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Tag:
 jaxp-ri-1_2_0-fcs-branch Stylesheet.java<br/><ref>Committer's log entry: </ref>Fixed bug in resolveReferences().<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/23/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-fcs-branch TextOutput.java<br/><ref>Committer's log entry: </ref>escaped character handling improved by Santiago<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/23/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime Tag:
 jaxp-ri-1_2_0-fcs-branch TextOutput.java<br/><ref>Committer's log entry: </ref>escaped character handling improved by Santiago, again<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/23/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Tag:
 jaxp-ri-1_2_0-fcs-branch ErrorMessages.java<br/><ref>Committer's log entry: </ref>Fixed command line synopsis.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/24/2002<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>Commit after syncing trunk with branch jaxp-ri-1_2_0-fcs-04.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/25/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java<br/><ref>Committer's log entry: </ref>updated compiler usage statement<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/25/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br/><ref>Committer's log entry: </ref>added a -v option to compiler,prints out version<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/25/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java<br/><ref>Committer's log entry: </ref>updated cmdline.Transform usage statement<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/25/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.lex<br/><ref>Committer's log entry: </ref>Added support for the full Unicode char set.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/25/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Util.java<br/><ref>Committer's log entry: </ref>Replacing '/' by '$slash$' and ':' by '$colon$' in escape() (bugzilla 6289)<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/26/2002<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/26/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler VariableBase.java<br/><ref>Committer's log entry: </ref>Added check to avoid duplicate dependencies.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/26/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
 FilterParentPath.java ParentLocationPath.java<br/><ref>Committer's log entry: </ref>Replaced STEP_ITERATOR by NODE_ITERATOR_BASE when calling includeSelf().<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/26/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler FunctionCall.java
 java/src/org/apache/xalan/xsltc/compiler/util
 ReferenceType.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>04/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>fixed null ptr exception with sax sources that did
 not specify an xml reader<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Fixed Bugzilla 8489.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/30/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Util.java<br/><ref>Committer's log entry: </ref>Fixed a bug in replace() by writting a new (and more efficient) version.<br/><br/></li><li><ref>Committed by </ref>Tom.Amiro@Sun.COM<ref> on </ref>04/30/2002<br/><ref>Committer's log entry: </ref>
&gt; Fixed a bug in replace() by writting a new (and more efficient) version.
&gt;
&gt;<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>05/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerHandlerImpl.java<br/><ref>Committer's log entry: </ref>Fixed file-not-found problem with flavor=trax.sax by propagating
 the systemId.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>05/03/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>Fixed for Bugzilla 2886 (node15).<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>05/03/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
 Include.java Stylesheet.java TestSeq.java
 XSLTC.java<br/><ref>Committer's log entry: </ref>Disabling template inlining for included stylesheets.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>05/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 AncestorPattern.java Mode.java ParentPattern.java
 StepPattern.java<br/><ref>Committer's log entry: </ref>Fixed a few problems with ancestor patterns (//) and patterns with
 explicit priorities.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>05/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Rewrote a couple of if statements as if expressions.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>05/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 VariableBase.java<br/><ref>Committer's log entry: </ref>Better error reporting for syntax errors in XPath expressions.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>05/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 xpath.cup<br/><ref>Committer's log entry: </ref>Fix for Bugzilla 8041.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>05/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java ErrorMessages_no.java
 ErrorMsg.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla 8041.<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>05/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 AbsolutePathPattern.java AncestorPattern.java
 ParentPattern.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla 2836 (modes15).<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>05/08/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>fixes a set of trax.dom conf tests<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>05/08/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>fixes a set of trax.dom conf tests<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.3 and 2.3.1">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>01/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug 1520 fix, escape chars over 0080 instead of 00FF<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>01/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug 1520, adjusted 0080 to 007F in ASCII cutoff<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>02/01/2002<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>changed de.fub.bytecode to org.apache.bcel<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>02/01/2002<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>changed de.fub.bytecode to org.apache.bcel<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>02/01/2002<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>changed de.fub.bytecode to org.apache.bcel<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>02/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug 1520, spec chars in href attributes<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>02/07/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug 1520, updating href attr spec char handling<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>02/13/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>bug fix 6189, ArrayIndexOutOfBoundsException, contrib
 by Mirko Seifert<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>02/14/2002<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc
 javax.xml.transform.TransformerFactory<br/><ref>Committer's log entry: </ref>added a service provide source file to be copied into
 xsltc.jar (bundled jar)<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.2">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java
 xpath.lex<br/><ref>Committer's log entry: </ref>


<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/04/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler SyntaxTreeNode.java
 XslElement.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 RoundCall.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.lex<br/><ref>Committer's log entry: </ref>Reverting previous putback.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.lex<br/><ref>Committer's log entry: </ref>fixed typo<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 MethodGenerator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 ResultTreeType.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 ResultTreeType.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added factory creation methods and checks<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>new prototype class, work in progress<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>look for xsltc specific attributes<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>store error listener and or uri resolver locally
 set in real factory when needed<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>fixed scope of internal method<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>12/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java
 java/src/org/apache/xalan/xsltc/dom DTDMonitor.java<br/><ref>Committer's log entry: </ref>A small cleanup in our native API.
 Submitted by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>01/07/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>fixed problem with output content handler creation
 (while running xalan conf tests) in method getOutputHandler(Result).<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.2.D14">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Fix for last putback.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>11/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br/><ref>Committer's log entry: </ref>bug fix 4906<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java
 Template.java xpath.cup<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Sort.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java
 Sort.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 StringType.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
 Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Message.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 FilteredStepIterator.java StepIterator.java
 UnionIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler AttributeSet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Sort.java
 java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 DecimalFormatting.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>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>
</s2>
<s2 title="Changes for &xslt4j; 2.2.D12 and 2.2.D13">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler NameBase.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>included a more portable way to create an URI from a File<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Committer's log entry: </ref>ncluded a more portable way to create an URI from a File<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>ncluded a more portable way to create an URI from a File<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>ncluded a more portable way to create an URI from a File<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added catch for malformed url<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
 Mode.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup xpath.lex<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 FilterParentPath.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 FilterParentPath.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler Param.java.orig<br/><ref>Committer's log entry: </ref>Removed file Param.java.orig
 Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 VariableBase.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom LoadDocument.java
 MultiDOM.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Include.java
 Stylesheet.java XSLTC.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>10/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler header.txt<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
 Mode.java Stylesheet.java Template.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerHandlerImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
 Include.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
 Mode.java Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler FunctionCall.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/29/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler UnresolvedRef.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>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/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java ErrorMessages_en.java
 ErrorMessages_no.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages.java<br/><ref>Committer's log entry: </ref>Removed a typo in console output.
 Submitted by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>Added "Compiler Warning" text to output.
 Submitted by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>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/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 ErrorMessages_en.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Number.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DTDMonitor.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java
 ErrorMessages_no.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeCounter.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Sort.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler PositionCall.java
 java/src/org/apache/xalan/xsltc/dom NodeCounter.java
 SingleNodeCounter.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Sort.java
 java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java
 NodeSortRecordFactory.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>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/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java.old<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java
 java/src/org/apache/xalan/xsltc/dom
 CurrentNodeListIterator.java DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom Axis.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>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/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/runtime TransletLoader.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java
 StepPattern.java XSLTC.java xpath.cup xpath.lex<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>11/09/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler
 ProcessingInstructionPattern.java<br/><ref>Committer's log entry: </ref>Forgot this in last putback.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>11/09/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler LongExpr.java<br/><ref>Committer's log entry: </ref>bug fix 3592, new class to handle Long expresssion<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 xpath.cup xpath.lex Constants.java CastExpr.java<br/><ref>Committer's log entry: </ref>bug fix 3592, handles long now<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>11/09/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler/util LongType.java<br/><ref>Committer's log entry: </ref>bug fix 3592, added new class for Long types<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br/><ref>Committer's log entry: </ref>bug fix 3592, handles Long types<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.2.D11">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br/><ref>Committer's log entry: </ref>bug fix # 3424, memory retension fixed, John Howard contributed fix.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug fix 2807, seth ford's fix<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Include.java
 Import.java<br/><ref>Committer's log entry: </ref>bug fix 3426, gunnlaugur briem's fix<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>bug fix 3320, gunnlaugur briem's fix<br/><br/></li><li><ref>Committed by </ref>"Gunnlaugur Thor Briem" &lt;gthb@dimon.is&lt;<ref> on </ref>09/06/2001<br/><ref>Committer's log entry: </ref>
&gt; bug fix 3320, gunnlaugur briem's fix
&gt;
&gt;<br/><br/></li><li><ref>Committed by </ref>"G. Todd Miller - XML Tech Ctr - Development" &lt;Glenn.Miller@Sun.COM&gt;<ref> on </ref>09/06/2001<br/><ref>Committer's log entry: </ref>
 &gt;&gt;&gt; bug fix 3320, gunnlaugur briem's fix
 &gt;&gt;&gt;
 &gt;&gt;&gt;<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>updated comments from bug fix 2553<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>bug fix 3360, predicate handling added<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/dom DOMBuilder.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java
 UnionIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>bug fix 3312, //xx/descendant works now<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 ParentLocationPath.java<br/><ref>Committer's log entry: </ref>added test for ParentLocationPath instance<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>bug fix 3312 completed<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/17/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java
 StepPattern.java TestSeq.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 MatchingIterator.java StepIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom BitArray.java
 DupFilterIterator.java KeyIndex.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler VariableRef.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LastCall.java
 ParameterRef.java PositionCall.java Predicate.java
 RoundCall.java VariableRefBase.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler RelationalExpr.java<br/><ref>Committer's log entry: </ref>bug fix 2838, (namedtemplate test)<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 MethodGenerator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ParameterRef.java
 ParentLocationPath.java Predicate.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
 WithParam.java
 java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>amiro@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java<br/><ref>Committer's log entry: </ref>minor edit to usuage for -s option<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java
 Transform.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/21/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/21/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 NthIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NthIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
 Param.java Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 ClassGenerator.java<br/><ref>Committer's log entry: </ref>Forgot this file in my last update.
 Submitted by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 NthIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Param.java
 Stylesheet.java Variable.java VariableBase.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Param.java
 Variable.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 NodeIteratorBase.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Output.java
 Parser.java Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java
 java/src/org/apache/xalan/xsltc/dom NthIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>Removed debug statement in Step.java
 Submitted by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Step.java<br/><ref>Committer's log entry: </ref>Fix after a regression for preceding-sibling::* iterator.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br/><br/></li>
 <li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/28/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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>
</s2>
<s2 title="XSLTC source code updates for &xslt4j; 2.2.D10">
<p>XSLTC source code updates:</p>
<ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler UnionPathExpr.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java DefaultSAXOutputHandler.java
 TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>bug 2553, fixes AbbreviatedAbsoluteLocationPath,
 some relative location paths still give duplicates, will need to filter.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/14/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
 Parser.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom ReverseIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/15/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br/><ref>Committer's log entry: </ref>bug fix 2553, new iterator to get rid of dups<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/15/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler
 FilteredAbsoluteLocationPath.java<br/><ref>Committer's log entry: </ref>bug fix 2553, new abs location path<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup
 Constants.java<br/><ref>Committer's log entry: </ref>bug fix 2553, updated Constants for dup processing
 and updated CUP rule for AbbreviatedAbsoluteLocationPaths<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
 DOMImpl.java DupFilterIterator.java
 StepIterator.java UnionIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler IdKeyPattern.java
 KeyCall.java Mode.java Output.java Parser.java
 TestSeq.java xpath.cup<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>missing file<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java<br/><ref>Committer's log entry: </ref>


<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>turning on filtering, bug 2553<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler xpath.cup<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/17/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DTDMonitor.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TemplatesHandlerImpl.java TemplatesImpl.java
 TransformerHandlerImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ParameterRef.java<br/><ref>Committer's log entry: </ref>removed typeCheck(), uses the base classes method now<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 VariableRefBase.java<br/><ref>Committer's log entry: </ref>added default typeCheck() to this base class<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler RelationalExpr.java<br/><ref>Committer's log entry: </ref>bug fix 2838, cast to type real if both operands are
 ResultTreeType<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/27/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/27/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/28/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>amiro@apache.org<ref> on </ref>08/30/2001<br/><ref>Modified: 
 </ref>java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java<br/><ref>Committer's log entry: </ref>
 Submitted by: Tom Amiro  
 I just added an empty close method to resolve the build problem.<br/><br/></li> 
 </ul>
</s2>
<s2 title="XSLTC source code updates for &xslt4j; 2.2.D9">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/31/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
 VariableRefBase.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java
 Step.java Stylesheet.java XSLTC.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
 java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom NodeCounter.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
 DOM2SAX.java<br/><ref>Committer's log entry: </ref>add support for DOMResult handling<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/01/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>work in progress, converted needed for DOMResult<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>added setting of systemId in DOMSource handling<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java
 TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerHandlerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java
 TransformerHandlerImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax
 TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 XSLTC.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
 DocumentCall.java
 java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>new recursive parse(InputSource) implemented<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>upated<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>updated again<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 java/src/org/apache/xalan/xsltc/trax SAX2DOM.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler CopyOf.java
 Step.java
 java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 UnionIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ForEach.java
 xpath.cup
 java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 AbsolutePathPattern.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler DocumentCall.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/08/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Copy.java<br/><ref>Committer's log entry: </ref>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>
</s2>
<s2 title="XSLTC source code updates for &xslt4j; 2.2.D8">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
 java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>in progress, adding DOMSource support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>new class, DOM2SAX, supports DOMSources, in progress<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>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/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler SourceLoader.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>amiro@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime Constants.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>amiro@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>minor changes for DOMSource impl support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Added DOMSource support for stylesheet<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>updated convertor which supports DOMSource impl<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added support for DOMSource as input to our Transformer implementation<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
 Sort.java
 java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java
 NodeSortRecordFactory.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
 Include.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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>
</s2>
<s2 title="XSLTC source code updates for &xslt4j; 2.2.D7">
<ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/09/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 SyntaxTreeNode.java XSLTC.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java
 Transform.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java
 java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Added: </ref>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/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/util/getopt GetOpt.java
 GetOptsException.java IllegalArgumentException.java
 MissingOptArgException.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br/><ref>Committer's log entry: </ref>minor adjustment
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>removed obselete try/catch<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>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/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br/><ref>Committer's log entry: </ref>A first stab at our new TrAX design.`
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
 java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
 TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax OutputSettings.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>amiro@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
 java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
 TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/19/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Committer's log entry: </ref>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>
</s2>
<s2 title="XSLTC source code updates for the &xslt4j; 2.2.D releases up to and including 2.2.D6">
<ul><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>05/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Text.java<br/><ref>Committer's log entry: </ref>bug fix 1403, output escaping fixed<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>05/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug fix 1403, output escaping fixed<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>stylesheet compilation error listening added for
 TrAX support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>stylesheet compilation error listening added for
 TrAX support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>stylesheet compilation error listening added for
 TrAX support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Transformer factory's setErrorListener() now throws
 IllegalArgumentException is listener is null<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>translet transformation errors now forwarded to
 TrAX error listener when applicable<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br/><ref>Committer's log entry: </ref>translet transformation errors now forwarded to
 TrAX error listener when applicable<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime AttributeList.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler
 UnsupportedElement.java<br/><ref>Committer's log entry: </ref>Adding a class for handling unsupported stylesheet elements
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
 LocationPathPattern.java Parser.java Template.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>Reverted changes to SAX output handler.
 Submitted by: morten@xml.apache.org
 Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 Template.java xpath.cup<br/><ref>Committer's log entry: </ref>unified Parser error reporting to use Mortens
 reportError routine<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/07/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
 java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
 Parser.java
 java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
 SyntaxTreeNode.java XslAttribute.java
 XslElement.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
 Parser.java<br/><ref>Committer's log entry: </ref>support for java.io.InputStream StreamSources<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 TransletTemplates.java<br/><ref>Committer's log entry: </ref>support for java.io.InputStream StreamSources<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
 TextOutput.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ForEach.java
 XSLTC.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler AttributeSet.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added support for java.io.InputStream StreamSources<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom SingletonIterator.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>06/17/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/18/2001<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 NodeSetType.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 NodeSetDTMType.java<br/><ref>Committer's log entry: </ref>
<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 NodeSetType.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler/util
 NodeSetDTMType.java<br/><ref>Committer's log entry: </ref>


<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/19/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>Tom.Amiro@Sun.COM<ref> on </ref>06/19/2001<br/><ref>Committer's log entry: </ref>
&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><ref>Committed by </ref>Morten.Jorgensen@sun.com<ref> on </ref>06/19/2001<br/><ref>Committer's log entry: </ref>
&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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added check to see if stylesheet is already an URL<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 TransletTemplates.java<br/><ref>Committer's log entry: </ref>added check to see if stylesheet is already an URL<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/runtime TrAXFilter.java<br/><ref>Committer's log entry: </ref>proto<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>removed debug statements<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/26/2001<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/runtime TrAXFilter.java
 TransformerFactoryImpl.java TransletTemplates.java<br/><ref>Committer's log entry: </ref>in process of moving these to new subdir<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/26/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax TrAXFilter.java
 TransformerFactoryImpl.java TransletTemplates.java<br/><ref>Committer's log entry: </ref>moved from runtime subdir to its own trax subdir<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>fixed bug with deriving translet name from
 stylesheet name that included paths, e.g. /tmp/foo.xsl<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
 AbstractTranslet.java<br/><ref>Committer's log entry: </ref>added url handling in doTransform<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
 TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added a new sys property called 'transletPool'
 to allow user to set the destination directory for generated translets<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br/><ref>Committer's log entry: </ref>added a new sys property called 'transletPool'
 to allow user to set the destination directory for generated translets<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>made private method setDestDirectory() public to
 support the new transletPool system property.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/28/2001<br/><ref>Modified: </ref>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/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Choose.java
 ElementAvailableCall.java
 FunctionAvailableCall.java Parser.java When.java<br/><ref>Committer's log entry: </ref>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><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ForEach.java
 Param.java Variable.java
 java/src/org/apache/xalan/xsltc/compiler/util
 MethodGenerator.java<br/><ref>Committer's log entry: </ref>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>
 </s2>
 <s2 title="XSLTC Changes for &xslt4j; 2.1.0">
<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 <link idref="xsltc_usage">XSLTC</link> 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.
<ref>See <jump href="xsltc/index.html">XSLTC Design Documents</jump>.</ref></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>
</s2> 
</s1>
