blob: 3ba01275de4ceaaccdc5792a38ab7154c12e65e1 [file] [log] [blame]
<?xml version="1.0" standalone="no"?>
<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
<!--
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 1999-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Xalan" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 1999, Lotus
* Development Corporation., http://www.lotus.com. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
-->
<s1 title="History of software changes">
<p>The following sections list the core software changes in each release since &xslt4j; version 2.0.D01.</p>
&history2xsltc;
<s2 title="Changes for &xslt4j; 2.5.1">
<p> Core (Non-XSLTC) source code updates:</p>
<ul><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/04/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xslt EnvironmentCheck.java xml-xalan/java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>
Applying Sarah McNamara's (mcnamara@ca.ibm.com) patches to update
version numbers in XalanJ.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/04/10<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan commandline_xsltc.xml commandline.xml history.xml index.xml readme.xml resources.xml samples.xml whatsnew.xml xsltc_history.xml xsltc_usage.xml xml-xalan/java/xdocs/sources entities.ent xalan-jlocal.xml xalan-jsite.xml xml-xalan/java commits.xml build.xml xml-xalan/java/xdocs/style/stylesheets done.xsl xml-xalan/java/xdocs xml-site-style.tar.gz<br/><ref>Committer's log entry: </ref>
Sarah McNamara's (mcnamara@ca.ibm.co) documentation patch.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/04/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java<br/><ref>Committer's log entry: </ref>
Added comments before a couple of messages to assist translators, and fixed a typo in the class name mentioned in a message.
<br/><br/></li>
<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/dom SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java EmptyIterator.java<br/><ref>Committer's log entry: </ref>
Applying patches from Igor Hersht (igorh@ca.ibm.com) for bug 15200 and
bug 18585.
Pulled EmptyIterator class out of SAXImpl to allow for more widespread use.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/04/23<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan faq.xml<br/><ref>Committer's log entry: </ref>
New FAQ from Christine Li (jycli@ca.ibm.com) for using Xalan in Tomcat
with JDK 1.4.
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2003/04/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>
Fix for array out of bounds exception in findNamespaceContext, where the index was allowed to go to -1. This is a blind fix, and someone who knows the code better should take a look to see what they think.
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2003/04/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemCallTemplate.java<br/><ref>Committer's log entry: </ref>
Made it a static error in compose(...) if a reference is made to a non-existent template. Note this might cause some existing stylesheets to not work, since the error would never have been flagged if the code was not run. Note the old code was marked for %REVIEW%, so I don't think this was ever resolved. I think it's clear that this should be a static error.
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/04/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Change in comments only. Deleted old commented out (and incorrect)
double-checked locking code.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/04/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>
Duplicate trace was event being issued. One from ElemElement and then
from its parent class: ElemUse.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/04/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
Dropping properties files that contain English messages.
xml-xalan/java/src/org/apache/xalan/res/XSLTErrorResources.properties has been
replaced by xml-xalan/java/src/org/apache/xalan/res/XSLTErrorResources.java.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/04/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Dropping properties files that contain English messages.
xml-xalan/java/src/org/apache/xpath/res/XPATHErrorResources.properties has been
replaced by xml-xalan/java/src/org/apache/xpath/res/XPATHErrorResources.java.
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/04/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltStrings.java Extensions.java xml-xalan/java/src/org/apache/xml/serializer CharInfo.java<br/><ref>Committer's log entry: </ref>
Changed incorrect double-check locking code with an inner class
with a static field. Synchronization is covered by the class loader.
Loading happens when first referenced. A cool, efficient, safe
way to lazy load a static field.
PR: bugzilla 19029
Obtained from: Henry Zongaro
Submitted by: Brian Minchau
Reviewed by: Henry Zongaro
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer ToHTMLStream.java ToStream.java ToXMLSAXHandler.java<br/><ref>Committer's log entry: </ref>
Cleared two helper fields, m_elementURI and m_elementLocalName in endElement()
Both of these fields are out of scope after the element is ended
so it is correct to null them out at endElement()
PR: bugzilla 19388
Obtained from: bruno@outerthought.org (Bruno Dumon) and Brian Minchau
Submitted by: bruno@outerthought.org (Bruno Dumon)
Reviewed by: Brian Minchau
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer ToHTMLStream.java<br/><ref>Committer's log entry: </ref>
endDTD() for ToHTMLStream now does nothing. It used to incorrectly
write out some closing characters, but that was already hanled in startDocumentIntermal()
PR: 19587
Submitted by: bruno@outerthought.org (Bruno Dumon)
Reviewed by: Brian Minchau
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer ToStream.java<br/><ref>Committer's log entry: </ref>
Performance fix for double buffering. Don't use WriterToUTF8Buffered if the
writer class is "BufferedServletOutputStream".
PR: bugzilla 19474
Submitted by: Brian Minchau
Reviewed by: Ilene Seelemann
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer SerializerBase.java<br/><ref>Committer's log entry: </ref>
Fix for flushing occuring in trace code even when tracing is not being done.
PR: bugzilla 19471
Submitted by: Brian Minchau
Reviewed by: Ilene Seelemann
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/05/07<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan usagepatterns.xml<br/><ref>Committer's log entry: </ref>
Serializer properties files have moved to the new org.apache.xml.serializer
package. Corrected part of documentation that didn't yet reflect that.
<br/><br/></li>
<li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer SerializerBase.java ToHTMLSAXHandler.java ToHTMLStream.java ToSAXHandler.java ToStream.java ToTextSAXHandler.java ToTextStream.java ToXMLSAXHandler.java ToXMLStream.java<br/><ref>Committer's log entry: </ref>
Guarded the fireXXX(); calls to trace events with if (m_tracer != null),
strictly for performance reasons. This should run faster than making the call and then checking.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan faq.xml<br/><ref>Committer's log entry: </ref>
Title of FAQ for Xerces version read, "Which version of Xerces-J 2.4.0 should I
use?" answering it's own question. Fixed that to make for a more suspenseful
read.
<br/><br/></li><li><ref>Committed by </ref>grchiu@apache.org<ref> on </ref>2003/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorTemplateElem.java xml-xalan/java/src/org/apache/xalan/templates ElemAttributeSet.java ElemElement.java ElemLiteralResult.java ElemTemplateElement.java ElemUse.java<br/><ref>Committer's log entry: </ref>
Some Trace-related fixes: Two trace events were being fired for ElemCopy,
and for templates elements derived from ElemUse the trace end event was
being fired before child templates were executed. Also saved locator
information for the end tag of stylesheet elements.
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer SerializerBase.java ToHTMLStream.java ToStream.java ToXMLSAXHandler.java<br/><ref>Committer's log entry: </ref>
See bugzilla # 19900 for a laundry list of small performance
enhancements.
PR: bugzilla 19900
Submitted by: Brian Minchau
Reviewed by: Henry Zongaro
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer Encodings.java OutputPropertiesFactory.java SerializerFactory.java Utils.java<br/><ref>Committer's log entry: </ref>
Performance enhancement. Cache the loading of classes via Class.forName(classname)
in the serializer. The same class is otherwise loaded over and over with each request
to a server, e.g. in a servlet.
PR: bugzilla # 19960
Submitted by: Brian Minchau
Reviewed by: Morris Kwan
<br/><br/></li><li><ref>Committed by </ref>grchiu@apache.org<ref> on </ref>2003/05/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemExsltFuncResult.java<br/><ref>Committer's log entry: </ref>
Adding missing trace events for the func:result element.
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer ToHTMLStream.java<br/><ref>Committer's log entry: </ref>
The HTML serializer should do nothing with the methods on the
DeclHandler interface, so they are now defined with empty
bodies. Also the comment() method does nothing when in a
DTD.
PR: bugzilla 19640
Submitted by: Bruno Dumon (bruno@outerthought.org)
Reviewed by: Brian Minchau
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/05/22<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan faq.xml<br/><ref>Committer's log entry: </ref>
Added a new FAQ to describe a situation some users have encountered of late
using XSLTC with JDK 1.4.
Contributed by Christine Li (jycli@ca.ibm.com) with some editorial input from
myself.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/05/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionNamespacesManager.java<br/><ref>Committer's log entry: </ref>
Fix a compatibility problem when using the old "http://xml.apache.org/xslt"
namespace with extension functions in org.apache.xalan.xslt.Extensions.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/05/26<br/><ref>Modified: </ref> xml-xalan/java build.xml xml-xalan/java/xdocs/sources/xalan builds.xml downloads.xml resources.xml xml-xalan/java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>
Patch from Sarah McNamara (mcnamara@ca.ibm.com) which improves documentation
about packaging and adds support for building and testing an alternate
binary distribution which provides xalan-interpretive and xsltc in separate jars.
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>
One line fix to get a lexical handler, was casting the wrong reference.
PR: bugzilla 20237
Submitted by: Bernard D'Have (bdhaveos@wanadoo.be)
Reviewed by: Brian Minchau
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/05/27<br/><ref>Modified: </ref> xml-xalan/java/samples/extensions/sql/basic-connection dbinfo.xml dbtest.xsl<br/><ref>Committer's log entry: </ref>
Update to the SQL extension sample from Christine Li (jycli@ca.ibm.com).
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/05/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Applying Christine Li's (jycli@ca.ibm.com) fix for bug 19522. When a
SerializationHandler object is created for Xalan-J Interpretive, it needs to
be informed which Transformer object is associated with the serialization.
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer AttributesImplSerializer.java<br/><ref>Committer's log entry: </ref>
AttributesImplSerializer now uses the older (faster) org.xml.sax.helpers.AttributesImpl
up until about 12 attributes and switches over to using a Hashtable for faster lookup
of attributes, avoiding an order N*N performance problem for large
number of attributes, but faster for lower number of attributes.
PR: bugzilla 20273
Submitted by: Brian Minchau
Reviewed by: Henry Zongaro
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/05/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemExsltFunction.java xml-xalan/java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>
Patch from Christine Li (jycli@ca.ibm.com) for bugzilla #18926.
Variables weren't being cleared from stack between calls to func:function.
<br/><br/></li>
<li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/05/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources_ca.java XSLTErrorResources_cs.java XSLTErrorResources_de.java XSLTErrorResources_es.java XSLTErrorResources_fr.java XSLTErrorResources_hu.java XSLTErrorResources_it.java XSLTErrorResources_ja.java XSLTErrorResources_ko.java XSLTErrorResources_pl.java XSLTErrorResources_pt_BR.java XSLTErrorResources_ru.java XSLTErrorResources_sk.java XSLTErrorResources_tr.java XSLTErrorResources_zh_CN.java XSLTErrorResources_zh_TW.java xml-xalan/java/src/org/apache/xalan/xslt Process.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages_ca.java ErrorMessages_cs.java ErrorMessages_de.java ErrorMessages_es.java ErrorMessages_fr.java ErrorMessages_hu.java ErrorMessages_it.java ErrorMessages_ja.java ErrorMessages_ko.java ErrorMessages_pl.java ErrorMessages_pt_BR.java ErrorMessages_ru.java ErrorMessages_sk.java ErrorMessages_tr.java ErrorMessages_zh_CN.java ErrorMessages_zh_TW.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages_ca.java ErrorMessages_cs.java ErrorMessages_de.java ErrorMessages_es.java ErrorMessages_fr.java ErrorMessages_hu.java ErrorMessages_it.java ErrorMessages_ja.java ErrorMessages_ko.java ErrorMessages_pl.java ErrorMessages_pt_BR.java ErrorMessages_ru.java ErrorMessages_sk.java ErrorMessages_tr.java ErrorMessages_zh_CN.java ErrorMessages_zh_TW.java xml-xalan/java/src/org/apache/xml/res XMLErrorResources_ca.java XMLErrorResources_cs.java XMLErrorResources_de.java XMLErrorResources_es.java XMLErrorResources_fr.java XMLErrorResources_hu.java XMLErrorResources_it.java XMLErrorResources_ja.java XMLErrorResources_ko.java XMLErrorResources_pl.java XMLErrorResources_pt_BR.java XMLErrorResources_ru.java XMLErrorResources_sk.java XMLErrorResources_tr.java XMLErrorResources_zh_CN.java XMLErrorResources_zh_TW.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources_ca.java XPATHErrorResources_cs.java XPATHErrorResources_de.java XPATHErrorResources_es.java XPATHErrorResources_fr.java XPATHErrorResources_hu.java XPATHErrorResources_it.java XPATHErrorResources_ja.java XPATHErrorResources_ko.java XPATHErrorResources_pl.java XPATHErrorResources_pt_BR.java XPATHErrorResources_ru.java XPATHErrorResources_sk.java XPATHErrorResources_tr.java XPATHErrorResources_zh_CN.java XPATHErrorResources_zh_TW.java<br/><ref>Committer's log entry: </ref>
Checked in localized messages for Xalan and XSLTC contributed by IBM.
New Locale support includes ca, cs, hu, pl, pt_BR, ru, sk and tr.
The old messages are also updated with translations for newly added
English messages.
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils BoolStack.java<br/><ref>Committer's log entry: </ref>
Added a clear() method to clear a BoolStack, so that such a
stack can be re-used without the need to create a new one
(for performance).
Submitted by: Brian Minchau
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer NamespaceMappings.java SerializerBase.java ToHTMLStream.java ToSAXHandler.java ToStream.java ToXMLSAXHandler.java ToXMLStream.java<br/><ref>Committer's log entry: </ref>
Support for reset() for the stream serializers and for ToXMLSAXHandler.
These serializers can now be reset and re-used rather than creating a new one.
A reset() takes about 1/2 the time of creating a new one.
Submitted by: Brian Minchau
<br/><br/></li><li><ref>Committed by </ref>minchau@apache.org<ref> on </ref>2003/05/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer ToHTMLSAXHandler.java<br/><ref>Committer's log entry: </ref>
Support for a ToHTMLSAXHandler serializer to be reset() and re-used.
Submitted by: Brian Minchau
<br/><br/></li>
<li><ref>Committed by </ref>grchiu@apache.org<ref> on </ref>2003/05/28<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan faq.xml<br/><ref>Committer's log entry: </ref>
Contributed by Christine Li (jycli@ca.ibm.com).
Modified FAQ entry regarding bootclasspath; the class path separator is not
colon for all systems.
<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.5.0">
<p> Core (Non-XSLTC) source code updates:</p>
<ul><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/02/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Small improvement to SAXImpl.copyElement().
Move the getStringValue() method from SAXImpl to SAX2DTM2.
Remove the SAXImpl.stringValueAux() method.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/02/25<br/><ref>Modified: </ref> xml-xalan/java/src xml-commons-src.tar.gz xml-xalan/java/bin xml-apis.jar<br/><ref>Committer's log entry: </ref>
Update to latest version of xml-apis.
<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/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Improvement to DescendantIterator. If _startNode is the root node, do
not need to do the isDescendant() check.
<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/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Set the nextsib element of an attribute or namespace node to -1.
This makes the logic in the iterators simpler and easier to
maintain.
<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/lib/sql DTMDocument.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AttributeList.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMStringPool.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2DTM2.java xml-xalan/java/src/org/apache/xml/utils SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Improvement for RTF. These changes improve the performance
for stylesheets which create and throw away many small RTFs.
Make the sizes of all internal storage units used by SAXImpl configurable.
These include SuballocatedIntVector, DTMStringPool, IntStack and FastStringBuffer.
The chain size of DTMStringPool and the number of blocks in SuballocatedIntVector
can now be passed in the constructor. These sizes are set to smaller values in
the RTF case.
The default RTF size is changed to 32. There is also a change in the XSLTC
AttributeList class to use on-demand memory allocation for the internal vectors.
The vectors are only allocated when there is an attribute.
<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/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Small improvement to DescendantIterator and TypedDescendantIterator.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/02/28<br/><ref>Modified: </ref> xml-xalan/java/samples/extensions/sql/streamable cachedNodes.xsl pivot.xsl xml-xalan/java/xdocs/sources/xalan samples.xml xml-xalan/java/samples/CompiledApplet menu.html README.applet xml-xalan/java/samples/extensions/sql/basic-connection dbinfo.xml dbtest.xsl<br/><ref>Committer's log entry: </ref>
More sample and documentation updates from Christine Li (jycli@ca.ibm.com).
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/02/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TrAXFilter.java<br/><ref>Committer's log entry: </ref>
Add a getTransformer() interface to TrAXFilter. This is a user requested
feature. This interface can be used by the UseXMLFilters samples to
set the output properties correctly.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/02/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMDefaultBaseIterators.java DTMDefaultBaseTraversers.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Do not create the previous sibling array for XSLTC. This array is not used
in XSLTC's SAXImpl. Creating it is a waste of time.
We add a boolean flag to the constructors of DTMDefaultBase and its
subclasses to indicate whether the previous sibling array should be created.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/02/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>
Correct an error. The DTMDefaultBase.getPreviousSibling() interface
returns a node handle instead of a node identity.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/02/28<br/><ref>Modified: </ref> xml-xalan/java/samples/CompiledEJB bottom_frame.html index.html README.ejb top_frame.html xml-xalan/java/samples/CompiledServlet CompileServlet.java README.servlet<br/><ref>Committer's log entry: </ref>
Patches for samples from Christine Li (jycli@ca.ibm.com)
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TrAXFilter.java<br/><ref>Committer's log entry: </ref>
Propagate the change from head branch to XSLTC_DTM.
Add a new getTransformer() interface to TrAXFilter.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TrAXFilter.java<br/><ref>Committer's log entry: </ref>
Add a new getTransformer() interface to TrAXFilter.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/03<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 NameBase.java Stylesheet.java xpath.cup XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java DocumentCache.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 TransformerHandlerImpl.java TransformerImpl.java XSLTCSource.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Implement a feature for on-demand building of the ID index table.
Before this change, the SAX2DTM2 class always builds an ID index
hashtable by comparing the name of every attribute with "id". Now
we maintain a flag _hasIdCall in AbstractTranslet to indicate
whether the translet has id function calls. The value of this flag
is compiled into the translet from the Stylesheet class. The Stylesheet
class also has an _hasIdCall flag, which is set by the XPath parser.
When a SAXImpl object is created, the _hasIdCall flag is passed in from the
Translet. Now the id index table is only built when the stylesheet makes
use of the id function.
Also fix a bug in the NameBase class for using an incorrect class name
(org.apache.xml.dtm.ref.DTMAxisIterator should be org.apache.xml.dtm.DTMAxisIterator).
<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 AnyNodeCounter.java DOMAdapter.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Improvement for xsl:number. Introduce an optimized version of
getExpandedTypeID() in SAX2DTM2.
<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 DOMWSFilter.java NodeSortRecord.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Improvement for xsl:strip-space by caching the DTM that is used last time.
Better Collator handling in NodeSortRecord.
<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/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Save the values of attribute, namespace, comment and PI nodes
in a plain Vector instead of in DTMStringPool. Saving a String
in DTMStringPool involves a hash calculation. These values
are unlikely to be equal. Saving them in a plain Vector has a
lower cost than saving them in DTMStringPool. Only prefixed QNames
are saved in DTMStringPool after this change.
Need to make changes in a few interfaces to accommadate this change.
<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/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Small improvement in FastStringBuffer.sendSAXCharacters() when the whole
piece of text is in one chunk.
<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/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Small improvement in SAX2DTM2.getStringValueX() and dispatchCharacterEvents()
by saving one local variable.
<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 CollatorFactoryBase.java SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Save the offset and length of a Text node in a bitwise encoded value (10
bits for length and 21 bits for offset) if they are within certain limits.
Before this change, we need 3 SuballocatedIntVector calls to get the offset
and length information. Now we only need one SuballocatedIntVector call,
one bit AND &amp; one SHIFT. Bit AND and SHIFT are faster than accessing a
SuballocatedIntVector.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>
Fix a bug for testcase axes129.
DTMDefaultBase.getFirstNamespaceNode() should return NULL when
the given node is not an element. axes129 passed in both
Xalan and XSLTC_DTM after this change.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2003/03/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseTraversers.java<br/><ref>Committer's log entry: </ref>
Oops! Old bug, just noticed -- we forgot to override RootTraverser's typed first().
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom NthIterator.java xml-xalan/java/src/org/apache/xml/dtm DTMAxisIterator.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Improvement for step[n]. Introduce a new interface getNodeByPosition(int position)
in DTMAxisIterator, which is used by the NthIterator. The default implementation
is in DTMAxisIteratorBase. The subclasses can override this interface to provide
a faster customized implementation.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Introduce a copyAttribute() method in SAXImpl to speed up
attribute copying.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Improvement in DTM building. Make the code more efficient
in a few expensive interfaces.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
Fix a bug in XSLTC_DTM.
Change the name of the optimized getExpandedTypeID method to getgetExpandedTypeID2.
The old one can be used during DTM building, while the new one is only
used in document traversal.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/03/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/templates FuncDocument.java FuncDocument.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/templates FuncDocument.java FuncDocument.java<br/><ref>Committer's log entry: </ref>
Committing Christine Li's (jycli@ca.ibm.com) patch for bugzilla #18210.
<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/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2DTM2.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.ref.sax2dtm.
Add new file SAX2DTM2.
<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/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.ref.dom2dtm.
<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/xml/dtm DTM.java DTMAxisIterator.java DTMManager.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.
<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/xml/dtm/ref DTMAxisIteratorBase.java DTMAxisIterNodeList.java DTMChildIterNodeList.java DTMDefaultBase.java DTMDefaultBaseIterators.java DTMDefaultBaseTraversers.java DTMDocumentImpl.java DTMManagerDefault.java DTMNamedNodeMap.java DTMNodeList.java DTMNodeListBase.java DTMNodeProxy.java DTMStringPool.java ExpandedNameTable.java ExtendedType.java IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.ref.
Add new files:
DTMAxisIterNodeList.java
DTMChildIterNodeList.java
DTMNodeListBase.java
ExtendedType.java
<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/xml/res XMLErrorResources.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.res.
Add new messages for 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/xml/serializer AttributesImplSerializer.java CharInfo.java DOMSerializer.java ElemDesc.java EmptySerializer.java EncodingInfo.java Encodings.java Encodings.properties ExtendedContentHandler.java ExtendedLexicalHandler.java HTMLEntities.res Method.java NamespaceMappings.java output_html.properties output_text.properties output_unknown.properties output_xml.properties OutputPropertiesFactory.java OutputPropertyUtils.java package.html SerializationHandler.java Serializer.java SerializerBase.java SerializerConstants.java SerializerFactory.java SerializerTrace.java SerializerTraceWriter.java ToHTMLSAXHandler.java ToHTMLStream.java ToSAXHandler.java ToStream.java ToTextSAXHandler.java ToTextStream.java ToUnknownStream.java ToXMLSAXHandler.java ToXMLStream.java TransformStateSetter.java WriterToASCI.java WriterToUTF8.java WriterToUTF8Buffered.java XMLEntities.res XSLOutputAttributes.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Add new serializer classes under package org.apache.xml.serializer.
Log from Brian Minchau (minchau@ca.ibm.com):
In the past Xalan-J interpretive (Xalan) and XSLTC both implemented their own
serialization stages. Much of the code provides the same functionality.
In order to improve the maintainability of the code, and to eliminate any
functional differences, these two serializers are now merged in the
org.apache.xml.serializer package.
The best performing features of both have been used. The class hierarchy
of serializers used by XSLTC is re-used for this reason. At the highest
level the serializer classes split based on whether the output of the
serializer is a "Stream" or whether it is a "SAX" handler. After that
both major branches split based on the output type (e.g. XML, HTML or TEXT).
The external user interface of the old Xalan serializer has been kept.
Other classes and interfaces have been absorbed into the serializer
package to keep it independent of both Xalan and XSLTC. The primary
interface, SerializationHandler, accepts SAX and SAX-like calls, but
it also absorbs other interfaces from the old Xalan 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/xml/utils DOMHelper.java FastStringBuffer.java IntStack.java SuballocatedIntVector.java XMLStringDefault.java XMLStringFactoryDefault.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.utils.
<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/extensions XSLProcessorContext.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.extensions.
<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/lib ExsltDatetime.java PipeDocument.java Redirect.java xml-xalan/java/src/org/apache/xalan/lib/sql DTMDocument.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.lib.
1. Change the return types of some date-time extension functions
for support in XSLTC.
2. Changes for the new 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/processor ProcessorOutputElem.java TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.processor.
<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/serialize CharInfo.java DOMSerializer.java ElemDesc.java EncodingInfo.java Encodings.java Encodings.properties HTMLEntities.res Method.java package.html Serializer.java serializer.properties SerializerFactory.java SerializerToHTML.java SerializerToText.java SerializerToXML.java SerializerUtils.java WriterToASCI.java WriterToUTF8.java WriterToUTF8Buffered.java XMLEntities.res<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Remove old serializer classes under org.apache.xalan.serialize.
The new serializer files are now in org.apache.xml.serializer.
Add new file SerializerUtils.java.
<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/templates ElemApplyTemplates.java ElemAttribute.java ElemCopy.java ElemCopyOf.java ElemElement.java ElemExtensionCall.java ElemForEach.java ElemLiteralResult.java ElemTemplateElement.java ElemTextLiteral.java ElemValueOf.java output_html.properties output_text.properties output_xml.properties OutputProperties.java StylesheetRoot.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.templates.
Replace ResultTreeHandler with SerializationHandler.
<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/trace GenerateEvent.java PrintTraceListener.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.trace.
<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/transformer ClonerToResultTree.java QueuedEvents.java ResultTreeHandler.java SerializerSwitcher.java TransformerHandlerImpl.java TransformerIdentityImpl.java TransformerImpl.java TransformSnapshot.java TransformSnapshotImpl.java TransformState.java TreeWalker2Result.java XalanTransformState.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.transformer for the new 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 build.xml xsltc_todo.xml<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Update build.xml and xsltc_todo.xml.
Now the default build target is a big xalan.jar which
includes both Xalan-J Interpretive and XSLTC.
<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 MANIFEST.MF<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Update MANIFEST.MF to include information about
xsltc and its support jars.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/04/02<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref>
Updating to Xerces-J 2.4.0.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/02<br/><ref>Modified: </ref> xml-xalan/java/src MANIFEST.MF<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Update spec version for XSLTC in MANIFEST.MF
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/02<br/><ref>Modified: </ref> xml-xalan/java/samples/CompiledApplet menu.html README.applet TransformApplet.java xml-xalan/java/samples/CompiledBrazil README.brazil TransformHandler.java xml-xalan/java/samples/CompiledEJB README.ejb TransformBean.java xml-xalan/java/samples/CompiledJAXP Compile.java README.cjaxp Transform.java xml-xalan/java/samples/CompiledServlet README.servlet TransformServlet.java xml-xalan/java/samples/DOM2DOM DOM2DOM.java xml-xalan/java/samples/Pipe Pipe.java xml-xalan/java/samples/SAX2SAX SAX2SAX.java xml-xalan/java/samples/translets JAXPTransletMultipleTransformations.java JAXPTransletOneTransformation.java todo.xsl xml-xalan/java/samples/UseXMLFilters UseXMLFilters.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Update in the samples
1. Changes from Henry Zongaro (zongaro@ca.ibm.com) in the
XSLTC samples. Use TrAX API instead of native API.
2. Changes from Brian Minchau (minchau@ca.ibm.com) to use
the new serializer classes.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/02<br/><ref>Modified: </ref> xml-xalan/java/samples/CompiledApplet singleTransform.html xml-xalan/java/samples/CompiledEJB bottom_frame.html index.html top_frame.html xml-xalan/java/samples/translets todo.xml todotoo.xml<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Add new sample files.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/02<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources entities.ent xalan-jlocal.xml xalan-jsite.xml xml-xalan/java/xdocs/sources/xalan commandline_xsltc.xml commandline.xml dtm.xml history.xml readme.xml samples.xml usagepatterns.xml xsltc_history.xml xsltc_usage.xml<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Update in java/xdocs.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes FilterExprWalker.java<br/><ref>Committer's log entry: </ref>
Commit patch for bug 12797 from Arun Yadav (arun.yadav@sun.com).
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/04/03<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref>
Added a new "fulldist" target. It builds a distribution that includes Xalan-J
components that depend upon non-standard components that aren't part of the
Xalan-J repository. In particular, xsltcbrazil.jar is built under the
"fulldist" target, but not under the ordinary "dist" target.
<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/xml/serializer ToStream.java<br/><ref>Committer's log entry: </ref>
Replace Vector.add() by Vector.addElement() because the first method
is not in JDK 1.1.8.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/04/05<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor TransformerFactoryImpl.java xml-xalan/java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>
Instead of setting a default baseURI in newTemplates, append a dummy string
to the default used in the TreeWalker constructors. This solves the problem
of violating the SourceLocator.getSystemId API which should return null
if if no systemId was set, while allowing relative URI's to be resolved when
the source is a DOM and no systemID has been set. Relative URI's are already
resolved correctly for other source types.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/04/06<br/><ref>Modified: </ref> xml-xalan/java/samples/CompiledApplet TransformApplet.java README.applet<br/><ref>Committer's log entry: </ref>
Patch from Christine Li (jycli@ca.ibm.com). Reworked applet code so that the
init method creates a thread to which it delegates all the work of creating
Transformers and performing transformations.
Xalan needs all of its classes to be loaded with respect to the same class
loader. The thread that's created will have the context class loader, if any,
that is in effect when the applet's init method is called, but calls to other
methods on the applet might not have the same context class loader. Using a
thread avoids any problems that might arise from such a situation.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/04/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer CharInfo.java HTMLEntities.properties output_html.properties output_xml.properties XMLEntities.properties xml-xalan/java/xdocs/sources/xalan usagepatterns.xml<br/><ref>Committer's log entry: </ref>
Patch from Christine Li (jycli@ca.ibm.com). Changed CharInfo so that it allows
descriptions of entities to be specified as a properties file in addition to a
Xalan-specific resource file format.
The code previously always assumed a Xalan-specific resource file format, for
both user-supplied descriptions of entities, and for those supplied with
Xalan-J. The security restrictions of applets are such that an applet that
relies on a copy of Xalan-J in the Java run-time would find that Xalan-J would
be unable to read the default entities file that is packaged with the JRE on
the applet's behalf - it can only do so with a properties, via ResourceBundle.
<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/lib ExsltDatetime.java<br/><ref>Committer's log entry: </ref>
Commit an implementation of the date-time:format-date() extension function
(bugzilla 18713) contributed by Helg Bredow (helg.bredow@kalido.com).
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/07<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan commandline_xsltc.xml<br/><ref>Committer's log entry: </ref>
Docs update
Document the new "use-classpath" attribute
which is supported in the XSLTC TrAX API.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/04/07<br/><ref>Modified: </ref> xml-xalan/java/samples/CompiledServlet README.servlet TransformServlet.java xml-xalan/java/samples/CompiledBrazil README.brazil<br/><ref>Committer's log entry: </ref>
Sample updates from Christine Li (jycli@ca.ibm.com).
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/04/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize DOMSerializer.java Serializer.java SerializerFactory.java xml-xalan/java/src/org/apache/xml/serializer DOMSerializer.java SerializationHandler.java SerializerBase.java ToHTMLStream.java ToUnknownStream.java xml-xalan/java/src/org/apache/xalan/templates OutputProperties.java<br/><ref>Committer's log entry: </ref>
Patch from Brian Minchau (minchau@ca.ibm.com) for backward compatibility
of new serializers. Also a fix related to a failure in the DOM2DOM sample.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/04/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/serializer HTMLEntities.res XMLEntities.res<br/><ref>Committer's log entry: </ref>
Dropped descriptions of entities in the form of resource files in favour of
those in the form of properties file. The resource files are still supported,
but Xalan-J's serializer only requires one.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/04/09<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref>
Dropped descriptions of entities in the form of resource files in favour of
those in the form of properties file. The resource files are still supported,
but Xalan-J's serializer only requires one.
<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.4.1">
<p> Core (Non-XSLTC) source code updates:</p><ul>
<li><ref>Committed by </ref>johng@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql DefaultConnectionPool.java<br/><ref>Committer's log entry: </ref>
Fixed Class loader Problem. Default Connection now uses context Classloader
<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>
Fixed problem where a query that returned zero rows would incorrectly return a JDBC
Exception. Note: This only occurs in streaming mode.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>
Add a convenient interface getStringValue() which returns the
string value of a node. It is used by the extension code
to get a node value without hacking into the DTM.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates Constants.java<br/><ref>Committer's log entry: </ref>
Add strings for new extension namespaces. This includes new EXSLT
namespaces (dynamic and strings), namespaces for redirect, PipeDocument
and SQL extensions and new namespace for the Java extension. For
backward compatibility, the old Java namespace is still kept.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionNamespacesManager.java<br/><ref>Committer's log entry: </ref>
Register new extension namespaces, including two new EXSLT namespaces
(dynamic and strings), namespaces for redirect, PipeDocument and SQL
extensions and the new/old namespaces for Java extension.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>
Reorganize the extension functions for new EXSLT extensions and
XSLTC integration. The implementation of some extension functions
(intersection, difference, distinct, evaluate and tokenize) are
moved to the corresponding EXSLT extension classes. We also put
a note to say that using these extension functions in the
Xalan namespace is deprecated. The signature of some extension
functions are changed to facilitate the XSLTC integration.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltMath.java<br/><ref>Committer's log entry: </ref>
The EXSLT math extension was rewritten for XSLTC integration. The
signatures of the existing functions (max, min, highest and lowest)
are changed. We use NodeList instead of NodeSet and NodeIterator
in arguments and return types, because it is the only node list type
recognized by XSLTC. We also got rid of the ExpressionContext
arguments in these functions. We implemented the toNumber() and toString()
interfaces as a replacement.
I also implemented all of the remaining math functions in the EXSLT spec,
e.g. constant, sin, random.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltSets.java<br/><ref>Committer's log entry: </ref>
The signatures of the sets extension functions are changed for
XSLTC integration. NodeList is used instead of NodeSet and NodeIterator
in arguments and return types. The implementation of intersection,
difference and distinct was moved from Extensions.java to this file.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Redirect.java<br/><ref>Committer's log entry: </ref>
Add comments for the new namespace (http://xml.apache.org/xalan/redirect).
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib PipeDocument.java<br/><ref>Committer's log entry: </ref>
Add comments for the new namespace (http://xml.apache.org/xalan/PipeDocument).
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref>
Add comments for the new namespace (http://xml.apache.org/xalan/sql).
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDynamic.java<br/><ref>Committer's log entry: </ref>
Add the ExsltDynamic class which implements the EXSLT dynamic
extension functions (max, min, sum, map, evaluate and closure).
The implementation of evaluate is taken from Extensions.java.
The Javadoc is copied from the relevant EXSLT page.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltStrings.java<br/><ref>Committer's log entry: </ref>
Implement the EXSLT strings extension functions (align,
concat, padding, split and tokenize). The implementation
of tokenize is taken from Extensions.java.
The Javadoc is copied from the relevant EXSLT page. Three
functions (decode-uri, encode-uri and replace) are missing
due to ambiguous spec.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes SelfIteratorNoPredicate.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 11809 and 10643. Fix the nextNode() interface so that
it returns DTM.NULL if the m_foundLast flag is true.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemExtensionCall.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 11073. Fix an extension namespace problem.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 11743 and 12298. Fix argument handling in
extension functions. Arguments now have non-null parents
and they will be visited by the XPathVisitor.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/09<br/><ref>Modified: </ref> xml-xalan/java KEYS<br/><ref>Committer's log entry: </ref>
I had to get a new key after a hard drive crash. This time, I backed it up!
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref>
Copy the LICENSE and README files to the bin directory for the source distribution.
These files are needed by the xsltc.jar target.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>
Throw an IllegalArgumentException in the setErrorListener() interface
if the error listener is null.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions MethodResolver.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 9731. Convert an empty NodeList to a null Node.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates OutputProperties.java xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 12379. Transformer.setOutputProperties() should throw
IllegalArgumentException if the property is invalid.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTAttributeDef.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 12127. Throw a TransformerException if a prefix cannot
be resolved to a URI insteading of throwing a NullPointerException.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTAttributeDef.java<br/><ref>Committer's log entry: </ref>
Correct a problem in the previous patch.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java<br/><ref>Committer's log entry: </ref>
Javadoc correction.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>
Make the tokenize extension function different from the one in the
EXSLT strings extension. Reuse the Document object to reduce
memory consumption.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltStrings.java<br/><ref>Committer's log entry: </ref>
Make the tokenize function conformed with the EXSLT spec. Reuse
the Document object to reduce memory usage.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes RTFIterator.java xml-xalan/java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 11341. Let RTFIterator extend NodeSetDTM so that it is the kind
of DTMIterator expected by DTMNodeList. This also fixes the problem in
testcase JavaBugzilla3722.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorExsltFunction.java XSLTSchema.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 12077. Fixed problem with func:function in included stylesheet.
Add exsltFunction to the templateElements list so that we can detect the error where
func:function is embedded in another (e.g. xsl:variable) element.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/bin xml-apis.jar xml-xalan/java/src xml-commons-src.tar.gz<br/><ref>Committer's log entry: </ref>
New version of xml-apis.jar taken from xml-commons with tag:
factoryfinder-build. It contains the JAXP FactoryFinder patch and some
SAX file updates.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>
XSLTC support - phase 1
Add the -XSLTC option to enable transforming using XSLTC
The following existing options do not work in XSLTC mode:
-TT
-TG
-TS
-TTC
-QC
-L
-INCREMENTAL
-NOOPTIMIZE
-RL
If any of these options is used with -XSLTC, a message is printed
and the option is ignored. All other existing options (e.g. -flavor,
-text, etc.) can be used with -XSLTC.
In phase 2, we are going to migrate the XSLTC specific options in the
XSLTC command lines (Compile and Transform) to the Process command line.
One of the new features would be generating translet class files from
the xsl.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDynamic.java ExsltMath.java ExsltStrings.java<br/><ref>Committer's log entry: </ref>
Extension work. A few Javadoc correction. Fix problems in math:max and math:min.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/objects XRTreeFragSelectWrapper.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 6181. Change the execute() interface to return the result
of executing the select expression.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/20<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref>
Updating to latest xercesImpl.jar, which contains org.w3c.dom.xpath interfaces.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java XPathResultImpl.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Prototype implementation of DOM L3 XPath Specification.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>
Committing Gordon Chiu's (grchiu@ca.ibm.com) patch for bugzilla #6927.
<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml xsltc_usage.xml<br/><ref>Committer's log entry: </ref>
compile -n option changed so inlining is now the default
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltBase.java ExsltDynamic.java ExsltMath.java ExsltSets.java ExsltStrings.java<br/><ref>Committer's log entry: </ref>
Extension cleanup.
Add an ExsltBase class as the super class for other EXSLT implementation
classes, so that the toString() and toNumber() interfaces can be easily
reused by all the subclasses without duplicating code.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath DOMHelper.java<br/><ref>Committer's log entry: </ref>
The isNodeTheSame(node1, node2) interface should return true if node1==node2.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemAttribute.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
Patch for bugzilla #10384. There's still a problem with attribseterr08 which
is covered in bugzilla #3969.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/dom3/xpath XPathEvaluator.java XPathException.java XPathExpression.java XPathNamespace.java XPathNSResolver.java XPathResult.java<br/><ref>Committer's log entry: </ref>
Since Xerces has decided not to build the org.w3c.dom.xpath interfaces into
XercesImpl I have created a temporary home for these interfaces, until
the specification becomes a recommendation.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java XPathResultImpl.java<br/><ref>Committer's log entry: </ref>
Updating import statements to use the interfaces in the temporary org.apache.xalan.dom3.xpath package.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
Added some new error message strings.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>
Patch for bugzilla #4344. The testcases, copyerr04-07 were already
working correctly in that when an attempt was made to add an attribute
after child elements, or before an element was produced, the attribute was
ignored. However, Dave M. said that a warning was also needed. So,
I have added a warning message for these cases. Also, similar behaviour
was being seen for testcases attribset19,35,36 and attribseterr08. This
was being handled in ElemAttribute.execute, but I've commented out the
code there since it will get caught in ResultTreeHandler.execute in the
same place the copyerr tests get handled.
The negative testcases, copyerr04-07, attribset08 should be moved
to the positive bucket (possibly with a few tweaks) since they all run to
completion.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemAttribute.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
Patch for bugzilla #4344.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>
Gordon Chiu's (grchui@ca.ibm.com) patch for bugzilla #8473. Thanks also
to Brian Minchau (minchau@ca.ibm.com) for the analysis of this bug.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/functions FunctionMultiArgs.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 7161. Add a public accessor to return the argument array.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java xml-xalan/java/src/org/apache/xalan/extensions ExpressionContext.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 10414. Provide a getErrorListener() interface in the ExpressionContext.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/samples/AppletXMLtoHTML client.html<br/><ref>Committer's log entry: </ref>
For bugzilla 13059. Fix typo width"0" to width="0".
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
Messages for new options in the Process command line.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>
XSLTC support in the Process command line - phase 2
Migrate the options from the XSLTC command line (Compile and Transform)
to the Process command line. The following new options are added:
-XO [translet_name] (specify translate class name)
-XD destination_directory (specify destination directory)
-XJ jar_name (put translet into jar file)
-XP package_prefix (specify package name prefix)
-XN (enable template inlining)
-XX (additional debug messages)
-XT (use translet to transform if possible)
The new options can only be used with the -XSLTC option. The options are
passed to XSLTC via the standard TRAX API - TransformerFactory.setAttribute().
Process does not directly communicate with XSLTC.
The usage instructions are also re-organized. The options are divided into
three categories (command options, Options for Xalan and Options for XSLTC). A
pager is used when displaying the usage instructions so that you can see them
page by page.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Added and fixed up some additional translation guidelines.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref>
Use Vector.elementAt() instead of Vector.get(). The latter is not available
in JDK 1.1.8. Add two argument accessor methods for Bugzilla 8939.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates Constants.java ElemTemplateElement.java output_html.properties output_text.properties output_xml.properties OutputProperties.java<br/><ref>Committer's log entry: </ref>
Use one namespace for all extensions (Bugzilla 9959)
Use the new namespace uri "http://xml.apache.org/xalan" instead of
"http://xml.apache.org/xslt" for xsl:output extension attributes.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorLRE.java XSLTElementDef.java XSLTSchema.java<br/><ref>Committer's log entry: </ref>
Use one namespace for all extensions (Bugzilla 9959)
Use the new namespace uri "http://xml.apache.org/xalan" for
the component and script extension elements. We maintain
backward compatibility so that using the old uri
"http://xml.apache.org/xslt" still works.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandlerJavaPackage.java<br/><ref>Committer's log entry: </ref>
Minor Javadoc update to use the new namespace uri.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/samples/extensions 1-redir.xsl 2-basicJscript.xsl 3-java-namespace.xsl 4-numlistJava.xsl 5-numlistJscript.xsl 6-sqllib-instantdb.xsl<br/><ref>Committer's log entry: </ref>
Update the extension samples to use the new namespace.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltMath.java<br/><ref>Committer's log entry: </ref>
Minor fix for math:max().
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor StylesheetHandler.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 13106. Visit the XPath expressions created for match patterns.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes DescendantIterator.java UnionPathIterator.java WalkerFactory.java xml-xalan/java/src/org/apache/xpath/compiler Compiler.java Lexer.java OpMap.java XPathParser.java<br/><ref>Committer's log entry: </ref>
Patch for bugzilla #5046.
The token queue and operations map can now grow to accomodate really
large XPath expressions. Starting sizes of the data structures remain set
at the size in the current code.
I created new classes org.apache.xml.utils.ObjectVector (based on org.apache.xml.utils.IntVector)
and org.apache.xpath.compiler.OpMapVector to store the token queue
and operations map.
This patch is essentially a stop gap until the new parser (xslt20 branch) is integrated.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils ObjectVector.java xml-xalan/java/src/org/apache/xpath/compiler OpMapVector.java<br/><ref>Committer's log entry: </ref>
Patch for bugzilla #5046.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/compiler OpMap.java<br/><ref>Committer's log entry: </ref>
Cleaning up import statements.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils IntStack.java IntVector.java ObjectStack.java ObjectVector.java xml-xalan/java/src/org/apache/xalan/templates ElemApplyTemplates.java ElemForEach.java xml-xalan/java/src/org/apache/xalan/transformer StackGuard.java TransformerImpl.java TransformSnapshotImpl.java xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>
Commiting Gordon Chiu's (grchiu@ca.ibm.com) patch for bugzilla#8175.
IntStack's and ObjectStack's are now used in place of fixed length arrays, so that users
should not run into limitations based on array sizes. The initial size of the arrays has
been set to current array sizes, so the user's experience should not change much, except
in the cases where they were running into the size limitation.
No performance analysis has been done to determine an optimal initial
size for the stacks.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Committing Igor Hersht's (igorh@ca.ibm.com) patch for bugzilla #10176.
Also, removing testcase position102 from the excludes list for the smoketest
since it now runs.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Patch for bugzilla #13305. Moved initalization code into a static initializer.
TransformerFactory.newInstance() can now be called safely from multiple
threads.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/19<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref>
Updating to XercesJ 2.2.0.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref ExpandedNameTable.java<br/><ref>Committer's log entry: </ref>
Committing Pavel Ausianik's (Pavel_Ausianik@epam.com) patch for bugzilla #12687.
Reduce memory allocation on initialization of ExpandedNameTable.
m_locNamesPool and m_namespaceNames and code that uses them has
been commented out. Some initialization now done in static initializer.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>
Committing Gordon Chiu's (grchiu@ca.ibm.com) modified patch of Pavel Ausianik's (Pavel_Ausianik@epam.com)
patch for bugzilla #12486.
Method XPathContext.reset() was creating many new instances of java objects,
causing unnecessary memory allocations, instead of reusing previously created
objects.
m_locNamesPool and m_namespaceNames and code that uses them has
been commented out. Some initialization now done in static initializer.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java Encodings.properties<br/><ref>Committer's log entry: </ref>
Committing Gordon Chiu's (grchiu@ca.ibm.com) patch for bugzilla #13754.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/dom3/xpath COPYRIGHT.html<br/><ref>Committer's log entry: </ref>
Copying the copyright statement for the DOM L3 XPath API interfaces into
the temporary package (org.apache.xalan.dom3.xpath) which contains
the interfaces until they become a recommendation.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorExsltFunction.java<br/><ref>Committer's log entry: </ref>
For bugzilla 13711
Fix the conditions for validating the child elements of func:function.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer KeyTable.java xml-xalan/java/src/org/apache/xpath/axes NodeSequence.java<br/><ref>Committer's log entry: </ref>
Committing urban.spielmann@swisslife.ch (Urban Spielmann)'s patch for bugzilla #11661.
After the Redundant Expression Elimination merge, the key cache had
not yet been replaced. This patch puts back the key cache, which
gives xsl:key much better performance.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemExtensionCall.java<br/><ref>Committer's log entry: </ref>
For bugzilla 7357
Fix problems in exception handling for extension elements.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Patch for bugzilla #13863.
Moved setting the namespaceContext from the TransformerImpl constructor to
the transform method.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPath.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Move a hardcoded string into the properties file.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandlerJavaClass.java ExtensionHandlerJavaPackage.java<br/><ref>Committer's log entry: </ref>
For bugzilla 13944. Check for InvocationTargetException in Method.invoke().
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>
For Bugzilla 13303.
Fix Memory leak in XPathContext.popRTFContext().
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Backing out patch for bugzilla #13863. It causes a bunch of failures in
the trax.sax flavour.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan extensions.xml extensionslib.xml samples.xml<br/><ref>Committer's log entry: </ref>
Update the extensions documentation.
Use the new namespaces in documents and examples. Update EXSLT development
status. Modify setup instructions for SQL samples.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/xdocs xml-site-style.tar.gz xml-xalan/java/xdocs/sources/xalan faq.xml resources.xml<br/><ref>Committer's log entry: </ref>
For Bugzilla 14022
Commit Gordon Chiu's update to the FAQ.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/dom3/xpath COPYRIGHT.html XPathEvaluator.java XPathException.java XPathExpression.java XPathNamespace.java XPathNSResolver.java XPathResult.java xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java XPathResultImpl.java<br/><ref>Committer's log entry: </ref>
Removed the temporary org.apache.xalan.dom3.xpath package.
Updated the org.w3c.dom.xpath interfaces.
Changed dependencies to org.w3c.dom.xpath interfaces in the implementation
classes in org.apache.xalan.xpath.domapi.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref>
Build org.w3c.xpath.dom interfaces into xalan.jar.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>
Patch from Gordon Chiu. Replace stack.clear() calls with stack.removeAllElements()
to be compatible with JDK1.1.8.
<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref>
Support compiling under JDK 1.2 - 1.4. Also check for compatability with target JDK 1.1.x.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/domapi XPathNamespaceImpl.java XPathResultImpl.java<br/><ref>Committer's log entry: </ref>
Somewhat rough implementation of XPathNamespace.
<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/bin ant.jar<br/><ref>Committer's log entry: </ref>
Upgrade to Ant 1.5.1.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltBase.java ExsltStrings.java xml-xalan/java/src/org/apache/xalan/lib/sql DefaultConnectionPool.java<br/><ref>Committer's log entry: </ref>
Fix JDK 1.1.8 compatibility problems.
Replace methods calls that are only in Java2 by JDK 1.1 equivalents.
For DefaultConnectionPool.java, use reflection mechanism to invoke
Thread.getContextClassLoader() instead of hard-coded invocation.
<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.4.0">
<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize SerializerToText.java<br/><ref>Committer's log entry: </ref>
Bugzilla 8358 -- bad method signature. I've created a new method
with the correct signature. The old one may or may not be entirely
superfluous, but I don't want to muck with it right now.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources entities.ent xalan-jsite.xml<br/><ref>Committer's log entry: </ref>
Updated Xalan version to 2.3.2 and Xerces to 2.0.1.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_usage.xml<br/><ref>Committer's log entry: </ref>
Added classpath information pertaining to xercesImpl.jar and xml-apis.jar.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources entities.ent<br/><ref>Committer's log entry: </ref>
Added pointer to xml-apis.jar MANIFEST for version information.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan history.xml readme.xml xsltc_history.xml<br/><ref>Committer's log entry: </ref>
Updates for next version (release notes to history)
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan extensionslib.xml<br/><ref>Committer's log entry: </ref>
Added info on Xalan implementation of EXSLT common, math,
and set extensions, and ongoing work on the function and result
elements and datetime extensions.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan index.xml<br/><ref>Committer's log entry: </ref>
Added support for EXSLT extensions.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>
Fix for Bugzilla entries
6833
7023
7123
7410
Basic summary of logic error: It is possible for multiple RTF DTMs
to be pushed onto the stack between the start of a template and
return from it. I hadn't anticipated that, so my pop logic was
inadequate.
I'm still not 110% sure I understand the case where this situation
arises... I have a general intuition that it makes sense, but also a
suspicion that there might be a way to avoid creating one of these
DTMs. We should review that someday.
Meanwhile, this fixes a whole batch of related bugs.
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref ExpandedNameTable.java<br/><ref>Committer's log entry: </ref>
Performance improvement. Instead of looping through the ExtendedType objects, use a hashtable and go directly to the correct object.
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java Encodings.properties<br/><ref>Committer's log entry: </ref>
Bugzilla 6356: Add support for "windows-1251" and use a properties file to store all the supported encodings. Patch from Sergey Ushakov.
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref ExpandedNameTable.java<br/><ref>Committer's log entry: </ref>
Add basic DOM nodetypes to our hashtable of extended type IDs
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/05/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLMessages.java XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xslt Process.java xml-xalan/java/src/org/apache/xml/utils/res XResourceBundle.java XResourceBundleBase.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResourceBundle.java XPATHErrorResources_en.java XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Use PropertyResourceBundle instead of ListResourceBundle, and put error
messages into property files, for easier localization.
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes WalkerFactory.java<br/><ref>Committer's log entry: </ref>
In mightBeProximate, there was a bug that assumed a variable would not be
be a numeric result. It is now fixed to assume a number may be a number, which
may cause a small performance penalty. In the future, it should be possible to
chase this down a bit more to rule out more variables as non-numbers.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPath.java<br/><ref>Committer's log entry: </ref>
Bugzilla 7157. Updated Javadoc comment to note that the XPath.installFunction() method currently does not
use the name parameter.
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/compiler Compiler.java xml-xalan/java/src/org/apache/xpath/functions FuncLast.java FuncPosition.java Function.java<br/><ref>Committer's log entry: </ref>
Bugzilla6284: New function added to position() and last() that will help us determine whether we are executing a top-level expression and therefore, not inside a predicate
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLMessages.java XSLTErrorResources.java xml-xalan/java/src/org/apache/xalan/templates ElemTemplateElement.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java<br/><ref>Committer's log entry: </ref>
Add a null constructor for resource files and fix XSLMessages to use the correct error resource file
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/META-INF/services org.apache.xml.dtm.DTMManager xml-xalan/java/src/org/apache/xml/dtm DTMManager.java<br/><ref>Committer's log entry: </ref>
Add meta file for DTMManager factory and make sure it is read as UTF-8
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/objects XNodeSetForDOM.java<br/><ref>Committer's log entry: </ref>
m_last was not being set correctly. See comments.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemVariable.java<br/><ref>Committer's log entry: </ref>
Bugzilla 7118: Variable set via RTF may have
local variables within it; need to push a new
context.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemTemplateElement.java<br/><ref>Committer's log entry: </ref>
Missing safety net, mostly needed during stylesheet construction.
We really should change TransformerImpl to set parent _before_
starting to setPropertiesFromAttributes, so the error conditions
which might cause this test to be needed don't arise. Among other
things, that would produce more useful diagnostic messages.
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseTraversers.java<br/><ref>Committer's log entry: </ref>
Bugzilla 8894: DescendantForRoot traversers needed to implement their own version of first(int, int) so that their context would be from the root.
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes NodeSequence.java<br/><ref>Committer's log entry: </ref>
Fix for NullPointerException in SQL extension stuff. Just check for a NULL iterator...
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>
Bugzilla 8324. This should have been checked into the main branch.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemTemplateElement.java<br/><ref>Committer's log entry: </ref>
Dumb of me -- fixed one edge case and created another, because
I forgot about subclassing Sigh. This version protects against both.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>
Fix for new tests Variable71 and Variable72.
When we went to the shared RTF DTMs, we forgot to update
PreceedingIterator to reflect the fact that the root of a DTM tree
may no longer have 0 as its internal Node Identifier. This change
corrects that situation, and does so without imposing a lot of
computational overhead since we need to scan the ancestors
anyway.
There appear to be similar hazards in some of the Traversers,
still to be dealt with. Coming up with testcases which will provoke
those bugs (and confirm that we've fixed them) is likely to be
harder than writing the fix itself...
<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/05/17<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml<br/><ref>Committer's log entry: </ref>
section on problems was way out of date. Also incorporated material from JAXP 1.2 release notes
<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/05/17<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_usage.xml<br/><ref>Committer's log entry: </ref>
updated command option usuage. Some options have been added.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/17<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_usage.xml<br/><ref>Committer's log entry: </ref>
Updated first three sections.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemVariable.java<br/><ref>Committer's log entry: </ref>
Bugzilla 7118 REVERT -- This fix was provoking bug 9195, which
is more severe.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>
Obvious mistake, apparently in a corner our regression tests missed.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2RTFDTM.java<br/><ref>Committer's log entry: </ref>
Root node is not always 0 in an RTFDTM
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/05/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLMessages.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xslt Process.java xml-xalan/java/src/org/apache/xpath/functions FuncPosition.java<br/><ref>Committer's log entry: </ref>
Fixed hard coded string for timing diagnostics.
<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/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>
Prevent an external DTD from being inlined when using the built-in
identity transform.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorFuncResult.java ProcessorFunction.java ProcessorOutputElem.java ProcessorResultDocument.java XSLTSchema.java<br/><ref>Committer's log entry: </ref>
XSLT 2.0: stylesheet function, result-document, and
principal-result-document.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref>
Xalan3 branch: Check in temporary version of Xerces. This predates
the most recent changes to Xerces, and supports the older "light
weight" PSVI APIs. Current Xerces has replaced those with a heavier
version, but in the process lost the derivedFrom() method which
we need; when they restore that functionality, we'll cut over.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/05<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java<br/><ref>Committer's log entry: </ref>
Core EXSLT dates-and-times functions.
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemVariable.java XUnresolvedVariable.java<br/><ref>Committer's log entry: </ref>
Fix bug 7118. In XUnresolvedVariable, treat the RTF variable much more like
a template that has to count it's variables at compose-time, and link and unlink
when the lazy variable is resolved.
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql DefaultConnectionPool.java xml-xalan/java/src/org/apache/xalan/processor TransformerFactoryImpl.java xml-xalan/java/src/org/apache/xalan/res XSLMessages.java XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/templates RedundentExprEliminator.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseTraversers.java xml-xalan/java/src/org/apache/xml/utils ListingErrorHandler.java xml-xalan/java/src/org/apache/xml/utils/synthetic JavaUtils.java xml-xalan/java/src/org/apache/xpath VariableStack.java xml-xalan/java/src/org/apache/xpath/functions FuncConcat.java Function.java Function2Args.java Function3Args.java FunctionOneArg.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Integrated some removal of hard-coded error messages.
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>
Add resets for m_contextNodeLists, etc. It might be possible that these are
redundent with the same thing being done somewhere else, but given
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6021 I suspect
that this really does need to be done here. It would explain any problems
that might have been reported after an exception has been thrown, and
the Transformer is being reused.
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemApplyTemplates.java ElemTemplate.java xml-xalan/java/src/org/apache/xalan/transformer StackGuard.java TransformerImpl.java xml-xalan/java/src/org/apache/xml/utils URI.java<br/><ref>Committer's log entry: </ref>
Add back a certain amount of StackGuard functionality. Instead of checking
counts where both the node and the xsl:template are the same... (we would
really need also to check that parameters are the same), just check for recursion
of templates. We can make it fancier over time to also check for same params,
but checking of the current node may be harder. I was only able to set the
recursion limit to about 475 before I would get stack overflow errors anyway.
I also did some stuff where the error messages should be more consistent by
making sure some of the arrays are reset in XPathContex, which may address
some of the inconsistency problems that Christina reported.
may address part of the problem that Christina was having.
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/transformer StackGuard.java<br/><ref>Committer's log entry: </ref>
Moved hard coded strings for StackGuard error message to properties file.
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
Fix bug for optionV.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExpressionContext.java ExpressionVisitor.java ExtensionHandlerExsltFunction.java ExtensionNamespacesManager.java ExtensionNamespaceSupport.java ExtensionsTable.java xml-xalan/java/src/org/apache/xalan/processor ProcessorExsltFuncResult.java ProcessorExsltFunction.java StylesheetHandler.java XSLTSchema.java xml-xalan/java/src/org/apache/xalan/templates Constants.java ElemExsltFuncResult.java ElemExsltFunction.java ElemExtensionCall.java ElemExtensionDecl.java StylesheetRoot.java xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java xml-xalan/java/src/org/apache/xpath ExtensionsProvider.java XPathContext.java xml-xalan/java/src/org/apache/xpath/functions FuncExtElementAvailable.java FuncExtFunction.java FuncExtFunctionAvailable.java<br/><ref>Committer's log entry: </ref>
Updates to Xalan extensions: (1) EXLST function and (2) architectural modifications.
This is a merge of the ExtensionEnhancements branch into Main.
1. EXSLT function
We are well underway in our progress towards providing support for EXSLT extension functionss and elements. The EXSLT function and result elements (see http://www.exslt.org/func/func.html) require some fairly substantial additions.
XSLTSchema includes new XSLTElementDefs for a top-level exslt:function element, which, along with other items, may contain an exslt:result element. These definitions specify a new element class and processor for both of these elements, and a new extension handler. I have tested the implementation with the 6 test cases that EXSLT provides (including recursive calls), and it passes these tests.
Note: These additions/updates also provide the infrastructure for the XSLT 2.0 stylesheet function.
2. Architectural changes
During styesheet composition, Stylesheet Root assembles a vector of ExtensionNamespaceSupport objects. This object contains the information required during a transform to instantiate the required ExtensionHandler. If the stylesheet includes no extensions, this vector is null. I.e., it does not include handlers for the default extension namespaces (of which there are currently 7, and which the Xalan currently loads for each transformation).
The presence of an extension is detected as follows:
Compilation of an expression that contains a FuncExtFunction. StylesheetHandler.createXPath() uses an XPathVisitor to locate any FuncExtFunctions embedded in the expression.
Final composition of a component element -- ElemExtensionDecl.compose().
Final composition of an extension component for which no component exsits -- ElemExtensionCall.compose().
Final composition of an exslt:function element -- ElemFunction.compose().
During StylesheetRoot.recompose(), any extension namespaces that are not predefined and for which no component or function element exists, are defined as java class (if a java class is found) or java package. In the current implementation, this last stab is made during the transformation, repeatedly if the element or function cannot be processed and is called more than once.
At the beginning of each transformation -- transformNode() -- if any extensions exist, TransformerImpl instantiates an ExtensionsTable with a hashtable containing an ExtensionHandler for each of the ExtensionNamespaceSupport objects defined during stylesheet assembly. XPathContext no longer creates or has any direct knowledge of the ExtensionsTable. The ExtensionsTable does not contain handlers for predefined namespaces that are not being used.
TransformerImpl implements the org.apache.xpath.ExtensionsProvider interface. The relevant XPath functions (FuncExtFunction, FuncExtElememntAvailable, and FuncExtFunctionAvailable) call this interface, via XPathContext.getOwnerObject(). The implementation contains 3 methods that call through to the ExtensionsTable, which passes the call on to the appropriate ExtensionHandler..
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java<br/><ref>Committer's log entry: </ref>
Use ContextClassLoader - Use full Encoding file package name - Merge new patch from Sergey Ushakov
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates FuncDocument.java FuncFormatNumb.java xml-xalan/java/src/org/apache/xpath/functions FuncConcat.java FuncExtFunction.java FuncSubstring.java Function.java Function2Args.java Function3Args.java FunctionDef1Arg.java FunctionMultiArgs.java FunctionOneArg.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Patch submitted by Henry_Zongaro@us.ibm.com:
To summarize what I did, the Function class and its subclasses have two
methods that check the number of arguments: setArg and
checkNumberArgs. The former checks whether too many arguments are
specified, and the latter checks for too few (or too many, redundantly).
In the case where there are optional arguments (as in substring), the class
for the function (FuncSubstring, in this case) derives from a class that has a
fixed number of arguments (Func3Arguments, in this case). If too few
arguments are specified, the FuncSubstring.checkNumberArgs method
reports that the function only allows 2 or 3 arguments; if too many arguments
are specified, the Function3Arguments.setArg method reports that the
function only allows 3 arguments.
To fix the problem, I added reportWrongNumberArgs() methods to the
Function class and to its subclasses, as appropriate, and I added code to
call that from checkNumberArgs and setArg - that way, the correct number
of arguments is always reported in the error messages.
Alternatively, I could have changed the setArg method in all the classes that
have optional arguments to report correctly the number of arguments, but I
didn't like the idea of having it redundantly perform the same check that the
setArg method of its base class was going to perform just to get a better
message out. A third possibility would be to have setArg call the
checkNumberArgs method when it detects too many arguments are
specified; that would guarantee that setArg would report the same message,
and avoid introducing a new method, as long as checkNumberArgs always
checks for both too few and for too many arguments. A fourth possibility
would be to report two different errors: the minimum number of arguments
required in checkNumberArgs and the maximum permitted in setArg.
I also noticed that the message produced for FuncSubstring when too few
arguments are specified actually indicates that 0 or 1 arguments are required,
so I fixed the XPATHErrorResources.properties file.
I don't see the NPE that Dave Marston mentions in Bugzilla, so I assume
that's been fixed.
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor StylesheetHandler.java xml-xalan/java/src/org/apache/xalan/templates ElemNumber.java ElemTemplateElement.java xml-xalan/java/src/org/apache/xml/utils PrefixResolver.java PrefixResolverDefault.java xml-xalan/java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref>
Patch submitted by Ilene_Seelemann@us.ibm.com for Bug 6798:
Added a method (handlesNullPrefixes) to the PrefixResolver interface so
that the resolver can indicate whether it supports null prefixes. Then, in the
tokenizer, if the prefix is null, and the resolver supports that, it continues
processing as if the prefix had a value. In Lexer.java, methods that have
changed are: tokenize, mapNSTokens.
In ElemNumber#getCountMatchPattern, pass MyPrefixResolver instance to default
psuedo match patterns.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan history.xml readme.xml xsltc_constraints.xml xsltc_history.xml<br/><ref>Committer's log entry: </ref>
Moved 2.3.2 core and xsltc updates into the history files.
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref>
xercesImpl.jar from Xerces-J-bin.2.0.1.zip (for upcoming Xalan-J 2.4.D1)
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/src MANIFEST.MF<br/><ref>Committer's log entry: </ref>
Update xerces.jar to be xercesImpl.jar; this should have been
done quite a while ago. Note the Class-Path: entry needs review
in general at some point.
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan builds.xml<br/><ref>Committer's log entry: </ref>
Brief documentation about developer standards and official build processes
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources xalan-jlocal.xml<br/><ref>Committer's log entry: </ref>
Add builds.xml; perhaps should also be added to xalan-jsite.xml as well
<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemNumber.java xml-xalan/java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref>
From Ilene Seelemann:
Added the following in blue to line 395 of Lexer.java
if ((-1 != posOfNSSep) ||
((m_namespaceContext != null) &amp;&amp; (m_namespaceContext.handlesNullPrefixes())))
I'm also including ElemNumber.java which really doesn't need to
explicitly state that it implements PrefixResolver.
Without these updates everything does run fine.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan readme.xml xsltc_constraints.xml<br/><ref>Committer's log entry: </ref>
updates for developer's release.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources entities.ent xalan-jsite.xml xml-xalan/java/xdocs/sources/xalan history.xml index.xml readme.xml resources.xml xml-xalan/java KEYS<br/><ref>Committer's log entry: </ref>
Patches for developer's release from Sarah McNamara.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>
Updated version # for developer's release.
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>
Update .jar file sizes for 2.4.D1 release
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan resources.xml<br/><ref>Committer's log entry: </ref>
Remove extraneous slash char on path
Submitted by: mcnamara@ca.ibm.com
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>
Fix Bugzilla #9137; don't toLowerCase() the filename (not really needed anymore);
remove line for xalan.jar for 2_4_D1 because .jar build size is not determinate
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan extensionslib.xml<br/><ref>Committer's log entry: </ref>
Add pointers to info on new EXSLT extensions.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionNamespacesManager.java<br/><ref>Committer's log entry: </ref>
Changed Vector.get(int) to Vector.elementAt(int) to maintain
compability with Java 1.1.8.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java<br/><ref>Committer's log entry: </ref>
Modified leap-year functions to use arithmetic logic rather than relying
on a Calendar method that doesn't exist in Java 1.1.8.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes RTFIterator.java xml-xalan/java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref>
Added RTFIterator (extends OneStepIteratorForward);
created fromRTFFragment so EXSLT object-type function
can identify an RTF with certainty.
<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltCommon.java<br/><ref>Committer's log entry: </ref>
Removed duplicate implementation of several EXSLT "Set"
functions.
<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/bin jtidy.LICENSE.txt jtidy.README.txt Tidy.jar<br/><ref>Committer's log entry: </ref>
adding Jtidy for use with test harness to parse html
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils Hashtree2Node.java<br/><ref>Committer's log entry: </ref>
Simplistic static utility to convert a Hashtable of items (either
Hashtables or anything else cast to (String)) into an Element tree
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>
Update checkEnvironment to attempt to call org.apache.env.Which first
by using reflection; Which provides better output data than
EnvironmentCheck. If reflection doesn't work, then we
fallback to EnvironmentCheck as before.
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan faq.xml<br/><ref>Committer's log entry: </ref>
Add doc about calling checkEnvironment as a stylesheet extension
<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>
bug fix for bugzilla 9572, fix by Pavani.Mukthipudi@sun.com
<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/26<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref>
Update docs.class.path to include XSLTC-dependent jars
Submitted by: Henri Gomez hgomez@slib.fr
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Add error resources pulled out from code
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
Add error resources pulled out from code
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/compiler Compiler.java OpMap.java<br/><ref>Committer's log entry: </ref>
Pull out hard coded messages
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/compiler XPathParser.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Bugzilla 5016: Patch from Henry Zongaro... Fix XPATHParser.java to prevent matching empty RelativeLocationPath and Step expressions, prevent a LocationPath from preceding a Predicate in a FilterExpr, check for valid NameTest in NodeTest()
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Fix typo.
<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/06/29<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml<br/><ref>Committer's log entry: </ref>
fix typo in SmartTransormerFactoryImpl pointed out by Tobias McNulty
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/07/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemNumber.java<br/><ref>Committer's log entry: </ref>
Bug6268. Patch from Ilene Seelemann. Fix Grouping separator. If no grouping separator is specified but a gouping size is, number is not formatted. If grouping separator is "", warning is issued and number is not formatted. If grouping separator is more than one character, warning is issued and number is not formatted.
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/07/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor StylesheetHandler.java XSLTAttributeDef.java xml-xalan/java/src/org/apache/xml/utils DefaultErrorHandler.java<br/><ref>Committer's log entry: </ref>
resource error messages
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/07/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTAttributeDef.java XSLTElementProcessor.java XSLTSchema.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/templates AVT.java Constants.java ElemAttribute.java ElemElement.java ElemNumber.java ElemPI.java xml-xalan/java/src/org/apache/xml/utils QName.java StringToIntTable.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref>
Bugzilla 5013: Validation of QName attribute values. The patch will also fix the missing validation described in bugs 792 and 793
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/07/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils XMLChar.java<br/><ref>Committer's log entry: </ref>
Bugzilla 5013: Validation of QName attribute values. The patch will also fix the missing validation described in bugs 792 and 793
<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/07/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>
bugzilla 9575: Fix AncestorIterator counting root node twice. Patch from Henry Zongaro.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/07/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils DOMBuilder.java<br/><ref>Committer's log entry: </ref>
&lt;Blush&gt;
This was still trying to switch between setAttribute() and
setAttributeNS(). Correct usage of DOM Level 2 would be to
always use setAttributeNS(), and simply set a null URI when the
node is not namespaced. (Basically, the L1 versions of
createElement, createAttribute, setAttribute and setAttributeNode
should be considered deprecated with the sole exception of
manipulating a DOM intended to be viewed *only* as Level 1.)
I could swear we fixed this a VERY long time ago...
Good catch, thanks for calling it to our attention.
&lt;/Blush&gt;
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>
Morris Kwan's patch for bugzilla#10306
The problem is that the namespace declaration is not added to the attributes if there are other leading attributes. There is a check for whether the namespace
has already been added. That check is commented out because multiple namespace declarations can exist in one element.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates RedundentExprEliminator.java<br/><ref>Committer's log entry: </ref>
Applied patch from Morris Kwan for bugzilla #9753.
The bug addresses the problem that there is a build error with Xalan under JDK 1.4, because one of the classes uses assert() as method name.
And assert is a keyword in JDK 1.4. The patch just changes the word "assert" to "assertion".
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTSchema.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/templates ElemPI.java xml-xalan/java/src/org/apache/xml/utils QName.java<br/><ref>Committer's log entry: </ref>
Remaining updates for Bugzilla#5013.
Some attributes that should have been handled as errors were getting
handled as warnings.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemApplyTemplates.java ElemForEach.java<br/><ref>Committer's log entry: </ref>
Check that recursionLimit is not negative before calling checkForInfinateLoop.
<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/07/25<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml<br/><ref>Committer's log entry: </ref>
fix typo, java for Java in doc on xsltc and external java functions
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java<br/><ref>Committer's log entry: </ref>
Applying patch for bug#10839.
Try/catch block needed around System.getProperty call.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTAttributeDef.java XSLTSchema.java<br/><ref>Committer's log entry: </ref>
Applying Paul Brown's patch for bug#6972.
xsl:output cdata-section-elements attribute was not handled correctly.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/07/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes SingletonIterator.java<br/><ref>Committer's log entry: </ref>
file SingletonIterator.java was initially added on branch XSLTC_DTM.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltCommon.java ExsltMath.java ExsltSets.java Extensions.java<br/><ref>Committer's log entry: </ref>
Committed patch for bugzilla#10323 (incorrect Javadoc
in the extension code.)
Submitted by Morris Kwan (mkwan@ca.ibm.com)
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandlerJavaClass.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref>
Committed patch for bugzilla#10914
( Need better error message for redirect select errors)
Submitted by Morris Kwan (mkwan@ca.ibm.com)
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>
Patch for bugzilla #9146
NullPointerException when attempting to build a stylesheet from
a DOM Element instead of a Document node.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/07/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>
Applying patches for Morris Kwan for bug 10519. Changed condition in absoluteURI method to handle the case where the URI is the root of a file system - e.g., / or c:\
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/07/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorInclude.java<br/><ref>Committer's log entry: </ref>
Applying patches for Morris Kwan for bug 10519. In parse method, if SystemId of the returned DOMSource object is null, systemID is resolved using href.
<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/08/02<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml<br/><ref>Committer's log entry: </ref>
changed verbage to agree with new support of constructors and nonstatic external java functions
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/08/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref>
Applying patch for Bug 9683 for Morris Kwan. If XRTreeFrag is constructed
without respect to an XPathContext, the object() method should defer to the
parent class's object() method to convert the fragment to the appropriate
representation.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemValueOf.java<br/><ref>Committer's log entry: </ref>
Patch for bugzilla #6071. Specifically, this patch allows line numbers to
be reported when errors are discovered at runtime in a value-of attribute.
(See idkeyerr10.)
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/08/14<br/><ref>Modified: </ref> xml-xalan/java/src MANIFEST.MF<br/><ref>Committer's log entry: </ref>
For Bug#6547. Remove reference to old jar files.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates FuncKey.java xml-xalan/java/src/org/apache/xalan/transformer KeyTable.java<br/><ref>Committer's log entry: </ref>
Patch for bug: "The key() function throws an exception when called in the context of a
local variable." reported on xalan-dev.
Modified FuncKey.execute to use getDocumentRoot instead of getDocument.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/08/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes BasicTestIterator.java<br/><ref>Committer's log entry: </ref>
For Bug#11123. Fix infinite loop in union expression.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/08/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandlerJavaClass.java<br/><ref>Committer's log entry: </ref>
For bug#7776. Fix argument passing problem for Java extension.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/08/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/trace PrintTraceListener.java<br/><ref>Committer's log entry: </ref>
See bug#10945. Test if a node is a DTMNodeProxy before casting.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseTraversers.java<br/><ref>Committer's log entry: </ref>
Patch for bugzilla#11834. Replaced calls to DTM.getDocument with get
DTM.getDocumentRoot.
<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/08/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer ClonerToResultTree.java<br/><ref>Committer's log entry: </ref>
James Riordan's bug -- Attributes on elements returned from
extensions were not being processed successfully. Turns out
our copying logic had a minor sequencing error.
I don't see anything similar listed in Bugzilla.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/bin xml-apis.jar<br/><ref>Committer's log entry: </ref>
Replacing xml-apis.jar with the version from the RIVERCOURT1 branch
of xml-commons. The xml-commons-1.0.b2 version does not pass
the TCK 1.1 or the TCK 1.2.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan builds.xml<br/><ref>Committer's log entry: </ref>
Small updates to the build documentation.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>
Updating version numbers to 2.4.0 for new release.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java build.xml xml-xalan/java/src/org/apache/xalan/processor XSLProcessorVersion.java xml-xalan/java/xdocs/sources entities.ent xalan-jsite.xml<br/><ref>Committer's log entry: </ref>
Updating version numbers to 2.4.0 for new release.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java commits.xml<br/><ref>Committer's log entry: </ref>
New commits.xml for upcoming Xalan 2.4.0 release.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan history.xml xsltc_history.xml<br/><ref>Committer's log entry: </ref>
New history.xml, xsltc_history.xml for upcoming Xalan 2.4.0 release.
<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.3.1">
<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Make synchronized to address potential reentrancy issue in
XRTreeFrag.finalize(), as discussed in the Javadoc. This may
solve several outstanding bug reports regarding reuse of
Transformers and cache suppression in for-each.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>Well, _that_ was dumb... Forgot one "don't dereference if null" test.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref>Just comment<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>We weren't handling the case where no default-value handling was specified.
This didn't generally bother us because XSLT never produces an element
declaration as output... but it did affect TransformerIdentityImpl when the
source document had an internal subset.
See xalan-j-users archives, under subject
"Differences between explicit and implicit parsing for docs with DTDs?"<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java
java/src/org/apache/xalan/templates ElemVariable.java
java/src/org/apache/xalan/transformer TransformerImpl.java
java/src/org/apache/xml/dtm/ref DTMManagerDefault.java
java/src/org/apache/xpath VariableStack.java
XPathContext.java<br/><ref>Committer's log entry: </ref>Variable64-66 and a number of variable-related Bugzilla reports: Global
variables may have their resolution deferred. This was causing their
content to be placed on the normal variable stack, where it could be
popped off (arggh) and later overwritten (double arggh). This change
gives them an independent storage space which is not subject to
those risks.
While I was at it, I've also made the VariableStack class a trifle more
self-documenting by giving some of the fields more meaningful names.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils IntStack.java<br/><ref>Committer's log entry: </ref>Bugzilla 6854: Return the stack exception, as documented.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/12/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>Bugzilla 6156 reopened: Same symptom, different disease -- rather than
a late finalizer, we simply forgot to reset one field between invocations.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/19/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref TestDTM.java<br/><ref>Committer's log entry: </ref>Replace old version, which was specific to particular implentations of
DTM, with one which is specific only to DTMManagerDefault and which
can be generalized more easily to conduct other tests.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/19/2002<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref TestDTMNodes.java<br/><ref>Committer's log entry: </ref>No longer in service.
This supported the old version of TestDTM. New version has
a node-dumper as an internal subroutine. (If we're going to do
a display method for other debugging purposes, it should be
both applicable to all DTMs and -- probably -- built into the
DTM system.)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/20/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref TestDTM.java<br/><ref>Committer's log entry: </ref>Add Apache header, remove import of discarded TestDTMNode.
At some point, we should consider moving this class to the tests
directory.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/21/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>Properly catch exception from CharInfo constructor, and try again.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/21/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Put extra check for getAbsoluteURI(String urlString, String base) for absolute
file paths with no protocol... I think one of the last check-in's wiped this
out.
So now, if the path is the form of "x:/x" or "/x" then "file:///" is added to
it.
I don't see how this can screw anything up... but I'm sure it will.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/21/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>Merge from redundent expression elemination branch.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/21/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java
java/src/org/apache/xalan/lib/sql DTMDocument.java
java/src/org/apache/xalan/processor ProcessorKey.java
ProcessorPreserveSpace.java
ProcessorStripSpace.java StylesheetHandler.java
XSLTAttributeDef.java XSLTElementProcessor.java
java/src/org/apache/xalan/templates AVT.java AVTPart.java
AVTPartSimple.java AVTPartXPath.java
ElemApplyTemplates.java ElemAttribute.java
ElemCallTemplate.java ElemChoose.java
ElemCopyOf.java ElemElement.java
ElemExtensionCall.java ElemForEach.java ElemIf.java
ElemLiteralResult.java ElemNumber.java
ElemTemplateElement.java ElemValueOf.java
ElemVariable.java ElemWhen.java ElemWithParam.java
FuncDocument.java FuncKey.java Stylesheet.java
WhiteSpaceInfo.java
java/src/org/apache/xalan/trace TraceManager.java
java/src/org/apache/xalan/transformer KeyIterator.java
KeyManager.java KeyRefIterator.java KeyTable.java
NodeSorter.java ResultTreeHandler.java
TransformerHandlerImpl.java
java/src/org/apache/xml/utils NodeVector.java
java/src/org/apache/xpath Expression.java VariableStack.java
XPath.java
java/src/org/apache/xpath/axes AttributeIterator.java
AxesWalker.java ChildIterator.java
ChildTestIterator.java DescendantIterator.java
FilterExprWalker.java IteratorPool.java
LocPathIterator.java MatchPatternIterator.java
OneStepIterator.java OneStepIteratorForward.java
PredicatedNodeTest.java ReverseAxesWalker.java
SelfIteratorNoPredicate.java UnionPathIterator.java
WalkerFactory.java WalkingIterator.java
WalkingIteratorSorted.java
java/src/org/apache/xpath/compiler Compiler.java
java/src/org/apache/xpath/functions FuncBoolean.java
FuncCount.java FuncExtFunction.java Function.java
Function2Args.java Function3Args.java
FunctionMultiArgs.java FunctionOneArg.java
java/src/org/apache/xpath/objects XBoolean.java
XNodeSet.java XNodeSetForDOM.java XNumber.java
XObject.java XRTreeFrag.java
XRTreeFragSelectWrapper.java XString.java
XStringForFSB.java
java/src/org/apache/xpath/operations Bool.java Equals.java
Operation.java UnaryOperation.java Variable.java
java/src/org/apache/xpath/patterns FunctionPattern.java
NodeTest.java StepPattern.java UnionPattern.java<br/><ref>Added: </ref>java/src/org/apache/xalan/processor WhitespaceInfoPaths.java
java/src/org/apache/xalan/templates AbsPathChecker.java
ElemVariablePsuedo.java
RedundentExprEliminator.java VarNameCollector.java
XSLTVisitable.java XSLTVisitor.java
XUnresolvedVariableSimple.java
java/src/org/apache/xpath ExpressionNode.java
ExpressionOwner.java XPathVisitable.java
XPathVisitor.java
java/src/org/apache/xpath/axes BasicTestIterator.java
FilterExprIterator.java
FilterExprIteratorSimple.java
HasPositionalPredChecker.java NodeSequence.java
PathComponent.java UnionChildIterator.java
java/src/org/apache/xpath/operations VariableSafeAbsRef.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/transformer KeyWalker.java<br/><ref>Committer's log entry: </ref>Redundent Expression Elimination branch merge.
Major architectural changes
1) Rip out cacheing in all iterators, and move the caching into XNodeSet
(actually NodeSequence where the caching is done derives from XObject and
XNodeSet derives from NodeSequence).Lots of other changes went into this,
including rewriting of some of the xsl:key stuff.
2) Implementation of a Visitor mechanism for the stylesheet and xpath
components.Each component for an XPath event is passed an ExpressionOwner,
which just has a getExpression and setExpression method, which allows us to
create a list of these, and then be able to do rewrites.This should be a
generally useful mechanism for all sorts of stuff, and should be considered a
public API.
3) Implementation of deepEquality methods for all XPath components, which
allows us to see if two components are equal.
4) Implementation of RedundentExprEliminator, which is a derivative from the
new XSLTVisitor class, which runs over the stylesheet collecting xpaths within
the same scope, and absolute xpaths that are not context dependent.These are
then each reduced by walking the list and checking for deep equality (though
global paths are always reduced).Reduction takes place by creating variables
that have a special namespace and a non-legal local name.Both full and partial
path reduction done.
Not done yet: Add back in the xsl:key caching that I ripped out (not a big
deal).Could be skipped, with some risk.
Not done yet: Implement isLast function.With the new stuff, the last()
function will be slower, so, since most cases are just checking to see if an
item is the last, I want to rewrite foo[last()] patterns to
foo[xalan:isLast()].Could be skipped, with some risk.
Davanum performance test result: 4x increase in performance.
Datapower performance suite results: very slight decrease in overall
performance.:-(
Smoke test results: All clear when run with Xerces 1.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath DOMHelper.java<br/><ref>Committer's log entry: </ref>The Node identity test in isNodeAfter()
(ie., node1 == node2) does not work in some cases,
so I added a routine to use DTMNodeProxy equals()
if that test fails.
This was required to support the new EXSLT
leading() and trailing() extension functions.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions ExtensionsTable.java
MethodResolver.java<br/><ref>Committer's log entry: </ref>1. Registered the EXSLT 'common', 'sets', and 'math'
namespaces ExtensionsTable.
2. To handle extension functions (e.g., some EXSLT
functions) that include a dash in their name, added
a routine in MethodResolver that maps abc_xyz to
abcXyz.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib package.html<br/><ref>Added: </ref>java/src/org/apache/xalan/lib ExsltCommon.java
ExsltMath.java ExsltSets.java<br/><ref>Committer's log entry: </ref>Preliminary set of EXSLT extension implementations.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib ExsltCommon.java
ExsltMath.java ExsltSets.java Extensions.java<br/><ref>Committer's log entry: </ref>Added Apache license.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/23/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyImport.java
ElemApplyTemplates.java ElemAttribute.java
ElemCallTemplate.java ElemChoose.java
ElemComment.java ElemCopy.java ElemCopyOf.java
ElemFallback.java ElemForEach.java ElemIf.java
ElemMessage.java ElemNumber.java ElemPI.java
ElemParam.java ElemTemplate.java
ElemTextLiteral.java ElemUse.java ElemValueOf.java
ElemVariable.java
java/src/org/apache/xalan/trace TraceListenerEx.java
TraceManager.java
java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/trace TraceListenerEx2.java<br/><ref>Committer's log entry: </ref>Implemented TraceListenerEx2, which extends TraceListenerEx to add
the traceEnd event.
Modified all existing templates that call fireTraceEvent to also call
fireTraceEndEvent at the appropriate time.
Note that there was a bad incompatibility between xsl:for-each and
xsl:if, which was called whether the test was successful or not.
With the current logic of xsl:for-each,
if the node-set is empty trace will not be called at all.
So I've changed xsl:if to match the xsl:for-each behavior.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Set the DEVELOPMENT number to 1, in prep for a developer's release.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemForEach.java<br/><ref>Committer's log entry: </ref>Make sure the current element is nulled out if debug mode so that
TransformerImpl#getElementCallstack works correctly.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Added fire trace events, which seemed to be missing.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added getElementCallstack() and getTemplateCallstack() methods, for support
of xsl debuggers.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Changed the release number to 4, since new functionality has been added.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyTemplates.java<br/><ref>Committer's log entry: </ref>Fix Frank Weiss bug, which has to do with the currentFrameBottom not being
restored properly when inside a with-param.
Fix Cristina bug where the traceEnd event was being passed the wrong template.
Fix problem with RTF pruning where push/popRTFContext wasn't being called
for xsl:apply-templates.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/trace TraceListenerEx2.java<br/><ref>Committer's log entry: </ref>Fix JavaDoc comment.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/trace PrintTraceListener.java<br/><ref>Committer's log entry: </ref>Handle TraceListenerEx2, even though we don't do anything with the extra
methods.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix problem with the SAXSourceLocator not getting the line number info.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SAXSourceLocator.java<br/><ref>Committer's log entry: </ref>Add a constructor that takes a SourceLocator.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemTemplateElement.java<br/><ref>Committer's log entry: </ref>Added getOwnerXSLTemplate method, a convenience function.
Implemented getLocalName().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java
ProcessorTemplateElem.java<br/><ref>Committer's log entry: </ref>Addressing http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6752.
Make the processor more robust against multiple failures during compilation.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XNull.java<br/><ref>Committer's log entry: </ref>Change derivation to XNodeSet.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathProcessorException.java
XPathException.java<br/><ref>Committer's log entry: </ref>Pass in the parent ExpressionNode, so that more context information can be
set. For the moment, I've added methods that are dependent on the
XSLT module, to set the source stylesheet node. I'll deal with this more when
I deal with the proper breakup and packaging of the XPath package, in a
few days.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XObject.java<br/><ref>Committer's log entry: </ref>Pass this as ExpressionNode to the XPathException object on error, which
helps us to establish context information for the exception object.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref>Add constructor that lets us set the owning ExpressionNode.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>For getCurrentElement, add some protection for access when there is no
current element.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemVariable.java
ElemWithParam.java<br/><ref>Committer's log entry: </ref>Pass the template to the XRTreeFrag constructor, so we can establish
better context.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathException.java<br/><ref>Committer's log entry: </ref>Set the "StylesheetNode" to the ElemTemplateElement instead of the
DOM backpointer.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Wrap runtime exception in TransformerException, so we'll get line number info
when NPE and the like.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref>Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7622.
1) Transform#1 creates an XRTreeFrag. This has a reference to a DTM, that in
turn is registered with a DTMManager. The DTM will need to be deleted from the
DTMManager when the XRTreeFrag is deleted. The XRTreeFrag also contains a
reference to the XPathContext.
2) Transform#1 completes. The XPathContext is reset... namely the a bunch of
structures are reset or rebuilt, including DTMManagerDefault#m_dtms. BUT, the
XRTreeFrags are still hanging around, waiting to unregister themselves.
3) Transform#2 starts humming along. It builds a XRTreeFrag and installs
that RTF DTM into DTMManagerDefault#m_dtms[2].
4) The finalizer thread wakes and decides to delete some of those old
XRTreeFrags from Transform#1.
5) The XRTreeFrag#finalize() method references through the XPathContext, and
deletes what it thinks is it's DTM from DTMManagerDefault#m_dtms[2] (via
getDTMIdentity(dtm)).
6) Transform#2 tries to reference DTMManagerDefault#m_dtms[2], finds it is
null, and chaos results.
...so, before calling xctxt.release, etc., check to make sure the DTM is
actually
entered in the current DTMManager.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/04/2002<br/><ref>Added: </ref>java/src/org/w3c/dom/xpath COPYRIGHT.html
XPathEvaluator.java XPathException.java
XPathExpression.java XPathNSResolver.java
XPathNamespace.java XPathResult.java<br/><ref>Committer's log entry: </ref>Add Document Object Model (DOM) Level 3 XPath Specification.
(Temp until it's added to xml-commons.)<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>On entry, set the document base URI in the DTM. Fixes bug reported
by Christine.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Fix inconsistancy in handling returned DTM IDs. (There's room for
debate about whether the current value -- expressed as the
NodeHandle for Node 0 in that DTM -- is the best possible
representation, but this is what we're currently using...)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>Clean-up of dumpDTM method, some code clarity changes.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Yeowch. Didn't mean to check in the XNI experiment.
Disabled, probably belongs on a branch. (And probably
needs to be rewritten fairly intensively, since the current
hook is something of a kluge!)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>(nitpicking)<br/><br/></li><li><ref>Committed by </ref>pauldick@apache.org<ref> on </ref>04/10/2002<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref TestDTM.java<br/><ref>Committer's log entry: </ref>Moved into Test directory<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/10/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Cleaner disabling of experimental code. Sorry 'bout that.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/10/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm DTM.java
java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
DTMDefaultBaseIterators.java
DTMDefaultBaseTraversers.java
ExpandedNameTable.java
java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Change extended types to be an integer and use a structure with a localname,
a namespace and a nodetype to represent the node extended type. We no longer
need to do the shifting left and right that we did for the previous extended
types.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/10/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/operations Variable.java
java/src/org/apache/xpath/patterns NodeTest.java<br/><ref>Committer's log entry: </ref>Change extended types to be an integer and use a structure with a localname,
a namespace and a nodetype to represent the node extended type. We no longer
need to do the shifting left and right that we did for the previous extended
types.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/10/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyTemplates.java
ElemForEach.java TemplateList.java
VarNameCollector.java<br/><ref>Committer's log entry: </ref>Change extended types to be an integer and use a structure with a localname,
a namespace and a nodetype to represent the node extended type. We no longer
need to do the shifting left and right that we did for the previous extended
types.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Added: </ref>java/src/org/apache/xml/dtm XSequence.java<br/><ref>Committer's log entry: </ref>Creating a new branch, Xalan3, for experimentation with XPath2 support.
Currently the changes are limited to org.apache.xml.dtm -- enabling
datatype support by tying into Xerces' low-level XNI layer, which
includes experimental support for post-schema-validation Infoset
(PSVI) information. Eventually we'll be patching other portions of
Xalan to actually retrieve and use this data.
The code I'm now checking in is NOT in final form. Known issues:
1) The logic in DTMManager which enables this behavior is
something of a kluge -- it only kicks in if you parse incrementally
from a StreamSource. The getDTM() method really wants to be
rationalized somewhat, which will make adding XNI easier.
2) The storage for datatype information currently adds another
column to the DTM table. We really want to switch to associating
the datatype with the Expanded Type table, and using some form
of sparse array to record local overrides.
3) The XNI code won't compile without Xerces2. We need to think
about whether we want to accept that as a dependency, or use
reflection to bind at run time rather than compile time.
Note that typed values are currently computed on demand, with the
DTM storing only the sting values. An argument could be made for
precomputing some or all of this information and instead generating
strings on demand (see the XPath2 Data Model spec for discussion
of that alternative). But that's a considerably larger change, and
would affect non-type-based users of XSLT as well since it would
present values in their normalized form rather than as entered; I'd
rather not go that route until we have a string-based alternative
fully functional.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref/xni2dtm DTM_XSequence.java
XNI2DTM.java<br/><ref>Committer's log entry: </ref>Creating a new branch, Xalan3, for experimentation with XPath2 support.
Currently the changes are limited to org.apache.xml.dtm -- enabling
datatype support by tying into Xerces' low-level XNI layer, which
includes experimental support for post-schema-validation Infoset
(PSVI) information. Eventually we'll be patching other portions of
Xalan to actually retrieve and use this data.
The code I'm now checking in is NOT in final form. Known issues:
1) The logic in DTMManager which enables this behavior is
something of a kluge -- it only kicks in if you parse incrementally
from a StreamSource. The getDTM() method really wants to be
rationalized somewhat, which will make adding XNI easier.
2) The storage for datatype information currently adds another
column to the DTM table. We really want to switch to associating
the datatype with the Expanded Type table, and using some form
of sparse array to record local overrides.
3) The XNI code won't compile without Xerces2. We need to think
about whether we want to accept that as a dependency, or use
reflection to bind at run time rather than compile time.
Note that typed values are currently computed on demand, with the
DTM storing only the sting values. An argument could be made for
precomputing some or all of this information and instead generating
strings on demand (see the XPath2 Data Model spec for discussion
of that alternative). But that's a considerably larger change, and
would affect non-type-based users of XSLT as well since it would
present values in their normalized form rather than as entered; I'd
rather not go that route until we have a string-based alternative
fully functional.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm Tag: Xalan3 DTM.java
java/src/org/apache/xml/dtm/ref Tag: Xalan3
DTMDefaultBase.java DTMDocumentImpl.java
DTMManagerDefault.java
IncrementalSAXSource_Xerces.java
java/src/org/apache/xml/dtm/ref/sax2dtm Tag: Xalan3
SAX2DTM.java<br/><ref>Committer's log entry: </ref>Creating a new branch, Xalan3, for experimentation with XPath2 support.
Currently the changes are limited to org.apache.xml.dtm -- enabling
datatype support by tying into Xerces' low-level XNI layer, which
includes experimental support for post-schema-validation Infoset
(PSVI) information. Eventually we'll be patching other portions of
Xalan to actually retrieve and use this data.
The code I'm now checking in is NOT in final form. Known issues:
1) The logic in DTMManager which enables this behavior is
something of a kluge -- it only kicks in if you parse incrementally
from a StreamSource. The getDTM() method really wants to be
rationalized somewhat, which will make adding XNI easier.
2) The storage for datatype information currently adds another
column to the DTM table. We really want to switch to associating
the datatype with the Expanded Type table, and using some form
of sparse array to record local overrides.
3) The XNI code won't compile without Xerces2. We need to think
about whether we want to accept that as a dependency, or use
reflection to bind at run time rather than compile time.
Note that typed values are currently computed on demand, with the
DTM storing only the sting values. An argument could be made for
precomputing some or all of this information and instead generating
strings on demand (see the XPath2 Data Model spec for discussion
of that alternative). But that's a considerably larger change, and
would affect non-type-based users of XSLT as well since it would
present values in their normalized form rather than as entered; I'd
rather not go that route until we have a string-based alternative
fully functional.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm XSequence.java
java/src/org/apache/xml/dtm/ref/xni2dtm DTM_XSequence.java
XNI2DTM.java<br/><ref>Committer's log entry: </ref>These should only be on the Xalan3 branch, not the main branch.
I _hope_ I can split this successfully...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Added: </ref>java/src/org/apache/xml/dtm Tag: Xalan3 XSequence.java<br/><ref>Committer's log entry: </ref>These should only be on the Xalan3 branch, not the main branch.
I _hope_ I can split this successfully...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3
DTM_XSequence.java XNI2DTM.java<br/><ref>Committer's log entry: </ref>These should only be on the Xalan3 branch, not the main branch.
I _hope_ I can split this successfully...<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 Tag:
jaxp-ri-1_2_0-fcs-branch DOM.java<br/><ref>Committer's log entry: </ref>New implementation of xsl:element<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Improve recovery if user's error handler insists on trying to
continue past a fatal error in the XPath syntax. Ideally, this
mechanism should be cleaned up and applied across the
entire XPath grammar. But for now, I'm addressing the one
specific complaint in a way that can be expanded later, and
doing so in a way that minimizes costs.
(In fact, one can argue that since this is a rare event, we
shouldn't be minimizing the cost quite so much, and should
be throwing new exception objects rather than reusing a
preconstructed one.)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Decided I _was_ overoptimizing.
Saving memory in tne non-error case trumps saving it in the error case.<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/templates Tag: XSLTC_DTM
ElemApplyTemplates.java
java/src/org/apache/xalan/xsltc Tag: XSLTC_DTM DOM.java
DOMCache.java NodeIterator.java Translet.java
java/src/org/apache/xalan/xsltc/cmdline Tag: XSLTC_DTM
Transform.java
java/src/org/apache/xalan/xsltc/compiler Tag: XSLTC_DTM
AbsolutePathPattern.java AncestorPattern.java
Constants.java CopyOf.java DocumentCall.java
ForEach.java IdKeyPattern.java Import.java Key.java
KeyCall.java LastCall.java Mode.java NameBase.java
NodeTest.java ParentLocationPath.java Parser.java
ProcessingInstructionPattern.java Step.java
StepPattern.java Stylesheet.java
SyntaxTreeNode.java UnionPathExpr.java XSLTC.java
java/src/org/apache/xalan/xsltc/compiler/util Tag: XSLTC_DTM
MethodGenerator.java NodeSetType.java
ResultTreeType.java
java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM
AbsoluteIterator.java AnyNodeCounter.java Axis.java
BitArray.java CurrentNodeListFilter.java
CurrentNodeListIterator.java DOMAdapter.java
DOMImpl.java DTDMonitor.java DocumentCache.java
DupFilterIterator.java FilterIterator.java
FilteredStepIterator.java KeyIndex.java
LoadDocument.java MatchingIterator.java
MultiDOM.java MultipleNodeCounter.java
NodeCounter.java NthIterator.java
ReverseIterator.java SingleNodeCounter.java
SingletonIterator.java SortingIterator.java
StepIterator.java UnionIterator.java
java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM
AbstractTranslet.java BasisLibrary.java
Constants.java DefaultRun.java SAXAdapter.java
java/src/org/apache/xalan/xsltc/trax Tag: XSLTC_DTM
TransformerHandlerImpl.java TransformerImpl.java
XSLTCSource.java
java/src/org/apache/xml/dtm Tag: XSLTC_DTM DTM.java
DTMAxisIterator.java DTMManager.java
java/src/org/apache/xml/dtm/ref Tag: XSLTC_DTM
DTMAxisIteratorBase.java DTMDefaultBase.java
DTMDefaultBaseIterators.java DTMNamedNodeMap.java
DTMNodeList.java DTMNodeProxy.java
ExpandedNameTable.java
java/src/org/apache/xml/dtm/ref/dom2dtm Tag: XSLTC_DTM
DOM2DTM.java
java/src/org/apache/xml/dtm/ref/sax2dtm Tag: XSLTC_DTM
SAX2DTM.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM
SAXImpl.java XSLTCDTMManager.java<br/><ref>Committer's log entry: </ref>Checking in a branch of xalan where XSLTC is using the DTM interface. This
branch is very unstable, please do not use yet!!!<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/xml/dtm/ref/dom2dtm Tag: XSLTC_DTM
DOM2DTM.java<br/><ref>Committer's log entry: </ref>Make getNumberOfNodes() public<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3
DTMManagerDefault.java
IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>XNI support now always used if available, with SAX as fallback.
Issues: DTMDefaultManager is still a bit more aware of Xerces2
than I want it to be. And the kluge of creating an Incremental Xerces
source and then running it non-incrementally, while producing
straightforward code, is a slightly ugly mixed metaphor.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3
DTMManagerDefault.java
java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3
XNI2DTM.java<br/><ref>Committer's log entry: </ref>Minor polishing, disabling debugging dump.
We currently pass most of Smoketest with the new XNI code enabled.
Some suspicious stuff in the API tests; my attempts to disentangle
the XNI and SAX support may not have been 100% succesful.<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/dom Tag: XSLTC_DTM
SAXImpl.java
java/src/org/apache/xml/dtm/ref Tag: XSLTC_DTM
DTMDefaultBaseIterators.java
java/src/org/apache/xpath/compiler Tag: XSLTC_DTM
XPathParser.java<br/><ref>Committer's log entry: </ref>Misc fixes<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Bug 4546 -- thanks to Wolfram Eisert for tracking this down and
proposing the patch.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3
DTMManagerDefault.java
IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>Easy enable/disable of XNI support for testing purposes,
and some error-reporting cleanup. We still fail a few API tests
in XNI mode, mostly related to error handling.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm Tag: Xalan3 DTM.java
java/src/org/apache/xml/dtm/ref Tag: Xalan3
DTMDefaultBase.java DTMDefaultBaseIterators.java
DTMDefaultBaseTraversers.java
ExpandedNameTable.java
java/src/org/apache/xml/dtm/ref/dom2dtm Tag: Xalan3
DOM2DTM.java
java/src/org/apache/xml/dtm/ref/sax2dtm Tag: Xalan3
SAX2DTM.java<br/><ref>Committer's log entry: </ref>Merge ExtendedType changes from main branch<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3
ExpandedNameTable.java<br/><ref>Committer's log entry: </ref>Oops. Typo.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3
ExpandedNameTable.java
IncrementalSAXSource_Xerces.java
java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3
XNI2DTM.java<br/><ref>Committer's log entry: </ref>Make sure current version checked in before I start experimenting with
alternatives.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3
XNI2DTM.java<br/><ref>Committer's log entry: </ref>It helps if we actually remember to store the schema info...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/03/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3
ExpandedNameTable.java
java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3
XNI2DTM.java<br/><ref>Committer's log entry: </ref>Xalan3 PSVI changes: Lighter-weight storage for PSVI datatype. Schema
type first seen is now stored as part of the ExpandedName. In many cases
all instances of the same node have the same type and this should suffice.
In some cases tthe actual type may be locally overridden (schema
derived types), and XNI2DTM will record an exception into a simple
"sparse vector".
Storage improved. DTM construction speed improved. Schema type
retrieval speed adversely impacted but -- one hopes -- not significantly.
Of course right now Xerces' schema-validator burns so many cycles
that our own efficiency or lack thereof is completely moot... but we
assume they'll be improving that over time.<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Remove the duplicated ;;
( which broke the JDK1.4 compilation which in turn broke all the gump
deps ).<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes PredicatedNodeTest.java<br/><ref>Committer's log entry: </ref>Bugzilla 7159 -- Just an access-permission change, for improved
toolability.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToText.java<br/><ref>Committer's log entry: </ref>Bugzilla 8358 -- bad method signature. I've created a new method
with the correct signature. The old one may or may not be entirely
superfluous, but I don't want to muck with it right now.<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.3 and 2.3.1">
<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>01/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref>Fixed second connection problem<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>01/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Update for new DTM Model<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>01/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql DTMDocument.java<br/><ref>Committer's log entry: </ref>Update for new DTM Model<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>01/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java
DTMDocument.java<br/><ref>Committer's log entry: </ref>Removed Debug<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Whups. There's a possible reentrancy problem when data
is being serialized from an FSB, thru Sax, back into a new
chunk of the same FSB; if the append causes a rechunking,
the serialize loop may break.
TEMPORARY PATCH; permanant fix to follow. See comments.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>&lt;blush&gt;Wrong side of the fencepost...&lt;/blush&gt;<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/23/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemTemplate.java
java/src/org/apache/xalan/transformer TransformerImpl.java
java/src/org/apache/xml/dtm DTMManager.java
java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
DTMManagerDefault.java
java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
java/src/org/apache/xpath XPathContext.java<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2RTFDTM.java<br/><ref>Committer's log entry: </ref>These changes allow us to store multiple Result Tree Fragment (RTF)
document trees (used when an XSLT variable contains a constructed
set of nodes) into a single DTM object rather than using a new DTM
for each RTF. They also permit "tail-pruning" this shared DTM to
reuse that space as the variables go out of scope.
The result is a slight performance improvement, and a much more
significant improvement in storage efficiency. Stylesheets which
use RTFs heavily should now run in much less memory; in
one testcase, our "working set" heap size (storage actually in
use, not counting objects released but not yet GC'd) dropped
from 12-15MB down to 3-6MB, and heap churn (how quickly
storage was being allocated and discarded) also reduced
substantially.
The code changes needed to support this new scheme are
surprisingly small. And I believe it may be possible to reduce them
further, if we're willing to merge the SAX2RTFDTM subclass back
into its SAX2DTM superclass. I believe that could be done with
very little adverse impact on other uses of SAX2DTM... but I felt it
was safer to defer that decision for now.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>01/25/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Bug 5982 and 6022. The variable stack was not being cleared accross
transforms so that when the transformer is reused, we were using nodesets from
the previous transform which were using a different DTM. Note that we want keep
any variables that have been set externally by the user (using
Transformer.setParameter()).<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>01/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/res XPATHErrorResources.java<br/><ref>Committer's log entry: </ref>bug 4762: Fixed the duplicate error message in XPATH.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Bugzilla 4054: Retain previously set output properties when adding new ones.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>01/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Bug 5872. We were using a constructor of TranformerException without the
locator information. Changed to code to use a locator if info is available.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>01/30/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib NodeInfo.java<br/><ref>Committer's log entry: </ref>Changed "system id" to "public identifier" in javadoc
comments for publicId() methods.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/30/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Bugzilla 2617, part 1: Construct the data structures and access them
correctly.
Ignore too-late-to-be-safe requests to enable this feature.
This doesn't resolve how to rewrite higher-level code so it makes the
request early enough to be useful.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>01/30/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates StylesheetComposed.java
StylesheetRoot.java TemplateList.java
java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Bug 4987: Changed Apply-imports logic to only apply imports to stylesheets
that are direct imports. The logic for includes has not changed, we will
apply-imports to any stylesheet that is imported as a result of an inclusion.
Note: had to change the order when includes and imports are recomposed!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/31/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib NodeInfo.java
java/src/org/apache/xalan/processor
TransformerFactoryImpl.java
java/src/org/apache/xalan/transformer TransformerImpl.java
java/src/org/apache/xalan/xslt Process.java
java/src/org/apache/xml/dtm/ref DTMManagerDefault.java
java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
SAX2RTFDTM.java
java/src/org/apache/xml/utils DefaultErrorHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 2617: Recreated missing code, changed controls to ensure
that this mode gets set early enough to be useful and can't be broken
by being turned on and off during execution.
NOTE: Current implementation relies on a global static flag in
TransformerFactoryImpl. We need to rearchitect our APIs slightly
so configuration hints of this kind can be passed down from top-level
objects to the back-end code more elegantly. Revisit in future
releases.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>01/31/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyTemplates.java<br/><ref>Committer's log entry: </ref>Bug 5505: Need to resolve params before we do anything else, so move code
that does that above the code that sets up the different node stacks.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/01/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Bugzilla 6182. Darned fence posts; always either too many or not enough...
&lt;grin/&gt;<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/01/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java
java/src/org/apache/xpath VariableStack.java
XPathContext.java<br/><ref>Committer's log entry: </ref>Bug 6156: Change variable stack reset to just get a new object. Also make
sure that the stack of result tree fragments is also cleaned ot during a reset.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XBoolean.java
XNodeSet.java XNumber.java XObject.java
XRTreeFrag.java XString.java
java/src/org/apache/xpath/operations Equals.java<br/><ref>Committer's log entry: </ref>Bug 5851: Make sure that the equal operation is evaluated by order of
precedence of the operands, as defined by XSLT.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 5346: Prevent mantissa overflow when converting string to double.
There is still a possible edge-case, since I detect overflow on decimal digit
bounds rather than on bit bounds; I'm not sure what the IEEE spec calls for.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 5346: My first-cut messed up fractional values. This one is
somewhat better.
There's an open issue w/r/t numbers with many digits after the
decimal point, regarding limits on how large a power of 10 can
be contained in a long. In that one case I'm falling back on successive
divisions (though as few as possible), and some loss of precision
may result.
Need to find a better algorithm...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 5346: Oops. Forgot to take out a debugging printout.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 5346: Responding to the re-open; more direct and reliable
edge-case test. This does lose a few low bits on many-digit values,
so it is not the best long-term solution.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bug 5346: One more (last, I hope) edge case.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bug 5346: Gaaah. This regressions was just plain foolish flailing. "Less
haste, more speed."<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java<br/><ref>Committer's log entry: </ref>Bug 5857: Reusing objects that reuse objects has threading concerns.
Three possible solutions: Don't reuse, synchronize reuse, or rewrite
to avoid using the objects in the first place. See comments in code.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java
IncrementalSAXSource.java
IncrementalSAXSource_Filter.java
IncrementalSAXSource_Xerces.java
java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Bug 4244: Incremental wasn't setting up correctly for the
DTDHandler stream. It never occurred to me that XSLT would
ever have a use for unparsed entities...<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java
java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Whoops! Never updated release number to 2.3 in these version files!<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>updated version number to 2.3<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/07/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath SourceTreeManager.java<br/><ref>Committer's log entry: </ref>Bug 6304: Remove print stacktrace<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/08/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions
XSLProcessorContext.java
java/src/org/apache/xalan/lib/sql DTMDocument.java
java/src/org/apache/xalan/templates ElemForEach.java
FuncDocument.java FuncKey.java
java/src/org/apache/xalan/transformer KeyIterator.java
TransformerHandlerImpl.java TransformerImpl.java
java/src/org/apache/xml/dtm DTM.java
java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
DTMDefaultBaseIterators.java DTMDocumentImpl.java
DTMNodeProxy.java
java/src/org/apache/xml/dtm/ref/sax2dtm SAX2RTFDTM.java
java/src/org/apache/xpath/axes IteratorPool.java<br/><ref>Committer's log entry: </ref>Bugzilla 6314: Additional support changes for multiple RTFs per DTM.
Many files affected, but the basic change is that dtm.getDocument()
with no arguments is meaningless when there are multiple docs in
a single DTM object; instead, folks should use the new getRootNode()
method or getOwnerDocument(), both of which take a node as input
and thus more clearly identify which document we're referring to.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/12/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Bugzilla 6328, whitespace normalization. Late fix, but it was a genuine
regresion.
This code could still do with a rationalization pass; I think it can be made
slightly
a touch faster.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/14/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Update various .jar sizes for recent builds and 2.3.0<br/><br/></li></ul>
</s2>
<s2 title="Changes for &xslt4j; 2.2">
<p>Following a series of Developer releases, &xslt4j; 2.2 represents a stable, production-quality release with
the <link idref="dtm">DTM (Document Table Model)</link>. &xslt4j; uses the DTM to represent the XML source document
to be transformed. Please send your feedback to the <human-resource-ref idref="xalandev"/>.</p>
<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>updated version number to 2.2.D14<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>updated version number to 2.2.D14<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>Bugzilla 5242: Special-case initializing iteration from Document node --
one-liner wasn't safe.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/04/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc ProcessorVersion.java<br/><ref>Committer's log entry: </ref>new class to version xsltc software<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Additional debugging printouts, added while analysing Bugzilla 5272 but
generally useful.
No functional change, and should be optimized away when DEBUG is set false.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Removed the "magic" default which causes us to switch into incremental
processing mode whenever we were writing to Standard Output (ie,
-OUT had not been specified). If you want incremental processing,
please use the (relatively new) -INCREMENTAL switch to explicitly
request it.
(The automatic switchover was causing some confusion
when testing against Xerces2. )<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Efficiency improvement to the new DTM "overflow addressing" scheme.
In some tests, this one alteration shaved about 30% off the runtime.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath CachedXPathAPI.java
XPathContext.java<br/><ref>Committer's log entry: </ref>Changes requested by the xml-security group:
1) Provide something a constructor that allows sharing the
XPathContext object between CachedXPathAPI objects
2) Add getXPathContext(). I'm just a bit nervious about this
method, but they assure us they need it and the field isn't
private. We may need to discus this one further.
3) Make the XPathContext's m_dtmManager member
protected rather than private, so their subclass can get to it.
We may want to work with them to understand why they're
accessing this directly and whether there's a better solution.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref
IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>Bugzilla5272 patch suggested by Sandy Gao.
This startup sequence for incremental SAX parsing under Xerces2
really is excessively complicated and excessively fragile as a result.
Not to mention being underdocumented. We really need to push the
Xerces folks to provide a simple incremental SAX API, similar to that
in the Xerces1incremental prototype.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Part 1 of 2: Reducing initial space requirements of a DTM. This may
involve a slight performance hit, but should help stylesheets which
generate a lot of Result Tree Fragment. Part 2 of this change will be
checked in after I resolve a bug in whitespace normalization.
Note that a better long-term answer will be to reduce the number of
DTMs tied up as RTFs, by doing a better job of discarding or reusing
them when we're done with them. There are some issues regarding
exactly what their lifetimes will be when assigned to variables,
especially when one variable is used to build another, which we
need to address before we can make that change.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Part 2a of 2: Reducing initial space requirements of a DTM. This may
involve a slight performance hit in some circumstances due to
smaller and more complex subdivision of FastStringBuffers,, but
should help stylesheets which generate a lot of Result Tree
Fragments.
Note that a better long-term answer will be to reduce the number of
DTMs tied up as RTFs<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Part 2b of 2: Reducing initial space requirements of a DTM. This may
involve a slight performance hit in some circumstances due to
smaller and more complex subdivision of FastStringBuffers,, but
should help stylesheets which generate a lot of Result Tree
Fragments.
(Leveraging FSB's features more strongly exposed a bug in
whitespace normalization, which I've fixed.)
Note that a better long-term answer will be to reduce the number of
DTMs tied up as RTFs<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils AttList.java<br/><ref>Committer's log entry: </ref>Two goofs: Forgetting to use the namespace-aware DOM call, and
forgetting to check for a returned null before dereferencing.
How long has _that_ been lurking in the undergrowth?!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>Finally following up on an old hunch, I switched from /% addressing
to shift-and-mask. Big improvement!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Performance improvements; Some changes to better leverage the
DOM's existing code, others to avoid some call-and-return overhead.
Combined with other recent changes, we've now got a significant
speedup over D14 on some tests. We may want to drop the scheduled
December 17th 2.2 release and instead bring 2.2 out on 1/14 (which is
when we'd planned 2.3) with performance gains and Xerces2 support.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
DOM2DTMdefaultNamespaceDeclarationNode.java<br/><ref>Committer's log entry: </ref>A few more subtle performance tweaks, and an actual bug.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>12/20/2001<br/><ref>Added: </ref>java/src/org/apache/xml/utils ListingErrorHandler.java<br/><ref>Committer's log entry: </ref>Alternate ErrorHandler/ErrorListener implementation that allows
configuration and prints errors out similarly to javac<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils AttList.java<br/><ref>Committer's log entry: </ref>Bugzilla 5496; previously unimplemented functions.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/03/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils DOMBuilder.java<br/><ref>Committer's log entry: </ref>[Bug 5528] DOMBuilder mixed DOM Level 1 and 2<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>01/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>updated release number to 2.2.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>01/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>updated release number to 2.2.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>01/13/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla#5701: incorrect resolution of certain kinds of absolute file:
URIs
Note: This definitely seems to be more correct in terms of resolving URIs
vis-a-vis RFC 2396 than it used to be. The only user case which might now
fail where it used to work is a user that supplies an incorrect
'file:subdir/blah' that they intended to be a relative URI (technically
it is an absolute URI no matter which way you look at it); this might
lead to a change in behavior in this particular case, although the behavior
before was incorrect.
The major risk factor could be if there are other parts of Xalan code that
rely
on the previously incorrect behavior, but I can't find any, and the whole test
suite runs and passes normally.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>01/14/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla#4678 and Bugzilla#5533: call setSystemId on StreamResult
in Process command line class; ignored if using System.out
This should enable the redirect extension to properly put it's redirected
output in a location relative to the output if possible; previously it
always put redirected output relative to the input since it
never had the systemId of where the output should be<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
</s2>
<s2 title="Changes for &xslt4j; 2.2.D14">
<p>&xslt4j; 2.2.D14 is intended to be the final release in the current series of Developer releases incorporating
the <link idref="dtm">DTM</link>. We believe Xalan with the DTM has reached a level of stability that warrants a
standard "User" release. Accordingly, we plan to release &xslt4j; 2.2 soon.</p>
<p>&xslt4j; 2.2.D14 also includes a new <jump href="apidocs/org/apache/xpath/CachedXPathAPI.html">CachedXPathAPI</jump> class that
provides an enhanced alternative to the XPath convenience methods in <jump href="apidocs/org/apache/xpath/XPathAPI.html">XPathAPI</jump>.</p>
<p>Beginning with 2.2.D12, xalan.jar contains just the &xslt4j; implementation. The source files for the SAX level 2, DOM 2,
and JAXP 1.1 interfaces are pulled from the xml-commons repository (<resource-ref idref="xmlapirepository"/>), and are built as
xml-apis.jar. These interfaces are shared by a number of tools, so placing them in their own jar simplifies coordination and reduces
the risk of duplication. <em>To run &xslt4j;, you must add xml-apis.jar to your classpath.</em> See <link idref="getstarted"
anchor="classpath">Setting up the system class path</link>.</p>
<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Reorder slightly and add test to not synthesize xmlns:xsl declaration
if one was already present on the DOM's root element.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeList.java<br/><ref>Committer's log entry: </ref>Bugzilla4842, secondary complaint (glitch in getChildren)... &lt;blush/&gt;<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Bugzilla4842: Expand the proxy layer to support more of the DOM API.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Namespace decls are themselves not namespace-aware, in the
Namespaces 1.0 REC. Use the qname.Grumble.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>"Tupograflica eror". Sorry 'bout that!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Sigh. The XML Namespaces spec it itself imperfectly
namespace-aware. While there's a plan to fix that, it's
safer for now if we test the QName when looking for
explicit instances of xmlns:xml in the source document.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql DTMDocument.java
java/src/org/apache/xalan/templates ElemApplyTemplates.java
java/src/org/apache/xalan/xslt Process.java
java/src/org/apache/xml/dtm DTMManager.java
java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
DTMDefaultBaseIterators.java
DTMDefaultBaseTraversers.java
DTMManagerDefault.java
java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Another fairly large change in the DTM architexture (sic)....
We've changed DTM's internal behavior so it can now assign
more than one "DTM ID" to a single document, cascading from
one ID to the next. This means that the size of a single DTM is
no longer limited by the bits available in the low part of the DTM
Node Handle. This means we can support larger documents.
That has allowed us to reduce the number of bits reserved
for that portion of the node addresing scheme... which in turn has
increased the number of bits available for use in the DTM ID. This
means we can now have many more documents active at once.
The trade-off is that huge documents will require more than one
DTM ID and thus cut into the number of documents, But since we
now have 16 bits of DTM ID space, I don't think we're really likely
to run into both limits at once. And the changes are essentially
limited to the DTM layer; the rest of Xalan should be unaffected.
In the process of making this change, I've also encapsulated the
conversions between DTM API node handles and DTMDefaultBase's
internal node indices. That should be safer all 'round.
NOTE: One side effect of this change is that the strings
generated by the key() function have changed again.
I've updated the IDKEY testcases to reflect this.
Smoketest is currently passing everything except
axes109 and the API's TraceListenerTest . But I believe
those failures are due to a glitch in my test directory
since they also happen when I run the D13 code there,
whereas D13 runs fine in the directory where I built it.
I'm going to assume that "same result is no new bug"
for now.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref
DTMDefaultBaseTraversers.java<br/><ref>Committer's log entry: </ref>Found the glitch causing the axes108 bug -- exptype/type.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Added option to set the recursion limit (which we're having trouble with
right now; the code that supported it seems to be disabled...) and
selfdoc for this and a few other newer options.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Catch exceptions from the output content handler in flush(), and throw a
SAXParseException with line numbers filled in.
If we don't do this, and the exception is a RuntimeException,
good line numbers of where the exception occured in the stylesheet
won't get reported. I tried just catching RuntimeException, but
for whatever reason it didn't seem to catch.
Fix for Christina's DOMException error problem.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm
DOM2DTMdefaultNamespaceDeclarationNode.java<br/><ref>Committer's log entry: </ref>Moved default namespace declaration node object out of its "inner
class" status, since I think I want to perform an instanceof test on it.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
DTMManagerDefault.java
java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
java/src/org/apache/xpath XPathAPI.java<br/><ref>Added: </ref>java/src/org/apache/xpath CachedXPathAPI.java<br/><ref>Committer's log entry: </ref>Bugzilla 4336 -- fix for presenting symptom (since the implicit
xml: declaration pseudo-DOM node is resynthesized in each
DTM, find the _corresponding_ node), and a first draft of
CachedXPathAPI which should be a fix for the larger symptom
(XPathAPI creates a new DTM every time, which is potentially
very ugly for applications that want to run XPaths repeatedly
on a single document).
Also caught and fixed another node-handle/node-identity confusion.
The fact that DTM.get...() allowed us to be sloppy about that
distinction in the past means there may still be a few others lurking
in the code. Ye gods, I _wish_ Java had typedef!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Minor tweaks<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Redirect.java<br/><ref>Committer's log entry: </ref>Patch to enable optional 'append' attribute on redirect:open and
redirect:write elements to append to file; note that behavior may
not be what you expect when using xml output, since the xml decl
will currently be output *each* time you newly write to the file
Submitted by: jpvdm@iafrica.com<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Implement getDocumentElement. If the DTM doesn't represent a
wellformed Document, this call is undefined and throws an exception...
which isn't DOMlike but that's a non-DOMlike situation.<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
</s2>
<s2 title="Changes for &xslt4j; 2.2.D12 and 2.2.D13">
<p>&xslt4j; 2.2.D13 is intended to be the final release in the current series of Developer releases incorporating
the <link idref="dtm">DTM</link>. We believe Xalan with the DTM has reached a level of stability that warrants a
standard "User" release. Accordingly, we plan to release &xslt4j; 2.2 soon.</p>
<p>Beginning with this release, xalan.jar contains just the &xslt4j; implementation. The source files for the SAX level 2, DOM 2,
and JAXP 1.1 interfaces are pulled from the xml-commons repository (<resource-ref idref="xmlapirepository"/>), and are built as
xml-apis.jar. These interfaces are shared by a number of tools, so placing them in their own jar simplifies coordination and reduces
the risk of duplication. <em>To run &xslt4j;, you must add xml-apis.jar to your classpath.</em> See <link idref="getstarted"
anchor="classpath">Setting up the system class path</link>.</p>
<p>Beginning with this release, we are placing two distribution files in the <resource-ref idref="xslt4j-distdir"/>: a binary
distribution file, which includes everything needed to run &xslt4j; and build applications, and a source distribution. For
more information, see <link idref="getstarted" anchor="download">Downloading what you need</link>.</p>
<p>This release also includes <link idref="samples" anchor="validatexmlinput">ValidateXMLInput</link>, a sample that illustrates
how you can verify that the XML input you are transforming adheres to its document type. It is in the samples/validate subdirectory
along with a Validate utility that you can use to validate XML files without performing a transformation.</p>
<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Bugzilla3995: Removed "final" keywords. That doesn't by itself
provide the requested enhancement, but it makes prototyping one
a bit easier.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 3384. See comments in the toDouble method; I suspect this may be
wasted micro-optimization.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Is " 12 34 . 56 78 " really considered acceptable?
Or should whitespace within the value be treated as NAN?<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Updated build number to 2.2.D12.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Updated build number to 2.2.D12.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemLiteralResult.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla1133, LRE21: xsl:extension-element-prefixes should be
considered an exclusion<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemLiteralResult.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla 3464. Exposes errors in conformance tests namespace93 and 94.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java
HTMLEntities.res XMLEntities.res<br/><ref>Committer's log entry: </ref>Fix Bugzilla#4000, force reading of *Entites.res to be in UTF-8; added
comments
PR: Bugzilla#4000<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Avoid overgenerality of isDigits
Combine most character tests into a single switch for performance
Reject values with embedded (as opposed to leading/trailing) whitespace.
Note that this is "more correct:" than the old solution of calling Java's
toDouble, since (I think) XSLT doesn't officially accept leading + or
scientific notation. If folks want to accept those notations, an
extension function specifically for that purpose seems the
simplest/safest/most-portable solution.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Gaaah. Typo.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java
java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Added: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>Added new org.apache.xalan.Version class for better versioning info;
Deprecated org.apache.xalan.processor.XSLProcessorVersion;
Updated EnvironmentCheck with this info<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>Be careful with parentheses when using ?: operator.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java
IncrementalSAXSource_Xerces.java<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref CoroutineSAXParser.java
CoroutineSAXParser_Xerces.java<br/><ref>Committer's log entry: </ref>CoroutineParser API was replaced by IncrementalSAXSource; dropping obsolete
code.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref CoroutineSAXFilterTest.java<br/><ref>Committer's log entry: </ref>CoroutineParser API was replaced by IncrementalSAXSource; dropping obsolete
code.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>Whups; sloppy: Actually, problem was that the latter two arguments to ?:
must agree in datatype. Dropped in a quick-and-dirty int-to-string hint.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Preliminary Xerces-2 support. Doesn't leverage Xerces-2 incremental features
yet, but should at least compile and run under the new parser without
breaking support for the old one. Still working on improving this.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyTemplates.java
ElemCallTemplate.java<br/><ref>Committer's log entry: </ref>Bugzilla 4218: Make sure that the stack frame gets restored to the frame that
was previously set. Just calling unlink() may restore to the wrong frame, and
get us out of synch.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/xml/sax/helpers ParserAdapter.java<br/><ref>Committer's log entry: </ref>Java 1.1.8 back-compatability requires not using Java 1.2 collection calls.
(Still waiting for community consensus before abandoning 1.1)<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Bugzilla 4218: Make sure that the stack frame gets restored to the frame that
was previously set. Just calling unlink() may restore to the wrong frame, and
get us out of synch.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref
IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>In Xerces2, SAXParser no longer seems to inherit from
XMLReader; explicit casts needed to work around that.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>10/23/2001<br/><ref>Removed: </ref>java/src/javax/xml/parsers SAXParserFactory.java
SAXParser.java ParserConfigurationException.java
package.html FactoryFinder.java
FactoryConfigurationError.java
DocumentBuilderFactory.java DocumentBuilder.java<br/><ref>Committer's log entry: </ref>Remove javax.xml.parsers package from xalan sources since we no longer ship
with these files<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java<br/><ref>Committer's log entry: </ref>Microsoft VJ++ workaround. Should never arise in any reasonably
standards-compliant Java environment, but VJ++ isn't...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java<br/><ref>Committer's log entry: </ref>Additional "big scary" docs for Microsoft VJ++ workaround.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Added fix for bug reported by Myriam for match="//x/a" patterns. On the
second "/" on "//", the parser wasn't swallowing the token, which caused
the "x" pattern to be ancestor instead of parent. If you don't have this fix,
it will cause 'a' to be matched when it has any ancestor that is 'x'.
This fix should be localized to only match patterns. The reason this probably
wasn't reported before, is because "//" at the head of a match pattern is
pretty useless, "x/a" being equivelent.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>10/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>By longstanding request, don't URL-escape spaces. This is consistent with the
specification, and the opinion of the right thing to do by several people on
the
XSL working group, including Mike Kay, and by the LotusXSLTeam.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTElementDef.java<br/><ref>Committer's log entry: </ref>Improved safety net: When running with Xerces2, the "uri" field may be null.
(Also reordered tests to encourage optimization of code.)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Add command-line switches for the options introduced at same time as DTM, to
make testing those features easier.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetPIHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4575: Add the EOL character to the list of token delimiters.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java
IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>Leverage Xerces-2 incremental parsing feature, when possible,
Making this compile _and_ run under both the old and new versions of
the parser involves a lot of reflection... especially since Xerces-2
no longer provides a way to directly request incremental delivery
of SAX events; we now have to assemble that concept ourselves,
using XNI components.
Note that if you pass an existing Xerces-2 SAXParser into the
IncrementalSAXSource_Xerces wrapper, there is currently no way
for us to access its incremental controls. In that case, we are
forced to fall back on the _Filter solution and coroutines.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 4396: Defaulting to the super hashCode(). This causes us to create
a string, but at this point this only seems to get called in key processing.
Maybe we can live with it?<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Use appropriate context class loader as done in JAXP's FactoryFinder;
Added various new jars; added checkAntVersion()<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize HTMLEntities.res<br/><ref>Committer's log entry: </ref>Commented out mainly greek entities that Netscape seems not to handle.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize Encodings.java
SerializerToHTML.java SerializerToText.java
SerializerToXML.java<br/><ref>Committer's log entry: </ref>Progress on Bugzilla Bug 1639 : Xalan escaping characters for ISO encodings
other than ISO-8859-1.
The problem is that you can't tell from the Java Writers if they can encode
a character, and you can't tell which character they are going to encode to.
So...
Do a one-time-only reflection to see if a sun.io.CharToByteConverter for the
specific encoding is available. I'm hoping this will work for most or all
platforms... but only some extensive testing will tell for sure. If the
CharToByteConverter is not available, it falls back to the old behavior.
If it is available, use the canConvert method to see if the UTF-16 character
can be encoded. If it can be, just send it to the writer, otherwise escape
it.
This doesn't need to be done for &lt; 128, so I'm suspecting the performance
hit won't be too bad.
The alternative is to create lookups for all the encodings that tell which
blocks of characters can't be encoded. Too much work for me this
weekend, though it remains a possibility. I want to try the use of
CharToByteConverter.canConvert first.
One problem I've encountered is that CharToByteConverter.canConvert
returns true for (utf-16 code points) 127-159. And so they go unescaped.
How bad of a problem is this? This seems like a bug in the Java
CharToByteConverter for ISO-8859-7.
It remains to be seen if this problem exists with other encodings, or if this
is
the best approach.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>Check for control characters for canConvert, and return false if it is a
control
character, so that it will be escaped.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Don't set the ErrorHandler if it is already set.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Minor fix to JavaDoc for setRecursionLimit.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/operations Operation.java
UnaryOperation.java<br/><ref>Committer's log entry: </ref>Bugzilla 4679: Accessors for left and right operands<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>Do not escape the percent '%' character anymore.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes LocPathIterator.java
OneStepIterator.java PredicatedNodeTest.java<br/><ref>Committer's log entry: </ref>Bugzilla 4638: When we are in a subcontext we need to clip off the predicate
when evaluating. If not, we end up with the wrong nodeset. This also relates to
test position68.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer
ClonerToResultTree.java ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4607; allow explicitly cloning namespace nodes rather than
throwing exception.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/07/2001<br/><ref>Removed: </ref>java/src/META-INF/services
javax.xml.parsers.SAXParserFactory
javax.xml.parsers.DocumentBuilderFactory<br/><ref>Committer's log entry: </ref>Remove services/javax.xml.parsers.* references; we assume parsers have their
own<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/07/2001<br/><ref>Removed: </ref>java/src/javax/xml/transform ErrorListener.java
FactoryFinder.java OutputKeys.java Result.java
Source.java SourceLocator.java Templates.java
Transformer.java
TransformerConfigurationException.java
TransformerException.java TransformerFactory.java
TransformerFactoryConfigurationError.java
URIResolver.java overview.html package.html
java/src/javax/xml/transform/dom DOMLocator.java
DOMResult.java DOMSource.java package.html
java/src/javax/xml/transform/sax SAXResult.java
SAXSource.java SAXTransformerFactory.java
TemplatesHandler.java TransformerHandler.java
package.html
java/src/javax/xml/transform/stream StreamResult.java
StreamSource.java package.html
java/src/org/w3c/dom Attr.java CDATASection.java
CharacterData.java Comment.java DOMException.java
DOMImplementation.java Document.java
DocumentFragment.java DocumentType.java
Element.java Entity.java EntityReference.java
NamedNodeMap.java Node.java NodeList.java
Notation.java ProcessingInstruction.java Text.java
package.html
java/src/org/w3c/dom/ranges DocumentRange.java Range.java
RangeException.java package.html
java/src/org/w3c/dom/traversal DocumentTraversal.java
NodeFilter.java NodeIterator.java TreeWalker.java
package.html
java/src/org/xml/sax AttributeList.java Attributes.java
ContentHandler.java DTDHandler.java
DocumentHandler.java EntityResolver.java
ErrorHandler.java HandlerBase.java InputSource.java
Locator.java Parser.java SAXException.java
SAXNotRecognizedException.java
SAXNotSupportedException.java
SAXParseException.java XMLFilter.java
XMLReader.java package.html
java/src/org/xml/sax/ext DeclHandler.java
LexicalHandler.java package.html
java/src/org/xml/sax/helpers AttributeListImpl.java
AttributesImpl.java DefaultHandler.java
LocatorImpl.java NamespaceSupport.java
ParserAdapter.java ParserFactory.java
XMLFilterImpl.java XMLReaderAdapter.java
XMLReaderFactory.java package.html<br/><ref>Committer's log entry: </ref>Use a condensed copy of xml-commons sources instead of individual sources;
remove xalan-specific copies of commons files<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java
java/src/org/apache/xalan/templates ElemNumber.java
java/src/org/apache/xml/utils/res XResources_cy.java
XResources_el.java XResources_ja_JP_A.java
XResources_ja_JP_HA.java XResources_ja_JP_HI.java
XResources_ja_JP_I.java XResources_zh_CN.java
XResources_zh_TW.java<br/><ref>Committer's log entry: </ref>Bugzilla 4601: Change ElemNumber to use a long integer for the value of the
number. This will allow us to format bigger numbers. As far as japanese
multipliers, we decided to document as a xalan limitation the fact that the
last 2 japanese multipliers will not be supported. If anyone has a strong and
valid user case for this, we will reconsider. For now, we could not justify the
expense of moving to BigInteger to support these multipliers.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Bugzilla 4735: We should at least report an error when we overflow DTM
addressing...<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorInclude.java<br/><ref>Committer's log entry: </ref>Bugzilla 4355: Make sure that when finding out if a stylesheet imports
itself, we use the resolved href.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath NodeSetDTM.java<br/><ref>Committer's log entry: </ref>Bugzilla 4158: Make sure we get the current, not the node pointed to by
m_next, which has been already incremented.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4344: discard attrs which don't have an element to belong to<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4344: more efficient.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Reorder slightly and add test to not synthesize xmlns:xsl declaration
if one was already present on the DOM's root element.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
</s2>
<s2 title="Changes for &xslt4j; 2.2.D11">
<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>09/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Removed the code which precalculated node levels
(depth in tree). This has been IFed out for some time, but
was retained in case we wanted to go back to it. Since it
seems we're happy with this choice, zapping it entirely
saves a few more cycles.
It's simple enough to recreate if we change our minds later.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Minor cleanup and updates in preparation for extension function;