blob: f47793ca6373e1a1cf3318279b1e772082530321 [file] [log] [blame]
<?xml version="1.0"?>
<Commits>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/dom DOMImpl.java</Modified>
<Log>Integrated fix for problem with count() function for certain iterators.
PR: Bugzilla 1407
Obtained from: n/a
Submitted by: John Howard &lt;johnh@schemasoft.com&gt;
Reviewed by: Morten Jorgensen &lt;morten@xml.apache.org></Log>
</Commit>
<Commit category="core">
<Who>dleslie@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/res XSLTInfo.properties</Modified>
<Log>2.2.D8</Log>
</Commit>
<Commit category="core">
<Who>dleslie@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/processor XSLProcessorVersion.java</Modified>
<Log>2.2.D8</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/transformer NodeSortKey.java</Modified>
<Log>Submitted fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2851.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xslt Process.java</Modified>
<Log>Just added some stuff to diagnose bugs for flavor th.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/axes WalkerFactory.java
java/src/org/apache/xpath/compiler Compiler.java
java/src/org/apache/xpath/patterns
ContextMatchStepPattern.java StepPattern.java</Modified>
<Log>These are changes submitted (offline) by Mukund Raghavachari/Watson/IBM@IBMUS.
This fixes a bug with match="chapter//footnote[1]" patterns.
The main change here is minor to remove the automatic attachment of parent::*
to simple step patterns.
He has re-implemented executePredicates to be
more efficient. Given a pattern such as row[6], it
does not iterate over the entire axis until it reaches
the node to see if it is the sixth node. Rather,
starting from the current node, it works backwards
(preceding siblings) until it either runs out of nodes
or finds more than six nodes that match the
predicate [I can explain it better if desired].
This optimization improves performance slightly
overall. It helps decoy and patterns most (by
about 10%).
The other optimization that I implemented was the
following. For a pattern foo[][3][][4] ..., where more
than one predicate is a number (position check),
in checking the predicate [4], the fact that the
current node has passed foo[][3] implies that it is
the only node that is the third node among its
siblings that passes foo[]. Therefore, any
subsequent position checks can be true if and
only if the position is [1]. This optimization is not
used by the xsltmark benchmarks and so does
not offer any performance benefits.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/axes DescendantIterator.java</Modified>
<Log>Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1336</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/compiler Lexer.java</Modified>
<Log>Resize the m_patternMap if m_patternMapSize exceeds the bounds.</Log>
</Commit>
<Commit category="core">
<Who>mmidy@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/extensions
ExtensionHandlerGeneral.java
ExtensionHandlerJavaPackage.java
ExtensionsTable.java MethodResolver.java
java/src/org/apache/xalan/lib Extensions.java
java/src/org/apache/xalan/lib/sql ConnectionPoolManager.java
java/src/org/apache/xalan/processor ProcessorLRE.java
ProcessorTemplateElem.java StylesheetHandler.java
TransformerFactoryImpl.java XSLTAttributeDef.java
XSLTElementProcessor.java
java/src/org/apache/xalan/res XSLTErrorResources.java
java/src/org/apache/xalan/serialize CharInfo.java
WriterToUTF8Buffered.java
java/src/org/apache/xalan/templates ElemExtensionCall.java
ElemExtensionDecl.java ElemMessage.java
FuncDocument.java FuncFormatNumb.java
OutputProperties.java StylesheetRoot.java
java/src/org/apache/xalan/transformer TrAXFilter.java
TransformerHandlerImpl.java
TransformerIdentityImpl.java TransformerImpl.java
java/src/org/apache/xalan/xslt Process.java
java/src/org/apache/xml/dtm DTMException.java
DTMManager.java
java/src/org/apache/xml/dtm/ref ChunkedIntArray.java
CoroutineManager.java CoroutineSAXParser.java
CoroutineSAXParser_Xerces.java DTMBuilder.java
DTMDefaultBase.java DTMDefaultBaseIterators.java
DTMDefaultBaseTraversers.java
DTMManagerDefault.java
IncrementalSAXSource_Filter.java
IncrementalSAXSource_Xerces.java
java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
java/src/org/apache/xml/utils ObjectPool.java QName.java
URI.java
java/src/org/apache/xpath NodeSet.java NodeSetDTM.java
VariableStack.java XPath.java XPathContext.java
java/src/org/apache/xpath/axes WalkerFactory.java
java/src/org/apache/xpath/functions FuncSubstring.java
FunctionDef1Arg.java
java/src/org/apache/xpath/objects
XRTreeFragSelectWrapper.java XStringForChars.java
java/src/org/apache/xpath/operations Variable.java
java/src/org/apache/xpath/res XPATHErrorResources.java</Modified>
<Log>Getting all (almost all) error message strings into the resource bundle</Log>
</Commit>
<Commit category="core">
<Who>mmidy@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Removed>java/src/org/apache/xml/dtm/ref DTMBuilder.java</Removed>
<Log>Accidentally added. Now deleting.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/27/2001</DateCommitted>
<Modified>java/src/org/apache/xpath Expression.java
java/src/org/apache/xpath/axes AxesWalker.java
LocPathIterator.java PredicatedNodeTest.java
ReverseAxesWalker.java
java/src/org/apache/xpath/objects XNumber.java
java/src/org/apache/xpath/operations Variable.java</Modified>
<Log>If a proximity predicate is a stable number (variable or number literal) then,
once the node is found, don't keep searching! (since only one
node is possible).</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>07/30/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc DOM.java
java/src/org/apache/xalan/xsltc/compiler EqualityExpr.java
FilterParentPath.java Parser.java Predicate.java
Step.java SyntaxTreeNode.java Variable.java
XSLTC.java
java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
DOMImpl.java MultiDOM.java
java/src/org/apache/xalan/xsltc/runtime
AbstractTranslet.java DefaultSAXOutputHandler.java
TextOutput.java
java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java</Modified>
<Log>Added code that will speed up predicates such as //foo[@attr=$var],
//foo[bar = $var] and //foo/[@attr = 'str'].
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/30/2001</DateCommitted>
<Modified>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java</Modified>
<Log>In getNextNamespaceNode and getFirstNamespaceNode, was
sometimes returning a node without the DTM identity bits.
Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2878.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/30/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/compiler OpMap.java</Modified>
<Log>Throw real error instead of runtime error in getFirstPredicateOpPos
for better error reporting.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/30/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/axes PredicatedNodeTest.java
java/src/org/apache/xpath/compiler OpMap.java</Modified>
<Log>Bit of a hack to make /descendant-or-self::north with getFirstPredicateOpPos
where getFirstPredicateOpPos was always throwing an error if
there was not a predicate (!! Should have been discovered before
now?!?!). If -2 return -2 (instead of throwing an error), and
handle this case in PredicatedNodeTest#initPredicateInfo.</Log>
</Commit>
<Commit category="core">
<Who>johng@apache.org</Who>
<DateCommitted>07/30/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/lib/sql ObjectArray.java
SQLDocument.java SQLErrorDocument.java
XConnection.java</Modified>
<Log>Added the original pquery and streaming mode functionality
Submitted by: John Gentilin</Log>
</Commit>
<Commit category="core">
<Who>johng@apache.org</Who>
<DateCommitted>07/30/2001</DateCommitted>
<Added>java/src/org/apache/xalan/lib/sql DTMDocument.java</Added>
<Log>Added DTM Document, a common impl between SQLDocument and SQLErrorDocument
Submitted by: John Gentilin</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/30/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/axes DescendantIterator.java
WalkerFactory.java</Modified>
<Log>Fix addresses http://nagoya.apache.org/bugzilla/enter_bug.cgi?product=XalanJ2,
and a whole class of related problems.</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>07/31/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler Expression.java
Param.java ParameterRef.java Predicate.java
Stylesheet.java SyntaxTreeNode.java Variable.java
VariableRef.java WithParam.java</Modified>
<Log>Fix for parameter and variable handling. This fix makes sure variable slots
are released once a variable goes out of scope. I have also extracted common
functionality from Variable and Param into VariableBase, and similarly
extracted some functionality from VariableRef and ParameterRef into a new
class VariableRefBase. This can potentially make some code more efficient as
one can test for 'if (blob instanceof VariableBase)' instead of testing on
both Variable and Param.
PR: Bugzilla 2661 and 2699
Obtained from: n/a
Submitted by: John Howard &lt;JohnH@schemasoft.com&gt;
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>07/31/2001</DateCommitted>
<Added>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
VariableRefBase.java</Added>
<Log>Forgot to add these two in my last putback.
PR: none
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>07/31/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler Predicate.java
Step.java Stylesheet.java XSLTC.java</Modified>
<Log>Removed type-cast error in Stylesheet.java
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/31/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/objects XNodeSet.java XObject.java
java/src/org/apache/xpath/patterns StepPattern.java</Modified>
<Log>Detach expressions in match patterns. Also, defined
numWithSideEffects and boolWithSideEffects (for lack of
better names) that will increment the iterator, and call these
for predicates. The combination of these results in about an
18% performance improvement for decoy.xsl.
Credits to Mukund Raghavachari/Watson/IBM@IBMUS.</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>07/31/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler VariableBase.java
java/src/org/apache/xalan/xsltc/runtime
DefaultSAXOutputHandler.java</Modified>
<Log>Removed some of the linefeeds we output in the default SAX output handler
to produce output more similar to Saxon (for testing purposes).
Added a test for null-pointers in the new VariableBase class.
PR: bugzilla 2922 &amp; 2598
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org`</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>07/31/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/dom NodeCounter.java</Modified>
<Log>Added a small fix to prevent unwanted output when using the xsl:number
element.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="core">
<Who>mmidy@apache.org</Who>
<DateCommitted>07/31/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/extensions
ExtensionHandlerGeneral.java
java/src/org/apache/xalan/res XSLTErrorResources.java
java/src/org/apache/xalan/templates ElemExtensionDecl.java</Modified>
<Log>Add support for external scripts (ie, the src attribute on a script element)</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>07/31/2001</DateCommitted>
<Modified>java/src/org/apache/xpath XPathContext.java
java/src/org/apache/xpath/axes ChildTestIterator.java
OneStepIteratorForward.java</Modified>
<Log>In XPathContext#createDTMIterator(int node), call
OneStepIteratorForward(Axis.SELF)
instead of DescendantIterator. This addresses one of the bugs
in http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925
(i.e. &lt;xsl:copy-of select="xalan:nodeset($stylesheets)"/&gt;...
The DescendantIterator was enumerating all of the nodes in the RTF
rather than just the one.)</Log>
</Commit>
<Commit category="core">
<Who>johng@apache.org</Who>
<DateCommitted>07/31/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/lib/sql ConnectionPool.java
ConnectionPoolManager.java DTMDocument.java
DefaultConnectionPool.java ObjectArray.java
PooledConnection.java SQLDocument.java
SQLErrorDocument.java XConnection.java</Modified>
<Log>Added Error Managment and javadocs
Submitted by: John Gentilin</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/01/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/patterns StepPattern.java</Modified>
<Log>Fixed some major problems with position() and last() in secondary
predicates for match patterns. Credit goes to
Mukund Raghavachari/Watson/IBM@IBMUS for flagging these.</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/01/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler Constants.java
If.java Key.java Predicate.java Step.java When.java
java/src/org/apache/xalan/xsltc/compiler/util
CompareGenerator.java
java/src/org/apache/xalan/xsltc/dom NodeCounter.java
java/src/org/apache/xalan/xsltc/runtime
DefaultSAXOutputHandler.java</Modified>
<Log>A few changes to make our output look more like Saxon's (to simplyfy
test diffs).
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="core">
<Who>johng@apache.org</Who>
<DateCommitted>08/01/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/lib/sql XConnection.java</Modified>
<Log>Update after building Unit Test's
Submitted by: John Gentilin</Log>
</Commit>
<Commit category="xsltc">
<Who>tmiller@apache.org</Who>
<DateCommitted>08/01/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
DOM2SAX.java</Modified>
<Log>add support for DOMResult handling</Log>
</Commit>
<Commit category="xsltc">
<Who>tmiller@apache.org</Who>
<DateCommitted>08/01/2001</DateCommitted>
<Added>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java</Added>
<Log>work in progress, converted needed for DOMResult</Log>
</Commit>
<Commit category="core">
<Who>mmidy@apache.org</Who>
<DateCommitted>08/01/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/processor XSLTAttributeDef.java</Modified>
<Log>Fix for Bugzilla 2930. Fix from Alexander Rudnev. Handle namespaced elements.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/01/2001</DateCommitted>
<Modified>java/src/org/apache/xml/dtm DTMAxisIterator.java
java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java
DTMDefaultBaseIterators.java
java/src/org/apache/xpath/axes OneStepIterator.java</Modified>
<Log>Addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2945
Bug was caused by (redundent) cloneWithReset being called from
the UnionPathIterator, and the iterator in OneStepIterator not being
reset. (Need to review: check other iterators for this.)
Call reset on the iterator in OneStepIterator#reset. Reset the position
value in the ancestor iterator reset. Define DTMAxisIterator#cloneIterator
to not reset the iterator position, and fix the implementations of
this to not call clone.reset().</Log>
</Commit>
<Commit category="xsltc">
<Who>tmiller@apache.org</Who>
<DateCommitted>08/02/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/trax TransformerImpl.java</Modified>
<Log>added setting of systemId in DOMSource handling</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/02/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/trax SAX2DOM.java
TransformerFactoryImpl.java TransformerImpl.java</Modified>
<Added>java/src/org/apache/xalan/xsltc/trax
TransformerHandlerImpl.java</Added>
<Log>Added an implementation of the TransformerHandler interface of TrAX/JAXP.
Implemented the 4 methods in TransformerFactory to instanciate this
TransformerHandler implementation.
Added an attribute of the TransformerFactory which contains the default
name for generated translet classes (the default name is GregorSamsa from
Kafka's Metemorphosis), but should be set by the user in cases where the
Templates implementation cannot get the systemId from the Source object.</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/02/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java
TransformerHandlerImpl.java</Modified>
<Added>java/src/org/apache/xalan/xsltc/trax
TemplatesHandlerImpl.java</Added>
<Log>Added missing TemplatesHandlerImpl file (implementation of the TrAX
TemplatesHandler interface).
Added initial implementation of getAssociatedStylesheet() in
the TransformerFactoryImpl class.
Changed behaviour of TransformerHandlerImpl class with regard to
the setResult() method. This method now has to be called before
startDocument() is called, which gives XSLTC the same behaviour
as Xalan.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/02/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler Parser.java
XSLTC.java
java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java</Modified>
<Log>Added support for the TransformerFactory's getAssociatedStylesheet()
method. Added similar methods to the native XSLTC API, as they can come
in handy.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/02/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/transformer TransformerImpl.java
java/src/org/apache/xpath NodeSetDTM.java
java/src/org/apache/xpath/functions FuncExtFunction.java
java/src/org/apache/xpath/objects XBoolean.java
XNodeSet.java XNumber.java XObject.java</Modified>
<Added>java/src/org/apache/xpath/objects XNodeSetForDOM.java</Added>
<Log>Address http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925
Create new XObject, XNodeSetForDOM, which is constructed
from a Node, NodeList, or NodeIterator, and acts the same as
XNodeSet, except it returns the original object for object(),
nodeset(), and nodelist().
Add XObject#create(Object val, XPathContext xctxt), which is
called from TransformerImpl#setParameter(s), and
FuncExtFunction#execute (for the return values of the
extension).
XBoolean and XNumber now also have Boolean and Number
constructors, in which case the original object will also be
returned from the object() method.
This should make the conversion from java object to XObject
consistent between function returns and setParameter. These
changes should also fix a bug where NodeLists weren't being converted.</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler Constants.java
DocumentCall.java
java/src/org/apache/xalan/xsltc/dom LoadDocument.java</Modified>
<Log>Fix for the document() function. The code compiled by DocumentCall now
passes the context URI to the LoadDocument.document() method, and the
document() method resolves the base/new URIs and constructs an absolute
path/URI to the document to load.
PR: bugzilla 2832
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>tmiller@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java</Modified>
<Log>new recursive parse(InputSource) implemented</Log>
</Commit>
<Commit category="xsltc">
<Who>tmiller@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java</Modified>
<Log>upated</Log>
</Commit>
<Commit category="xsltc">
<Who>tmiller@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java</Modified>
<Log>updated again</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
java/src/org/apache/xalan/xsltc/trax SAX2DOM.java</Modified>
<Log>Fix to get around problem with Crimson. Crimson does not like attribute-
nodes to be created with 'null' or "" namespace URI. Added an if-test to
invoke setAttribute(name, value) instead of setAttributeNS(uri, name, value).
Had to add a little test to DOMImpl$DOMBuilder.makeAttributeNode() to get
around an internal NPE problem.
PR: n/a
Obtained from: n.a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler CopyOf.java
Step.java
java/src/org/apache/xalan/xsltc/dom DOMImpl.java
UnionIterator.java</Modified>
<Log>Fix for union-iterators wrapping one or more attribute-iterators.
Attributes should be wrapped in TypedAttributeIterator objects and not
SingletonIterator objects when they occur insude unions.
Fix for copying attribute nodes using &lt;xsl:copy&gt; and &lt;xsl:copy-of&gt;
PR: bugzilla 2603
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Added>java/src/org/apache/xml/utils NamespaceSupport2.java</Added>
<Log>Replacement for org.xml.sax.helpers.NamespaceSupport; extends
that API so it can be easily swapped in.
Current changes;
Minor code reorg. I'm sorry, but I find classes easier to read
if fields are defined before methods reference them rather than
at end, especially when inner classes are present.
Punt stack vector in favor of doubly-linked list. (It was already
singly-linked in parallel with the vector!)
The whole dirty-tables concept was broken, because Context's
ctor always called copyTables and thus always marked tables
dirty. It also wasted some time setting itself only to be reset by
setParent. I've fixed both by parameterizing the ctor and making
copyTables specific to prep-for-new-declaration. (Could be
moved back into the declaration method, for that matter.)
I'm dubious about the caches in processName. As far as I can
tell, Xalan per se never actually uses that method...
The use of Hashtables is questionable. Hashtable is
known to be inefficient and oversynchronized in older JVMs, and
the fact that this is a bidirectional mapping suggests that an
approach similar to our own String Pool -- lighter-weight, more
targeted, hashing without reduplicating the two column tables --
would be a win. Since these are typically short sets, even
simple linear search is worth considering!</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/processor StylesheetHandler.java
java/src/org/apache/xalan/templates ElemTemplateElement.java
java/src/org/apache/xalan/transformer ResultTreeHandler.java
TransformSnapshotImpl.java</Modified>
<Log>Cutover to NamespaceSupport2, q.v.</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Modified>java/src/org/apache/xml/utils NamespaceSupport2.java</Modified>
<Log>Continuing code review.</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Modified>java/src/org/apache/xml/utils NamespaceSupport2.java</Modified>
<Log>More efficient prefixes-for-specific-URI. This may wind up being
redone yet again if/when the underlying storage representation
changes.</Log>
</Commit>
<Commit category="core">
<Who>dleslie@apache.org</Who>
<DateCommitted>08/03/2001</DateCommitted>
<Added>java/src/org/apache/xalan/lib PipeDocument.java</Added>
<Log>PipeDocument extension element (the pipeDocument method).</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/04/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/transformer TransformerImpl.java
java/src/org/apache/xpath NodeSet.java NodeSetDTM.java</Modified>
<Log>Bug fixed regarding the current() function in the root template
(related to bug#1269). Bug was reported by David Marston
offline. The test for this is conf/copy/copy29.
In TransformerImpl#applyTemplateToNode, create a NodeSetDTM and pass it to
m_xcontext.pushContextNodeList(cnl);.
In NodeSetDTM fix getCurrentNode so that it doesn't use m_next-1
(which simply appears to be completely wrong). Do the same for
NodeSet... though I don't think this will be called anywhere in
Xalan.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/04/2001</DateCommitted>
<Modified>java/src/org/apache/xml/dtm DTMAxisIterator.java
java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java
DTMDefaultBaseIterators.java</Modified>
<Log>Provide method for DTMAxisIterator to get the current root node
of the iteration.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/04/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/objects XObject.java</Modified>
<Log>In response to regression posted on xalan-dev by John Gentilin
&lt;johnglinux@eyecatching.com&gt;
on 08/03/2001 06:49 PM. When the XNodeSet taks a DTMIterator, it
will call val.getDTMManager();, which will call LocPathIterator#getDTMManager,
which will call m_execContext..getDTMManager(), which means
that setRoot has to be called on the iterator before it is added to
XNodeSet. Thus, call setRoot on the OneStepIterator in
create(Object, XPathContext) before it is added to the XNodeSet.
The regression was related to fix for
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/05/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/axes OneStepIterator.java</Modified>
<Log>For the OneStepIterator(DTMAxisIterator iterator) constructor,
initialize the node tests to DTMFilter.SHOW_ALL (duh).</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/06/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/objects XObject.java</Modified>
<Added>java/src/org/apache/xpath/objects XObjectFactory.java</Added>
<Log>Move create methods from XObject to XObjectFactory, in response
to cyclic build problems encountered with javac 1.1.8.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/06/2001</DateCommitted>
<Modified>java/src/org/apache/xml/utils NamespaceSupport2.java</Modified>
<Log>Moved anonomous class to PrefixEnumerator, in response
to problems encountered with 1.1.8 build.
Joe may want to fix this in another way, as
I'm sure the anon class is probably a bit
cheaper?</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/06/2001</DateCommitted>
<Modified>java/src/org/apache/xpath VariableStack.java</Modified>
<Log>Address http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2972,
where it was throwing a NPE instead of reporting that the variable
was being accessed before it was bound (i.e. the variable was being
accessed inside an RTF for that same variable).</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/06/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/transformer
TransformerHandlerImpl.java</Modified>
<Log>Remove m_hasStarted variable and associated assertion.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/06/2001</DateCommitted>
<Modified>java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java</Modified>
<Log>Addresses bug http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3001.
In the cloneIterator function of PrecedingIterator, the cloned array
was being sized for _maxAncestors, which defaults to 8. But if the
_stack was resized, it will copy more into the new stack than is
allocated. The solution is to allocate the new clone._stack array to
_stack.length.</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>08/06/2001</DateCommitted>
<Modified>java/src/org/apache/xml/utils NamespaceSupport2.java</Modified>
<Log>Don't create caches unless used (which I don't think they are, in Xalan).</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/06/2001</DateCommitted>
<Modified>java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java</Modified>
<Log>Made _maxAncestors not static, as this is
not compatible with 1.1.8 (reported by
Gary Peskin).</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>08/06/2001</DateCommitted>
<Modified>java/src/org/apache/xml/utils NamespaceSupport2.java</Modified>
<Log>Playing a hunch, I moved the Context objects out of NamespaceSupport2.
They're now a second class in the same file rather than being an inner class.
That reduces the size of the Context2 object, and its initialization time, by
removing the need for it to carry a reference to the NamespaceSupport2
object that created it.
Performance seems significantly improved... even (surprisingly!) on the
getDeclaredPrefixes operation. Memory usage also seems better, as
expected.
NamespaceSupport2 is still acounting for about 5%
of the time spent in the ResultTreeHandler, according
to my latest trace. Apparently we are calling
getDeclaredPrefixes an obscenely large number of
times, and the Vector.elements call is adding up. We
may want to look at where this is being called from
and whether we can reduce the number of invocations.</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>08/06/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/transformer ResultTreeHandler.java</Modified>
<Log>Performance improvement; avoid scanning the same list twice.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/06/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/transformer
TransformerHandlerImpl.java TransformerImpl.java
java/src/org/apache/xalan/xslt Process.java
java/src/org/apache/xml/dtm/ref
IncrementalSAXSource_Filter.java
java/src/org/apache/xml/utils DefaultErrorHandler.java
java/src/org/apache/xpath/operations Variable.java</Modified>
<Log>This checkin hopefully fixes many problems with bad diagnostics lately, but
at the expense of a slight change in behavior. The rule now is, the
DefaultErrorHandler never outputs location info for error and fatalError...
this has to be done
by the catcher of the exception. Convenience methods for this are
in DefaultErrorHandler#printLocation. This method will unwrap the
exception as close to the originating source as possible.</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/07/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/dom LoadDocument.java</Modified>
<Log>Added code behind the document() function to force the parser to be
namespace aware (Crimson is pr. default, Xerces is not).
PR: bugzilla 2862
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/07/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/runtime TextOutput.java</Modified>
<Log>Fix to prevent escaping of attribute values in HTML output.
PR: bugzilla 3003
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/07/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/runtime TextOutput.java</Modified>
<Log>Fix for grouping a sequence of text nodes inside one CDATA section.
PR: bugzilla 3005
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/07/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler ForEach.java
xpath.cup
java/src/org/apache/xalan/xsltc/runtime
AbstractTranslet.java</Modified>
<Log>Fix for passing node-sets as parameters into a template with a for-each loop.
The ForEach class resets its node iterator by default. This behaviour is not
desierd for iterators that are passed in through a parameter, so I added an
it-test that checks if the iterator is of type 'Reference'.
PR: bugzilla 2468
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/07/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler
AbsolutePathPattern.java</Modified>
<Log>Fix for a certain combination of absolute path patterns and ancestor patterns,
such as &lt;xsl:template match="/foo//*"/&gt;.
PR: bugzilla 2836
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/07/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler DocumentCall.java</Modified>
<Log>Fix for document() function. Prevents run-time error.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/07/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/extensions
XSLProcessorContext.java
java/src/org/apache/xml/dtm DTMIterator.java
java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java
java/src/org/apache/xpath NodeSetDTM.java
java/src/org/apache/xpath/axes AttributeIterator.java
AxesWalker.java ChildIterator.java
ChildTestIterator.java DescendantIterator.java
FilterExprWalker.java LocPathIterator.java
OneStepIterator.java OneStepIteratorForward.java
ReverseAxesWalker.java UnionPathIterator.java
WalkingIteratorSorted.java
java/src/org/apache/xpath/objects XObjectFactory.java</Modified>
<Log>Changes to allow some dynamic determination in WalkerIteratorSorted to
see if the nodes really need to be sorted. Added isDocOrdered() and
getAxis() to both DTMIterator and AxesWalker, and implemented
appropriate overloads in derived or implementing classes. In FilterExprWalker
return the contained DTMIterator's getAxis(). In WalkerIteratorSorted,
implement canBeWalkedInNaturalDocOrder() function that is called
from setRoot(...). If this function returns true, than don't sort the nodes
in setRoot, and in all other respects treat this as if it is a simple
WalkingIterator.</Log>
</Commit>
<Commit category="core">
<Who>mmidy@apache.org</Who>
<DateCommitted>08/07/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/transformer TransformerImpl.java</Modified>
<Log>Fix for bugzilla 1251. Make sure exceptions are thrown when we're on the main
thread.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/07/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/axes AxesWalker.java
WalkerFactory.java WalkingIteratorSorted.java</Modified>
<Log>Eliminate do/while check for duplicates in AxesWalker#nextNode()
by using WalkingIteratorSorted for cases where both the preceding[-sibling]
and following[-sibling] axes are being walked, and for "@*/foo" patterns
("@attr/foo" patterns still use WalkingIterator).</Log>
</Commit>
<Commit category="core">
<Who>garyp@apache.org</Who>
<DateCommitted>08/08/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/templates FuncFormatNumb.java</Modified>
<Log>Fix bugzilla bug 3036
(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3036). When no
xsl:decimal-format element is supplied in the composed stylesheet, the defaults
specified in the Recommendation section 12.3 should be used for the attribute
values, not locale-specific defaults.</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/08/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler XslElement.java</Modified>
<Log>Added a test to the &lt;xsl:element&gt; element to verify that the element name
given in the 'name' attribute contains something other than an empty string.
PR: bugzilla 2794
Obtained from: n/a
Submitted by: morten@apache.org
Reviewed by: morten@apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/08/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java</Modified>
<Log>Applied a fix to our class for handling literal result elements. The only
attributes in the XSLT namespace we handle in LREs are exclude-result-prefixes
and extension-element-prefixes. We have a test to check if an attribute is
in the XSLT namespace, and if it is we ignore the attribute. This test was
placed before the test for the two XSLT attributes we do want to handle,
causing us to ignore all xsl:exclude-result-prefixes attributes in LREs.
PR: bugzilla 1506
Obtained from: n/a
Submitted by: morten@apache.org
Reviewed by: morten@apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/08/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler Attribute.java
AttributeSet.java Copy.java UseAttributeSets.java
XslAttribute.java
java/src/org/apache/xalan/xsltc/dom DOMImpl.java</Modified>
<Log>Fix and performance improvement for attribute sets.
PR: bugzilla 2536
Obtained from: n/a
Submitted by: morten@apache.org
Reviewed by: morten@apache.org</Log>
</Commit>
<Commit category="xsltc">
<Who>morten@apache.org</Who>
<DateCommitted>08/08/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/xsltc/compiler Copy.java</Modified>
<Log>Fix for use of attribute sets with the xsl:copy element. We were a bit too
restrictive in our tests to see if it was safe to send the attributes to
the output handler. We only compiled in a test to see if the copied node
was an elment, but should also have tested if the xsl:copy element's
parent node was a LRE or a xsl:element element.
PR: bugzilla 2538
Obtained from: n/a
Submitted by: morten@apache.org
Reviewed by: morten@apache.org</Log>
</Commit>
<Commit category="core">
<Who>garyp@apache.org</Who>
<DateCommitted>08/09/2001</DateCommitted>
<Modified>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java</Modified>
<Log>Fix for bugzilla 3060
(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3060). Prefixes and
namespaceURIs are kept in the same Vector, m_prefixMappings. The entries are
stored as pairs of vector elements. The even elements contain the prefix and
the odd elements contain the URI. In two routines, getPrefix and endElement,
the appropriate prefix or URI was being located in the Vector using an
indexOf. However, in this case where the prefix and the URI were the same, the
routine was looking for the URI but finding the prefix instead of the URI. It
tried tried to back up one to get the prefix and underflowed the Vector size.</Log>
</Commit>
<Commit category="core">
<Who>mmidy@apache.org</Who>
<DateCommitted>08/09/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/transformer ResultTreeHandler.java
TransformerImpl.java</Modified>
<Log>Implement ErrorHandler in ResultTreeHandler so that fatal errors can get
passed in to the SAXHandler. Also change the code in TransformerImpl to call
fatalError in case of an error instead of endDocument. (overlaps with URI
handling fix...)</Log>
</Commit>
<Commit category="core">
<Who>mmidy@apache.org</Who>
<DateCommitted>08/09/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/processor
TransformerFactoryImpl.java
java/src/org/apache/xalan/transformer
TransformerIdentityImpl.java
java/src/org/apache/xml/utils SystemIDResolver.java</Modified>
<Log>Fix code to handle absolute paths from unix systems. This fix is part of an
ongoing process and is just meant to fix a few pending bugs. More changes are
expected in this area.</Log>
</Commit>
<Commit category="core">
<Who>mmidy@apache.org</Who>
<DateCommitted>08/10/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/processor XSLProcessorVersion.java</Modified>
<Log>Change version for xalan2.2.D9 build</Log>
</Commit>
<Commit category="core">
<Who>garyp@apache.org</Who>
<DateCommitted>08/10/2001</DateCommitted>
<Modified>java/src/org/apache/xalan/templates ElemElement.java
java/src/org/apache/xalan/transformer ResultTreeHandler.java
java/src/org/apache/xml/utils DefaultErrorHandler.java</Modified>
<Log>ResultTreeHandler was pushing a new namespace context but failing to note
that result in more pushes than pops. Cleaned up the execute() method of
ElemElement to make it more understandable (to me) and added a few comments.
The DefaultErrorHandler was not flushing Writers that it created. Since the
Writers are never closed (and cannot be as there is no close method), error
messages were failing to appear.</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>08/10/2001</DateCommitted>
<Modified>java/src/org/apache/xml/dtm DTMManager.java</Modified>
<Log>Increasing the number of bits used to identify DTM nodes, at the expense of
decreasing the number of DTMs that a DTMManager can track simultaneously. Some
other code has been updated to track this change (and to better track posible
future changes), as have the IDKEY testcases.</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>08/10/2001</DateCommitted>
<Modified>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
DTMDocumentImpl.java DTMManagerDefault.java</Modified>
<Log>Increasing the number of bits used to identify DTM nodes, at the expense of
decreasing the number of DTMs that a DTMManager can track simultaneously. Some
other code has been updated to track this change (and to better track posible
future changes), as have the IDKEY testcases.</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>08/10/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/functions FuncGenerateId.java</Modified>
<Log>Increasing the number of bits used to identify DTM nodes, at the expense of
decreasing the number of DTMs that a DTMManager can track simultaneously. Some
other code has been updated to track this change (and to better track posible
future changes), as have the IDKEY testcases.</Log>
</Commit>
<Commit category="core">
<Who>sboag@apache.org</Who>
<DateCommitted>08/10/2001</DateCommitted>
<Modified>java/src/org/apache/xpath NodeSetDTM.java</Modified>
<Log>Try to support getRoot. Fixes problem with TransformStateTest.</Log>
</Commit>
<Commit category="core">
<Who>mmidy@apache.org</Who>
<DateCommitted>08/10/2001</DateCommitted>
<Modified>java/src/org/apache/xpath/axes WalkerFactory.java</Modified>
<Log>Fix problem with duplicate nodes produced from a walking iterator</Log>
</Commit>
</Commits>