All Projects : XalanJ2 (Key: XALANJ)

Project Lead: Brian Minchau
URL: http://xalan.apache.org
Description:
Xalan-Java implements the W3C Recommendation 16 November 1999 XSL Transformations (XSLT) Version 1.0 and the XML Path Language (XPath) Version 1.0.

Release Notes

 Select:   Open Issues   Road Map   Change Log   Popular Issues   Subversion Commits   Releases   Versions   Components   

Subversion Commits

All versions
Select version:
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

Reports

Recently Created Issues Report
Created vs Resolved Issues Report
Resolution Time Report
Average Age Report
Pie Chart Report
Contribution Report
User Workload Report
Version Workload Report
Time Tracking Report
Single Level Group By Report

Preset Filters


Project Summary

Open Open 561
   22%
In Progress In Progress 1
Reopened Reopened 22
   1%
Resolved Resolved 1620
   65%
Closed Closed 304
   12%

Open Issues

By Priority
None 3
   1%
Blocker Blocker 16
   3%
Critical Critical 28
   5%
Major Major 431
   73%
Minor Minor 99
   17%
Trivial Trivial 10
   2%

By Assignee
Arun Yadav 2
Brian Minchau 28
   5%
Christine Li 2
Henry Zongaro 14
   2%
Ilene Seelemann 3
   1%
Joe Kesselman 5
   1%
John Gentilin 4
   1%
Morris Kwan 5
   1%
Myriam Midy 1
Ramesh Mandava 4
   1%
Santiago Pericas-Geertsen 4
   1%
Scott Boag 5
   1%
Todd Miller 1
Xalan Developers Mailing List 168
   29%
Yash Talwar 8
   1%
Unassigned 333
   57%