| Repository |
Revision |
Date |
User |
Message |
| ASF |
#669374 |
Thu Jun 19 03:40:41 UTC 2008 |
zongaro |
Part of fix for Jira issue XALANJ-2446:
The implementation of Parser.getQName(String,String,String) method was ensuring
that any particular pair of namespace URI and local part of the name would
result in a unique QName object. It did not take into account the prefix,
despite the fact that the original prefix might be associated with a different
namespace URI in this new context or no namespace at all.
Fixed this by making getQName take into account all three of the namespace URI,
local part of the name and prefix in order to create unique QName objects.
Some other parts of XSLTC depended on the assumption that a QName object
uniquely identified a pair consisting of the namespace URI and local part of
the name and used object reference comparisons (== or !=) on QName objects.
These comparisons all had to change to use equals(Object) for comparison
instead. The implementation of QName.equals(Object) itself had to change to
consider the namespace URI and local part of the name rather than relying on
object identity.
Part of fix for Jira issue XALANJ-2447:
The handling of exclude-result-prefixes for an xsl:stylesheet had the complete
set of excluded prefixes accumulated on the xsl:stylesheet for the main
stylesheet module. However, the scope of the attribute is supposed to consist
only of elements that are direct descendants of an element that has the
attribute, and does not extend to imported or included stylesheets. The same
is true of namespaces excluded because they have been declared as extension
element prefixes.
Fixed this by maintaining a stack of excluded prefixes that's pushed on entry
to the Stylesheet.parseOwnChildren method and popped on exit from the same.
The push operation clears the current set of excluded prefixes and the pop
operation restores the set of excluded prefixes that were in effect for the
importing or including stylesheet.
Reviewed by Christine Li (jycli () ca ! ibm ! com)
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/Parser.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#669373 |
Thu Jun 19 03:40:20 UTC 2008 |
zongaro |
Part of fix for Jira issue XALANJ-2447.
The handling of exclude-result-prefixes for an xsl:stylesheet had the complete
set of excluded prefixes accumulated on the xsl:stylesheet for the main
stylesheet module. However, the scope of the attribute is supposed to consist
only of elements that are direct descendants of an element that has the
attribute, and does not extend to imported or included stylesheets. The same
is true of namespaces excluded because they have been declared as extension
element prefixes.
Fixed this by maintaining a stack of excluded prefixes that's pushed on entry
to the Stylesheet.parseOwnChildren method and popped on exit from the same.
The push operation clears the current set of excluded prefixes and the pop
operation restores the set of excluded prefixes that were in effect for the
importing or including stylesheet.
Reviewed by Christine Li (jycli () ca ! ibm ! com)
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/Stylesheet.java
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/SymbolTable.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#669372 |
Thu Jun 19 03:39:52 UTC 2008 |
zongaro |
Part of fix for Jira issue XALANJ-2446:
The implementation of getQName(String,String,String) method was ensuring
that any particular pair of namespace URI and local part of the name would
result in a unique QName object. It did not take into account the prefix,
despite the fact that the original prefix might be associated with a different
namespace URI in this new context or with no namespace at all.
Fixed this by making getQName take into account all three of the namespace URI,
local part of the name and prefix in order to create unique QName objects.
Reviewed by Christine Li (jycli () ca ! ibm ! com)
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/LiteralElement.java
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/QName.java
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/CallTemplate.java
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/xpath.cup
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#584164 |
Fri Oct 12 14:00:15 UTC 2007 |
zongaro |
Fix for Jira issue XALANJ-2402.
Unlike all other AST nodes, the AST nodes created for literal result elements,
extension elements and unknown elements did not have a reference to the XSLT
Parser class. This results in an NPE later if the processor needs to access
the Parser instance (or other fields through it, such as the XSLTC instance).
Reviewed by Christine Li (jycli () ca ! ibm ! com)
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/Parser.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#577937 |
Thu Sep 20 21:43:11 UTC 2007 |
minchau |
Updating the bug list for the website.
It already had XALANJ-2206 in the list, but
we have fixed XALANJ-1243 and XALANJ-2395 recently
so I'm adding them in too.
|
| Files Changed |
MODIFY
/xalan/java/trunk/xdocs/sources/xalan/readme.xml
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#577935 |
Thu Sep 20 21:35:20 UTC 2007 |
minchau |
Committing fix for XALANJ-2206
Patch from Vadim Gritsenko.
Patch was modified slightly and approved by Brian Minchau.
The fix lets users set the "enable-inlining" feature specifically
in the case of TemplatesHandler,
where the default value in Stylesheet class was wreaking havoc.
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/Stylesheet.java
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/XSLTC.java
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/trax/TransformerFactoryImpl.java
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/trax/TemplatesHandlerImpl.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#575747 |
Fri Sep 14 16:28:37 UTC 2007 |
kcormier |
Patch for XALANJ-2395. Reviewed by Brian Minchau.
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xalan/transformer/TransformerIdentityImpl.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#570109 |
Mon Aug 27 13:31:35 UTC 2007 |
zongaro |
Added an equals(String) method to the XMLString interface. This allows the
caller to compare an XMLString to a Java String without forcing the XMLString
to be converted to a String.
Part of patch for XALANJ-1243. Reviewed by Brian Minchau (minchau@ca.ibm.com).
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xml/utils/XMLStringDefault.java
MODIFY
/xalan/java/trunk/src/org/apache/xml/utils/XMLString.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#570108 |
Mon Aug 27 13:30:57 UTC 2007 |
zongaro |
Added an equals(String) method to the XMLString interface. This allows the
caller to compare an XMLString to a Java String without forcing the XMLString
to be converted to a String.
In this particular class (XString), modified equals(XMLString) to take advantage
of the new XMLString.equals(String). If the argument for the comparison
contains a java.lang.String, then comparing that with the String held by this
XString is likely the fastest way to perform the comparison; otherwise, we give
the argument the chance to compare itself natively with the String contained by
this XString.
Part of patch for XALANJ-1243. Reviewed by Brian Minchau (minchau@ca.ibm.com).
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xpath/objects/XString.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#563659 |
Tue Aug 07 21:15:29 UTC 2007 |
kcormier |
Committing changes for XALANJ-2358 on behalf of Brian Minchau (in order to test that my committer SVN account is working). The changes were reviewed by Henry Zongaro.
|
| Files Changed |
ADD
/xalan/java/trunk/NOTICE.txt
ADD
/xalan/java/trunk/LICENSE.txt
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#563656 |
Tue Aug 07 21:12:16 UTC 2007 |
kcormier |
Committing changes for XALANJ-2358 on behalf of Brian Minchau (in order to test that my committer SVN account is working). The changes were reviewed by Henry Zongaro.
|
| Files Changed |
DEL
/xalan/java/trunk/tools/java_cup.LICENSE.txt
DEL
/xalan/java/trunk/tools/ant.README.txt
DEL
/xalan/java/trunk/xalan.README.txt
DEL
/xalan/java/trunk/lib/runtime.README.txt
DEL
/xalan/java/trunk/lib/xml-apis.README.txt
DEL
/xalan/java/trunk/licenses
DEL
/xalan/java/trunk/tools/ant.LICENSE.txt
DEL
/xalan/java/trunk/lib/xercesImpl.README.txt
DEL
/xalan/java/trunk/tools/java_cup.README.txt
DEL
/xalan/java/trunk/lib/regexp.README.txt
DEL
/xalan/java/trunk/serializer.README.txt
DEL
/xalan/java/trunk/lib/BCEL.README.txt
DEL
/xalan/java/trunk/tools/stylebook-1.0-b3_xalan-2.LICENSE.txt
DEL
/xalan/java/trunk/tools/JLex.LICENSE.txt
DEL
/xalan/java/trunk/tools/JLex.README.txt
DEL
/xalan/java/trunk/tools/stylebook-1.0-b3_xalan-2.README.txt
MODIFY
/xalan/java/trunk/build.xml
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#545471 |
Fri Jun 08 10:25:38 UTC 2007 |
zongaro |
Fix for XALANJ-2384.
The code generated for the topLevel and transform methods of a translet was
generated using DTM.ROOT_NODE (i.e., zero) as the value of the root node for
the initial context. However, that is not a valid node handle.
The proper way of getting the handle of root of the initial input document is
through DOM.getIterator().next().
Patch was reviewed by Christine Li (jycli () ca ! ibm ! com)
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/Stylesheet.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#528589 |
Fri Apr 13 18:50:56 UTC 2007 |
zongaro |
Patch for XALANJ-2377
VariableBase.removeReference was effectively being used to decrement a reference
counter for local variables.
At one time, XSLTC used to release JVM stack slots as soon as the last
reference to a local variable occurred, but that resulted in a bug if loops
were involved. So the code was changed to release a local variable slot only
when the containing construct went out of scope - this was done with a call to
VariableBase.unmapRegister from SytaxTreeNode.translateContents.
However, VariableBase.unmapRegister still contained a vestige of the old
reference counting code - it was checking whether any references to the variable
still existed. In the presence of "Closures," the number of calls to
VariableBase.addReference did not equal the number of calls to
VariableBase.removeReference (for no good reason), so the variable was not
marked by VariableBase.unmapRegister as going out of scope. This caused later
problems for outlining in org.apache.xalan.xsltc.compiler.util.MethodGenerator.
The fix is to remove VariableBase.removeReference, since XSLTC should no longer
on that to determine whether it can release a variable slot. The
VariableBase.addReference method remains, however, because XSLTC uses that to
determine whether a variable can be discarded completely.
Reviewed by Christine Li (jycli () ca ! ibm ! com).
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/VariableBase.java
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/ParameterRef.java
MODIFY
/xalan/java/trunk/src/org/apache/xalan/xsltc/compiler/VariableRef.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#524815 |
Mon Apr 02 15:52:15 UTC 2007 |
zongaro |
Part of fix for Jira issue XALANJ-2375.
Added a new constructor and corresponding reset method that allow the caller
to specify the initial size for the arrays contained in a VariableStack. This
is important for XPath expression evaluation, where additional stack entries
are never needed. Previously, the arrays were always allocated based on the
maximum recursion depth permitted by the XSLT processor, which was caused
unnecessary initialization overhead using the various XPath APIs.
In the case of JAXPVariableStack, which extends VariableStack, the default
constructor can always use specify the minimal stack size on the super class's
constructor.
Reviewed by Christine Li (jycli () ca ! ibm ! com).
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xpath/jaxp/JAXPVariableStack.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#524814 |
Mon Apr 02 15:52:11 UTC 2007 |
zongaro |
Part of fix for Jira issue XALANJ-2375.
Added a new constructor and corresponding reset method that allow the caller
to specify the initial size for the arrays contained in a VariableStack. This
is important for XPath expression evaluation, where additional stack entries
are never needed. Previously, the arrays were always allocated based on the
maximum recursion depth permitted by the XSLT processor, which was caused
unnecessary initialization overhead using the various XPath APIs.
Also added two new XPathContext constructors which accept a boolean argument
that indicates whether the context for variables needs to be push/popable.
When it's false, the XPathContext will create a minimally-sized VariableStack.
Reviewed by Christine Li (jycli () ca ! ibm ! com).
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xpath/jaxp/XPathImpl.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#524813 |
Mon Apr 02 15:52:07 UTC 2007 |
zongaro |
Part of fix for Jira issue XALANJ-2375.
Added a new constructor and corresponding reset method that allow the caller
to specify the initial size for the arrays contained in a VariableStack. This
is important for XPath expression evaluation, where additional stack entries
are never needed. Previously, the arrays were always allocated based on the
maximum recursion depth permitted by the XSLT processor, which was caused
unnecessary initialization overhead using the various XPath APIs.
Also added two new XPathContext constructors which accept a boolean argument
that indicates whether the context for variables needs to be push/popable.
When it's false, the XPathContext will create a minimally-sized VariableStack.
Reviewed by Christine Li (jycli () ca ! ibm ! com).
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xpath/jaxp/XPathExpressionImpl.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#524812 |
Mon Apr 02 15:52:03 UTC 2007 |
zongaro |
Part of fix for Jira issue XALANJ-2375.
Added a new constructor and corresponding reset method that allow the caller
to specify the initial size for the arrays contained in a VariableStack. This
is important for XPath expression evaluation, where additional stack entries
are never needed. Previously, the arrays were always allocated based on the
maximum recursion depth permitted by the XSLT processor, which was caused
unnecessary initialization overhead using the various XPath APIs.
In the case of JAXPVariableStack, which extends VariableStack, the default
constructor can always use specify the minimal stack size on the super class's
constructor.
Reviewed by Christine Li (jycli () ca ! ibm ! com).
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xpath/VariableStack.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#524811 |
Mon Apr 02 15:51:59 UTC 2007 |
zongaro |
Part of fix for Jira issue XALANJ-2375.
Added a new constructor and corresponding reset method that allow the caller
to specify the initial size for the arrays contained in a VariableStack. This
is important for XPath expression evaluation, where additional stack entries
are never needed. Previously, the arrays were always allocated based on the
maximum recursion depth permitted by the XSLT processor, which was caused
unnecessary initialization overhead using the various XPath APIs.
Also added two new XPathContext constructors which accept a boolean argument
that indicates whether the context for variables needs to be push/popable.
When it's false, the XPathContext will create a minimally-sized VariableStack.
Reviewed by Christine Li (jycli () ca ! ibm ! com).
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xpath/CachedXPathAPI.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#524810 |
Mon Apr 02 15:51:55 UTC 2007 |
zongaro |
Part of fix for Jira issue XALANJ-2375.
Lexer.tokenize was always creating an OpMapVector object with large initial
sizes. This was wasteful, because each XPath expression so tokenize might
need only a small amount of space. Instead, changed the initial size to be
equal to five times the length of the string to be tokenized, just as a
very conservative estimate. This has a significant impact on the performance
of the XPath API.
Reviewed by Christine Li (jycli () ca ! ibm ! com).
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xpath/compiler/Lexer.java
|
| Repository |
Revision |
Date |
User |
Message |
| ASF |
#524809 |
Mon Apr 02 15:51:51 UTC 2007 |
zongaro |
Part of fix for Jira issue XALANJ-2375.
Added a new constructor and corresponding reset method that allow the caller
to specify the initial size for the arrays contained in a VariableStack. This
is important for XPath expression evaluation, where additional stack entries
are never needed. Previously, the arrays were always allocated based on the
maximum recursion depth permitted by the XSLT processor, which was caused
unnecessary initialization overhead using the various XPath APIs.
Also added two new XPathContext constructors which accept a boolean argument
that indicates whether the context for variables needs to be push/popable.
When it's false, the XPathContext will create a minimally-sized VariableStack.
Reviewed by Christine Li (jycli () ca ! ibm ! com).
|
| Files Changed |
MODIFY
/xalan/java/trunk/src/org/apache/xpath/XPathContext.java
|