XSLTC software changes
The following sections list XSLTC changes back to the incorporation of XSLTC into Xalan-Java.
Changes for Xalan-Java 2.7.0
XSLTC source code updates:
-
Committed by
<EMAIL_ADDRESS>on
2004/02/27
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java NodeSortRecordFactory.java SortSettings.java
Committer's log entry: Restored old constructor of NodeSortRecordFactory and _collator field of NodeSortRecord for binary compatibility. These changes allow translets compiled with an earlier version of XSLTC to continue to run with the new version. They should not be used in newly compiled translets or in new code in XSLTC itself.
Also introduced a SortSettings class that is used to bundle sort settings from NodeSortRecordFactory into instances of NodeSortRecord. That reduces some of the space overhead in constructing a NodeSortRecord.
Reviewed by Igor Hersht<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2004/02/27
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Revived ForwardPositionIterator class and BasisLibrary.positionF purely to support backwards compatibility with translets compiled with earlier versions of XSLTC. New code should not reference either.
Reviewed by Christine Li (jycli@ca.ibm.com).
-
Committed by
<EMAIL_ADDRESS>on
2004/03/09
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeCounter.java
Committer's log entry: xsl:number, minor code cleaning and optimization.
-
Committed by
<EMAIL_ADDRESS>on
2004/03/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java
Committer's log entry: Check if the systemId for the stylesheet is null to avoid getting an NPE.
-
Committed by
<EMAIL_ADDRESS>on
2004/03/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java
Committer's log entry: Reverting latest patch by Arun. There are some problems with the new code to invoke functions dynamically (e.g. docbook reports a compile-time type check error). The approach taken to determine when to invoke methods dynamically needs to be revisted.
-
Committed by
<EMAIL_ADDRESS>on
2004/03/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Patch for bug 27417. If an output stream is created by the XSLTC transformer, close it after the transformation.
-
Committed by
<EMAIL_ADDRESS>on
2004/04/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
Committer's log entry: Applying patch for bugs 27932 and 15333.
Code was incorrectly calculating the set of templates to which an xsl:apply-imports instruction applies. It should consider all templates that the current template rule could override, which means that if the template appeared in a stylesheet that was included in another stylesheet, any templates imported into the including stylesheet have to be considered as well. The method Stylesheet.getMinimumDescendantPrecedence is responsible for this calculation.
In addition, when code is generated for an xsl:apply-imports, if any template has local parameters, an empty stack frame has to be pushed before attempting to apply-imports. Otherwise, parameters from the template that contains the apply-imports instruction will be passed into the matching template.
Reviewed by Joanne Tong<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2004/04/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
Committer's log entry: Applying patch for bug 27932.
Code was incorrectly calculating the set of templates to which an xsl:apply-imports instruction applies. It should consider all templates that the current template rule could override, which means that if the template appeared in a stylesheet that was included in another stylesheet, any templates imported into the including stylesheet have to be considered as well. The method Stylesheet.getMinimumDescendantPrecedence is responsible for this calculation.
Reviewed by Joanne Tong<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2004/05/13
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
Committer's log entry: In xsltc currently with the extension redirect the output file is created only if the parent dir exists. Making the behaviour similar to that of xalan wherein the parent directory is also created.
-
Committed by
<EMAIL_ADDRESS>on
2004/05/20
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java
Committer's log entry: Fix for Bugzilla 29120. The translet now stores a reference to the DocumentBuilderFactory which is used by nodeList2Iterator() in the basis library. Note that to reuse that reference you need to use the same transformer (not just the same template).
-
Committed by
<EMAIL_ADDRESS>on
2004/05/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler AttributeValueTemplate.java
Committer's log entry: Implemented a new parser for ATVs. The old was buggy: did not handle escaped curly braces in all cases and did not handled quotes at all. The old parser assumed that braces came in pairs, but it is possible to have an odd number as in "{{{$foo}}}". The new parser seems to handle all cases correctly.
-
Committed by
<EMAIL_ADDRESS>on
2004/05/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralAttribute.java LiteralElement.java Parser.java SyntaxTreeNode.java
Committer's log entry: Modified code to ensure line number information is propagated from parent to children to ensure we get informative error messages. This was particularly bad for errors in ATVs.
-
Committed by
<EMAIL_ADDRESS>on
2004/05/25
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java
Committer's log entry: Improved patch for Bugzilla 29120 based on Matthias' suggestion. A DOMImplementation is now cached for even better performance.
-
Committed by
<EMAIL_ADDRESS>on
2004/05/26
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java Stylesheet.java
Committer's log entry: If the local is set to Turkish, but the codepage is MS-DOS (US) 437. The BCEL InstructionFinder.search(String) method can not find any instructions contain letter I. In Turkish, there are 2 lower case i. Since the search() method is case insensitive, change the pattern string to use lower case.
-
Committed by
<EMAIL_ADDRESS>on
2004/06/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
Committer's log entry: Patch for Bugzilla 29411. New algorithm shoudl optimize the way NS decls are reported for nested literal elements. Note that the algorithm will not work accross non-literal elements. E.g., if there is an xsl:element between two literal elements, the inner literal element may report unnecessary NS delcs. This is just a simple way to ensure that any NS decls defined by the xsl:element instruction are re-defined in the inner literal (see namespace39 in the conf tests).
-
Committed by
<EMAIL_ADDRESS>on
2004/06/11
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java
Committer's log entry: Fixed a problem with peephole optimization patterns. I don't know if something changed in BCEL since the code was written, but the pattern syntax was not correct. I've also added a new common peephole pattern which should reduce then inner loop's length in some Translets.
-
Committed by
<EMAIL_ADDRESS>on
2004/06/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java
Committer's log entry: Fix for Bugzilla Bug 28622.
-
Committed by
<EMAIL_ADDRESS>on
2004/06/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastExpr.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ObjectType.java StringType.java Type.java
Committer's log entry: Patch for Bugzilla 27539 and related problems. The main problem was that hashCode() was not implemented correctly in ObjectType. To eleminate further problems I also removed Type.ObjectString as this type is the same as Type.String and the latter can be used in place of the former.
-
Committed by
<EMAIL_ADDRESS>on
2004/07/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java TransformerImpl.java
Committer's log entry: Description: getNode should return the result DOM tree once TransformerHandler completes the transformation.
-
Committed by
<EMAIL_ADDRESS>on
2004/07/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
Committer's log entry: Description: Patch for the support of extension attribute "intent-amount" for xsl:output. Supports the old URI {http://xml.apache.org/xslt} and new URI{http://xml.apache.org/xalan}.
-
Committed by
<EMAIL_ADDRESS>on
2004/07/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java
Committer's log entry: Description: Patch for concatenating adjacent text nodes.
-
Committed by
<EMAIL_ADDRESS>on
2004/07/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
Committer's log entry: Submitted by: Yash Talwar
Reviewed by: Brian Minchau
Fix for bugzilla 28796.
-
Committed by
<EMAIL_ADDRESS>on
2004/08/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc TransletException.java xml-xalan/java/src/org/apache/xalan/xsltc/cmdline ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/getopt GetOptsException.java IllegalArgumentException.java MissingOptArgException.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler CompilerException.java IllegalCharException.java ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MultiHashtable.java ObjectFactory.java StringStack.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/dom BitArray.java ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/trax ObjectFactory.java TemplatesImpl.java
Committer's log entry: Added serialVersionUID for classes which implement Serializable interface. Patch created by Christine Li<EMAIL_ADDRESS>and was reviewed by Henry Zongaro<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2004/09/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Variable.java
Committer's log entry: Skip translation for any unreferenced variables. Patch reviewed by Christine Li (jycli@ca.ibm.com).
-
Committed by
<EMAIL_ADDRESS>on
2004/11/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java
Committer's log entry: Patch for bug report XALANJ-1994.
The CallTemplate.getCalleeTemplate() method was searching through a Vector of all templates defined by the logical stylesheet, and picked out the first with the same name referenced by the current xsl:call-template instruction. However, that failed to account for import precedence. The SymbolTable.lookupTemplate method takes into account import precedence, and should be used instead.
Patch was reviewed by Christine Li<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2004/12/06
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java Operators.java
Committer's log entry: Patch for XALANJ-2003. Problem was unrelated to recursion, but simply a bug in the basis library. Swapping operands requires swapping operators and the latter was not done. A workaround for this bug would be to swap the operands (and operator) in the stylesheet (as that would not cause any swapping in the basis library).
-
Committed by
<EMAIL_ADDRESS>on
2004/12/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java
Committer's log entry: Patch for XALANJ-2015. Namespace declarations are now reported on a first pass to avoid the problem described in the bug report.
-
Committed by
<EMAIL_ADDRESS>on
2004/12/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java Parser.java SyntaxTreeNode.java
Committer's log entry: Patch for XALANJ-1761. Output properties from multiple xsl:output instructions are now correctly merged (previously, only cdata-section-elements were handled correctly).
-
Committed by
<EMAIL_ADDRESS>on
2004/12/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime Operators.java
Committer's log entry: Replaced meaningless numbers by predefined constants in swapArray[] vector.
-
Committed by
<EMAIL_ADDRESS>on
2004/12/13
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java
Committer's log entry: Fixed XALANJ-1812. Template inlining setting propagated to imported stylesheets.
-
Committed by
<EMAIL_ADDRESS>on
2005/02/04
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Number.java xml-xalan/java/src/org/apache/xalan/xsltc/dom AnyNodeCounter.java MultipleNodeCounter.java NodeCounter.java SingleNodeCounter.java
Committer's log entry: Implement Errata E24 for XSLTC, when the value attribute of xsl:number is NaN, infinite or less than 0.5. More details please refer to bug report XALANJ-1979. Patch is reviewed by Morris Kwan<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2005/02/09
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyImports.java Mode.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ClassGenerator.java
Committer's log entry: Fix for XALANJ-1417.
-
Committed by
<EMAIL_ADDRESS>on
2005/02/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java TestSeq.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java
Committer's log entry: Fix for XALANJ-2058. In the code, the problem is that a pattern gets compiled once, and then this compiled pattern gets re-used whenever the pattern is needed in any method. The fix is that pattern should get compiled once per method. So, pattern get reused only within a given method. for any new method, a pattern is recompiled. This fix has been reviewed by Henry Zongaro. Henry had also provided suggestions about the fix to resolve this issue. Thanks Henry for his valuable input.
-
Committed by
<EMAIL_ADDRESS>on
2005/03/03
Modified: xml-xalan/java/xdocs/sources/xalan readme.xml resources.xml xsltc_usage.xml xml-xalan/java/xdocs/sources/xsltc README.xslt README.xsltc
Committer's log entry: Patch for XALANJ-1937. Change references in the docs from bugzilla to Apache Jira for reporting new issues and checking the status of existing issues.
-
Committed by
<EMAIL_ADDRESS>on
2005/03/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Text.java
Committer's log entry: This is a fix for XALANJ-2081. In class org.apache.xalan.xsltc.compiler.Text, a check was being done to find out if a given text string is all whitespaces. In case, a given text string is all whitespace, a call to serializer is not made. The code was using trim() method from java.lang.String. trim() method trimmed characters as whitespaces that are not considered as whitespace in XML. The code logic is changed to check if a given string is all whitespace accoding to XML specifications. I would like to thank Michael Glavassevich and Brian Minchau for their input to resolve this issue.
-
Committed by
<EMAIL_ADDRESS>on
2005/04/08
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java
Committer's log entry: Clear XML reader for the case in which them main stylesheet is passed using a DOMSource. This fixes the problem of trying to use a DOM2SAX reader for included/imported stylesheets that are resolved by user-defined URI resovers.
-
Committed by
<EMAIL_ADDRESS>on
2005/05/19
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Put in the missing Transformer.reset() implementation when doing the JAXP 1.3 integration.
-
Committed by
<EMAIL_ADDRESS>on
2005/05/20
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java TransformerImpl.java
Committer's log entry: Support DOMResult.nextSibling in XSLTC. The nextSibling information is passed from TransformerImpl to TransletOutputHandlerFactory, then to SAX2DOM. If nextSibling is not null, SAX2DOM inserts the result nodes before it. Otherwise the result nodes are appended as the last children of the parent.
-
Committed by
<EMAIL_ADDRESS>on
2005/05/31
Modified: xml-xalan/java/src/org/apache/xalan Version.java xml-xalan/java/src/org/apache/xalan/processor TransformerFactoryImpl.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMsg.java xml-xalan/java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java TransformerFactoryImpl.java
Committer's log entry: Patch for XALANJ-2123. Move hard-coded messages for JAXP 1.3 into resource bundles.
-
Committed by
<EMAIL_ADDRESS>on
2005/06/08
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java Parser.java TransletOutput.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java TransformerImpl.java TrAXFilter.java Util.java
Committer's log entry: Patch for XALANJ-2136. Implement the secure processing feature for XSLTC. Extension functions and extension elements are disabled when this feature is set to true.
-
Committed by
<EMAIL_ADDRESS>on
2005/06/08
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java
Committer's log entry: Fix for XALANJ-1938.
A KeyIndex object contains a Hashtable mappings from key values to the IntegerArray objects that contain the set of nodes selected by those key values. For a reference to the key function, the lookupKey method finds the nodes selected by a particular key value, and the merge method merges all the nodes selected if more than one key value is specified for the one refernce to the key function.
The problem was that the lookupKey and merge methods operated on the "live" versions of the IntegerArrays stored in the mapping Hashtable, so that one reference to the key function might affect the result of subsequent references to the key function. Changed those methods to make clones of the selected IntegerArray objects, which can be safely modified without affecting the original IntegerArrays.
This patch was reviewed by Joanne Tong (joannet@ca.ibm.com).
-
Committed by
<EMAIL_ADDRESS>on
2005/06/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java
Committer's log entry: Patch for bug XALANJ-2097 from Nick Van den Bleeken. (Nick.VandenBleeken@pandora.be), reviewed by Henry Zongaro.
The code generated for a path expression of the form $var/self::node() was incorrect. It looked like the following, where "i" refers to the context node.
new StepIterator(dtmaxisiterator1.cloneIterator(), new SingletonIterator(i));
That's incorrect, because the SingletonIterator will only return the node used upon its instantiation, rather than the node provided from the parent step expression by the StepIterator.
The SingletonIterator should only be used if the self::node() is not a step in a path expression. In the case of a path expression, dom.getAxisIterator should be used to create the axis iterator instead.
-
Committed by
<EMAIL_ADDRESS>on
2005/06/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler AbsoluteLocationPath.java FilteredAbsoluteLocationPath.java FilterExpr.java FilterParentPath.java FunctionCall.java KeyCall.java ParentLocationPath.java Sort.java Step.java StepPattern.java
Committer's log entry: Patch for XALANJ-2146. Reviewed by Christine Li (jycli@ca.ibm.com).
Section 4.3.4 of the JVM specification prohibits an uninitialized object from appearing on the stack or in a local variable when a backwards branch is executed. We need to guard against that in the generated code in XSLTC by storing arguments to constructors in temporary variables if there's any possibility that the code used to calculate such arguments might contain a backwards branch.
-
Committed by
<EMAIL_ADDRESS>on
2005/07/08
Modified: xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java
Committer's log entry: Added missing apostrophe for error messages. Fixed bug report XALANJ-2167. Patch is reviewed by Sarah McNamara<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2005/07/11
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
Committer's log entry: Fix for bug report XALANJ-2140.
The AbstractTranslet._keyIndexes field is used to record the sets of keys for a particular transformation by name. This table was not cleared at the end of a transformation, so the keys from one transformation persisted to subsequent transformations. Fixed this by adding a try-finally block in the AbstractTranslet.transform method and setting _keyIndexes to null in the finally block.
Reviewed by Brian Minchau (minchau@ca.ibm.com).
-
Committed by
<EMAIL_ADDRESS>on
2005/07/13
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Minor change in the error message, fix was found by Brian Vargas, patch produced and reviewed by Brian Minchau.
-
Committed by
<EMAIL_ADDRESS>on
2005/07/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java
Committer's log entry: Fixing a NPE for when _locator is null in the XSLTC Parser. Applyin the patch in XALANJ-2154 from Brian Minchau, reiwed and approved by Santiago P.G.
-
Committed by
<EMAIL_ADDRESS>on
2005/07/19
Modified: xml-xalan/java/src/org/apache/xalan/processor XSLProcessorVersion.java xml-xalan/java/src/org/apache/xalan/xslt EnvironmentCheck.java xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java XPathResultImpl.java xml-xalan/java/src/org/apache/xml/serializer Version.src xml-xalan/java/xdocs/sources entities.src xalan-jlocal.xml xalan-jsite.xml xml-xalan/java/xdocs/sources/xalan commandline_xsltc.xml commandline.xml downloads.xml extensions.xml extensionslib.xml faq.xml features.xml getstarted.xml index.xml overview.xml public_apis.xml resources.xml samples.xml trax.xml usagepatterns.xml whatsnew.xml xpath_apis.xml xsltc_usage.xml xml-xalan/java/xdocs/sources/xsltc README.xslt README.xsltc
Committer's log entry: Doc changes for Xalan Java 2.7.0 release. This change was reviewed and approved in XALANJ-2170 by Christine Li.
-
Committed by
<EMAIL_ADDRESS>on
2005/07/13
Modified: java/src/org/apache/xalan/xsltc/compiler xpath.lex
Committer's log entry: Patch for XALANJ-1912.
Provided by Santiago Pericas-Geertsen
Reviewed by Yash Talwar.
Changes for Xalan-Java 2.6.0
XSLTC source code updates:
-
Committed by
<EMAIL_ADDRESS>on
2003/10/31
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java
Committer's log entry: Use translet as whitespace filter if it implements the StripFilter interface (This class should probably be deprecated to avoid having to get it in sync with the Process class).
-
Committed by
<EMAIL_ADDRESS>on
2003/10/31
Modified: xml-xalan/java/src/org/apache/xalan/processor StylesheetPIHandler.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Committer's log entry: Patch for Bugzilla 24187 by Bhakti Mehta (Bhakti.Mehta@sun.com).
-
Committed by
<EMAIL_ADDRESS>on
2003/11/04
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Patch for Bugzilla 24188 by Bhakti Mehta (Bhakti.Mehta@sun.com). The runtime now attempts to resolve a reference when the URI resolver returns null.
-
Committed by
<EMAIL_ADDRESS>on
2003/11/05
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Committing patch for Bugzilla 24414 by Bhakti Mehta (Bhakti.Mehta@sun.com).
-
Committed by
<EMAIL_ADDRESS>on
2003/11/11
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Param.java ParameterRef.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java
Committer's log entry: Patch for Bugzilla 24518 by Mehta Bhakti (Mehta.Bhakti@sun.com).
-
Committed by
<EMAIL_ADDRESS>on
2003/11/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java Util.java
Committer's log entry: Patch for Bugzilla 24695 by Bhakti Mehta (Bhakti.Mehta@sun.com).
-
Committed by
<EMAIL_ADDRESS>on
2003/11/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java Util.java
Committer's log entry: Updated patch for Bugzilla 24695 by Bhakti Metha. This patch gets an XMLReader from a SAXParserFactory if unable to obtain one from an XMLReaderFactory.
-
Committed by
<EMAIL_ADDRESS>on
2003/11/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Stylesheet.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java
Committer's log entry: Patch from Morris Kwan (mkwan@ca.ibm.com), reviewed by myself:
Split namesArray in translet into three arrays: namesArray, urisArray and typesArray.
Previously, entries in the namesArray had to be examined at run-time to distinguish those that represented elements, from those that represented attributes (prefixed by an '@'), and those that represented namespace node names (prefixed by a '?'). In addition, any namespace URI for the element or attribute was similarly stored in the namesArray entry. So, "http://example.org:abc" and "http://example.org:@abc" respectively represented an element and an attribute named abc in the http://example.org namespace; "?abc" represented a namespace prefix of abc.
With this change, the namesArray will have entries for "abc" in all three cases; the urisArray will contain entries for "http://example.org" for the element and attribute, and an empty string for the namespace prefix; and the typesArray will contain the value 1 for the element, 2 for the attribute and 13 for the namespace (which correspond to the DTM constant values for those kinds of nodes).
In addition, these values are stored in static arrays in the translet, and references to those arrays are copied to instance fields in the translet's constructor, rather than constructing arrays and initializing all their entries in the constructor each time.
All this serves to reduce the overhead of initializing a transformation.
Patch from myself, reviewed by Morris Kwan:
Introduced a versioning mechanism in AbstractTranslet. After constructing an object of a class that extends AbstractTranslet, the postInitialization method must be called. That method will detect any versioning differences that can be resolved automatically, if a translet was compiled with an older version of the XSLTC than is being used at run-time. The version number is stored in the translet's transletVersion field.
In many cases, incompabilities run up against Java's binary compatibility rules, and fail catastrophically. This versioning mechanism is designed to detect those cases that can't be detected by the JVM. The first use of this mechanism is to translate from the old form of the namesArray used by old translets, to the new form expected by the modified version of the XSLTC run-time, as described above.
In addition, if the translet version detected by the XSLTC run-time is more recent than any supported by the XSLTC run-time, an error will be reported.
-
Committed by
<EMAIL_ADDRESS>on
2003/11/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
Committer's log entry: Patch from myself, reviewed by Morris Kwan (mkwan@ca.ibm.com):
Introduced a versioning mechanism in AbstractTranslet. After constructing an object of a class that extends AbstractTranslet, the postInitialization method must be called. That method will detect any versioning differences that can be resolved automatically, if a translet was compiled with an older version of the XSLTC than is being used at run-time. The version number is stored in the translet's transletVersion field.
In many cases, incompabilities run up against Java's binary compatibility rules, and fail catastrophically. This versioning mechanism is designed to detect those cases that can't be detected by the JVM. The first use of this mechanism is to translate from the old form of the namesArray used by old translets, to the new form expected by the modified version of the XSLTC run-time, as described above.
In addition, if the translet version detected by the XSLTC run-time is more recent than any supported by the XSLTC run-time, an error will be reported.
-
Committed by
<EMAIL_ADDRESS>on
2003/12/04
Modified: xml-xalan/java/src/org/apache/xalan/xsltc DOMEnhancedForDTM.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java DOMAdapter.java DOMWSFilter.java KeyIndex.java LoadDocument.java SAXImpl.java XSLTCDTMManager.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java
Committer's log entry: Changes to permit different DTM implementations to be supplied to XSLTC.
Part of the change was to replace hard-coded references to SAXImpl with references to a new interface - DOMEnhancedForDTM. This part of the change was supplied by Joseph Kesselman (keshlam@us.ibm.com).
The other part of the change was to use ObjectFactory to look up a new XSLTC DTM Manager service provider (org.apache.xalan.xsltc.dom.XSLTCDTMManager). The provider is looked up once when a TransformerFactory is created, and used by any Transformer objects created by that TransformerFactory.
-
Committed by
<EMAIL_ADDRESS>on
2003/12/04
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java TransformerImpl.java
Committer's log entry: Changes to permit different DTM implementations to be supplied to XSLTC.
XSLTC will now use ObjectFactory to look up a new XSLTC DTM Manager service provider (org.apache.xalan.xsltc.dom.XSLTCDTMManager). The provider is looked up once when a TransformerFactory is created, and used by any Transformer objects created by that TransformerFactory.
Also, moved code for caching XMLReader objects from XSLTC's TransformerFactoryImpl to a new org.apache.xml.utils.XMLReaderManager class.
It is now the responsibility of the DTMManagerDefault class to request one of these cached XMLReader objects, so the benefit of reusing an XMLReader is now conferred upon both XSLTC and Xalan-J Interpretive, as well as upon references to the document() function.
-
Committed by
<EMAIL_ADDRESS>on
2003/12/04
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java
Committer's log entry: Added comments to describe the situation in which this iterator is used.
-
Committed by
<EMAIL_ADDRESS>on
2003/12/04
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
Committer's log entry: Creation of translet's class loader should be wrapped in a doPrivileged block (java.lang.RuntimePermission createClassLoader).
-
Committed by
<EMAIL_ADDRESS>on
2003/12/11
Modified: xml-xalan/java/src/org/apache/xalan/lib/sql SQLQueryParser.java xml-xalan/java/src/org/apache/xalan/processor XSLProcessorVersion.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util Util.java xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime Constants.java
Committer's log entry: Adding explicit final keyword to the intended constants which are defined with public static keywords. This will avoid the problem of cross site java sandbox violation. In the case of xsltc/compiler/util/Util.java making the "filesep" variable to private to avoid the chance of somebody else changing the value of this static variable.
-
Committed by
<EMAIL_ADDRESS>on
2003/12/12
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java
Committer's log entry: Take advantage of DTM pluggability support for XSLTC.
-
Committed by
<EMAIL_ADDRESS>on
2003/12/12
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: The getDOM method might be entered more than once during a transformation, so the DTMManager that is created the first time in must be saved so that subsequent DTM's can be created with respect to it, and then discarded at the end of the transformation.
This change restores logic that I had foolishly eliminated with my previous change to this file.
-
Committed by
<EMAIL_ADDRESS>on
2003/12/19
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java BooleanCall.java CastExpr.java CopyOf.java DocumentCall.java EqualityExpr.java Expression.java FilterExpr.java ForEach.java FunctionCall.java Key.java KeyCall.java NameBase.java NumberCall.java RelationalExpr.java StringCall.java VariableBase.java WithParam.java
Committer's log entry: Patch for XSLTC's parameter optimization introduced in 2.5.2. The problem is that a param's default value can now be compiled multiple times, once for every call to the template for which that param is not specified. This essentially turns the AST into a graph, which requires the state of a param subtree to be reset after the each compilation. In particular, the variable Expression._startReset was not reset and this resulted in calls to setStartNode() to be generated only the first time the param's default value was compiled. After some analysis, I realized that _startReset was no longer necessary, so I removed it. I also renamed Expression.startResetIterator() to Expression.startIterator() since calls to reset() are no longer generated within this method.
-
Committed by
<EMAIL_ADDRESS>on
2003/12/19
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Setting the maximum fraction digits on a DecimalFormat object to Integer.MAX_VALUE causes problems in some JDKs. Since only doubles need to be formatted, I've changed the code to set the maximum to 340. I've also optimized formatNumber(), the new version uses setters on the DecimalFormat object instead of calling toPattern().
-
Committed by
<EMAIL_ADDRESS>on
2003/12/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util BooleanType.java IntType.java RealType.java ReferenceType.java StringType.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Type conversions from internal to external Java types revisited: (1) Type.Int and Type.Real are now treated identically given that the former is an optimization for the latter (i.e. their use should be transparent to the user) (2) Better support Type.Reference, conversions to integral types are now supported. There are still some conversions that are supported by Xalan and not by XSLTC. We need to either revisit the conversion table for XSLTC or document the differences.
-
Committed by
<EMAIL_ADDRESS>on
2003/12/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java Param.java ParameterRef.java Template.java VariableBase.java WithParam.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NamedMethodGenerator.java
Committer's log entry: The parameter optimization implemented in 2.5.2 does not work in all cases. The problem (see Bugzilla 25449) is that a param's default value needs to be compiled multiples when there are mulitple calls the a template none of which has a correspoding with-param. However, ASTs store an internal state which is not restored after compilation; consequently, only the first compilation is guaranteed to succeed. Stated differently, the AST cannot be operated as a graph because sub-tree sharing causes problems.
The optimization has now been changed so that a param default value is compiled only once by the callee instead of multiple times by each caller. A caller will now pass 'null' when there is no with-param; a callee will only initialize a param if its value is 'null'. This ensures that default values are compiled exactly once while at the same time preserving the XSLT semantics.
-
Committed by
<EMAIL_ADDRESS>on
2004/01/06
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java
Committer's log entry: SAXImpl.startDocument was calling SAX2DTM.startDocument followed by SAX2DTM.startPrefixMapping for the xml prefix. However, the SAX2DTM.startElement always ensures the xml prefix is declared for the first element. The effect of the startPrefixMapping call was to create two namespace nodes on the first element declaring the xml prefix. This had no discernible consequence, except to throw off the numbering of subsequent nodes with the generate-id() function.
I've eliminated the redundant call to startPrefixMapping, and adjusted the gold test output files for the generate-id function.
Reviewed by Christine Li<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2004/01/13
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java
Committer's log entry: Fix for Bugzilla 25924 by Bhakti Mehta (Bhakti.Mehta@sun.com). Variable _lastNext must be preserved in setMark() and restored in gotoMark().
-
Committed by
<EMAIL_ADDRESS>on
2004/01/14
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java ForEach.java ForwardPositionExpr.java PositionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Committing a patch from Bhakti Mehta (Bhakti.Mehta@sun.com). ForwardPositionIterators and ForwardPositionExprs are not needed anymore after the intergration with DTM. Despite that, ForwardPositionIterators were still being used even though they did not provide any additional functionally (they were basically identity iterators). This patch eliminates the need for these iterators (and the corresponding compile-time expressions) and also replaces calls to BasisLibrary.positionF() with calls to currentIterator.getPosition(). The resulting code should be smaller and faster.
-
Committed by
<EMAIL_ADDRESS>on
2004/01/14
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java
Committer's log entry: Removing unused constant.
-
Committed by
<EMAIL_ADDRESS>on
2004/01/20
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NodeSetType.java ResultTreeType.java
Committer's log entry: XSLT->Java and Java->XSLT conversion table revisited. I made sure that two internal types corresponding to the same XSLT type had identical conversion rules (e.g. IntType and RealType). The multi-step conversions NodeSetType->int and ResultTreeType->double have been eliminated in order to simplify the table (they can always by implemented externally). The resulting conversion table is still not identical to the interpreter (and perhaps it will never be) so it should be documented separately.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/02
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
Committer's log entry: Fix for bugzilla bug report 23046. For included stylesheet, set the _numberFormattingUsed flag to true for its including stylesheet too.
Reviewed by Henry Zongaro<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2004/02/05
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FilterExpr.java Predicate.java Step.java StepPattern.java
Committer's log entry: Patch for Bugzilla 19194. I've made the following changes: (i) re-wrote Predicate.typeCheck() (ii) the predicate optimizations are turned off for FilterExpr, as they don't apply in all cases (iii) sync up Step, StepPattern and FilterExpr to accomodate the new changes. The interaction between these classes is non-trivial, and the code for some optimizations is brittle, to say the least. As part of this patch, I rolled back a patch to FilterExpr and fixed Bugzilla 25783 which wasn't really related despite what the bug report states. For the 2.0 work, it would be nice to place optimization code in separate classes so that it can be easily maintained and also easily deactivated via a command-line flag.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/10
Modified: xml-xalan/java/src/org/apache/xpath/functions FuncRound.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler RoundCall.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Fix for bugzilla bug report 24111. The string values for both positive and nagative zero are 0. However, a number div 0 returns Infinity, a number div -0 returns -Infinity.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/11
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Predicate.java
Committer's log entry: Fix for Bugzilla 24788. NodeValue optimization was too optimistic. Since the value in 'step = value' is not compiled in the predicate's context, it must be limited to expressions that are context independent, but this was not the case as the example in 24788 shows.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/12
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java
Committer's log entry: Committing patch by Bhakti for XSLTC. If attributes are created without an explicit prefix, then NamespaceMappings.generateNextPrefix will be called to generate a prefix. Also if elements are created using createElementNS(null,localname) then they will be serialized properly without being in default namespace.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/13
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: A slightly faster implementation of round function.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Fix a bug introduced during optimizing for the previous code Should check for NaN cases.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/16
Modified: Most files in the Xalan Java cvs repository (too many to list)
Committer's log entry: New Apache 2.0 license update.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/19
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java
Committer's log entry: Fix for Bugzilla Bugs 24793.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/20
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java
Committer's log entry: Fix for the bug in DOM2TO where there was a call to _handler.addAttribute which was moved to the if clause and hence attributes in no namespace were lost when using an identity transformation with DOMSource.
Thanks to Henry Z. for pointing it out and Santiago for reviewing. I have tested it locally. Please let me know if you see any issues with this.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/20
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Fix for bugzilla bug report 26697 XSLTC supports convert a NodeList to an internal DOM iterator. Use setAttributeNS method to copy attribute node when an attribute has a prefix, which maps to a namespace URI
Reviewed by Morris Kwan<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2004/02/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Always use setAttributeNS() method and pass null as its namespace for non-namespaced nodes. Thanks Joe Kesselman for pointing it out.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java FunctionCall.java Param.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ReferenceType.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime CallFunction.java ObjectFactory.java SecuritySupport.java SecuritySupport12.java
Committer's log entry: Description : Adding the basic functionality for resolving external function dynamically. If static resolution fails then Dynamic resolution is used as last resort.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/23
Modified: xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java xml-xalan/java/src/org/apache/xalan/transformer TransformerIdentityImpl.java TransformerImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Patch for Bugzilla Bug 25368 submitted by Joanne Tong.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java VariableBase.java WithParam.java
Committer's log entry: Patch for Bugzilla bug reports 24988 and 25368 from Joanne Tong<EMAIL_ADDRESS>reviewed by myself.
24988: Changes required to test whether an attribute value that is required to be a QName, NCName or whitespace-separated list of QNames actually meets that requirement.
25368: Code was basing variable and parameter names on the local part of the name, rather than including the namespace URI in the name. This resulted in collisions in the generated code between distinct variables that had the same local-name.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Number.java Predicate.java Sort.java Variable.java VariableRef.java
Committer's log entry: Patch for Bugzilla bug report 25368 from Joanne Tong<EMAIL_ADDRESS>reviewed by myself.
Code was basing variable and parameter names on the local part of the name, rather than including the namespace URI in the name. This resulted in collisions in the generated code between distinct variables that had the same local-name.
-
Committed by
<EMAIL_ADDRESS>on
2004/02/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java
Committer's log entry: Part of fix for bug report 24985. The code that resulted for a NodeTest of the form "@p:*" or "attribute::p:*" was identical to that for "@*" - in other words, the prefix was not being tested. Fixed this so that DOM.getNamespaceAxisIterator is used to create the right kind of iterator.
Reviewed by Morris Kwan (mkwan@ca.ibm.com).
-
Committed by
<EMAIL_ADDRESS>on
2004/02/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java
Committer's log entry: Part of fix for bug reports 24985 and 24365.
Moved the NamespaceChildrenIterator and NamespaceAttributeIterator classes into this class from SAX2DTM2, where they can use fields specific to SAXImpl to refer to namespace information.
Also added a new NamespaceWildcardIterator that handles axes other than the child and attribute axes (which are handled by the specific iterators already mentioned).
Reviewed by Morris Kwan (mkwan@ca.ibm.com).
Changes for Xalan-Java 2.5.2
XSLTC source code updates:
-
Committed by
<EMAIL_ADDRESS>on
2003/06/11
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Expression.java
Committer's log entry: Fix for bugzilla 20685. In startResetIterator(), check see if the expression wrapped by the CastExpr is a VariableRef. If so, don't generate a call to setStartNode.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java
Committer's log entry: Fix a minor bug in MultiDOM.addDOMAdapter().
-
Committed by
<EMAIL_ADDRESS>on
2003/06/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc DOMCache.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java LoadDocument.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Patch for bugzilla #15828. Arguments to URIResolver.resolve method for document function, in XSLTC are now href: argument passed to document function base: URI of stylesheet
-
Committed by
<EMAIL_ADDRESS>on
2003/06/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java
Committer's log entry: Putting back LoadDocument.java
-
Committed by
<EMAIL_ADDRESS>on
2003/06/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java
Committer's log entry: Patch for bugzilla #15828. Arguments to URIResolver.resolve method for document function, in XSLTC are now href: argument passed to document function base: URI of stylesheet
-
Committed by
<EMAIL_ADDRESS>on
2003/06/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Putting back TransformerImpl
-
Committed by
<EMAIL_ADDRESS>on
2003/06/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Patch for bugzilla #15828. Arguments to URIResolver.resolve method for document function, in XSLTC are now href: argument passed to document function base: URI of stylesheet
-
Committed by
<EMAIL_ADDRESS>on
2003/06/19
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Committer's log entry: Added SAXTransformerFactory.FEATURE and SAXTransformerFactory.FEATURE_XMLFILTER to the list of features that are implemented. Fix for bug 20795.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler SyntaxTreeNode.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java MultiDOM.java SAXImpl.java SimpleResultTreeImpl.java
Committer's log entry: Performance improvement for XSLTC Don't add a simple or adaptive RTF to the DTMManager if the nodeset extension is not used. The DOMAdapters are also not created in this case. This is a noticeable improvement for stylesheets that use many small RTFs but do not use the nodeset extension.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java Mode.java Param.java Template.java WithParam.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NamedMethodGenerator.java
Committer's log entry: Performance improvement for XSLTC New codegen solution for parameter passing in named templates, which provides significant improvement for stylesheets that use xsl:call-template and xsl:with-param heavily. The old solution generates code to call Translet.addParameter(), which seems to be too expensive. In the new solution, parameters are passed to named templates via method arguments. The method signature for a named template is not fixed. It depends on the number of parameters declared in the template. The caller (xsl:call-template) is responsible for generating the correct parameter list and passes it to the called template. This is done in the CallTemplate class, which finds out the corresponding called template and processes its own xsl:with-param children together with the xsl:params in the called template to generate an effective parameter list. In the case where a xsl:param references another xsl:param, local variables are generated to hold the temporary parameter value.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java
Committer's log entry: Patch for bugzilla #15828.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TrAXFilter.java
Committer's log entry: Add a "public Transformer getTransformer()" method to XSLTC's TrAXFilter class. The Xalan TrAXFilter class already has such an interface.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java XSLTCSource.java
Committer's log entry: Fix for XSLTCSource (see bugzilla 21048).
-
Committed by
<EMAIL_ADDRESS>on
2003/06/24
Modified: xml-xalan/java/xdocs/sources/xsltc xsltc_trax_api.xml
Committer's log entry: Update documentation about how to use XSLTCSource.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/25
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java VariableBase.java xml-xalan/java/src/org/apache/xalan/xsltc/dom CachedNodeListIterator.java ClonedNodeListIterator.java
Committer's log entry: Performance improvement for XSLTC Introduce two new iterators (CachedNodeListIterator and CloneNodeListIterator). They are used by variable/param references that are evaluated to nodesets. CachedNodeListIterator traverses the underlying iterator once and caches the nodes in an IntegerArray. Its clone() method returns an object of CloneNodeListIterator, which also retrieves nodes from the cache. This mostly improves the case where a variable is referenced multiple times in a context. In the old code, the iterator for the variable is traversed as many times as the variable is referenced. Using the cached iterators, the iterator is only traversed once. All later references retrieve nodes from the cache.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/25
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java MultiDOM.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
Committer's log entry: Implement a feature to cache the DTM for the stylesheet in the Templates object. This improves the case where document('') is used. In this case the DTM for the stylesheet is only built once per thread. It can be reused by multiple transformers created by the sample Templates.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/26
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java
Committer's log entry: Patch from Christine Li<EMAIL_ADDRESS>for bugzilla 20913, with modifications. In UnionIterator, after calling the getLast() method, the heap is not restored properly. Recreate the heap in gotoMark(), as well as restore _returnedLast and _heapSize.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java
Committer's log entry: Put back DocumentCache
-
Committed by
<EMAIL_ADDRESS>on
2003/06/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java xml-xalan/java/src/org/apache/xalan/xsltc DOMCache.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java
Committer's log entry: Update the DocumentCache class to be compatible with the DOMCache interface. Although, with the native interface no longer supported, users should not be using the DocumentCache. Instead they should set a URIResolver on the Transformer in order to resolve arguments passed to the document function.
-
Committed by
<EMAIL_ADDRESS>on
2003/06/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java
Committer's log entry: Fix for 3 trax.localPath failures.
-
Committed by
<EMAIL_ADDRESS>on
2003/07/07
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Fix a memory leak problem with the DTMManager.
-
Committed by
<EMAIL_ADDRESS>on
2003/07/08
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java Stylesheet.java Template.java
Committer's log entry: Fix a few conformance regressions introduced by the addParameter optimization work.
-
Committed by
<EMAIL_ADDRESS>on
2003/07/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java
Committer's log entry: Fix for bugzilla 20074. Don't create an IntegerArray of size 0.
-
Committed by
<EMAIL_ADDRESS>on
2003/07/11
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMsg.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java
Committer's log entry: XSLTC: TransformerHandler.setResult should throw an IllegalArgumentException when the result argument is null.
-
Committed by
<EMAIL_ADDRESS>on
2003/07/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java
Committer's log entry: Fix for bug 20256. Remove an unused reference to an inexistent class.
-
Committed by
<EMAIL_ADDRESS>on
2003/07/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java
Committer's log entry: Patch for bugzilla #20537. When URIResolver was set for includes/imports, the system id of the included/imported files was not always set correctly.
-
Committed by
<EMAIL_ADDRESS>on
2003/07/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Predicate.java
Committer's log entry: Applying patch from Igor Hersht<EMAIL_ADDRESS>for Bugzilla bug 18821. At some point in the recent past, Predicate started trying to optimize filter expressions with positional predicates, but the receiving code in FilterExpr was always incorrect. The fixes to FilterExpr and related code aren't so straightforward, so the easiest thing to do for now is to disable the broken optimization for FilterExpr objects.
-
Committed by
<EMAIL_ADDRESS>on
2003/07/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java
Committer's log entry: Applying patch from Igor Hersht<EMAIL_ADDRESS>for Bugzilla bug 18821. Nested iterators in UnionIterator weren't correctly handling multiple calls to setStartNode in generated code. Fixed by ignoring calls after the first.
-
Committed by
<EMAIL_ADDRESS>on
2003/07/25
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
Committer's log entry: Fix for bugzilla 20832. Also fix testcase attribset19.
-
Committed by
<EMAIL_ADDRESS>on
2003/07/25
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
Committer's log entry: Fix for bugzilla 21805.
-
Committed by
<EMAIL_ADDRESS>on
2003/08/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
Committer's log entry: Added code to create static char[] fields in the translet containing the literal text in the source stylesheet. The code generation for xsl:comment and for literal text that constructs text nodes takes advantage of this by using the serializer's comment(char[],int,int) and characters(char[],int,int) methods, respectively, rather than the comment(String) and characters(String) methods. The former pair of methods avoid some potential overhead in the serializer from copying the contents of strings to char[] objects. Code that creates a static initializer method in a translet was written by Morris Kwan (mkwan@ca.ibm.com). Reviewed by Morris Kwan<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2003/08/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Comment.java Constants.java Text.java XSLTC.java
Committer's log entry: Added code to create static char[] fields in the translet containing the literal text in the source stylesheet. The code generation for xsl:comment and for literal text that constructs text nodes takes advantage of this by using the serializer's comment(char[],int,int) and characters(char[],int,int) methods, respectively, rather than the comment(String) and characters(String) methods. The former pair of methods avoid some potential overhead in the serializer from copying the contents of strings to char[] objects. Reviewed by Morris Kwan<EMAIL_ADDRESS>-
Committed by
<EMAIL_ADDRESS>on
2003/08/06
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java
Committer's log entry: Patch from Bruno Dumon<EMAIL_ADDRESS>for bugzilla 20114. When using XSLTC's TemplatesHandler to create templates, errors are never reported; getTemplates() just returns null. Changed behaviour to be inline with Xalan behaviour: stylesheets are compiled in the endDocument() event and a SAXException wrapping the real exception is thrown.
\ -
Committed by
<EMAIL_ADDRESS>on
2003/08/08
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler AttributeSet.java Constants.java UseAttributeSets.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util AttributeSetMethodGenerator.java
Committer's log entry: Patch for Bugzilla Bug 19918
-
Committed by
<EMAIL_ADDRESS>on
2003/08/12
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java
Committer's log entry: Fix bytecode generation problem for extension method calls via interfaces for bugzilla 22115.
-
Committed by
<EMAIL_ADDRESS>on
2003/08/12
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
Committer's log entry: PR: bugzilla 19972 Submitted by: William Lee<EMAIL_ADDRESS>Reviewed by: Brian Minchau and Gordon Chui The code loops over elements in a Vector, incrementing the index j. Some elements should not be processed so they were removed from the Vector. The removal of element "j" shifted all higher elements down and made the Vector 1 shorter. So removal of an element and incrementing "j" actually caused elements to be skipped. It is not quite clear why the element is being removed from the Vector rather than just skipped over. For safety sake an iteration over the loop either removes an element, or increments "j", but not both in the same iteration.
-
Committed by
<EMAIL_ADDRESS>on
2003/08/27
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
Committer's log entry: Applying patch for bug 19973 from Christine Li (jycli@ca.ibm.com). A call to buildKeys (for xsl:key) should be generated before a call to topLevel (to handle top-level variable and parameter declarations) because top-level variables and parameters can contain references to the key() function, but not the other way around.
-
Committed by
<EMAIL_ADDRESS>on
2003/09/05
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler VariableRefBase.java
Committer's log entry: Applied patch for bug 22769 from Christine Li (jycli@ca.ibm.com). If a variable reference occurs inside the definition of another variable, XSLTC adds a dependency link upon the referenced variable to the defined variable. However, if the referenced variable was overrode by another variable definition with higher import precendence, the dependency should be placed on the overriding variable instead.
-
Committed by
<EMAIL_ADDRESS>on
2003/09/09
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java
Committer's log entry: Moved return statements outside of finally block. The compiler correctly points out that when an exception is not caught by a catch, the finally block cannot return normally.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/03
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java
Committer's log entry: Ensure we set a non-empty name for the translet even when one cannot be obtained from the systemId.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/06
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler CallTemplate.java
Committer's log entry: Fixed problem in XSLT parameter optimization. The search for the template being called should start from the top-level stylesheet. The incorrect signature was generated when xsl:template and xsl:call-template were located in different stylesheets.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/06
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
Committer's log entry: (Committing this again to get the log message right! - c.f. revision 1.54) 1. Added Javadoc comments to instance variables. 2. getAllValidTemplates() now caches result in top-level stylesheet. 3. setSystemId() maps a file system path to a URI (if needed).
-
Committed by
<EMAIL_ADDRESS>on
2003/10/06
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java
Committer's log entry: 1. New code to map relative paths to URIs in Include.java and Import.java. 2. If SourceLoader returns null, the JAXP API states that the processor should attempt to resolve the reference. Changed the logic to do this. (1 and 2 should solve some of the problems we have resolving relative paths and also using URI resolvers. More testing is needed, though).
-
Committed by
<EMAIL_ADDRESS>on
2003/10/07
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastCall.java Parser.java xpath.cup
Committer's log entry: Adding a new extension function for XSLTC. Using this extension function, it is possible to recover type information lost by the use of xsl:param (see Bugzilla 19038). Here is an example: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="http://xml.apache.org/xalan/java" xmlns:xsltc="http://xml.apache.org/xalan/xsltc"> <xsl:param name="object"/> <xsl:template match="/"> <xsl:value-of select="java:length(xsltc:cast('java.lang.String', $object))"/> </xsl:template> </xsl:stylesheet> Without using xsltc:cast(), XSLTC will report an error as the type of param 'object' cannot be determined statically. The type of xsltc:cast() is: object[T] cast('T', reference | object[R]) where 'T' indicates that the type of the first argument must be a literal string. A ClassCastException may be thrown at runtime if R is not convertible to T. I believe we still need a fully-dynamic solution that does not rely on this extension function. However, the two solutions can coexists, especially since using xsltc:cast() will always be more efficient than any alternative based on Java reflection.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java SAXImpl.java
Committer's log entry: Patch for Bugzilla Bug 14607
-
Committed by
<EMAIL_ADDRESS>on
2003/10/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java
Committer's log entry: Fix the makeNode and makeNodeList methods in SAXImpl for bugzilla 23115.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Sort.java
Committer's log entry: Apply the patch for bugzilla 23271 from Bruno Fernandez-Ruiz (brunofr@olympum.com).
-
Committed by
<EMAIL_ADDRESS>on
2003/10/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: PR: bugzilla 15901 Submitted by: Brian Minchau Reviewed by: John Meyer (bug reporter) XSLTC now uses properties from the serializer's factory rather than setting its own defaults. This makes XSLTC's default serialializer properties (indentation, entity file ... ) the same as Xalan-J.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java LogicalExpr.java Predicate.java RelationalExpr.java UnaryOpExpr.java
Committer's log entry: PR: bugzilla 15327 Submitted by: Christine Li Reviewed by: Brian Minchau Fix for XSLTC problems with [last()] and [last()-1] predicates.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java Stylesheet.java xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java
Committer's log entry: Replace ad-hoc code to resolve relative URIs by calls to the xml.utils.SystemIDResolver class. This change fixes a few a regressions and also simplifies the code in XSLTC.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastCall.java CastExpr.java FunctionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ObjectType.java StringType.java Type.java
Committer's log entry: Allow conversion between types 'string' and 'object[java.lang.String]'. Conversion is trivial as instances of both types have the same runtime representation. This was needed in order to write expressions such as, string:new(xsltc:cast('java.lang.String', $object)) where 'object' is a param bound to a value of type 'java.lang.String'.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/20
Modified: xml-xalan/java/src/org/apache/xalan/transformer TransformerIdentityImpl.java TransformerImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Patch from Christine Li<EMAIL_ADDRESS>for Bugzilla bug report 22167. When the zero-argument constructor of DOMSource, StreamSource or SAXSource is invoked, and no setter method is called to specify an actual source, the source should be treated as if it contained only a root node.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/20
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java
Committer's log entry: Check for null before setting DTM base URI.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java
Committer's log entry: Fix for regression in Resolve002 TCK.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java UnsupportedElement.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java ErrorMessages.java
Committer's log entry: Apply Joanne Tong<EMAIL_ADDRESS>patch for bugzilla 23706, with my own modifications. I also fixed bug 23896 in the same patch. This patch includes the fixes for the following: 1. an unsupported XSL element will trigger a syntax error in 1.0 mode. 2. In forward-compatibility mode, if an unsupported XSL element is in a template, has no fallback, it will trigger a runtime error if it is instantiated. 3. All fallback children are called in sequence. The old code only makes use of the first fallback child. 4. Only direct fallback children are processed. The old code finds the fallback from all descendants of an unsupported element, which is wrong behavior according to the spec.
-
Committed by
<EMAIL_ADDRESS>on
2003/10/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
Committer's log entry: Committing path for bugzilla 22438 from Bhakti Mehta (Bhakti.Mehta@sun.com). This patch fixes serialization problems of Templates objects in XSLTC. A user-defined URIResolver associated to a Templates object is also serialized whenever possible (i.e. if it is also serializable).
Changes for Xalan-Java 2.5.1
XSLTC source code updates:
-
Committed by
<EMAIL_ADDRESS>on
2003/04/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler DocumentCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java
Committer's log entry: Applying patches from Igor Hersht<EMAIL_ADDRESS>for bug 15200 and bug 18585. Fixed up code that processes the document function when it has two arguments, the second of which must be a node-set; the code didn't always resolve the value of the first argument against the first node in the second argument, as it should have. In addition, in order to simplify run-time processing, added a new LoadDocument.documentF method that is used when the second argument to the XSLT document function is present; if that argument is an empty node-set, the result of the document function should be an empty node-set, and that logic is much easier to code in the run-time than via generated code.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java
Committer's log entry: Set SourceLocator in stylesheet instead of XSLTC object. This ensures proper use of user-defined URIResolvers in a TemplatesHandler.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/24
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java
Committer's log entry: Output properties were not properly cleared when reusing the same instance of a TemplatesHandlerImpl. The top-level stylesheet in the XSLTC object referenced by TemplatesHandlerImpl (indirectly via an instance of Parser) was not reset after the first use of the instance.
-
Committed by
<EMAIL_ADDRESS>on
2003/05/20
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java
Committer's log entry: Fix a multithread safety issue in the use-classpath option. The old code reuses a Translet object for all newTransformer() calls, which is not the right thing to do. We should pass in a Class array and let TemplateImpl create a new Translet instance for each newTransformer() call.
Changes for Xalan-Java 2.5.0
XSLTC source code updates:
-
Committed by
<EMAIL_ADDRESS>on
2003/02/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Message.java
Committer's log entry: New implementation of xsl:message that does not use RTFs. Using RTFs is both slow and problematic since the number of RTFs that can be created is limited in XSLTC. The new implementation uses a StreamXMLOutput and a StringWriter to output the template body as a string (in some cases, NS declarations will be included and this behavior differs from the old implementation). Additionally, the new implementation optimizes the case where the message is empty and where the message is just a literal string. The bug was reported by Mark Brunkhart (mark@matchanalysis.com).
-
Committed by
<EMAIL_ADDRESS>on
2003/02/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java
Committer's log entry: Removed the getTreeString() method from the DOM interface (as well as from all the classes that implement this interface). This update will require a sync with the XSLTC_DTM branch, but there was no point in keeping this method when it's no longer used.
-
Committed by
<EMAIL_ADDRESS>on
2003/02/26
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ReferenceType.java
Committer's log entry: Fix for Bugzilla 17447. Conversion from reference type to string type assumed the existence of the "current" local variable, which is unavailable at top-level.
-
Committed by
<EMAIL_ADDRESS>on
2003/02/26
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java
Committer's log entry: XSLTC_DTM performance work Improvement for xsl:copy-of. Instead of using the expensive getFirstAttribute() and getFirstNamespace() interfaces, increase the element id by 1 to iterate through all attribute and namespace nodes.
-
Committed by
<EMAIL_ADDRESS>on
2003/02/27
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java
Committer's log entry: XSLTC_DTM performance work Minor cleanup to SAXImpl.copy() and copyElement(). Introduce a new interface handleTextEvents() to handle Text nodes more efficiently.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/05
Modified: xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler SyntaxTreeNode.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ResultTreeType.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java xml-xalan/java/src/org/apache/xalan/xsltc/trax XSLTCSource.java
Committer's log entry: XSLTC_DTM performance work Design a new DOM model (SimpleResultTreeImpl) for simple result tree fragment (RTF). A simple RTF is an RTF which has only one Text node. It can be generated by a combination of Text, xsl:value-of and xsl:number instructions. It can also be generated by xsl:if or xsl:choose, as far as the content of the control body is pure Text. The code to detect whether an RTF is simple is in SyntaxTreeNode.isSimpleRTF(). Before this change, an RTF is represented by a SAXImpl object. SAXImpl is a heavy-weight class in that it allocates a lot of array objects for storage. In the case where the RTF is only one Text node, creating a SAXImpl is just too expensive. A SimpleResultTreeImpl has only two nodes, i.e. the root node and the Text node. All DOM interfaces are overridden to handle this simplified model. SimpleResultTreeImpl has a few internal iterators, which is designed to support the nodeset() extension function. This change brings a significant improvement to stylesheets that create a lot of simple RTFs. Some testcases are more than 100% faster after the change.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/05
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom SimpleResultTreeImpl.java
Committer's log entry: Add a new class SimpleResultTreeImpl as the model for simple RTF.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/06
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java NodeSortRecord.java SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamXMLOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java
Committer's log entry: XSLTC_DTM performance work A few small improvements. More space efficient version of IntegerArray.clone(). Rearrange the condition checking in StreamXML(HTML)Output.escapeCharacters(). Only create one default Collator instance in NodeSortRecord.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/07
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java SAXImpl.java
Committer's log entry: XSLTC_DTM performance work Small tweaks in DOMAdapter. Invoking a final method is generally faster than invoking a method via interface.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/07
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java
Committer's log entry: XSLTC_DTM performance work Improvement in StreamOutput.escapeString(). Do not create the StringBuffer if there is nothing to escape. This change needs to be put back to the new serializer if it uses the same code.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/07
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java
Committer's log entry: XSLTC_DTM performance work Use a more sophisticated algorithm in StringValueHandler. Do not create new Strings if there is only String value. Creating many new Strings is an expensive operation.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java
Committer's log entry: Fix a bug that causes id function testcases to fail in trax.sax flavor.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/11
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java
Committer's log entry: XSLTC_DTM performance work Set the namespace feature directly on the XMLReader. SAXParserFactory.setFeature() actually creates a temporary SAXParser to verify that feature. So we end up creating two SAXParsers per document() call in the old code.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/12
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java
Committer's log entry: file AdaptiveResultTreeImpl.java was initially added on branch XSLTC_DTM.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/12
Modified: xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler SyntaxTreeNode.java xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java DOMAdapter.java DOMImpl.java MultiDOM.java SAXImpl.java SimpleResultTreeImpl.java
Committer's log entry: XSLTC_DTM performance work Design a light-weight DOM model (AdaptiveResultTreeImpl) for RTFs with xsl:call-template. AdaptiveResultTreeImpl is a adaptive DOM model for result tree fragments (RTF). It is used in the case where the RTF is likely to be pure text yet it can still be a DOM tree. It is designed for RTFs which have <xsl:call-template> or <xsl:apply-templates> in the contents. Example: <xsl:variable name = "x"> <xsl:call-template name = "test"> <xsl:with-param name="a" select="."/> </xsl:call-template> </xsl:variable> In this example the result produced by <xsl:call-template> is likely to be a single Text node. But it can also be a DOM tree. This kind of RTF cannot be modelled by SimpleResultTreeImpl. AdaptiveResultTreeImpl can be considered as a smart switcher between SimpleResultTreeImpl and SAXImpl. It treats the RTF as simple Text and uses the SimpleResultTreeImpl model at the beginning. However, if it receives a call which indicates that this is a DOM tree (e.g. startElement), it will automatically transform itself into a wrapper around a SAXImpl. In this way we can have a light-weight model when the result only contains simple text, while at the same time it still works when the RTF is a DOM tree. All methods in this class are overridden to delegate the action to the wrapped SAXImpl object if it is non-null, or delegate the action to the SimpleResultTreeImpl if there is no wrapped SAXImpl.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/12
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java
Committer's log entry: XSLTC_DTM performance work Save the DTMManager in a field in MultiDOM. Don't compute it everytime in MultiDOM.getDTMId().
-
Committed by
<EMAIL_ADDRESS>on
2003/03/13
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java
Committer's log entry: Fix a bug which causes the docbook testcase to fail.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/14
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java
Committer's log entry: XSLTC_DTM performance work Improvement in MultiDOM. Make the nodeHandle to DOMAdapter mapping a straight map. The code in getDTMId() is much light-weight than before, because the complicated stuff is moved to addDOMAdapter() which is only called once per DTM. In the case where the DTM id runs across several addressing range (the size of each range is 65536 - an unusal case), there will be several items in the adapter array for one DTM.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java
Committer's log entry: Applying patch for bug 15332 from Igor Hersht (igorh@ca.ibm.com). Ensure that patterns of the form processing-instruction() and processing-instruction('name') are given the right priorities.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java
Committer's log entry: Applying patch for bug 15332 from Igor Hersht (igorh@ca.ibm.com). Ensure that patterns of the form processing-instruction() and processing-instruction('name') are given the right priorities.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java
Committer's log entry: Applying patch for bug 15332 from Igor Hersht (igorh@ca.ibm.com). Ensure that patterns of the form processing-instruction() and processing-instruction('name') are given the right priorities.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/18
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMWSFilter.java KeyIndex.java LoadDocument.java SAXImpl.java XSLTCDTMManager.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java TransformerImpl.java
Committer's log entry: XSLTC_DTM performance work New solution for DOM input. Use SAXImpl + DOM2SAX to handle DOM input. This is the solution used in the old XSLTC. The DOMImpl class is completely deprecated. This solution is better than DOMImpl on top of DOM2DTM for the following reasons: 1. DOM2DTM is known to be slow. 2. DOM2DTM is an incremental model while DOMImpl is not. 3. There are too much code duplication between DOMImpl and SAXImpl Under the new solution, any improvement to SAXImpl and SAX2DTM2 will also benefit the DOM case. There is no need to have separate optimizations for the DOM case. This solution is a little sophisticated than the old XSLTC solution in that we borrow some code from DOM2DTM (e.g. handling for id function and unparsed entity). The end result is that conformance in trax.dom is better than the old XSLTC.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/18
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util VoidType.java
Committer's log entry: Override definition of Type.POP() in VoidType to return NOP instead of POP. If type is void, there's nothing to be popped. This problem shows up when invoking an external Java function whose return type is void.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/19
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java Parser.java SyntaxTreeNode.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages_no.java ErrorMessages.java ErrorMsg.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java ErrorMessages_no.java ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Committer's log entry: Changed XSLTC messages to extend ListResourceBundle, and use String keys to access messages. Code used to extend ResourceBundle and used to use integer indices to access error messages. Changes from myself and Gordon Chiu (grchiu@uwaterloo.ca).
-
Committed by
<EMAIL_ADDRESS>on
2003/03/20
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java Parser.java SyntaxTreeNode.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages_no.java ErrorMessages.java ErrorMsg.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java ErrorMessages_no.java ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Committer's log entry: Changed XSLTC messages to extend ListResourceBundle, and use String keys to access messages. Code used to extend ResourceBundle and used to use integer indices to access error messages. Changes from myself and Gordon Chiu (grchiu@uwaterloo.ca).
-
Committed by
<EMAIL_ADDRESS>on
2003/03/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java Constants.java DecimalFormatting.java
Committer's log entry: The generated code for xsl:decimal-format used the no argument constructor of DecimalFormatSymbols, which is affected by the default locale. The default attribute values for xsl:decimal-format should not be affected by the default locale. Instead, the en_US Locale should be passed to the constructor, as it has settings that are consistent with the defaults for xsl:decimal-format.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java
Committer's log entry: The generated code for xsl:decimal-format used the no argument constructor of DecimalFormatSymbols, which is affected by the default locale. The default attribute values for xsl:decimal-format should not be affected by the default locale. Instead, the en_US Locale should be passed to the constructor, as it has settings that are consistent with the defaults for xsl:decimal-format.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/25
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslAttribute.java
Committer's log entry: Fix for Bugzilla 18162. Warnings are still reported if an occurrence of xsl:attribute *may* result in a runtime error.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/26
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Committing patch by Arun Yadav<EMAIL_ADDRESS>that fixes the problem of using "." or "-" as part of the name of a parameter (Bugzilla 15636).
-
Committed by
<EMAIL_ADDRESS>on
2003/03/26
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler KeyCall.java
Committer's log entry: Committing patch from Arun Yadav<EMAIL_ADDRESS>for Bugzilla 15830. Correct handling for id()/key() values of type result-tree.
-
Committed by
<EMAIL_ADDRESS>on
2003/03/31
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java
Committer's log entry: New implementation for TemplatesHandlerImpl that does not extend xsltc.compiler.Parser. The new implementation has a simpler init() method. Also, instances of the new class can be re-used (previously, there were problems with the output method when an instance was used more than once).
-
Committed by
<EMAIL_ADDRESS>on
2003/03/31
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
Committer's log entry: Remove XSLTC's compile time dependency on Xalan.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java
Committer's log entry: New implementation of TemplatesHandlerImpl. Fixes output method problem when reusing TemplatesHandler instances.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java
Committer's log entry: Merging XSLTC_DTM and common serializer to the head Changes in org.apache.xalan.xsltc.cmdline.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc DOM.java DOMCache.java NodeIterator.java Translet.java TransletOutputHandler.java
Committer's log entry: Merging XSLTC_DTM and common serializer to the head Changes in org.apache.xalan.xsltc. 1. Remove TransletOutputHandler.java 2. Adapt the XSLTC interfaces to the DTM model.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java
Committer's log entry: Merging XSLTC_DTM and common serializer to the head Changes in org.apache.xalan.xsltc.util.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler AbsolutePathPattern.java AncestorPattern.java CastExpr.java Constants.java CopyOf.java DocumentCall.java ForEach.java GenerateIdCall.java IdKeyPattern.java Key.java KeyCall.java Message.java Mode.java NameBase.java NodeTest.java Output.java ParentLocationPath.java Predicate.java ProcessingInstructionPattern.java Step.java StepPattern.java Stylesheet.java SyntaxTreeNode.java UnionPathExpr.java UnparsedEntityUriCall.java ValueOf.java xpath.cup XSLTC.java
Committer's log entry: Merging XSLTC_DTM and common serializer to the head Changes in org.apache.xalan.xsltc.compiler.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java NodeSetType.java ObjectType.java ReferenceType.java ResultTreeType.java TypeCheckError.java
Committer's log entry: Merging XSLTC_DTM and common serializer to the head Changes in org.apache.xalan.xsltc.compiler.util.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java DOM2TO.java SAX2TO.java TemplatesHandlerImpl.java TransformerHandlerImpl.java TransformerImpl.java XSLTCSource.java
Committer's log entry: Merging XSLTC_DTM and common serializer to the head Changes in org.apache.xalan.xsltc.trax.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXHTMLOutput.java SAXOutput.java SAXTextOutput.java SAXXMLOutput.java StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java StreamUnknownOutput.java StreamXMLOutput.java TransletOutputHandlerFactory.java
Committer's log entry: Merging XSLTC_DTM and common serializer to the head Changes in org.apache.xalan.xsltc.runtime.output Remove the output classes in XSLTC. XSLTC now uses the output classes in the common serializer.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java AttributeList.java BasisLibrary.java Constants.java DefaultSAXOutputHandler.java SAXAdapter.java StringValueHandler.java TextOutput.java TransletOutputBase.java
Committer's log entry: Merging XSLTC_DTM and common serializer to the head Changes in org.apache.xalan.xsltc.runtime.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java AdaptiveResultTreeImpl.java AnyNodeCounter.java Axis.java BitArray.java CollatorFactoryBase.java CurrentNodeListFilter.java CurrentNodeListIterator.java DocumentCache.java DOMAdapter.java DOMBuilder.java DOMImpl.java DOMWSFilter.java DTDMonitor.java DupFilterIterator.java EmptyFilter.java ExtendedSAX.java Filter.java FilteredStepIterator.java FilterIterator.java ForwardPositionIterator.java KeyIndex.java LoadDocument.java MatchingIterator.java MultiDOM.java MultipleNodeCounter.java NodeCounter.java NodeIteratorBase.java NodeSortRecord.java NodeSortRecordFactory.java NthIterator.java SAXImpl.java SimpleResultTreeImpl.java SingleNodeCounter.java SingletonIterator.java SortingIterator.java StepIterator.java StripWhitespaceFilter.java UnionIterator.java XSLTCDTMManager.java
Committer's log entry: Merging XSLTC_DTM and common serializer to the head Adapt all dom classes in org.apache.xalan.xsltc.dom to the DTM model. Removed DOMImpl, DTDMonitor. Added a few new classes for the new DOM model. The core DOM class is SAXImpl.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/02
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Committer's log entry: If there is an error listener registered to a TransformerFactory, and the stylesheet cannot be compiled, call fatalError, in addition to throwing the TransformerConfigurationException.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/04
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java
Committer's log entry: According to spec http://www.w3.org/1999/11/REC-xslt-19991116-errata/#E27, when element nodes are used in the instantiated content of attribute, comment and processing instructions, we should ignore the elements together with their content.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/07
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java
Committer's log entry: Need to override more startElement and endElement interfaces in AdaptiveResultTreeImpl, because it now extends EmptySerializer, which has a few more interfaces than the old TransletOutputHandler.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/07
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java SAXImpl.java
Committer's log entry: Fix for a few testcase failures in XSLTC trax.localPath. Detect the backslash ("\") character in the path in addtional to the forward slash ('/') in LoadDocument.document(). The XSLTC conformance result in trax.localPath changed from Pass: 1634/Fail: 14/Errr: 35 to Pass: 1657/Fail: 17/Errr: 9 after this change.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/08
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
Committer's log entry: Fix for bugzilla 17448. Stylesheet.setIncludingStylesheet() should use _includedFrom instead of _importedFrom.
-
Committed by
<EMAIL_ADDRESS>on
2003/04/08
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
Committer's log entry: Fix another problem related to bug 17448. Only set the import precedence of an included stylesheet when it is directly included by this stylesheet. If it is indirectly included via imports, the import precedence will be different.
Changes for Xalan-Java 2.4.1
XSLTC source code updates:
-
Committed by
<EMAIL_ADDRESS>on
2002/08/28
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Keep track of parameters for built-in identity transform (needed for some TCK tests).
-
Committed by
<EMAIL_ADDRESS>on
2002/08/29
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java TrAXFilter.java
Committer's log entry: Fixed XSLTCs implementation of XMLFilter
-
Committed by
<EMAIL_ADDRESS>on
2002/08/29
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TrAXFilter.java
Committer's log entry: added some check for parents of filter chain
-
Committed by
<EMAIL_ADDRESS>on
2002/08/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup
Committer's log entry: Fix for Bugzilla 12125.
-
Committed by
<EMAIL_ADDRESS>on
2002/08/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler EqualityExpr.java RelationalExpr.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: bug 12148 fixed, xpath pred and relational expr
-
Committed by
<EMAIL_ADDRESS>on
2002/09/09
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java
Committer's log entry: Change committed on behalf of Igor Hersht: added -DIAG option similar to that supported by org.apache.xalan.xslt.Process class (for bug 12261). Also (on my own behalf) changed calculation of average transform time and throughput rate for -n option to use floating-point division, rather than integer division; latter yielded meaningless results.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBuffer.java StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java StreamXMLOutput.java StringOutputBuffer.java WriterOutputBuffer.java
Committer's log entry: New buffering system for stream output.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeCounter.java
Committer's log entry: Support for Greek alphabet in xsl:number.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/11
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output WriterOutputBuffer.java
Committer's log entry: Set a larger buffer size for Solaris.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/14
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java SyntaxTreeNode.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ResultTreeType.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java
Committer's log entry: Set different initial sizes for DOMImpl arrays. The new values result in better performance for the average case.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
Committer's log entry: Optimized evaluation of //RelativeLocationPath expressions.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ObjectType.java
Committer's log entry: For XSLTC extension integration. Support creating ObjectType from a Class object. Add an additional field to store the Class.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util BooleanType.java IntType.java NodeSetType.java NodeType.java RealType.java ResultTreeType.java StringType.java
Committer's log entry: For XSLTC extension integration. Add more translation rules required by extensions. Specifically, all types can be translated to a generic Java Object. Numeric types can be translated to their corresponding Java types (e.g. Real to java.lang.Double). Node, NodeSet and ResultTree can be translated to a Java String.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
Committer's log entry: Support the append attribute in the redirect/output extension.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: For XSLTC extension integration. Implement the object-type extension function in the EXSLT commons package. Change the behavior of the nodeList2Iterator interface so that it will do a deep copy on the argument NodeList, i.e. if a Node in the NodeList is an Element, it will not only copy the Node itself, but also copy all children and attributes. This is required to get any extension function that returns a NodeList to work in XSLTC.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler TransletOutput.java
Committer's log entry: Support the append attribute in the output extension element, so that it behavior is more like redirect:write.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java
Committer's log entry: Add a constant string for the redirect namespace.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastExpr.java
Committer's log entry: For extension integration. Allow numeric types to be casted to Object type.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java
Committer's log entry: For extension integration. Add the objectType extension function to the Symbol Table. Maps the redirect:write element to the TransletOutPut class.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup
Committer's log entry: For extension integration. The nodeset extension function can be used as node-set in the http://exslt.org/common namespace.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java
Committer's log entry: Changes for Java extension and EXSLT extension support. For Java extension: - support 3 different namespace formats (Java, class and package). - fix a bunch of type translation problems - fix problems in class/method matching algorithm For EXSLT extension: - support the math, set, strings and datetime extension - support using the nodeset extension in 3 different ways (xsltc, xalan and EXSLT commons) - support the object-type extension in EXSLT commons as a native XSLTC function - Maps the redirect:write element to XSLTC's output element - extension function name translation (e.g. node-set to nodeSet)
-
Committed by
<EMAIL_ADDRESS>on
2002/09/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup
Committer's log entry: Additional optimizations in expansion of '//'.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java
Committer's log entry: Removed "-DIAG" option as it is similar to "-n 1". XSLTC's command line options are single letters, so -DIAG does not really fit in the synopsis. Morris K. is working on an extension for Xalan's Process class to allow the compilation and execution of translets (once that work is completed the -DIAG option will be available for XSLTC too).
-
Committed by
<EMAIL_ADDRESS>on
2002/09/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Compile.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java
Committer's log entry: Change default policy for template inlining.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Committer's log entry: Replaced attribute "disable-inlining" by attribute "enable-inlining".
-
Committed by
<EMAIL_ADDRESS>on
2002/09/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java
Committer's log entry: Lazy computation of mappings and reverse mappings.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java
Committer's log entry: (1) Synchronize access to static variable. (2) Pre-allocate static objects for attribute and element types.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java
Committer's log entry: Changed setting to speed up DOM building process.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Committer's log entry: Return a fresh XMLReader for each call to getXMLReader(). Returning the same instance is incorrect in multi-threaded apps where a single transformer factory is shared by all threads.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2TO.java
Committer's log entry: For Bugzilla 12924. Add handling code for DocumentType Node.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax SAX2DOM.java
Committer's log entry: For Bugzilla 12924. In constructor SAX2DOM(Node), the Node might not always be a Document. Add additional handling code so that SAX2DOM can work with a non-Document root.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/25
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Committer's log entry: Use a thread variable to cache an XMLReader.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/26
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java FunctionCall.java
Committer's log entry: EXtension work. Make function-available work with external Java and EXSLT extension functions.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/26
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java
Committer's log entry: Handle dots in the local part, e.g. xmlns:ext="http://xml.apache.org/xalan/java/java.lang function-available('ext:Thread.currentThread') return true.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/26
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionAvailableCall.java
Committer's log entry: Minor cleanup in class name handling.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/27
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DocumentCache.java DOMImpl.java DTDMonitor.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java TransformerImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/getopt GetOpt.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Include.java TransletOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Committing changes from Gordon Chiu (grchiu@ca.ibm.com), with some tweaks from me, to move some hard-coded XSLTC messages into the compiler and run-time ErrorMessages classes, as appropriate.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/27
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java
Committer's log entry: Committing changes from Gordon Chiu (grchiu@ca.ibm.com), with some tweaks from me, to move some hard-coded XSLTC messages into the compiler and run-time ErrorMessages classes, as appropriate. Also, added copious comments to assist anyone who might translate these resources in the future.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/27
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
Committer's log entry: Removed a duplicate error message number I inadvertently entered.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/27
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: bugzilla 12813 fixed
-
Committed by
<EMAIL_ADDRESS>on
2002/09/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMsg.java
Committer's log entry: Add debug messages for -XX option in the Process command line. These messages tell the user whether they are transforming using XSLTC.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util Util.java
Committer's log entry: Fix problems in the baseName() interface so that it can handle system ids like file:abc.xsl and file:///c:\test\abc.xsl.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java
Committer's log entry: XSLTC support in the Process command line - phase 2 Add two new output types: - BYTEARRAY_AND_FILE_OUTPUT: return a byte array and generate the translet class - BYTEARRAY_AND_JAR_OUTPUT: return a byte array and generate the jar file Add a new compile() interface which accepts the output type as the third parameter. Use different Vectors to store bytecodes and JavaClass objects.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax Util.java
Committer's log entry: Add a wrapper for the noExtName() method in compiler.util.Util. The transformerFactoryImpl class makes use of it.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java
Committer's log entry: The member name _defaultTransletName in TransformerFactoryImpl has been changed to _transletName.
-
Committed by
<EMAIL_ADDRESS>on
2002/09/30
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Committer's log entry: XSLTC support in the Process command line - phase 2 Most of the changes appear in this class. The changes not only allow you to use the new XSLTC options in the Process command line. It also give you the ability to customize the XSLTC behavior using the standard TRAX API. Previously, the XSLTC TRAX API is not aware of translets. You cannot tell it to use translets for do transformations. Now you can customize the XSLTC bevaior using the new attributes. For example, the following code will allow you to use translets for transformations when the translet is newer than the xsl. TransformerFactory tf; tf.setAttribute("auto-translet", "true"); Templates templates = tf.newTemplates(xslSource); The following attributes are added: Attributes Corresponding Process command line options use-translet translet-name -XO destination-directory -XD package-name -XP jar-name -XJ auto-translet -XT Four of the new attributes (translet-name, destination-directory, package-name and jar-name) are transient. They only apply to the next newTemplates() or newTransformer() call. Their values are reset to the default after the call. There is also a makefile like feature when you set the "auto-translet" attribute. It will use the translet to do transformation when the translet is newer than the xsl. If the xsl is modified, it will use the xsl to transform and regenerate the translet. Unlike the XSLTC Transform command line, the new code will NOT use the existing ClassLoader to load the translet or jar file. It directly reads the file content into a byte array. This makes the Process command line capable of loading the translet from any directory the xsl file might be in or any user specified destination directory, without the need on the user to add that directory to the CLASSPATH first.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java
Committer's log entry: Multi-thread protection for the new attributes. The four transient attributes are now stored in ThreadLocal objects to prevent multi-thread contention problems. This ensures that each thread will have a different copy of the attributes and no collision issue will occur.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/01
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
Committer's log entry: Change the four attributes to be instance variables and remove the ThreadLocal protection. TransformerFactory is not guaranteed to be thread-safe. We will leave the synchronization issues up to the user if they want to use one TransformerFactory in multiple threads.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/04
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Param.java
Committer's log entry: The default type of a <xsl:param> should be result tree.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/04
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java
Committer's log entry: Fix a problem in class namespace format and also cleanup the indentation.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/06
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Param.java
Committer's log entry: Set default type of parameters to be reference. The type of a parameter cannot be determined statically in XSLT 1.0.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/08
Modified: xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java Constants.java ForEach.java LastCall.java Parser.java PositionCall.java Step.java xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java CurrentNodeListIterator.java DOMAdapter.java DOMImpl.java DupFilterIterator.java FilteredStepIterator.java FilterIterator.java ForwardPositionIterator.java KeyIndex.java MatchingIterator.java MultiDOM.java NodeIteratorBase.java NthIterator.java ReverseIterator.java StepIterator.java xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java
Committer's log entry: (1) Eliminated the need for a ReverseIterator. (2) Added a ForwardPositionIterator as a temporary solution for some cases. (3) Added several javadoc-type comments. (4) Fixed a number of cloneIterator() implementations that were broken.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/08
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler ForwardPositionExpr.java
Committer's log entry: Expression wrapper to compute positions properly.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/09
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java StreamXMLOutput.java
Committer's log entry: Fix for Bugzilla 13304.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/09
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java
Committer's log entry: bug fix 12644, Santiago found that the clone iterator was doing a shallow copy
-
Committed by
<EMAIL_ADDRESS>on
2002/10/14
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Key.java KeyCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java
Committer's log entry: (1) Fixed some dynamic typing problems with idkeys. Values are now properly converted to strings before they are compared. (2) Eliminated the use of BitArrays in KeyIndex (better space efficiency). (3) All idkey tests now pass with flavor=stream (the 6 failures that are reported are due to the use of a different algorithm to generate ids).
-
Committed by
<EMAIL_ADDRESS>on
2002/10/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java Parser.java
Committer's log entry: bug fix 13550, for multiple <xsl:output> elements, cdata-section-elements attrs are now merged
-
Committed by
<EMAIL_ADDRESS>on
2002/10/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslElement.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: New implementation of xsl:element that properly handles the case where the namespace URI computed at runtime is "". Some of the code implementing the xsl:element instruction has been factored out from the translet into the basis library.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java
Committer's log entry: bug fix 12317, serialization of Templates is fixed
-
Committed by
<EMAIL_ADDRESS>on
2002/10/15
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: A RuntimeException cannot be constructed from a Throwable with JDKs prior to 1.4.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java
Committer's log entry: Clear dom index flag before passing node to DOMAdapter. Bug reported by Prakash Sridharan.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Switch order of calls to startElement() and namespace() in startXslElement().
-
Committed by
<EMAIL_ADDRESS>on
2002/10/18
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java
Committer's log entry: bug fix 12308, typeCheck, nodeset to node optimization is turned off if node has context
-
Committed by
<EMAIL_ADDRESS>on
2002/10/18
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java
Committer's log entry: Added support for all EBCDIC flavors in xsl:output.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java
Committer's log entry: Moved EBCDIC support from Output to StreamOutput to ensure correct serialization of XML header.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler PositionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom CurrentNodeListIterator.java DOMImpl.java FilterIterator.java NthIterator.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Committing patch from Henry Zongaro. This patch moves the logic from XPath's position() function from NodeIterator.getPosition() to BasisLibrary.positionF(). This change simplifies the integration between XSLTC and DTM.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java
Committer's log entry: Adding XSLTC_DTM version of file to branch.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java
Committer's log entry: Whoops! Checked in file on MAIN branch that was meant for XSLTC_DTM branch.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java
Committer's log entry: Adding DTM version of ForwardPositionIterator to XSLTC_DTM branch.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java
Committer's log entry: Aarrrgggghhhhh\!\! Checked in file on MAIN branch that was meant for XSLTC_DTM branch, again\!
-
Committed by
<EMAIL_ADDRESS>on
2002/10/25
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom UnionIterator.java
Committer's log entry: Fix for Bugzilla 13826. A problem in reset() was the cause of duplicate nodes in the resulting nodeset.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/25
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util NodeSetType.java ReferenceType.java ResultTreeType.java
Committer's log entry: Fix for Bugzilla 13850 provided by Morris Kwan. Morris Kwan wrote: Changes in NodeSetType.java: Allow a org.w3c.dom.Node to be converted to a XSLTC internal nodeset Changes in ReferenceType.java: Allow conversions from Reference to Java String, double, w3c Node/NodeList Changes in ResultTreeType.java: The result tree when converted to a nodeset, should contain only one node starting from the root. If you replace <xsl:param> with <xsl:variable> in the attached testcase, you will see a problem in "ext:nodelistTest ($a)/h1/h2" because of this problem. Changes in BasisLibrary.java: Added interfaces referenceToNodeList, referenceToNode and node2Iterator. The changes in copyNodes() fix a problem with the document node. In the case of an RTF, the NodeList passed to nodeList2Iterator() contains only one Node, which is a Document Node. The changes try to create a dummy element for the Document and copy all Nodes under it.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/28
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
Committer's log entry: Fix for Bugzilla 13850 provided by Morris Kwan. Changes in BasisLibrary.java: Added interfaces referenceToNodeList, referenceToNode and node2Iterator. The changes in copyNodes() fix a problem with the document node. In the case of an RTF, the NodeList passed to nodeList2Iterator() contains only one Node, which is a Document Node. The changes try to create a dummy element for the Document and copy all Nodes under it.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/29
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler LocationPathPattern.java Mode.java Step.java StepPattern.java xpath.cup
Committer's log entry: Distinguish between child::node() and attribute::node() both in patterns and expressions. This patch also fixes Bugzilla 11433.
-
Committed by
<EMAIL_ADDRESS>on
2002/10/29
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java
Committer's log entry: Fixed problem in DOMImpl$ChildrenIterator.getLast(). It now returns 0 when the nodeset is empty.
Changes for Xalan-Java 2.4.0
XSLTC source code updates:
-
Committed by
<EMAIL_ADDRESS>on
2002/05/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java
Committer's log entry: added new method 'setDocumentLocator()' to TemplatesHandlerImpl so that SAX parser can inform handler of doc location- thanks to Scott Boag and Shane Curcuru for the insight into this
-
Committed by
<EMAIL_ADDRESS>on
2002/05/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler UnresolvedRef.java
Committer's log entry: Assigned type to _type.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java AttributeSet.java CallTemplate.java DecimalFormatting.java EqualityExpr.java FormatNumberCall.java Key.java KeyCall.java Parser.java QName.java SymbolTable.java Template.java UseAttributeSets.java VariableBase.java xpath.cup
Committer's log entry: Fixed problem with default namespace in XPath expressions and XSLT's named objects (e.g. templates, keys, variables, etc.).
-
Committed by
<EMAIL_ADDRESS>on
2002/05/10
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup
Committer's log entry: Fixed StepPattern production to include named PIs.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/11
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Text.java
Committer's log entry: Optimized calls to setEscaping().
-
Committed by
<EMAIL_ADDRESS>on
2002/05/11
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java
Committer's log entry: Simple code optimizations.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/14
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
Committer's log entry: Replaced Vector by ArrayList (synchronization is not needed here).
-
Committed by
<EMAIL_ADDRESS>on
2002/05/14
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java
Committer's log entry: Fixed looping problem reported by Girish.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/14
Modified: xml-xalan/java/src/org/apache/xalan/xsltc TransletOutputHandler.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Text.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java StringValueHandler.java TextOutput.java TransletOutputBase.java
Committer's log entry: Added characters(String) to TextOutputHandler.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/14
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java
Committer's log entry: avoid printing standalone attr if it is set to 'no'
-
Committed by
<EMAIL_ADDRESS>on
2002/05/14
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Step.java xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java
Committer's log entry: Fix for conf test axes113.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java
Committer's log entry: fixed a regression in output66 test
-
Committed by
<EMAIL_ADDRESS>on
2002/05/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler Text.java
Committer's log entry: Fix for attribset49.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup
Committer's log entry: Fix for axes127.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/16
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
Committer's log entry: Do not add the standalone attribute to the XML header unless requested.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output DOMOutput.java OutputBase.java SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java StreamOutput.java
Committer's log entry: New output handlers.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/17
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java
Committer's log entry: Fix bug in Attr iterator.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/20
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output HtmlOutput.java StreamOutput.java
Committer's log entry: *** empty log message ***
-
Committed by
<EMAIL_ADDRESS>on
2002/05/20
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java
Committer's log entry: updated new code, on-going development
-
Committed by
<EMAIL_ADDRESS>on
2002/05/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java SAXOutput.java SAXXMLOutput.java
Committer's log entry: added new methods, on-going
-
Committed by
<EMAIL_ADDRESS>on
2002/05/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc TransletOutputHandler.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java SAXAdapter.java TransletOutputBase.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output HtmlOutput.java OutputBase.java StreamOutput.java
Committer's log entry: New methods added to the translet output handler.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output HtmlOutput.java StreamHTMLOutput.java
Committer's log entry: Renamed module.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output DOMOutput.java
Committer's log entry: temporarily moved out of the way
-
Committed by
<EMAIL_ADDRESS>on
2002/05/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXOutput.java SAXXMLOutput.java
Committer's log entry: updated namespace support
-
Committed by
<EMAIL_ADDRESS>on
2002/05/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output SAXHTMLOutput.java SAXOutput.java
Committer's log entry: fixed uninitialized stack
-
Committed by
<EMAIL_ADDRESS>on
2002/05/21
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamOutput.java StreamXMLOutput.java
Committer's log entry: *** empty log message ***
-
Committed by
<EMAIL_ADDRESS>on
2002/05/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java
Committer's log entry: Experimental output system.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamXMLOutput.java
Committer's log entry: *** empty log message ***
-
Committed by
<EMAIL_ADDRESS>on
2002/05/22
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output TransletOutputHandlerFactory.java
Committer's log entry: Experimental output system.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/23
Modified: xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java
Committer's log entry: Added "-n" option to Transform.
-
Committed by
<EMAIL_ADDRESS>on
2002/05/23