| <?xml version="1.0" standalone="no"?> |
| <!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"> |
| <s1 title="History of software changes"> |
| <p>The following sections list the core software changes in each release since &xslt4j; version 2.0.D01.</p> |
| &history2xsltc; |
| <s2 title="Changes for &xslt4j; 2.4.1"> |
| <p> Core (Non-XSLTC) source code updates:</p><ul> |
| <li><ref>Committed by </ref>johng@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql DefaultConnectionPool.java<br/><ref>Committer's log entry: </ref> |
| Fixed Class loader Problem. Default Connection now uses context Classloader |
| <br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref> |
| Fixed problem where a query that returned zero rows would incorrectly return a JDBC |
| Exception. Note: This only occurs in streaming mode. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref> |
| Add a convenient interface getStringValue() which returns the |
| string value of a node. It is used by the extension code |
| to get a node value without hacking into the DTM. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates Constants.java<br/><ref>Committer's log entry: </ref> |
| Add strings for new extension namespaces. This includes new EXSLT |
| namespaces (dynamic and strings), namespaces for redirect, PipeDocument |
| and SQL extensions and new namespace for the Java extension. For |
| backward compatibility, the old Java namespace is still kept. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionNamespacesManager.java<br/><ref>Committer's log entry: </ref> |
| Register new extension namespaces, including two new EXSLT namespaces |
| (dynamic and strings), namespaces for redirect, PipeDocument and SQL |
| extensions and the new/old namespaces for Java extension. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref> |
| Reorganize the extension functions for new EXSLT extensions and |
| XSLTC integration. The implementation of some extension functions |
| (intersection, difference, distinct, evaluate and tokenize) are |
| moved to the corresponding EXSLT extension classes. We also put |
| a note to say that using these extension functions in the |
| Xalan namespace is deprecated. The signature of some extension |
| functions are changed to facilitate the XSLTC integration. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltMath.java<br/><ref>Committer's log entry: </ref> |
| The EXSLT math extension was rewritten for XSLTC integration. The |
| signatures of the existing functions (max, min, highest and lowest) |
| are changed. We use NodeList instead of NodeSet and NodeIterator |
| in arguments and return types, because it is the only node list type |
| recognized by XSLTC. We also got rid of the ExpressionContext |
| arguments in these functions. We implemented the toNumber() and toString() |
| interfaces as a replacement. |
| |
| I also implemented all of the remaining math functions in the EXSLT spec, |
| e.g. constant, sin, random. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltSets.java<br/><ref>Committer's log entry: </ref> |
| The signatures of the sets extension functions are changed for |
| XSLTC integration. NodeList is used instead of NodeSet and NodeIterator |
| in arguments and return types. The implementation of intersection, |
| difference and distinct was moved from Extensions.java to this file. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Redirect.java<br/><ref>Committer's log entry: </ref> |
| Add comments for the new namespace (http://xml.apache.org/xalan/redirect). |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib PipeDocument.java<br/><ref>Committer's log entry: </ref> |
| Add comments for the new namespace (http://xml.apache.org/xalan/PipeDocument). |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref> |
| Add comments for the new namespace (http://xml.apache.org/xalan/sql). |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDynamic.java<br/><ref>Committer's log entry: </ref> |
| Add the ExsltDynamic class which implements the EXSLT dynamic |
| extension functions (max, min, sum, map, evaluate and closure). |
| |
| The implementation of evaluate is taken from Extensions.java. |
| The Javadoc is copied from the relevant EXSLT page. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltStrings.java<br/><ref>Committer's log entry: </ref> |
| Implement the EXSLT strings extension functions (align, |
| concat, padding, split and tokenize). The implementation |
| of tokenize is taken from Extensions.java. |
| |
| The Javadoc is copied from the relevant EXSLT page. Three |
| functions (decode-uri, encode-uri and replace) are missing |
| due to ambiguous spec. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes SelfIteratorNoPredicate.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 11809 and 10643. Fix the nextNode() interface so that |
| it returns DTM.NULL if the m_foundLast flag is true. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemExtensionCall.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 11073. Fix an extension namespace problem. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 11743 and 12298. Fix argument handling in |
| extension functions. Arguments now have non-null parents |
| and they will be visited by the XPathVisitor. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/09<br/><ref>Modified: </ref> xml-xalan/java KEYS<br/><ref>Committer's log entry: </ref> |
| I had to get a new key after a hard drive crash. This time, I backed it up! |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref> |
| Copy the LICENSE and README files to the bin directory for the source distribution. |
| These files are needed by the xsltc.jar target. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref> |
| Throw an IllegalArgumentException in the setErrorListener() interface |
| if the error listener is null. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions MethodResolver.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 9731. Convert an empty NodeList to a null Node. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates OutputProperties.java xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 12379. Transformer.setOutputProperties() should throw |
| IllegalArgumentException if the property is invalid. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTAttributeDef.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 12127. Throw a TransformerException if a prefix cannot |
| be resolved to a URI insteading of throwing a NullPointerException. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTAttributeDef.java<br/><ref>Committer's log entry: </ref> |
| Correct a problem in the previous patch. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java<br/><ref>Committer's log entry: </ref> |
| Javadoc correction. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref> |
| Make the tokenize extension function different from the one in the |
| EXSLT strings extension. Reuse the Document object to reduce |
| memory consumption. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltStrings.java<br/><ref>Committer's log entry: </ref> |
| Make the tokenize function conformed with the EXSLT spec. Reuse |
| the Document object to reduce memory usage. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes RTFIterator.java xml-xalan/java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 11341. Let RTFIterator extend NodeSetDTM so that it is the kind |
| of DTMIterator expected by DTMNodeList. This also fixes the problem in |
| testcase JavaBugzilla3722. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorExsltFunction.java XSLTSchema.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 12077. Fixed problem with func:function in included stylesheet. |
| Add exsltFunction to the templateElements list so that we can detect the error where |
| func:function is embedded in another (e.g. xsl:variable) element. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/17<br/><ref>Modified: </ref> xml-xalan/java/bin xml-apis.jar xml-xalan/java/src xml-commons-src.tar.gz<br/><ref>Committer's log entry: </ref> |
| New version of xml-apis.jar taken from xml-commons with tag: |
| factoryfinder-build. It contains the JAXP FactoryFinder patch and some |
| SAX file updates. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref> |
| XSLTC support - phase 1 |
| |
| Add the -XSLTC option to enable transforming using XSLTC |
| |
| The following existing options do not work in XSLTC mode: |
| -TT |
| -TG |
| -TS |
| -TTC |
| -QC |
| -L |
| -INCREMENTAL |
| -NOOPTIMIZE |
| -RL |
| |
| If any of these options is used with -XSLTC, a message is printed |
| and the option is ignored. All other existing options (e.g. -flavor, |
| -text, etc.) can be used with -XSLTC. |
| |
| In phase 2, we are going to migrate the XSLTC specific options in the |
| XSLTC command lines (Compile and Transform) to the Process command line. |
| One of the new features would be generating translet class files from |
| the xsl. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDynamic.java ExsltMath.java ExsltStrings.java<br/><ref>Committer's log entry: </ref> |
| Extension work. A few Javadoc correction. Fix problems in math:max and math:min. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/objects XRTreeFragSelectWrapper.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 6181. Change the execute() interface to return the result |
| of executing the select expression. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/20<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref> |
| Updating to latest xercesImpl.jar, which contains org.w3c.dom.xpath interfaces. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java XPathResultImpl.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Prototype implementation of DOM L3 XPath Specification. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref> |
| Committing Gordon Chiu's (grchiu@ca.ibm.com) patch for bugzilla #6927. |
| <br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml xsltc_usage.xml<br/><ref>Committer's log entry: </ref> |
| compile -n option changed so inlining is now the default |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltBase.java ExsltDynamic.java ExsltMath.java ExsltSets.java ExsltStrings.java<br/><ref>Committer's log entry: </ref> |
| Extension cleanup. |
| Add an ExsltBase class as the super class for other EXSLT implementation |
| classes, so that the toString() and toNumber() interfaces can be easily |
| reused by all the subclasses without duplicating code. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath DOMHelper.java<br/><ref>Committer's log entry: </ref> |
| The isNodeTheSame(node1, node2) interface should return true if node1==node2. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemAttribute.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Patch for bugzilla #10384. There's still a problem with attribseterr08 which |
| is covered in bugzilla #3969. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/dom3/xpath XPathEvaluator.java XPathException.java XPathExpression.java XPathNamespace.java XPathNSResolver.java XPathResult.java<br/><ref>Committer's log entry: </ref> |
| Since Xerces has decided not to build the org.w3c.dom.xpath interfaces into |
| XercesImpl I have created a temporary home for these interfaces, until |
| the specification becomes a recommendation. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java XPathResultImpl.java<br/><ref>Committer's log entry: </ref> |
| Updating import statements to use the interfaces in the temporary org.apache.xalan.dom3.xpath package. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Added some new error message strings. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref> |
| Patch for bugzilla #4344. The testcases, copyerr04-07 were already |
| working correctly in that when an attempt was made to add an attribute |
| after child elements, or before an element was produced, the attribute was |
| ignored. However, Dave M. said that a warning was also needed. So, |
| I have added a warning message for these cases. Also, similar behaviour |
| was being seen for testcases attribset19,35,36 and attribseterr08. This |
| was being handled in ElemAttribute.execute, but I've commented out the |
| code there since it will get caught in ResultTreeHandler.execute in the |
| same place the copyerr tests get handled. |
| |
| The negative testcases, copyerr04-07, attribset08 should be moved |
| to the positive bucket (possibly with a few tweaks) since they all run to |
| completion. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemAttribute.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Patch for bugzilla #4344. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/09/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref> |
| Gordon Chiu's (grchui@ca.ibm.com) patch for bugzilla #8473. Thanks also |
| to Brian Minchau (minchau@ca.ibm.com) for the analysis of this bug. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/functions FunctionMultiArgs.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 7161. Add a public accessor to return the argument array. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java xml-xalan/java/src/org/apache/xalan/extensions ExpressionContext.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 10414. Provide a getErrorListener() interface in the ExpressionContext. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/27<br/><ref>Modified: </ref> xml-xalan/java/samples/AppletXMLtoHTML client.html<br/><ref>Committer's log entry: </ref> |
| For bugzilla 13059. Fix typo width"0" to width="0". |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Messages for new options in the Process command line. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/09/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref> |
| XSLTC support in the Process command line - phase 2 |
| Migrate the options from the XSLTC command line (Compile and Transform) |
| to the Process command line. The following new options are added: |
| |
| -XO [translet_name] (specify translate class name) |
| -XD destination_directory (specify destination directory) |
| -XJ jar_name (put translet into jar file) |
| -XP package_prefix (specify package name prefix) |
| -XN (enable template inlining) |
| -XX (additional debug messages) |
| -XT (use translet to transform if possible) |
| |
| The new options can only be used with the -XSLTC option. The options are |
| passed to XSLTC via the standard TRAX API - TransformerFactory.setAttribute(). |
| Process does not directly communicate with XSLTC. |
| |
| The usage instructions are also re-organized. The options are divided into |
| three categories (command options, Options for Xalan and Options for XSLTC). A |
| pager is used when displaying the usage instructions so that you can see them |
| page by page. |
| <br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/10/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Added and fixed up some additional translation guidelines. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref> |
| Use Vector.elementAt() instead of Vector.get(). The latter is not available |
| in JDK 1.1.8. Add two argument accessor methods for Bugzilla 8939. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates Constants.java ElemTemplateElement.java output_html.properties output_text.properties output_xml.properties OutputProperties.java<br/><ref>Committer's log entry: </ref> |
| Use one namespace for all extensions (Bugzilla 9959) |
| Use the new namespace uri "http://xml.apache.org/xalan" instead of |
| "http://xml.apache.org/xslt" for xsl:output extension attributes. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorLRE.java XSLTElementDef.java XSLTSchema.java<br/><ref>Committer's log entry: </ref> |
| Use one namespace for all extensions (Bugzilla 9959) |
| Use the new namespace uri "http://xml.apache.org/xalan" for |
| the component and script extension elements. We maintain |
| backward compatibility so that using the old uri |
| "http://xml.apache.org/xslt" still works. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandlerJavaPackage.java<br/><ref>Committer's log entry: </ref> |
| Minor Javadoc update to use the new namespace uri. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/03<br/><ref>Modified: </ref> xml-xalan/java/samples/extensions 1-redir.xsl 2-basicJscript.xsl 3-java-namespace.xsl 4-numlistJava.xsl 5-numlistJscript.xsl 6-sqllib-instantdb.xsl<br/><ref>Committer's log entry: </ref> |
| Update the extension samples to use the new namespace. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltMath.java<br/><ref>Committer's log entry: </ref> |
| Minor fix for math:max(). |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor StylesheetHandler.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 13106. Visit the XPath expressions created for match patterns. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes DescendantIterator.java UnionPathIterator.java WalkerFactory.java xml-xalan/java/src/org/apache/xpath/compiler Compiler.java Lexer.java OpMap.java XPathParser.java<br/><ref>Committer's log entry: </ref> |
| Patch for bugzilla #5046. |
| |
| The token queue and operations map can now grow to accomodate really |
| large XPath expressions. Starting sizes of the data structures remain set |
| at the size in the current code. |
| |
| I created new classes org.apache.xml.utils.ObjectVector (based on org.apache.xml.utils.IntVector) |
| and org.apache.xpath.compiler.OpMapVector to store the token queue |
| and operations map. |
| |
| This patch is essentially a stop gap until the new parser (xslt20 branch) is integrated. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils ObjectVector.java xml-xalan/java/src/org/apache/xpath/compiler OpMapVector.java<br/><ref>Committer's log entry: </ref> |
| Patch for bugzilla #5046. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/compiler OpMap.java<br/><ref>Committer's log entry: </ref> |
| Cleaning up import statements. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils IntStack.java IntVector.java ObjectStack.java ObjectVector.java xml-xalan/java/src/org/apache/xalan/templates ElemApplyTemplates.java ElemForEach.java xml-xalan/java/src/org/apache/xalan/transformer StackGuard.java TransformerImpl.java TransformSnapshotImpl.java xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref> |
| Commiting Gordon Chiu's (grchiu@ca.ibm.com) patch for bugzilla#8175. |
| |
| IntStack's and ObjectStack's are now used in place of fixed length arrays, so that users |
| should not run into limitations based on array sizes. The initial size of the arrays has |
| been set to current array sizes, so the user's experience should not change much, except |
| in the cases where they were running into the size limitation. |
| |
| No performance analysis has been done to determine an optimal initial |
| size for the stacks. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref> |
| Committing Igor Hersht's (igorh@ca.ibm.com) patch for bugzilla #10176. |
| |
| Also, removing testcase position102 from the excludes list for the smoketest |
| since it now runs. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref> |
| Patch for bugzilla #13305. Moved initalization code into a static initializer. |
| |
| TransformerFactory.newInstance() can now be called safely from multiple |
| threads. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/19<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref> |
| Updating to XercesJ 2.2.0. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref ExpandedNameTable.java<br/><ref>Committer's log entry: </ref> |
| Committing Pavel Ausianik's (Pavel_Ausianik@epam.com) patch for bugzilla #12687. |
| |
| Reduce memory allocation on initialization of ExpandedNameTable. |
| |
| m_locNamesPool and m_namespaceNames and code that uses them has |
| been commented out. Some initialization now done in static initializer. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref> |
| Committing Gordon Chiu's (grchiu@ca.ibm.com) modified patch of Pavel Ausianik's (Pavel_Ausianik@epam.com) |
| patch for bugzilla #12486. |
| |
| Method XPathContext.reset() was creating many new instances of java objects, |
| causing unnecessary memory allocations, instead of reusing previously created |
| objects. |
| |
| |
| m_locNamesPool and m_namespaceNames and code that uses them has |
| been commented out. Some initialization now done in static initializer. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java Encodings.properties<br/><ref>Committer's log entry: </ref> |
| Committing Gordon Chiu's (grchiu@ca.ibm.com) patch for bugzilla #13754. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/dom3/xpath COPYRIGHT.html<br/><ref>Committer's log entry: </ref> |
| Copying the copyright statement for the DOM L3 XPath API interfaces into |
| the temporary package (org.apache.xalan.dom3.xpath) which contains |
| the interfaces until they become a recommendation. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorExsltFunction.java<br/><ref>Committer's log entry: </ref> |
| For bugzilla 13711 |
| Fix the conditions for validating the child elements of func:function. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer KeyTable.java xml-xalan/java/src/org/apache/xpath/axes NodeSequence.java<br/><ref>Committer's log entry: </ref> |
| Committing urban.spielmann@swisslife.ch (Urban Spielmann)'s patch for bugzilla #11661. |
| |
| After the Redundant Expression Elimination merge, the key cache had |
| not yet been replaced. This patch puts back the key cache, which |
| gives xsl:key much better performance. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemExtensionCall.java<br/><ref>Committer's log entry: </ref> |
| For bugzilla 7357 |
| Fix problems in exception handling for extension elements. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/23<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref> |
| Patch for bugzilla #13863. |
| |
| Moved setting the namespaceContext from the TransformerImpl constructor to |
| the transform method. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPath.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Move a hardcoded string into the properties file. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandlerJavaClass.java ExtensionHandlerJavaPackage.java<br/><ref>Committer's log entry: </ref> |
| For bugzilla 13944. Check for InvocationTargetException in Method.invoke(). |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 13303. |
| Fix Memory leak in XPathContext.popRTFContext(). |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref> |
| Backing out patch for bugzilla #13863. It causes a bunch of failures in |
| the trax.sax flavour. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan extensions.xml extensionslib.xml samples.xml<br/><ref>Committer's log entry: </ref> |
| Update the extensions documentation. |
| Use the new namespaces in documents and examples. Update EXSLT development |
| status. Modify setup instructions for SQL samples. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/xdocs xml-site-style.tar.gz xml-xalan/java/xdocs/sources/xalan faq.xml resources.xml<br/><ref>Committer's log entry: </ref> |
| For Bugzilla 14022 |
| Commit Gordon Chiu's update to the FAQ. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/dom3/xpath COPYRIGHT.html XPathEvaluator.java XPathException.java XPathExpression.java XPathNamespace.java XPathNSResolver.java XPathResult.java xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java XPathResultImpl.java<br/><ref>Committer's log entry: </ref> |
| Removed the temporary org.apache.xalan.dom3.xpath package. |
| |
| Updated the org.w3c.dom.xpath interfaces. |
| |
| Changed dependencies to org.w3c.dom.xpath interfaces in the implementation |
| classes in org.apache.xalan.xpath.domapi. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref> |
| Build org.w3c.xpath.dom interfaces into xalan.jar. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref> |
| Patch from Gordon Chiu. Replace stack.clear() calls with stack.removeAllElements() |
| to be compatible with JDK1.1.8. |
| <br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>2002/10/28<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref> |
| Support compiling under JDK 1.2 - 1.4. Also check for compatability with target JDK 1.1.x. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/domapi XPathNamespaceImpl.java XPathResultImpl.java<br/><ref>Committer's log entry: </ref> |
| Somewhat rough implementation of XPathNamespace. |
| <br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/bin ant.jar<br/><ref>Committer's log entry: </ref> |
| Upgrade to Ant 1.5.1. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/10/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltBase.java ExsltStrings.java xml-xalan/java/src/org/apache/xalan/lib/sql DefaultConnectionPool.java<br/><ref>Committer's log entry: </ref> |
| Fix JDK 1.1.8 compatibility problems. |
| Replace methods calls that are only in Java2 by JDK 1.1 equivalents. |
| For DefaultConnectionPool.java, use reflection mechanism to invoke |
| Thread.getContextClassLoader() instead of hard-coded invocation. |
| <br/><br/></li></ul> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.4.0"> |
| <p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize SerializerToText.java<br/><ref>Committer's log entry: </ref> |
| Bugzilla 8358 -- bad method signature. I've created a new method |
| with the correct signature. The old one may or may not be entirely |
| superfluous, but I don't want to muck with it right now. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources entities.ent xalan-jsite.xml<br/><ref>Committer's log entry: </ref> |
| Updated Xalan version to 2.3.2 and Xerces to 2.0.1. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_usage.xml<br/><ref>Committer's log entry: </ref> |
| Added classpath information pertaining to xercesImpl.jar and xml-apis.jar. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources entities.ent<br/><ref>Committer's log entry: </ref> |
| Added pointer to xml-apis.jar MANIFEST for version information. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan history.xml readme.xml xsltc_history.xml<br/><ref>Committer's log entry: </ref> |
| Updates for next version (release notes to history) |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan extensionslib.xml<br/><ref>Committer's log entry: </ref> |
| Added info on Xalan implementation of EXSLT common, math, |
| and set extensions, and ongoing work on the function and result |
| elements and datetime extensions. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan index.xml<br/><ref>Committer's log entry: </ref> |
| Added support for EXSLT extensions. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref> |
| Fix for Bugzilla entries |
| 6833 |
| 7023 |
| 7123 |
| 7410 |
| |
| Basic summary of logic error: It is possible for multiple RTF DTMs |
| to be pushed onto the stack between the start of a template and |
| return from it. I hadn't anticipated that, so my pop logic was |
| inadequate. |
| |
| I'm still not 110% sure I understand the case where this situation |
| arises... I have a general intuition that it makes sense, but also a |
| suspicion that there might be a way to avoid creating one of these |
| DTMs. We should review that someday. |
| |
| Meanwhile, this fixes a whole batch of related bugs. |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref ExpandedNameTable.java<br/><ref>Committer's log entry: </ref> |
| Performance improvement. Instead of looping through the ExtendedType objects, use a hashtable and go directly to the correct object. |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java Encodings.properties<br/><ref>Committer's log entry: </ref> |
| Bugzilla 6356: Add support for "windows-1251" and use a properties file to store all the supported encodings. Patch from Sergey Ushakov. |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref ExpandedNameTable.java<br/><ref>Committer's log entry: </ref> |
| Add basic DOM nodetypes to our hashtable of extended type IDs |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/05/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLMessages.java XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xslt Process.java xml-xalan/java/src/org/apache/xml/utils/res XResourceBundle.java XResourceBundleBase.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResourceBundle.java XPATHErrorResources_en.java XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Use PropertyResourceBundle instead of ListResourceBundle, and put error |
| messages into property files, for easier localization. |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes WalkerFactory.java<br/><ref>Committer's log entry: </ref> |
| In mightBeProximate, there was a bug that assumed a variable would not be |
| be a numeric result. It is now fixed to assume a number may be a number, which |
| may cause a small performance penalty. In the future, it should be possible to |
| chase this down a bit more to rule out more variables as non-numbers. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPath.java<br/><ref>Committer's log entry: </ref> |
| Bugzilla 7157. Updated Javadoc comment to note that the XPath.installFunction() method currently does not |
| use the name parameter. |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/compiler Compiler.java xml-xalan/java/src/org/apache/xpath/functions FuncLast.java FuncPosition.java Function.java<br/><ref>Committer's log entry: </ref> |
| Bugzilla6284: New function added to position() and last() that will help us determine whether we are executing a top-level expression and therefore, not inside a predicate |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLMessages.java XSLTErrorResources.java xml-xalan/java/src/org/apache/xalan/templates ElemTemplateElement.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java<br/><ref>Committer's log entry: </ref> |
| Add a null constructor for resource files and fix XSLMessages to use the correct error resource file |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/13<br/><ref>Modified: </ref> xml-xalan/java/src/META-INF/services org.apache.xml.dtm.DTMManager xml-xalan/java/src/org/apache/xml/dtm DTMManager.java<br/><ref>Committer's log entry: </ref> |
| Add meta file for DTMManager factory and make sure it is read as UTF-8 |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/objects XNodeSetForDOM.java<br/><ref>Committer's log entry: </ref> |
| m_last was not being set correctly. See comments. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemVariable.java<br/><ref>Committer's log entry: </ref> |
| Bugzilla 7118: Variable set via RTF may have |
| local variables within it; need to push a new |
| context. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemTemplateElement.java<br/><ref>Committer's log entry: </ref> |
| Missing safety net, mostly needed during stylesheet construction. |
| |
| We really should change TransformerImpl to set parent _before_ |
| starting to setPropertiesFromAttributes, so the error conditions |
| which might cause this test to be needed don't arise. Among other |
| things, that would produce more useful diagnostic messages. |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseTraversers.java<br/><ref>Committer's log entry: </ref> |
| Bugzilla 8894: DescendantForRoot traversers needed to implement their own version of first(int, int) so that their context would be from the root. |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes NodeSequence.java<br/><ref>Committer's log entry: </ref> |
| Fix for NullPointerException in SQL extension stuff. Just check for a NULL iterator... |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref> |
| Bugzilla 8324. This should have been checked into the main branch. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemTemplateElement.java<br/><ref>Committer's log entry: </ref> |
| Dumb of me -- fixed one edge case and created another, because |
| I forgot about subclassing Sigh. This version protects against both. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref> |
| Fix for new tests Variable71 and Variable72. |
| |
| When we went to the shared RTF DTMs, we forgot to update |
| PreceedingIterator to reflect the fact that the root of a DTM tree |
| may no longer have 0 as its internal Node Identifier. This change |
| corrects that situation, and does so without imposing a lot of |
| computational overhead since we need to scan the ancestors |
| anyway. |
| |
| There appear to be similar hazards in some of the Traversers, |
| still to be dealt with. Coming up with testcases which will provoke |
| those bugs (and confirm that we've fixed them) is likely to be |
| harder than writing the fix itself... |
| <br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/05/17<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml<br/><ref>Committer's log entry: </ref> |
| section on problems was way out of date. Also incorporated material from JAXP 1.2 release notes |
| <br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/05/17<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_usage.xml<br/><ref>Committer's log entry: </ref> |
| updated command option usuage. Some options have been added. |
| <br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/17<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_usage.xml<br/><ref>Committer's log entry: </ref> |
| Updated first three sections. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemVariable.java<br/><ref>Committer's log entry: </ref> |
| Bugzilla 7118 REVERT -- This fix was provoking bug 9195, which |
| is more severe. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref> |
| Obvious mistake, apparently in a corner our regression tests missed. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/05/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2RTFDTM.java<br/><ref>Committer's log entry: </ref> |
| Root node is not always 0 in an RTFDTM |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/05/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLMessages.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xslt Process.java xml-xalan/java/src/org/apache/xpath/functions FuncPosition.java<br/><ref>Committer's log entry: </ref> |
| Fixed hard coded string for timing diagnostics. |
| <br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2002/05/31<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref> |
| Prevent an external DTD from being inlined when using the built-in |
| identity transform. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorFuncResult.java ProcessorFunction.java ProcessorOutputElem.java ProcessorResultDocument.java XSLTSchema.java<br/><ref>Committer's log entry: </ref> |
| XSLT 2.0: stylesheet function, result-document, and |
| principal-result-document. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/06/04<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref> |
| Xalan3 branch: Check in temporary version of Xerces. This predates |
| the most recent changes to Xerces, and supports the older "light |
| weight" PSVI APIs. Current Xerces has replaced those with a heavier |
| version, but in the process lost the derivedFrom() method which |
| we need; when they restore that functionality, we'll cut over. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/05<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java<br/><ref>Committer's log entry: </ref> |
| Core EXSLT dates-and-times functions. |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemVariable.java XUnresolvedVariable.java<br/><ref>Committer's log entry: </ref> |
| Fix bug 7118. In XUnresolvedVariable, treat the RTF variable much more like |
| a template that has to count it's variables at compose-time, and link and unlink |
| when the lazy variable is resolved. |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib/sql DefaultConnectionPool.java xml-xalan/java/src/org/apache/xalan/processor TransformerFactoryImpl.java xml-xalan/java/src/org/apache/xalan/res XSLMessages.java XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/templates RedundentExprEliminator.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseTraversers.java xml-xalan/java/src/org/apache/xml/utils ListingErrorHandler.java xml-xalan/java/src/org/apache/xml/utils/synthetic JavaUtils.java xml-xalan/java/src/org/apache/xpath VariableStack.java xml-xalan/java/src/org/apache/xpath/functions FuncConcat.java Function.java Function2Args.java Function3Args.java FunctionOneArg.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Integrated some removal of hard-coded error messages. |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref> |
| Add resets for m_contextNodeLists, etc. It might be possible that these are |
| redundent with the same thing being done somewhere else, but given |
| http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6021 I suspect |
| that this really does need to be done here. It would explain any problems |
| that might have been reported after an exception has been thrown, and |
| the Transformer is being reused. |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemApplyTemplates.java ElemTemplate.java xml-xalan/java/src/org/apache/xalan/transformer StackGuard.java TransformerImpl.java xml-xalan/java/src/org/apache/xml/utils URI.java<br/><ref>Committer's log entry: </ref> |
| Add back a certain amount of StackGuard functionality. Instead of checking |
| counts where both the node and the xsl:template are the same... (we would |
| really need also to check that parameters are the same), just check for recursion |
| of templates. We can make it fancier over time to also check for same params, |
| but checking of the current node may be harder. I was only able to set the |
| recursion limit to about 475 before I would get stack overflow errors anyway. |
| I also did some stuff where the error messages should be more consistent by |
| making sure some of the arrays are reset in XPathContex, which may address |
| some of the inconsistency problems that Christina reported. |
| may address part of the problem that Christina was having. |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/transformer StackGuard.java<br/><ref>Committer's log entry: </ref> |
| Moved hard coded strings for StackGuard error message to properties file. |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Fix bug for optionV. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExpressionContext.java ExpressionVisitor.java ExtensionHandlerExsltFunction.java ExtensionNamespacesManager.java ExtensionNamespaceSupport.java ExtensionsTable.java xml-xalan/java/src/org/apache/xalan/processor ProcessorExsltFuncResult.java ProcessorExsltFunction.java StylesheetHandler.java XSLTSchema.java xml-xalan/java/src/org/apache/xalan/templates Constants.java ElemExsltFuncResult.java ElemExsltFunction.java ElemExtensionCall.java ElemExtensionDecl.java StylesheetRoot.java xml-xalan/java/src/org/apache/xalan/transformer TransformerImpl.java xml-xalan/java/src/org/apache/xpath ExtensionsProvider.java XPathContext.java xml-xalan/java/src/org/apache/xpath/functions FuncExtElementAvailable.java FuncExtFunction.java FuncExtFunctionAvailable.java<br/><ref>Committer's log entry: </ref> |
| Updates to Xalan extensions: (1) EXLST function and (2) architectural modifications. |
| This is a merge of the ExtensionEnhancements branch into Main. |
| |
| 1. EXSLT function |
| We are well underway in our progress towards providing support for EXSLT extension functionss and elements. The EXSLT function and result elements (see http://www.exslt.org/func/func.html) require some fairly substantial additions. |
| XSLTSchema includes new XSLTElementDefs for a top-level exslt:function element, which, along with other items, may contain an exslt:result element. These definitions specify a new element class and processor for both of these elements, and a new extension handler. I have tested the implementation with the 6 test cases that EXSLT provides (including recursive calls), and it passes these tests. |
| Note: These additions/updates also provide the infrastructure for the XSLT 2.0 stylesheet function. |
| 2. Architectural changes |
| During styesheet composition, Stylesheet Root assembles a vector of ExtensionNamespaceSupport objects. This object contains the information required during a transform to instantiate the required ExtensionHandler. If the stylesheet includes no extensions, this vector is null. I.e., it does not include handlers for the default extension namespaces (of which there are currently 7, and which the Xalan currently loads for each transformation). |
| The presence of an extension is detected as follows: |
| Compilation of an expression that contains a FuncExtFunction. StylesheetHandler.createXPath() uses an XPathVisitor to locate any FuncExtFunctions embedded in the expression. |
| Final composition of a component element -- ElemExtensionDecl.compose(). |
| Final composition of an extension component for which no component exsits -- ElemExtensionCall.compose(). |
| Final composition of an exslt:function element -- ElemFunction.compose(). |
| During StylesheetRoot.recompose(), any extension namespaces that are not predefined and for which no component or function element exists, are defined as java class (if a java class is found) or java package. In the current implementation, this last stab is made during the transformation, repeatedly if the element or function cannot be processed and is called more than once. |
| At the beginning of each transformation -- transformNode() -- if any extensions exist, TransformerImpl instantiates an ExtensionsTable with a hashtable containing an ExtensionHandler for each of the ExtensionNamespaceSupport objects defined during stylesheet assembly. XPathContext no longer creates or has any direct knowledge of the ExtensionsTable. The ExtensionsTable does not contain handlers for predefined namespaces that are not being used. |
| TransformerImpl implements the org.apache.xpath.ExtensionsProvider interface. The relevant XPath functions (FuncExtFunction, FuncExtElememntAvailable, and FuncExtFunctionAvailable) call this interface, via XPathContext.getOwnerObject(). The implementation contains 3 methods that call through to the ExtensionsTable, which passes the call on to the appropriate ExtensionHandler.. |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java<br/><ref>Committer's log entry: </ref> |
| Use ContextClassLoader - Use full Encoding file package name - Merge new patch from Sergey Ushakov |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates FuncDocument.java FuncFormatNumb.java xml-xalan/java/src/org/apache/xpath/functions FuncConcat.java FuncExtFunction.java FuncSubstring.java Function.java Function2Args.java Function3Args.java FunctionDef1Arg.java FunctionMultiArgs.java FunctionOneArg.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Patch submitted by Henry_Zongaro@us.ibm.com: |
| |
| To summarize what I did, the Function class and its subclasses have two |
| methods that check the number of arguments: setArg and |
| checkNumberArgs. The former checks whether too many arguments are |
| specified, and the latter checks for too few (or too many, redundantly). |
| |
| In the case where there are optional arguments (as in substring), the class |
| for the function (FuncSubstring, in this case) derives from a class that has a |
| fixed number of arguments (Func3Arguments, in this case). If too few |
| arguments are specified, the FuncSubstring.checkNumberArgs method |
| reports that the function only allows 2 or 3 arguments; if too many arguments |
| are specified, the Function3Arguments.setArg method reports that the |
| function only allows 3 arguments. |
| |
| To fix the problem, I added reportWrongNumberArgs() methods to the |
| Function class and to its subclasses, as appropriate, and I added code to |
| call that from checkNumberArgs and setArg - that way, the correct number |
| of arguments is always reported in the error messages. |
| |
| Alternatively, I could have changed the setArg method in all the classes that |
| have optional arguments to report correctly the number of arguments, but I |
| didn't like the idea of having it redundantly perform the same check that the |
| setArg method of its base class was going to perform just to get a better |
| message out. A third possibility would be to have setArg call the |
| checkNumberArgs method when it detects too many arguments are |
| specified; that would guarantee that setArg would report the same message, |
| and avoid introducing a new method, as long as checkNumberArgs always |
| checks for both too few and for too many arguments. A fourth possibility |
| would be to report two different errors: the minimum number of arguments |
| required in checkNumberArgs and the maximum permitted in setArg. |
| |
| I also noticed that the message produced for FuncSubstring when too few |
| arguments are specified actually indicates that 0 or 1 arguments are required, |
| so I fixed the XPATHErrorResources.properties file. |
| |
| I don't see the NPE that Dave Marston mentions in Bugzilla, so I assume |
| that's been fixed. |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor StylesheetHandler.java xml-xalan/java/src/org/apache/xalan/templates ElemNumber.java ElemTemplateElement.java xml-xalan/java/src/org/apache/xml/utils PrefixResolver.java PrefixResolverDefault.java xml-xalan/java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref> |
| Patch submitted by Ilene_Seelemann@us.ibm.com for Bug 6798: |
| |
| Added a method (handlesNullPrefixes) to the PrefixResolver interface so |
| that the resolver can indicate whether it supports null prefixes. Then, in the |
| tokenizer, if the prefix is null, and the resolver supports that, it continues |
| processing as if the prefix had a value. In Lexer.java, methods that have |
| changed are: tokenize, mapNSTokens. |
| |
| In ElemNumber#getCountMatchPattern, pass MyPrefixResolver instance to default |
| psuedo match patterns. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan history.xml readme.xml xsltc_constraints.xml xsltc_history.xml<br/><ref>Committer's log entry: </ref> |
| Moved 2.3.2 core and xsltc updates into the history files. |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/bin xercesImpl.jar<br/><ref>Committer's log entry: </ref> |
| xercesImpl.jar from Xerces-J-bin.2.0.1.zip (for upcoming Xalan-J 2.4.D1) |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/src MANIFEST.MF<br/><ref>Committer's log entry: </ref> |
| Update xerces.jar to be xercesImpl.jar; this should have been |
| done quite a while ago. Note the Class-Path: entry needs review |
| in general at some point. |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan builds.xml<br/><ref>Committer's log entry: </ref> |
| Brief documentation about developer standards and official build processes |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources xalan-jlocal.xml<br/><ref>Committer's log entry: </ref> |
| Add builds.xml; perhaps should also be added to xalan-jsite.xml as well |
| <br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>2002/06/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemNumber.java xml-xalan/java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref> |
| From Ilene Seelemann: |
| Added the following in blue to line 395 of Lexer.java |
| |
| if ((-1 != posOfNSSep) || |
| ((m_namespaceContext != null) && (m_namespaceContext.handlesNullPrefixes()))) |
| |
| I'm also including ElemNumber.java which really doesn't need to |
| explicitly state that it implements PrefixResolver. |
| Without these updates everything does run fine. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan readme.xml xsltc_constraints.xml<br/><ref>Committer's log entry: </ref> |
| updates for developer's release. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources entities.ent xalan-jsite.xml xml-xalan/java/xdocs/sources/xalan history.xml index.xml readme.xml resources.xml xml-xalan/java KEYS<br/><ref>Committer's log entry: </ref> |
| Patches for developer's release from Sarah McNamara. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref> |
| Updated version # for developer's release. |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref> |
| Update .jar file sizes for 2.4.D1 release |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan resources.xml<br/><ref>Committer's log entry: </ref> |
| Remove extraneous slash char on path |
| Submitted by: mcnamara@ca.ibm.com |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref> |
| Fix Bugzilla #9137; don't toLowerCase() the filename (not really needed anymore); |
| remove line for xalan.jar for 2_4_D1 because .jar build size is not determinate |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/13<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan extensionslib.xml<br/><ref>Committer's log entry: </ref> |
| Add pointers to info on new EXSLT extensions. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionNamespacesManager.java<br/><ref>Committer's log entry: </ref> |
| Changed Vector.get(int) to Vector.elementAt(int) to maintain |
| compability with Java 1.1.8. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java<br/><ref>Committer's log entry: </ref> |
| Modified leap-year functions to use arithmetic logic rather than relying |
| on a Calendar method that doesn't exist in Java 1.1.8. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes RTFIterator.java xml-xalan/java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref> |
| Added RTFIterator (extends OneStepIteratorForward); |
| created fromRTFFragment so EXSLT object-type function |
| can identify an RTF with certainty. |
| <br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>2002/06/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltCommon.java<br/><ref>Committer's log entry: </ref> |
| Removed duplicate implementation of several EXSLT "Set" |
| functions. |
| <br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/bin jtidy.LICENSE.txt jtidy.README.txt Tidy.jar<br/><ref>Committer's log entry: </ref> |
| adding Jtidy for use with test harness to parse html |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils Hashtree2Node.java<br/><ref>Committer's log entry: </ref> |
| Simplistic static utility to convert a Hashtable of items (either |
| Hashtables or anything else cast to (String)) into an Element tree |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref> |
| Update checkEnvironment to attempt to call org.apache.env.Which first |
| by using reflection; Which provides better output data than |
| EnvironmentCheck. If reflection doesn't work, then we |
| fallback to EnvironmentCheck as before. |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan faq.xml<br/><ref>Committer's log entry: </ref> |
| Add doc about calling checkEnvironment as a stylesheet extension |
| <br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>2002/06/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref> |
| bug fix for bugzilla 9572, fix by Pavani.Mukthipudi@sun.com |
| <br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>2002/06/26<br/><ref>Modified: </ref> xml-xalan/java build.xml<br/><ref>Committer's log entry: </ref> |
| Update docs.class.path to include XSLTC-dependent jars |
| Submitted by: Henri Gomez hgomez@slib.fr |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Add error resources pulled out from code |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Add error resources pulled out from code |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/compiler Compiler.java OpMap.java<br/><ref>Committer's log entry: </ref> |
| Pull out hard coded messages |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/compiler XPathParser.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Bugzilla 5016: Patch from Henry Zongaro... Fix XPATHParser.java to prevent matching empty RelativeLocationPath and Step expressions, prevent a LocationPath from preceding a Predicate in a FilterExpr, check for valid NameTest in NodeTest() |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/06/28<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Fix typo. |
| <br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/06/29<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml<br/><ref>Committer's log entry: </ref> |
| fix typo in SmartTransormerFactoryImpl pointed out by Tobias McNulty |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/07/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemNumber.java<br/><ref>Committer's log entry: </ref> |
| Bug6268. Patch from Ilene Seelemann. Fix Grouping separator. If no grouping separator is specified but a gouping size is, number is not formatted. If grouping separator is "", warning is issued and number is not formatted. If grouping separator is more than one character, warning is issued and number is not formatted. |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/07/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor StylesheetHandler.java XSLTAttributeDef.java xml-xalan/java/src/org/apache/xml/utils DefaultErrorHandler.java<br/><ref>Committer's log entry: </ref> |
| resource error messages |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/07/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTAttributeDef.java XSLTElementProcessor.java XSLTSchema.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/templates AVT.java Constants.java ElemAttribute.java ElemElement.java ElemNumber.java ElemPI.java xml-xalan/java/src/org/apache/xml/utils QName.java StringToIntTable.java xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java XPATHErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Bugzilla 5013: Validation of QName attribute values. The patch will also fix the missing validation described in bugs 792 and 793 |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/07/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils XMLChar.java<br/><ref>Committer's log entry: </ref> |
| Bugzilla 5013: Validation of QName attribute values. The patch will also fix the missing validation described in bugs 792 and 793 |
| <br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>2002/07/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref> |
| bugzilla 9575: Fix AncestorIterator counting root node twice. Patch from Henry Zongaro. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/07/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils DOMBuilder.java<br/><ref>Committer's log entry: </ref> |
| <Blush> |
| |
| This was still trying to switch between setAttribute() and |
| setAttributeNS(). Correct usage of DOM Level 2 would be to |
| always use setAttributeNS(), and simply set a null URI when the |
| node is not namespaced. (Basically, the L1 versions of |
| createElement, createAttribute, setAttribute and setAttributeNode |
| should be considered deprecated with the sole exception of |
| manipulating a DOM intended to be viewed *only* as Level 1.) |
| |
| I could swear we fixed this a VERY long time ago... |
| Good catch, thanks for calling it to our attention. |
| |
| </Blush> |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref> |
| Morris Kwan's patch for bugzilla#10306 |
| |
| The problem is that the namespace declaration is not added to the attributes if there are other leading attributes. There is a check for whether the namespace |
| has already been added. That check is commented out because multiple namespace declarations can exist in one element. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates RedundentExprEliminator.java<br/><ref>Committer's log entry: </ref> |
| Applied patch from Morris Kwan for bugzilla #9753. |
| |
| The bug addresses the problem that there is a build error with Xalan under JDK 1.4, because one of the classes uses assert() as method name. |
| And assert is a keyword in JDK 1.4. The patch just changes the word "assert" to "assertion". |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTSchema.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/templates ElemPI.java xml-xalan/java/src/org/apache/xml/utils QName.java<br/><ref>Committer's log entry: </ref> |
| Remaining updates for Bugzilla#5013. |
| |
| Some attributes that should have been handled as errors were getting |
| handled as warnings. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/24<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemApplyTemplates.java ElemForEach.java<br/><ref>Committer's log entry: </ref> |
| Check that recursionLimit is not negative before calling checkForInfinateLoop. |
| <br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/07/25<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml<br/><ref>Committer's log entry: </ref> |
| fix typo, java for Java in doc on xsltc and external java functions |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java<br/><ref>Committer's log entry: </ref> |
| Applying patch for bug#10839. |
| |
| Try/catch block needed around System.getProperty call. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor XSLTAttributeDef.java XSLTSchema.java<br/><ref>Committer's log entry: </ref> |
| Applying Paul Brown's patch for bug#6972. |
| |
| xsl:output cdata-section-elements attribute was not handled correctly. |
| <br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/07/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes SingletonIterator.java<br/><ref>Committer's log entry: </ref> |
| file SingletonIterator.java was initially added on branch XSLTC_DTM. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/lib ExsltCommon.java ExsltMath.java ExsltSets.java Extensions.java<br/><ref>Committer's log entry: </ref> |
| Committed patch for bugzilla#10323 (incorrect Javadoc |
| in the extension code.) |
| Submitted by Morris Kwan (mkwan@ca.ibm.com) |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandlerJavaClass.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties<br/><ref>Committer's log entry: </ref> |
| Committed patch for bugzilla#10914 |
| ( Need better error message for redirect select errors) |
| Submitted by Morris Kwan (mkwan@ca.ibm.com) |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/07/29<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref> |
| Patch for bugzilla #9146 |
| |
| NullPointerException when attempting to build a stylesheet from |
| a DOM Element instead of a Document node. |
| <br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/07/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref> |
| Applying patches for Morris Kwan for bug 10519. Changed condition in absoluteURI method to handle the case where the URI is the root of a file system - e.g., / or c:\ |
| <br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/07/30<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/processor ProcessorInclude.java<br/><ref>Committer's log entry: </ref> |
| Applying patches for Morris Kwan for bug 10519. In parse method, if SystemId of the returned DOMSource object is null, systemID is resolved using href. |
| <br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>2002/08/02<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml<br/><ref>Committer's log entry: </ref> |
| changed verbage to agree with new support of constructors and nonstatic external java functions |
| <br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2002/08/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref> |
| Applying patch for Bug 9683 for Morris Kwan. If XRTreeFrag is constructed |
| without respect to an XPathContext, the object() method should defer to the |
| parent class's object() method to convert the fragment to the appropriate |
| representation. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/09<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates ElemValueOf.java<br/><ref>Committer's log entry: </ref> |
| Patch for bugzilla #6071. Specifically, this patch allows line numbers to |
| be reported when errors are discovered at runtime in a value-of attribute. |
| (See idkeyerr10.) |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/08/14<br/><ref>Modified: </ref> xml-xalan/java/src MANIFEST.MF<br/><ref>Committer's log entry: </ref> |
| For Bug#6547. Remove reference to old jar files. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/15<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/templates FuncKey.java xml-xalan/java/src/org/apache/xalan/transformer KeyTable.java<br/><ref>Committer's log entry: </ref> |
| Patch for bug: "The key() function throws an exception when called in the context of a |
| local variable." reported on xalan-dev. |
| |
| Modified FuncKey.execute to use getDocumentRoot instead of getDocument. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/08/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath/axes BasicTestIterator.java<br/><ref>Committer's log entry: </ref> |
| For Bug#11123. Fix infinite loop in union expression. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/08/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandlerJavaClass.java<br/><ref>Committer's log entry: </ref> |
| For bug#7776. Fix argument passing problem for Java extension. |
| <br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2002/08/16<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/trace PrintTraceListener.java<br/><ref>Committer's log entry: </ref> |
| See bug#10945. Test if a node is a DTMNodeProxy before casting. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseTraversers.java<br/><ref>Committer's log entry: </ref> |
| Patch for bugzilla#11834. Replaced calls to DTM.getDocument with get |
| DTM.getDocumentRoot. |
| <br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>2002/08/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/transformer ClonerToResultTree.java<br/><ref>Committer's log entry: </ref> |
| James Riordan's bug -- Attributes on elements returned from |
| extensions were not being processed successfully. Turns out |
| our copying logic had a minor sequencing error. |
| |
| I don't see anything similar listed in Bugzilla. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/bin xml-apis.jar<br/><ref>Committer's log entry: </ref> |
| Replacing xml-apis.jar with the version from the RIVERCOURT1 branch |
| of xml-commons. The xml-commons-1.0.b2 version does not pass |
| the TCK 1.1 or the TCK 1.2. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan builds.xml<br/><ref>Committer's log entry: </ref> |
| Small updates to the build documentation. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref> |
| Updating version numbers to 2.4.0 for new release. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java build.xml xml-xalan/java/src/org/apache/xalan/processor XSLProcessorVersion.java xml-xalan/java/xdocs/sources entities.ent xalan-jsite.xml<br/><ref>Committer's log entry: </ref> |
| Updating version numbers to 2.4.0 for new release. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java commits.xml<br/><ref>Committer's log entry: </ref> |
| New commits.xml for upcoming Xalan 2.4.0 release. |
| <br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2002/08/27<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan history.xml xsltc_history.xml<br/><ref>Committer's log entry: </ref> |
| New history.xml, xsltc_history.xml for upcoming Xalan 2.4.0 release. |
| <br/><br/></li></ul> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.3.1"> |
| <p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Make synchronized to address potential reentrancy issue in |
| XRTreeFrag.finalize(), as discussed in the Javadoc. This may |
| solve several outstanding bug reports regarding reuse of |
| Transformers and cache suppression in for-each.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>Well, _that_ was dumb... Forgot one "don't dereference if null" test.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref>Just comment<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>We weren't handling the case where no default-value handling was specified. |
| This didn't generally bother us because XSLT never produces an element |
| declaration as output... but it did affect TransformerIdentityImpl when the |
| source document had an internal subset. |
| |
| See xalan-j-users archives, under subject |
| "Differences between explicit and implicit parsing for docs with DTDs?"<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java |
| java/src/org/apache/xalan/templates ElemVariable.java |
| java/src/org/apache/xalan/transformer TransformerImpl.java |
| java/src/org/apache/xml/dtm/ref DTMManagerDefault.java |
| java/src/org/apache/xpath VariableStack.java |
| XPathContext.java<br/><ref>Committer's log entry: </ref>Variable64-66 and a number of variable-related Bugzilla reports: Global |
| variables may have their resolution deferred. This was causing their |
| content to be placed on the normal variable stack, where it could be |
| popped off (arggh) and later overwritten (double arggh). This change |
| gives them an independent storage space which is not subject to |
| those risks. |
| |
| While I was at it, I've also made the VariableStack class a trifle more |
| self-documenting by giving some of the fields more meaningful names.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils IntStack.java<br/><ref>Committer's log entry: </ref>Bugzilla 6854: Return the stack exception, as documented.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/12/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>Bugzilla 6156 reopened: Same symptom, different disease -- rather than |
| a late finalizer, we simply forgot to reset one field between invocations.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/19/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref TestDTM.java<br/><ref>Committer's log entry: </ref>Replace old version, which was specific to particular implentations of |
| DTM, with one which is specific only to DTMManagerDefault and which |
| can be generalized more easily to conduct other tests.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/19/2002<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref TestDTMNodes.java<br/><ref>Committer's log entry: </ref>No longer in service. |
| |
| This supported the old version of TestDTM. New version has |
| a node-dumper as an internal subroutine. (If we're going to do |
| a display method for other debugging purposes, it should be |
| both applicable to all DTMs and -- probably -- built into the |
| DTM system.)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/20/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref TestDTM.java<br/><ref>Committer's log entry: </ref>Add Apache header, remove import of discarded TestDTMNode. |
| At some point, we should consider moving this class to the tests |
| directory.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/21/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>Properly catch exception from CharInfo constructor, and try again.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/21/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Put extra check for getAbsoluteURI(String urlString, String base) for absolute |
| file paths with no protocol... I think one of the last check-in's wiped this |
| out. |
| So now, if the path is the form of "x:/x" or "/x" then "file:///" is added to |
| it. |
| I don't see how this can screw anything up... but I'm sure it will.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/21/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>Merge from redundent expression elemination branch.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/21/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java |
| java/src/org/apache/xalan/lib/sql DTMDocument.java |
| java/src/org/apache/xalan/processor ProcessorKey.java |
| ProcessorPreserveSpace.java |
| ProcessorStripSpace.java StylesheetHandler.java |
| XSLTAttributeDef.java XSLTElementProcessor.java |
| java/src/org/apache/xalan/templates AVT.java AVTPart.java |
| AVTPartSimple.java AVTPartXPath.java |
| ElemApplyTemplates.java ElemAttribute.java |
| ElemCallTemplate.java ElemChoose.java |
| ElemCopyOf.java ElemElement.java |
| ElemExtensionCall.java ElemForEach.java ElemIf.java |
| ElemLiteralResult.java ElemNumber.java |
| ElemTemplateElement.java ElemValueOf.java |
| ElemVariable.java ElemWhen.java ElemWithParam.java |
| FuncDocument.java FuncKey.java Stylesheet.java |
| WhiteSpaceInfo.java |
| java/src/org/apache/xalan/trace TraceManager.java |
| java/src/org/apache/xalan/transformer KeyIterator.java |
| KeyManager.java KeyRefIterator.java KeyTable.java |
| NodeSorter.java ResultTreeHandler.java |
| TransformerHandlerImpl.java |
| java/src/org/apache/xml/utils NodeVector.java |
| java/src/org/apache/xpath Expression.java VariableStack.java |
| XPath.java |
| java/src/org/apache/xpath/axes AttributeIterator.java |
| AxesWalker.java ChildIterator.java |
| ChildTestIterator.java DescendantIterator.java |
| FilterExprWalker.java IteratorPool.java |
| LocPathIterator.java MatchPatternIterator.java |
| OneStepIterator.java OneStepIteratorForward.java |
| PredicatedNodeTest.java ReverseAxesWalker.java |
| SelfIteratorNoPredicate.java UnionPathIterator.java |
| WalkerFactory.java WalkingIterator.java |
| WalkingIteratorSorted.java |
| java/src/org/apache/xpath/compiler Compiler.java |
| java/src/org/apache/xpath/functions FuncBoolean.java |
| FuncCount.java FuncExtFunction.java Function.java |
| Function2Args.java Function3Args.java |
| FunctionMultiArgs.java FunctionOneArg.java |
| java/src/org/apache/xpath/objects XBoolean.java |
| XNodeSet.java XNodeSetForDOM.java XNumber.java |
| XObject.java XRTreeFrag.java |
| XRTreeFragSelectWrapper.java XString.java |
| XStringForFSB.java |
| java/src/org/apache/xpath/operations Bool.java Equals.java |
| Operation.java UnaryOperation.java Variable.java |
| java/src/org/apache/xpath/patterns FunctionPattern.java |
| NodeTest.java StepPattern.java UnionPattern.java<br/><ref>Added: </ref>java/src/org/apache/xalan/processor WhitespaceInfoPaths.java |
| java/src/org/apache/xalan/templates AbsPathChecker.java |
| ElemVariablePsuedo.java |
| RedundentExprEliminator.java VarNameCollector.java |
| XSLTVisitable.java XSLTVisitor.java |
| XUnresolvedVariableSimple.java |
| java/src/org/apache/xpath ExpressionNode.java |
| ExpressionOwner.java XPathVisitable.java |
| XPathVisitor.java |
| java/src/org/apache/xpath/axes BasicTestIterator.java |
| FilterExprIterator.java |
| FilterExprIteratorSimple.java |
| HasPositionalPredChecker.java NodeSequence.java |
| PathComponent.java UnionChildIterator.java |
| java/src/org/apache/xpath/operations VariableSafeAbsRef.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/transformer KeyWalker.java<br/><ref>Committer's log entry: </ref>Redundent Expression Elimination branch merge. |
| |
| Major architectural changes |
| 1) Rip out cacheing in all iterators, and move the caching into XNodeSet |
| (actually NodeSequence where the caching is done derives from XObject and |
| XNodeSet derives from NodeSequence).Lots of other changes went into this, |
| including rewriting of some of the xsl:key stuff. |
| |
| 2) Implementation of a Visitor mechanism for the stylesheet and xpath |
| components.Each component for an XPath event is passed an ExpressionOwner, |
| which just has a getExpression and setExpression method, which allows us to |
| create a list of these, and then be able to do rewrites.This should be a |
| generally useful mechanism for all sorts of stuff, and should be considered a |
| public API. |
| |
| 3) Implementation of deepEquality methods for all XPath components, which |
| allows us to see if two components are equal. |
| |
| 4) Implementation of RedundentExprEliminator, which is a derivative from the |
| new XSLTVisitor class, which runs over the stylesheet collecting xpaths within |
| the same scope, and absolute xpaths that are not context dependent.These are |
| then each reduced by walking the list and checking for deep equality (though |
| global paths are always reduced).Reduction takes place by creating variables |
| that have a special namespace and a non-legal local name.Both full and partial |
| path reduction done. |
| |
| Not done yet: Add back in the xsl:key caching that I ripped out (not a big |
| deal).Could be skipped, with some risk. |
| |
| Not done yet: Implement isLast function.With the new stuff, the last() |
| function will be slower, so, since most cases are just checking to see if an |
| item is the last, I want to rewrite foo[last()] patterns to |
| foo[xalan:isLast()].Could be skipped, with some risk. |
| |
| Davanum performance test result: 4x increase in performance. |
| |
| Datapower performance suite results: very slight decrease in overall |
| performance.:-( |
| |
| Smoke test results: All clear when run with Xerces 1.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath DOMHelper.java<br/><ref>Committer's log entry: </ref>The Node identity test in isNodeAfter() |
| (ie., node1 == node2) does not work in some cases, |
| so I added a routine to use DTMNodeProxy equals() |
| if that test fails. |
| This was required to support the new EXSLT |
| leading() and trailing() extension functions.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions ExtensionsTable.java |
| MethodResolver.java<br/><ref>Committer's log entry: </ref>1. Registered the EXSLT 'common', 'sets', and 'math' |
| namespaces ExtensionsTable. |
| |
| 2. To handle extension functions (e.g., some EXSLT |
| functions) that include a dash in their name, added |
| a routine in MethodResolver that maps abc_xyz to |
| abcXyz.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib package.html<br/><ref>Added: </ref>java/src/org/apache/xalan/lib ExsltCommon.java |
| ExsltMath.java ExsltSets.java<br/><ref>Committer's log entry: </ref>Preliminary set of EXSLT extension implementations.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib ExsltCommon.java |
| ExsltMath.java ExsltSets.java Extensions.java<br/><ref>Committer's log entry: </ref>Added Apache license.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/23/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyImport.java |
| ElemApplyTemplates.java ElemAttribute.java |
| ElemCallTemplate.java ElemChoose.java |
| ElemComment.java ElemCopy.java ElemCopyOf.java |
| ElemFallback.java ElemForEach.java ElemIf.java |
| ElemMessage.java ElemNumber.java ElemPI.java |
| ElemParam.java ElemTemplate.java |
| ElemTextLiteral.java ElemUse.java ElemValueOf.java |
| ElemVariable.java |
| java/src/org/apache/xalan/trace TraceListenerEx.java |
| TraceManager.java |
| java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/trace TraceListenerEx2.java<br/><ref>Committer's log entry: </ref>Implemented TraceListenerEx2, which extends TraceListenerEx to add |
| the traceEnd event. |
| |
| Modified all existing templates that call fireTraceEvent to also call |
| fireTraceEndEvent at the appropriate time. |
| |
| Note that there was a bad incompatibility between xsl:for-each and |
| xsl:if, which was called whether the test was successful or not. |
| With the current logic of xsl:for-each, |
| if the node-set is empty trace will not be called at all. |
| So I've changed xsl:if to match the xsl:for-each behavior.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Set the DEVELOPMENT number to 1, in prep for a developer's release.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemForEach.java<br/><ref>Committer's log entry: </ref>Make sure the current element is nulled out if debug mode so that |
| TransformerImpl#getElementCallstack works correctly.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Added fire trace events, which seemed to be missing.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added getElementCallstack() and getTemplateCallstack() methods, for support |
| of xsl debuggers.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/24/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Changed the release number to 4, since new functionality has been added.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyTemplates.java<br/><ref>Committer's log entry: </ref>Fix Frank Weiss bug, which has to do with the currentFrameBottom not being |
| restored properly when inside a with-param. |
| |
| Fix Cristina bug where the traceEnd event was being passed the wrong template. |
| |
| Fix problem with RTF pruning where push/popRTFContext wasn't being called |
| for xsl:apply-templates.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/trace TraceListenerEx2.java<br/><ref>Committer's log entry: </ref>Fix JavaDoc comment.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/trace PrintTraceListener.java<br/><ref>Committer's log entry: </ref>Handle TraceListenerEx2, even though we don't do anything with the extra |
| methods.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix problem with the SAXSourceLocator not getting the line number info.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SAXSourceLocator.java<br/><ref>Committer's log entry: </ref>Add a constructor that takes a SourceLocator.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemTemplateElement.java<br/><ref>Committer's log entry: </ref>Added getOwnerXSLTemplate method, a convenience function. |
| Implemented getLocalName().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java |
| ProcessorTemplateElem.java<br/><ref>Committer's log entry: </ref>Addressing http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6752. |
| Make the processor more robust against multiple failures during compilation.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XNull.java<br/><ref>Committer's log entry: </ref>Change derivation to XNodeSet.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathProcessorException.java |
| XPathException.java<br/><ref>Committer's log entry: </ref>Pass in the parent ExpressionNode, so that more context information can be |
| set. For the moment, I've added methods that are dependent on the |
| XSLT module, to set the source stylesheet node. I'll deal with this more when |
| I deal with the proper breakup and packaging of the XPath package, in a |
| few days.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XObject.java<br/><ref>Committer's log entry: </ref>Pass this as ExpressionNode to the XPathException object on error, which |
| helps us to establish context information for the exception object.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref>Add constructor that lets us set the owning ExpressionNode.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>For getCurrentElement, add some protection for access when there is no |
| current element.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemVariable.java |
| ElemWithParam.java<br/><ref>Committer's log entry: </ref>Pass the template to the XRTreeFrag constructor, so we can establish |
| better context.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathException.java<br/><ref>Committer's log entry: </ref>Set the "StylesheetNode" to the ElemTemplateElement instead of the |
| DOM backpointer.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Wrap runtime exception in TransformerException, so we'll get line number info |
| when NPE and the like.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XRTreeFrag.java<br/><ref>Committer's log entry: </ref>Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=7622. |
| 1) Transform#1 creates an XRTreeFrag. This has a reference to a DTM, that in |
| turn is registered with a DTMManager. The DTM will need to be deleted from the |
| DTMManager when the XRTreeFrag is deleted. The XRTreeFrag also contains a |
| reference to the XPathContext. |
| 2) Transform#1 completes. The XPathContext is reset... namely the a bunch of |
| structures are reset or rebuilt, including DTMManagerDefault#m_dtms. BUT, the |
| XRTreeFrags are still hanging around, waiting to unregister themselves. |
| 3) Transform#2 starts humming along. It builds a XRTreeFrag and installs |
| that RTF DTM into DTMManagerDefault#m_dtms[2]. |
| 4) The finalizer thread wakes and decides to delete some of those old |
| XRTreeFrags from Transform#1. |
| 5) The XRTreeFrag#finalize() method references through the XPathContext, and |
| deletes what it thinks is it's DTM from DTMManagerDefault#m_dtms[2] (via |
| getDTMIdentity(dtm)). |
| 6) Transform#2 tries to reference DTMManagerDefault#m_dtms[2], finds it is |
| null, and chaos results. |
| |
| ...so, before calling xctxt.release, etc., check to make sure the DTM is |
| actually |
| entered in the current DTMManager.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/04/2002<br/><ref>Added: </ref>java/src/org/w3c/dom/xpath COPYRIGHT.html |
| XPathEvaluator.java XPathException.java |
| XPathExpression.java XPathNSResolver.java |
| XPathNamespace.java XPathResult.java<br/><ref>Committer's log entry: </ref>Add Document Object Model (DOM) Level 3 XPath Specification. |
| (Temp until it's added to xml-commons.)<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>On entry, set the document base URI in the DTM. Fixes bug reported |
| by Christine.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Fix inconsistancy in handling returned DTM IDs. (There's room for |
| debate about whether the current value -- expressed as the |
| NodeHandle for Node 0 in that DTM -- is the best possible |
| representation, but this is what we're currently using...)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>Clean-up of dumpDTM method, some code clarity changes.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Yeowch. Didn't mean to check in the XNI experiment. |
| Disabled, probably belongs on a branch. (And probably |
| needs to be rewritten fairly intensively, since the current |
| hook is something of a kluge!)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>(nitpicking)<br/><br/></li><li><ref>Committed by </ref>pauldick@apache.org<ref> on </ref>04/10/2002<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref TestDTM.java<br/><ref>Committer's log entry: </ref>Moved into Test directory<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/10/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Cleaner disabling of experimental code. Sorry 'bout that.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/10/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm DTM.java |
| java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| DTMDefaultBaseIterators.java |
| DTMDefaultBaseTraversers.java |
| ExpandedNameTable.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Change extended types to be an integer and use a structure with a localname, |
| a namespace and a nodetype to represent the node extended type. We no longer |
| need to do the shifting left and right that we did for the previous extended |
| types.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/10/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/operations Variable.java |
| java/src/org/apache/xpath/patterns NodeTest.java<br/><ref>Committer's log entry: </ref>Change extended types to be an integer and use a structure with a localname, |
| a namespace and a nodetype to represent the node extended type. We no longer |
| need to do the shifting left and right that we did for the previous extended |
| types.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/10/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyTemplates.java |
| ElemForEach.java TemplateList.java |
| VarNameCollector.java<br/><ref>Committer's log entry: </ref>Change extended types to be an integer and use a structure with a localname, |
| a namespace and a nodetype to represent the node extended type. We no longer |
| need to do the shifting left and right that we did for the previous extended |
| types.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Added: </ref>java/src/org/apache/xml/dtm XSequence.java<br/><ref>Committer's log entry: </ref>Creating a new branch, Xalan3, for experimentation with XPath2 support. |
| |
| Currently the changes are limited to org.apache.xml.dtm -- enabling |
| datatype support by tying into Xerces' low-level XNI layer, which |
| includes experimental support for post-schema-validation Infoset |
| (PSVI) information. Eventually we'll be patching other portions of |
| Xalan to actually retrieve and use this data. |
| |
| The code I'm now checking in is NOT in final form. Known issues: |
| |
| 1) The logic in DTMManager which enables this behavior is |
| something of a kluge -- it only kicks in if you parse incrementally |
| from a StreamSource. The getDTM() method really wants to be |
| rationalized somewhat, which will make adding XNI easier. |
| |
| 2) The storage for datatype information currently adds another |
| column to the DTM table. We really want to switch to associating |
| the datatype with the Expanded Type table, and using some form |
| of sparse array to record local overrides. |
| |
| 3) The XNI code won't compile without Xerces2. We need to think |
| about whether we want to accept that as a dependency, or use |
| reflection to bind at run time rather than compile time. |
| |
| Note that typed values are currently computed on demand, with the |
| DTM storing only the sting values. An argument could be made for |
| precomputing some or all of this information and instead generating |
| strings on demand (see the XPath2 Data Model spec for discussion |
| of that alternative). But that's a considerably larger change, and |
| would affect non-type-based users of XSLT as well since it would |
| present values in their normalized form rather than as entered; I'd |
| rather not go that route until we have a string-based alternative |
| fully functional.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref/xni2dtm DTM_XSequence.java |
| XNI2DTM.java<br/><ref>Committer's log entry: </ref>Creating a new branch, Xalan3, for experimentation with XPath2 support. |
| |
| Currently the changes are limited to org.apache.xml.dtm -- enabling |
| datatype support by tying into Xerces' low-level XNI layer, which |
| includes experimental support for post-schema-validation Infoset |
| (PSVI) information. Eventually we'll be patching other portions of |
| Xalan to actually retrieve and use this data. |
| |
| The code I'm now checking in is NOT in final form. Known issues: |
| |
| 1) The logic in DTMManager which enables this behavior is |
| something of a kluge -- it only kicks in if you parse incrementally |
| from a StreamSource. The getDTM() method really wants to be |
| rationalized somewhat, which will make adding XNI easier. |
| |
| 2) The storage for datatype information currently adds another |
| column to the DTM table. We really want to switch to associating |
| the datatype with the Expanded Type table, and using some form |
| of sparse array to record local overrides. |
| |
| 3) The XNI code won't compile without Xerces2. We need to think |
| about whether we want to accept that as a dependency, or use |
| reflection to bind at run time rather than compile time. |
| |
| Note that typed values are currently computed on demand, with the |
| DTM storing only the sting values. An argument could be made for |
| precomputing some or all of this information and instead generating |
| strings on demand (see the XPath2 Data Model spec for discussion |
| of that alternative). But that's a considerably larger change, and |
| would affect non-type-based users of XSLT as well since it would |
| present values in their normalized form rather than as entered; I'd |
| rather not go that route until we have a string-based alternative |
| fully functional.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm Tag: Xalan3 DTM.java |
| java/src/org/apache/xml/dtm/ref Tag: Xalan3 |
| DTMDefaultBase.java DTMDocumentImpl.java |
| DTMManagerDefault.java |
| IncrementalSAXSource_Xerces.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm Tag: Xalan3 |
| SAX2DTM.java<br/><ref>Committer's log entry: </ref>Creating a new branch, Xalan3, for experimentation with XPath2 support. |
| |
| Currently the changes are limited to org.apache.xml.dtm -- enabling |
| datatype support by tying into Xerces' low-level XNI layer, which |
| includes experimental support for post-schema-validation Infoset |
| (PSVI) information. Eventually we'll be patching other portions of |
| Xalan to actually retrieve and use this data. |
| |
| The code I'm now checking in is NOT in final form. Known issues: |
| |
| 1) The logic in DTMManager which enables this behavior is |
| something of a kluge -- it only kicks in if you parse incrementally |
| from a StreamSource. The getDTM() method really wants to be |
| rationalized somewhat, which will make adding XNI easier. |
| |
| 2) The storage for datatype information currently adds another |
| column to the DTM table. We really want to switch to associating |
| the datatype with the Expanded Type table, and using some form |
| of sparse array to record local overrides. |
| |
| 3) The XNI code won't compile without Xerces2. We need to think |
| about whether we want to accept that as a dependency, or use |
| reflection to bind at run time rather than compile time. |
| |
| Note that typed values are currently computed on demand, with the |
| DTM storing only the sting values. An argument could be made for |
| precomputing some or all of this information and instead generating |
| strings on demand (see the XPath2 Data Model spec for discussion |
| of that alternative). But that's a considerably larger change, and |
| would affect non-type-based users of XSLT as well since it would |
| present values in their normalized form rather than as entered; I'd |
| rather not go that route until we have a string-based alternative |
| fully functional.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm XSequence.java |
| java/src/org/apache/xml/dtm/ref/xni2dtm DTM_XSequence.java |
| XNI2DTM.java<br/><ref>Committer's log entry: </ref>These should only be on the Xalan3 branch, not the main branch. |
| I _hope_ I can split this successfully...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Added: </ref>java/src/org/apache/xml/dtm Tag: Xalan3 XSequence.java<br/><ref>Committer's log entry: </ref>These should only be on the Xalan3 branch, not the main branch. |
| I _hope_ I can split this successfully...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/12/2002<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3 |
| DTM_XSequence.java XNI2DTM.java<br/><ref>Committer's log entry: </ref>These should only be on the Xalan3 branch, not the main branch. |
| I _hope_ I can split this successfully...<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>04/15/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc Tag: |
| jaxp-ri-1_2_0-fcs-branch DOM.java<br/><ref>Committer's log entry: </ref>New implementation of xsl:element<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Improve recovery if user's error handler insists on trying to |
| continue past a fatal error in the XPath syntax. Ideally, this |
| mechanism should be cleaned up and applied across the |
| entire XPath grammar. But for now, I'm addressing the one |
| specific complaint in a way that can be expanded later, and |
| doing so in a way that minimizes costs. |
| |
| (In fact, one can argue that since this is a rare event, we |
| shouldn't be minimizing the cost quite so much, and should |
| be throwing new exception objects rather than reusing a |
| preconstructed one.)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Decided I _was_ overoptimizing. |
| |
| Saving memory in tne non-error case trumps saving it in the error case.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates Tag: XSLTC_DTM |
| ElemApplyTemplates.java |
| java/src/org/apache/xalan/xsltc Tag: XSLTC_DTM DOM.java |
| DOMCache.java NodeIterator.java Translet.java |
| java/src/org/apache/xalan/xsltc/cmdline Tag: XSLTC_DTM |
| Transform.java |
| java/src/org/apache/xalan/xsltc/compiler Tag: XSLTC_DTM |
| AbsolutePathPattern.java AncestorPattern.java |
| Constants.java CopyOf.java DocumentCall.java |
| ForEach.java IdKeyPattern.java Import.java Key.java |
| KeyCall.java LastCall.java Mode.java NameBase.java |
| NodeTest.java ParentLocationPath.java Parser.java |
| ProcessingInstructionPattern.java Step.java |
| StepPattern.java Stylesheet.java |
| SyntaxTreeNode.java UnionPathExpr.java XSLTC.java |
| java/src/org/apache/xalan/xsltc/compiler/util Tag: XSLTC_DTM |
| MethodGenerator.java NodeSetType.java |
| ResultTreeType.java |
| java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM |
| AbsoluteIterator.java AnyNodeCounter.java Axis.java |
| BitArray.java CurrentNodeListFilter.java |
| CurrentNodeListIterator.java DOMAdapter.java |
| DOMImpl.java DTDMonitor.java DocumentCache.java |
| DupFilterIterator.java FilterIterator.java |
| FilteredStepIterator.java KeyIndex.java |
| LoadDocument.java MatchingIterator.java |
| MultiDOM.java MultipleNodeCounter.java |
| NodeCounter.java NthIterator.java |
| ReverseIterator.java SingleNodeCounter.java |
| SingletonIterator.java SortingIterator.java |
| StepIterator.java UnionIterator.java |
| java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM |
| AbstractTranslet.java BasisLibrary.java |
| Constants.java DefaultRun.java SAXAdapter.java |
| java/src/org/apache/xalan/xsltc/trax Tag: XSLTC_DTM |
| TransformerHandlerImpl.java TransformerImpl.java |
| XSLTCSource.java |
| java/src/org/apache/xml/dtm Tag: XSLTC_DTM DTM.java |
| DTMAxisIterator.java DTMManager.java |
| java/src/org/apache/xml/dtm/ref Tag: XSLTC_DTM |
| DTMAxisIteratorBase.java DTMDefaultBase.java |
| DTMDefaultBaseIterators.java DTMNamedNodeMap.java |
| DTMNodeList.java DTMNodeProxy.java |
| ExpandedNameTable.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm Tag: XSLTC_DTM |
| DOM2DTM.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm Tag: XSLTC_DTM |
| SAX2DTM.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM |
| SAXImpl.java XSLTCDTMManager.java<br/><ref>Committer's log entry: </ref>Checking in a branch of xalan where XSLTC is using the DTM interface. This |
| branch is very unstable, please do not use yet!!!<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm Tag: XSLTC_DTM |
| DOM2DTM.java<br/><ref>Committer's log entry: </ref>Make getNumberOfNodes() public<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3 |
| DTMManagerDefault.java |
| IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>XNI support now always used if available, with SAX as fallback. |
| |
| Issues: DTMDefaultManager is still a bit more aware of Xerces2 |
| than I want it to be. And the kluge of creating an Incremental Xerces |
| source and then running it non-incrementally, while producing |
| straightforward code, is a slightly ugly mixed metaphor.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3 |
| DTMManagerDefault.java |
| java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3 |
| XNI2DTM.java<br/><ref>Committer's log entry: </ref>Minor polishing, disabling debugging dump. |
| |
| We currently pass most of Smoketest with the new XNI code enabled. |
| Some suspicious stuff in the API tests; my attempts to disentangle |
| the XNI and SAX support may not have been 100% succesful.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM |
| SAXImpl.java |
| java/src/org/apache/xml/dtm/ref Tag: XSLTC_DTM |
| DTMDefaultBaseIterators.java |
| java/src/org/apache/xpath/compiler Tag: XSLTC_DTM |
| XPathParser.java<br/><ref>Committer's log entry: </ref>Misc fixes<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/22/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Bug 4546 -- thanks to Wolfram Eisert for tracking this down and |
| proposing the patch.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3 |
| DTMManagerDefault.java |
| IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>Easy enable/disable of XNI support for testing purposes, |
| and some error-reporting cleanup. We still fail a few API tests |
| in XNI mode, mostly related to error handling.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/29/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm Tag: Xalan3 DTM.java |
| java/src/org/apache/xml/dtm/ref Tag: Xalan3 |
| DTMDefaultBase.java DTMDefaultBaseIterators.java |
| DTMDefaultBaseTraversers.java |
| ExpandedNameTable.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm Tag: Xalan3 |
| DOM2DTM.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm Tag: Xalan3 |
| SAX2DTM.java<br/><ref>Committer's log entry: </ref>Merge ExtendedType changes from main branch<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3 |
| ExpandedNameTable.java<br/><ref>Committer's log entry: </ref>Oops. Typo.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3 |
| ExpandedNameTable.java |
| IncrementalSAXSource_Xerces.java |
| java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3 |
| XNI2DTM.java<br/><ref>Committer's log entry: </ref>Make sure current version checked in before I start experimenting with |
| alternatives.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/02/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3 |
| XNI2DTM.java<br/><ref>Committer's log entry: </ref>It helps if we actually remember to store the schema info...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/03/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref Tag: Xalan3 |
| ExpandedNameTable.java |
| java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3 |
| XNI2DTM.java<br/><ref>Committer's log entry: </ref>Xalan3 PSVI changes: Lighter-weight storage for PSVI datatype. Schema |
| type first seen is now stored as part of the ExpandedName. In many cases |
| all instances of the same node have the same type and this should suffice. |
| In some cases tthe actual type may be locally overridden (schema |
| derived types), and XNI2DTM will record an exception into a simple |
| "sparse vector". |
| |
| Storage improved. DTM construction speed improved. Schema type |
| retrieval speed adversely impacted but -- one hopes -- not significantly. |
| |
| Of course right now Xerces' schema-validator burns so many cycles |
| that our own efficiency or lack thereof is completely moot... but we |
| assume they'll be improving that over time.<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Remove the duplicated ;; |
| |
| ( which broke the JDK1.4 compilation which in turn broke all the gump |
| deps ).<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes PredicatedNodeTest.java<br/><ref>Committer's log entry: </ref>Bugzilla 7159 -- Just an access-permission change, for improved |
| toolability.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>05/09/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToText.java<br/><ref>Committer's log entry: </ref>Bugzilla 8358 -- bad method signature. I've created a new method |
| with the correct signature. The old one may or may not be entirely |
| superfluous, but I don't want to muck with it right now.<br/><br/></li></ul> |
| </s2> |
| |
| <s2 title="Changes for &xslt4j; 2.3 and 2.3.1"> |
| <p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>01/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref>Fixed second connection problem<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>01/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Update for new DTM Model<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>01/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql DTMDocument.java<br/><ref>Committer's log entry: </ref>Update for new DTM Model<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>01/17/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java |
| DTMDocument.java<br/><ref>Committer's log entry: </ref>Removed Debug<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Whups. There's a possible reentrancy problem when data |
| is being serialized from an FSB, thru Sax, back into a new |
| chunk of the same FSB; if the append causes a rechunking, |
| the serialize loop may break. |
| |
| TEMPORARY PATCH; permanant fix to follow. See comments.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/18/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref><blush>Wrong side of the fencepost...</blush><br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/23/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemTemplate.java |
| java/src/org/apache/xalan/transformer TransformerImpl.java |
| java/src/org/apache/xml/dtm DTMManager.java |
| java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| DTMManagerDefault.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java |
| java/src/org/apache/xpath XPathContext.java<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2RTFDTM.java<br/><ref>Committer's log entry: </ref>These changes allow us to store multiple Result Tree Fragment (RTF) |
| document trees (used when an XSLT variable contains a constructed |
| set of nodes) into a single DTM object rather than using a new DTM |
| for each RTF. They also permit "tail-pruning" this shared DTM to |
| reuse that space as the variables go out of scope. |
| |
| The result is a slight performance improvement, and a much more |
| significant improvement in storage efficiency. Stylesheets which |
| use RTFs heavily should now run in much less memory; in |
| one testcase, our "working set" heap size (storage actually in |
| use, not counting objects released but not yet GC'd) dropped |
| from 12-15MB down to 3-6MB, and heap churn (how quickly |
| storage was being allocated and discarded) also reduced |
| substantially. |
| |
| The code changes needed to support this new scheme are |
| surprisingly small. And I believe it may be possible to reduce them |
| further, if we're willing to merge the SAX2RTFDTM subclass back |
| into its SAX2DTM superclass. I believe that could be done with |
| very little adverse impact on other uses of SAX2DTM... but I felt it |
| was safer to defer that decision for now.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>01/25/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Bug 5982 and 6022. The variable stack was not being cleared accross |
| transforms so that when the transformer is reused, we were using nodesets from |
| the previous transform which were using a different DTM. Note that we want keep |
| any variables that have been set externally by the user (using |
| Transformer.setParameter()).<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>01/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/res XPATHErrorResources.java<br/><ref>Committer's log entry: </ref>bug 4762: Fixed the duplicate error message in XPATH.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Bugzilla 4054: Retain previously set output properties when adding new ones.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>01/28/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Bug 5872. We were using a constructor of TranformerException without the |
| locator information. Changed to code to use a locator if info is available.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>01/30/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib NodeInfo.java<br/><ref>Committer's log entry: </ref>Changed "system id" to "public identifier" in javadoc |
| comments for publicId() methods.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/30/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Bugzilla 2617, part 1: Construct the data structures and access them |
| correctly. |
| Ignore too-late-to-be-safe requests to enable this feature. |
| |
| This doesn't resolve how to rewrite higher-level code so it makes the |
| request early enough to be useful.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>01/30/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates StylesheetComposed.java |
| StylesheetRoot.java TemplateList.java |
| java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Bug 4987: Changed Apply-imports logic to only apply imports to stylesheets |
| that are direct imports. The logic for includes has not changed, we will |
| apply-imports to any stylesheet that is imported as a result of an inclusion. |
| Note: had to change the order when includes and imports are recomposed!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/31/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib NodeInfo.java |
| java/src/org/apache/xalan/processor |
| TransformerFactoryImpl.java |
| java/src/org/apache/xalan/transformer TransformerImpl.java |
| java/src/org/apache/xalan/xslt Process.java |
| java/src/org/apache/xml/dtm/ref DTMManagerDefault.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java |
| SAX2RTFDTM.java |
| java/src/org/apache/xml/utils DefaultErrorHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 2617: Recreated missing code, changed controls to ensure |
| that this mode gets set early enough to be useful and can't be broken |
| by being turned on and off during execution. |
| |
| NOTE: Current implementation relies on a global static flag in |
| TransformerFactoryImpl. We need to rearchitect our APIs slightly |
| so configuration hints of this kind can be passed down from top-level |
| objects to the back-end code more elegantly. Revisit in future |
| releases.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>01/31/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyTemplates.java<br/><ref>Committer's log entry: </ref>Bug 5505: Need to resolve params before we do anything else, so move code |
| that does that above the code that sets up the different node stacks.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/01/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Bugzilla 6182. Darned fence posts; always either too many or not enough... |
| <grin/><br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/01/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java |
| java/src/org/apache/xpath VariableStack.java |
| XPathContext.java<br/><ref>Committer's log entry: </ref>Bug 6156: Change variable stack reset to just get a new object. Also make |
| sure that the stack of result tree fragments is also cleaned ot during a reset.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XBoolean.java |
| XNodeSet.java XNumber.java XObject.java |
| XRTreeFrag.java XString.java |
| java/src/org/apache/xpath/operations Equals.java<br/><ref>Committer's log entry: </ref>Bug 5851: Make sure that the equal operation is evaluated by order of |
| precedence of the operands, as defined by XSLT.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 5346: Prevent mantissa overflow when converting string to double. |
| There is still a possible edge-case, since I detect overflow on decimal digit |
| bounds rather than on bit bounds; I'm not sure what the IEEE spec calls for.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 5346: My first-cut messed up fractional values. This one is |
| somewhat better. |
| |
| There's an open issue w/r/t numbers with many digits after the |
| decimal point, regarding limits on how large a power of 10 can |
| be contained in a long. In that one case I'm falling back on successive |
| divisions (though as few as possible), and some loss of precision |
| may result. |
| |
| Need to find a better algorithm...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/04/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 5346: Oops. Forgot to take out a debugging printout.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 5346: Responding to the re-open; more direct and reliable |
| edge-case test. This does lose a few low bits on many-digit values, |
| so it is not the best long-term solution.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bug 5346: One more (last, I hope) edge case.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bug 5346: Gaaah. This regressions was just plain foolish flailing. "Less |
| haste, more speed."<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/05/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java<br/><ref>Committer's log entry: </ref>Bug 5857: Reusing objects that reuse objects has threading concerns. |
| Three possible solutions: Don't reuse, synchronize reuse, or rewrite |
| to avoid using the objects in the first place. See comments in code.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java |
| IncrementalSAXSource.java |
| IncrementalSAXSource_Filter.java |
| IncrementalSAXSource_Xerces.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Bug 4244: Incremental wasn't setting up correctly for the |
| DTDHandler stream. It never occurred to me that XSLT would |
| ever have a use for unparsed entities...<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java |
| java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Whoops! Never updated release number to 2.3 in these version files!<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/06/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>updated version number to 2.3<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/07/2002<br/><ref>Modified: </ref>java/src/org/apache/xpath SourceTreeManager.java<br/><ref>Committer's log entry: </ref>Bug 6304: Remove print stacktrace<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/08/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions |
| XSLProcessorContext.java |
| java/src/org/apache/xalan/lib/sql DTMDocument.java |
| java/src/org/apache/xalan/templates ElemForEach.java |
| FuncDocument.java FuncKey.java |
| java/src/org/apache/xalan/transformer KeyIterator.java |
| TransformerHandlerImpl.java TransformerImpl.java |
| java/src/org/apache/xml/dtm DTM.java |
| java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| DTMDefaultBaseIterators.java DTMDocumentImpl.java |
| DTMNodeProxy.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2RTFDTM.java |
| java/src/org/apache/xpath/axes IteratorPool.java<br/><ref>Committer's log entry: </ref>Bugzilla 6314: Additional support changes for multiple RTFs per DTM. |
| Many files affected, but the basic change is that dtm.getDocument() |
| with no arguments is meaningless when there are multiple docs in |
| a single DTM object; instead, folks should use the new getRootNode() |
| method or getOwnerDocument(), both of which take a node as input |
| and thus more clearly identify which document we're referring to.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>02/12/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Bugzilla 6328, whitespace normalization. Late fix, but it was a genuine |
| regresion. |
| This code could still do with a rationalization pass; I think it can be made |
| slightly |
| a touch faster.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/14/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Update various .jar sizes for recent builds and 2.3.0<br/><br/></li></ul> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.2"> |
| <p>Following a series of Developer releases, &xslt4j; 2.2 represents a stable, production-quality release with |
| the <link idref="dtm">DTM (Document Table Model)</link>. &xslt4j; uses the DTM to represent the XML source document |
| to be transformed. Please send your feedback to the <human-resource-ref idref="xalandev"/>.</p> |
| <p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>updated version number to 2.2.D14<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>11/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>updated version number to 2.2.D14<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>Bugzilla 5242: Special-case initializing iteration from Document node -- |
| one-liner wasn't safe.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>12/04/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc ProcessorVersion.java<br/><ref>Committer's log entry: </ref>new class to version xsltc software<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Additional debugging printouts, added while analysing Bugzilla 5272 but |
| generally useful. |
| No functional change, and should be optimized away when DEBUG is set false.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Removed the "magic" default which causes us to switch into incremental |
| processing mode whenever we were writing to Standard Output (ie, |
| -OUT had not been specified). If you want incremental processing, |
| please use the (relatively new) -INCREMENTAL switch to explicitly |
| request it. |
| |
| (The automatic switchover was causing some confusion |
| when testing against Xerces2. )<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Efficiency improvement to the new DTM "overflow addressing" scheme. |
| In some tests, this one alteration shaved about 30% off the runtime.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath CachedXPathAPI.java |
| XPathContext.java<br/><ref>Committer's log entry: </ref>Changes requested by the xml-security group: |
| |
| 1) Provide something a constructor that allows sharing the |
| XPathContext object between CachedXPathAPI objects |
| |
| 2) Add getXPathContext(). I'm just a bit nervious about this |
| method, but they assure us they need it and the field isn't |
| private. We may need to discus this one further. |
| |
| 3) Make the XPathContext's m_dtmManager member |
| protected rather than private, so their subclass can get to it. |
| We may want to work with them to understand why they're |
| accessing this directly and whether there's a better solution.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref |
| IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>Bugzilla5272 patch suggested by Sandy Gao. |
| |
| This startup sequence for incremental SAX parsing under Xerces2 |
| really is excessively complicated and excessively fragile as a result. |
| Not to mention being underdocumented. We really need to push the |
| Xerces folks to provide a simple incremental SAX API, similar to that |
| in the Xerces1incremental prototype.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Part 1 of 2: Reducing initial space requirements of a DTM. This may |
| involve a slight performance hit, but should help stylesheets which |
| generate a lot of Result Tree Fragment. Part 2 of this change will be |
| checked in after I resolve a bug in whitespace normalization. |
| |
| Note that a better long-term answer will be to reduce the number of |
| DTMs tied up as RTFs, by doing a better job of discarding or reusing |
| them when we're done with them. There are some issues regarding |
| exactly what their lifetimes will be when assigned to variables, |
| especially when one variable is used to build another, which we |
| need to address before we can make that change.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Part 2a of 2: Reducing initial space requirements of a DTM. This may |
| involve a slight performance hit in some circumstances due to |
| smaller and more complex subdivision of FastStringBuffers,, but |
| should help stylesheets which generate a lot of Result Tree |
| Fragments. |
| |
| Note that a better long-term answer will be to reduce the number of |
| DTMs tied up as RTFs<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Part 2b of 2: Reducing initial space requirements of a DTM. This may |
| involve a slight performance hit in some circumstances due to |
| smaller and more complex subdivision of FastStringBuffers,, but |
| should help stylesheets which generate a lot of Result Tree |
| Fragments. |
| |
| (Leveraging FSB's features more strongly exposed a bug in |
| whitespace normalization, which I've fixed.) |
| |
| Note that a better long-term answer will be to reduce the number of |
| DTMs tied up as RTFs<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils AttList.java<br/><ref>Committer's log entry: </ref>Two goofs: Forgetting to use the namespace-aware DOM call, and |
| forgetting to check for a returned null before dereferencing. |
| |
| How long has _that_ been lurking in the undergrowth?!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>Finally following up on an old hunch, I switched from /% addressing |
| to shift-and-mask. Big improvement!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Performance improvements; Some changes to better leverage the |
| DOM's existing code, others to avoid some call-and-return overhead. |
| |
| Combined with other recent changes, we've now got a significant |
| speedup over D14 on some tests. We may want to drop the scheduled |
| December 17th 2.2 release and instead bring 2.2 out on 1/14 (which is |
| when we'd planned 2.3) with performance gains and Xerces2 support.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java |
| DOM2DTMdefaultNamespaceDeclarationNode.java<br/><ref>Committer's log entry: </ref>A few more subtle performance tweaks, and an actual bug.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>12/20/2001<br/><ref>Added: </ref>java/src/org/apache/xml/utils ListingErrorHandler.java<br/><ref>Committer's log entry: </ref>Alternate ErrorHandler/ErrorListener implementation that allows |
| configuration and prints errors out similarly to javac<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>12/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils AttList.java<br/><ref>Committer's log entry: </ref>Bugzilla 5496; previously unimplemented functions.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>01/03/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils DOMBuilder.java<br/><ref>Committer's log entry: </ref>[Bug 5528] DOMBuilder mixed DOM Level 1 and 2<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>01/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>updated release number to 2.2.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>01/11/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>updated release number to 2.2.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>01/13/2002<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla#5701: incorrect resolution of certain kinds of absolute file: |
| URIs |
| Note: This definitely seems to be more correct in terms of resolving URIs |
| vis-a-vis RFC 2396 than it used to be. The only user case which might now |
| fail where it used to work is a user that supplies an incorrect |
| 'file:subdir/blah' that they intended to be a relative URI (technically |
| it is an absolute URI no matter which way you look at it); this might |
| lead to a change in behavior in this particular case, although the behavior |
| before was incorrect. |
| The major risk factor could be if there are other parts of Xalan code that |
| rely |
| on the previously incorrect behavior, but I can't find any, and the whole test |
| suite runs and passes normally.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>01/14/2002<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla#4678 and Bugzilla#5533: call setSystemId on StreamResult |
| in Process command line class; ignored if using System.out |
| This should enable the redirect extension to properly put it's redirected |
| output in a location relative to the output if possible; previously it |
| always put redirected output relative to the input since it |
| never had the systemId of where the output should be<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.2.D14"> |
| <p>&xslt4j; 2.2.D14 is intended to be the final release in the current series of Developer releases incorporating |
| the <link idref="dtm">DTM</link>. We believe Xalan with the DTM has reached a level of stability that warrants a |
| standard "User" release. Accordingly, we plan to release &xslt4j; 2.2 soon.</p> |
| <p>&xslt4j; 2.2.D14 also includes a new <jump href="apidocs/org/apache/xpath/CachedXPathAPI.html">CachedXPathAPI</jump> class that |
| provides an enhanced alternative to the XPath convenience methods in <jump href="apidocs/org/apache/xpath/XPathAPI.html">XPathAPI</jump>.</p> |
| <p>Beginning with 2.2.D12, xalan.jar contains just the &xslt4j; implementation. The source files for the SAX level 2, DOM 2, |
| and JAXP 1.1 interfaces are pulled from the xml-commons repository (<resource-ref idref="xmlapirepository"/>), and are built as |
| xml-apis.jar. These interfaces are shared by a number of tools, so placing them in their own jar simplifies coordination and reduces |
| the risk of duplication. <em>To run &xslt4j;, you must add xml-apis.jar to your classpath.</em> See <link idref="getstarted" |
| anchor="classpath">Setting up the system class path</link>.</p> |
| <p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Reorder slightly and add test to not synthesize xmlns:xsl declaration |
| if one was already present on the DOM's root element.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeList.java<br/><ref>Committer's log entry: </ref>Bugzilla4842, secondary complaint (glitch in getChildren)... <blush/><br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Bugzilla4842: Expand the proxy layer to support more of the DOM API.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Namespace decls are themselves not namespace-aware, in the |
| Namespaces 1.0 REC. Use the qname.Grumble.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>"Tupograflica eror". Sorry 'bout that!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Sigh. The XML Namespaces spec it itself imperfectly |
| namespace-aware. While there's a plan to fix that, it's |
| safer for now if we test the QName when looking for |
| explicit instances of xmlns:xml in the source document.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql DTMDocument.java |
| java/src/org/apache/xalan/templates ElemApplyTemplates.java |
| java/src/org/apache/xalan/xslt Process.java |
| java/src/org/apache/xml/dtm DTMManager.java |
| java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| DTMDefaultBaseIterators.java |
| DTMDefaultBaseTraversers.java |
| DTMManagerDefault.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Another fairly large change in the DTM architexture (sic).... |
| |
| We've changed DTM's internal behavior so it can now assign |
| more than one "DTM ID" to a single document, cascading from |
| one ID to the next. This means that the size of a single DTM is |
| no longer limited by the bits available in the low part of the DTM |
| Node Handle. This means we can support larger documents. |
| |
| That has allowed us to reduce the number of bits reserved |
| for that portion of the node addresing scheme... which in turn has |
| increased the number of bits available for use in the DTM ID. This |
| means we can now have many more documents active at once. |
| |
| The trade-off is that huge documents will require more than one |
| DTM ID and thus cut into the number of documents, But since we |
| now have 16 bits of DTM ID space, I don't think we're really likely |
| to run into both limits at once. And the changes are essentially |
| limited to the DTM layer; the rest of Xalan should be unaffected. |
| |
| In the process of making this change, I've also encapsulated the |
| conversions between DTM API node handles and DTMDefaultBase's |
| internal node indices. That should be safer all 'round. |
| |
| NOTE: One side effect of this change is that the strings |
| generated by the key() function have changed again. |
| I've updated the IDKEY testcases to reflect this. |
| |
| Smoketest is currently passing everything except |
| axes109 and the API's TraceListenerTest . But I believe |
| those failures are due to a glitch in my test directory |
| since they also happen when I run the D13 code there, |
| whereas D13 runs fine in the directory where I built it. |
| I'm going to assume that "same result is no new bug" |
| for now.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref |
| DTMDefaultBaseTraversers.java<br/><ref>Committer's log entry: </ref>Found the glitch causing the axes108 bug -- exptype/type.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Added option to set the recursion limit (which we're having trouble with |
| right now; the code that supported it seems to be disabled...) and |
| selfdoc for this and a few other newer options.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Catch exceptions from the output content handler in flush(), and throw a |
| SAXParseException with line numbers filled in. |
| If we don't do this, and the exception is a RuntimeException, |
| good line numbers of where the exception occured in the stylesheet |
| won't get reported. I tried just catching RuntimeException, but |
| for whatever reason it didn't seem to catch. |
| Fix for Christina's DOMException error problem.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm |
| DOM2DTMdefaultNamespaceDeclarationNode.java<br/><ref>Committer's log entry: </ref>Moved default namespace declaration node object out of its "inner |
| class" status, since I think I want to perform an instanceof test on it.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| DTMManagerDefault.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java |
| java/src/org/apache/xpath XPathAPI.java<br/><ref>Added: </ref>java/src/org/apache/xpath CachedXPathAPI.java<br/><ref>Committer's log entry: </ref>Bugzilla 4336 -- fix for presenting symptom (since the implicit |
| xml: declaration pseudo-DOM node is resynthesized in each |
| DTM, find the _corresponding_ node), and a first draft of |
| CachedXPathAPI which should be a fix for the larger symptom |
| (XPathAPI creates a new DTM every time, which is potentially |
| very ugly for applications that want to run XPaths repeatedly |
| on a single document). |
| |
| Also caught and fixed another node-handle/node-identity confusion. |
| The fact that DTM.get...() allowed us to be sloppy about that |
| distinction in the past means there may still be a few others lurking |
| in the code. Ye gods, I _wish_ Java had typedef!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Minor tweaks<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Redirect.java<br/><ref>Committer's log entry: </ref>Patch to enable optional 'append' attribute on redirect:open and |
| redirect:write elements to append to file; note that behavior may |
| not be what you expect when using xml output, since the xml decl |
| will currently be output *each* time you newly write to the file |
| Submitted by: jpvdm@iafrica.com<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Implement getDocumentElement. If the DTM doesn't represent a |
| wellformed Document, this call is undefined and throws an exception... |
| which isn't DOMlike but that's a non-DOMlike situation.<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.2.D12 and 2.2.D13"> |
| <p>&xslt4j; 2.2.D13 is intended to be the final release in the current series of Developer releases incorporating |
| the <link idref="dtm">DTM</link>. We believe Xalan with the DTM has reached a level of stability that warrants a |
| standard "User" release. Accordingly, we plan to release &xslt4j; 2.2 soon.</p> |
| <p>Beginning with this release, xalan.jar contains just the &xslt4j; implementation. The source files for the SAX level 2, DOM 2, |
| and JAXP 1.1 interfaces are pulled from the xml-commons repository (<resource-ref idref="xmlapirepository"/>), and are built as |
| xml-apis.jar. These interfaces are shared by a number of tools, so placing them in their own jar simplifies coordination and reduces |
| the risk of duplication. <em>To run &xslt4j;, you must add xml-apis.jar to your classpath.</em> See <link idref="getstarted" |
| anchor="classpath">Setting up the system class path</link>.</p> |
| <p>Beginning with this release, we are placing two distribution files in the <resource-ref idref="xslt4j-distdir"/>: a binary |
| distribution file, which includes everything needed to run &xslt4j; and build applications, and a source distribution. For |
| more information, see <link idref="getstarted" anchor="download">Downloading what you need</link>.</p> |
| <p>This release also includes <link idref="samples" anchor="validatexmlinput">ValidateXMLInput</link>, a sample that illustrates |
| how you can verify that the XML input you are transforming adheres to its document type. It is in the samples/validate subdirectory |
| along with a Validate utility that you can use to validate XML files without performing a transformation.</p> |
| <p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Bugzilla3995: Removed "final" keywords. That doesn't by itself |
| provide the requested enhancement, but it makes prototyping one |
| a bit easier.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 3384. See comments in the toDouble method; I suspect this may be |
| wasted micro-optimization.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Is " 12 34 . 56 78 " really considered acceptable? |
| Or should whitespace within the value be treated as NAN?<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Updated build number to 2.2.D12.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Updated build number to 2.2.D12.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemLiteralResult.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla1133, LRE21: xsl:extension-element-prefixes should be |
| considered an exclusion<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemLiteralResult.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla 3464. Exposes errors in conformance tests namespace93 and 94.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>10/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java |
| HTMLEntities.res XMLEntities.res<br/><ref>Committer's log entry: </ref>Fix Bugzilla#4000, force reading of *Entites.res to be in UTF-8; added |
| comments |
| PR: Bugzilla#4000<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Avoid overgenerality of isDigits |
| Combine most character tests into a single switch for performance |
| Reject values with embedded (as opposed to leading/trailing) whitespace. |
| |
| Note that this is "more correct:" than the old solution of calling Java's |
| toDouble, since (I think) XSLT doesn't officially accept leading + or |
| scientific notation. If folks want to accept those notations, an |
| extension function specifically for that purpose seems the |
| simplest/safest/most-portable solution.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Gaaah. Typo.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>10/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java |
| java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Added: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>Added new org.apache.xalan.Version class for better versioning info; |
| Deprecated org.apache.xalan.processor.XSLProcessorVersion; |
| Updated EnvironmentCheck with this info<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>Be careful with parentheses when using ?: operator.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java |
| IncrementalSAXSource_Xerces.java<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref CoroutineSAXParser.java |
| CoroutineSAXParser_Xerces.java<br/><ref>Committer's log entry: </ref>CoroutineParser API was replaced by IncrementalSAXSource; dropping obsolete |
| code.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref CoroutineSAXFilterTest.java<br/><ref>Committer's log entry: </ref>CoroutineParser API was replaced by IncrementalSAXSource; dropping obsolete |
| code.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>Whups; sloppy: Actually, problem was that the latter two arguments to ?: |
| must agree in datatype. Dropped in a quick-and-dirty int-to-string hint.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Preliminary Xerces-2 support. Doesn't leverage Xerces-2 incremental features |
| yet, but should at least compile and run under the new parser without |
| breaking support for the old one. Still working on improving this.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemApplyTemplates.java |
| ElemCallTemplate.java<br/><ref>Committer's log entry: </ref>Bugzilla 4218: Make sure that the stack frame gets restored to the frame that |
| was previously set. Just calling unlink() may restore to the wrong frame, and |
| get us out of synch.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/xml/sax/helpers ParserAdapter.java<br/><ref>Committer's log entry: </ref>Java 1.1.8 back-compatability requires not using Java 1.2 collection calls. |
| (Still waiting for community consensus before abandoning 1.1)<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>10/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Bugzilla 4218: Make sure that the stack frame gets restored to the frame that |
| was previously set. Just calling unlink() may restore to the wrong frame, and |
| get us out of synch.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref |
| IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>In Xerces2, SAXParser no longer seems to inherit from |
| XMLReader; explicit casts needed to work around that.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>10/23/2001<br/><ref>Removed: </ref>java/src/javax/xml/parsers SAXParserFactory.java |
| SAXParser.java ParserConfigurationException.java |
| package.html FactoryFinder.java |
| FactoryConfigurationError.java |
| DocumentBuilderFactory.java DocumentBuilder.java<br/><ref>Committer's log entry: </ref>Remove javax.xml.parsers package from xalan sources since we no longer ship |
| with these files<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java<br/><ref>Committer's log entry: </ref>Microsoft VJ++ workaround. Should never arise in any reasonably |
| standards-compliant Java environment, but VJ++ isn't...<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize CharInfo.java<br/><ref>Committer's log entry: </ref>Additional "big scary" docs for Microsoft VJ++ workaround.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>10/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Added fix for bug reported by Myriam for match="//x/a" patterns. On the |
| second "/" on "//", the parser wasn't swallowing the token, which caused |
| the "x" pattern to be ancestor instead of parent. If you don't have this fix, |
| it will cause 'a' to be matched when it has any ancestor that is 'x'. |
| This fix should be localized to only match patterns. The reason this probably |
| wasn't reported before, is because "//" at the head of a match pattern is |
| pretty useless, "x/a" being equivelent.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>10/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>By longstanding request, don't URL-escape spaces. This is consistent with the |
| specification, and the opinion of the right thing to do by several people on |
| the |
| XSL working group, including Mike Kay, and by the LotusXSLTeam.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTElementDef.java<br/><ref>Committer's log entry: </ref>Improved safety net: When running with Xerces2, the "uri" field may be null. |
| (Also reordered tests to encourage optimization of code.)<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Add command-line switches for the options introduced at same time as DTM, to |
| make testing those features easier.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetPIHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4575: Add the EOL character to the list of token delimiters.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java |
| IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>Leverage Xerces-2 incremental parsing feature, when possible, |
| |
| Making this compile _and_ run under both the old and new versions of |
| the parser involves a lot of reflection... especially since Xerces-2 |
| no longer provides a way to directly request incremental delivery |
| of SAX events; we now have to assemble that concept ourselves, |
| using XNI components. |
| |
| Note that if you pass an existing Xerces-2 SAXParser into the |
| IncrementalSAXSource_Xerces wrapper, there is currently no way |
| for us to access its incremental controls. In that case, we are |
| forced to fall back on the _Filter solution and coroutines.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForFSB.java<br/><ref>Committer's log entry: </ref>Bugzilla 4396: Defaulting to the super hashCode(). This causes us to create |
| a string, but at this point this only seems to get called in key processing. |
| Maybe we can live with it?<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Use appropriate context class loader as done in JAXP's FactoryFinder; |
| Added various new jars; added checkAntVersion()<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize HTMLEntities.res<br/><ref>Committer's log entry: </ref>Commented out mainly greek entities that Netscape seems not to handle.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize Encodings.java |
| SerializerToHTML.java SerializerToText.java |
| SerializerToXML.java<br/><ref>Committer's log entry: </ref>Progress on Bugzilla Bug 1639 : Xalan escaping characters for ISO encodings |
| other than ISO-8859-1. |
| |
| The problem is that you can't tell from the Java Writers if they can encode |
| a character, and you can't tell which character they are going to encode to. |
| So... |
| |
| Do a one-time-only reflection to see if a sun.io.CharToByteConverter for the |
| specific encoding is available. I'm hoping this will work for most or all |
| platforms... but only some extensive testing will tell for sure. If the |
| CharToByteConverter is not available, it falls back to the old behavior. |
| If it is available, use the canConvert method to see if the UTF-16 character |
| can be encoded. If it can be, just send it to the writer, otherwise escape |
| it. |
| This doesn't need to be done for < 128, so I'm suspecting the performance |
| hit won't be too bad. |
| |
| The alternative is to create lookups for all the encodings that tell which |
| blocks of characters can't be encoded. Too much work for me this |
| weekend, though it remains a possibility. I want to try the use of |
| CharToByteConverter.canConvert first. |
| |
| One problem I've encountered is that CharToByteConverter.canConvert |
| returns true for (utf-16 code points) 127-159. And so they go unescaped. |
| How bad of a problem is this? This seems like a bug in the Java |
| CharToByteConverter for ISO-8859-7. |
| |
| It remains to be seen if this problem exists with other encodings, or if this |
| is |
| the best approach.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>Check for control characters for canConvert, and return false if it is a |
| control |
| character, so that it will be escaped.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Don't set the ErrorHandler if it is already set.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Minor fix to JavaDoc for setRecursionLimit.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/operations Operation.java |
| UnaryOperation.java<br/><ref>Committer's log entry: </ref>Bugzilla 4679: Accessors for left and right operands<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>Do not escape the percent '%' character anymore.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes LocPathIterator.java |
| OneStepIterator.java PredicatedNodeTest.java<br/><ref>Committer's log entry: </ref>Bugzilla 4638: When we are in a subcontext we need to clip off the predicate |
| when evaluating. If not, we end up with the wrong nodeset. This also relates to |
| test position68.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| ClonerToResultTree.java ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4607; allow explicitly cloning namespace nodes rather than |
| throwing exception.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/07/2001<br/><ref>Removed: </ref>java/src/META-INF/services |
| javax.xml.parsers.SAXParserFactory |
| javax.xml.parsers.DocumentBuilderFactory<br/><ref>Committer's log entry: </ref>Remove services/javax.xml.parsers.* references; we assume parsers have their |
| own<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>11/07/2001<br/><ref>Removed: </ref>java/src/javax/xml/transform ErrorListener.java |
| FactoryFinder.java OutputKeys.java Result.java |
| Source.java SourceLocator.java Templates.java |
| Transformer.java |
| TransformerConfigurationException.java |
| TransformerException.java TransformerFactory.java |
| TransformerFactoryConfigurationError.java |
| URIResolver.java overview.html package.html |
| java/src/javax/xml/transform/dom DOMLocator.java |
| DOMResult.java DOMSource.java package.html |
| java/src/javax/xml/transform/sax SAXResult.java |
| SAXSource.java SAXTransformerFactory.java |
| TemplatesHandler.java TransformerHandler.java |
| package.html |
| java/src/javax/xml/transform/stream StreamResult.java |
| StreamSource.java package.html |
| java/src/org/w3c/dom Attr.java CDATASection.java |
| CharacterData.java Comment.java DOMException.java |
| DOMImplementation.java Document.java |
| DocumentFragment.java DocumentType.java |
| Element.java Entity.java EntityReference.java |
| NamedNodeMap.java Node.java NodeList.java |
| Notation.java ProcessingInstruction.java Text.java |
| package.html |
| java/src/org/w3c/dom/ranges DocumentRange.java Range.java |
| RangeException.java package.html |
| java/src/org/w3c/dom/traversal DocumentTraversal.java |
| NodeFilter.java NodeIterator.java TreeWalker.java |
| package.html |
| java/src/org/xml/sax AttributeList.java Attributes.java |
| ContentHandler.java DTDHandler.java |
| DocumentHandler.java EntityResolver.java |
| ErrorHandler.java HandlerBase.java InputSource.java |
| Locator.java Parser.java SAXException.java |
| SAXNotRecognizedException.java |
| SAXNotSupportedException.java |
| SAXParseException.java XMLFilter.java |
| XMLReader.java package.html |
| java/src/org/xml/sax/ext DeclHandler.java |
| LexicalHandler.java package.html |
| java/src/org/xml/sax/helpers AttributeListImpl.java |
| AttributesImpl.java DefaultHandler.java |
| LocatorImpl.java NamespaceSupport.java |
| ParserAdapter.java ParserFactory.java |
| XMLFilterImpl.java XMLReaderAdapter.java |
| XMLReaderFactory.java package.html<br/><ref>Committer's log entry: </ref>Use a condensed copy of xml-commons sources instead of individual sources; |
| remove xalan-specific copies of commons files<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java |
| java/src/org/apache/xalan/templates ElemNumber.java |
| java/src/org/apache/xml/utils/res XResources_cy.java |
| XResources_el.java XResources_ja_JP_A.java |
| XResources_ja_JP_HA.java XResources_ja_JP_HI.java |
| XResources_ja_JP_I.java XResources_zh_CN.java |
| XResources_zh_TW.java<br/><ref>Committer's log entry: </ref>Bugzilla 4601: Change ElemNumber to use a long integer for the value of the |
| number. This will allow us to format bigger numbers. As far as japanese |
| multipliers, we decided to document as a xalan limitation the fact that the |
| last 2 japanese multipliers will not be supported. If anyone has a strong and |
| valid user case for this, we will reconsider. For now, we could not justify the |
| expense of moving to BigInteger to support these multipliers.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Bugzilla 4735: We should at least report an error when we overflow DTM |
| addressing...<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorInclude.java<br/><ref>Committer's log entry: </ref>Bugzilla 4355: Make sure that when finding out if a stylesheet imports |
| itself, we use the resolved href.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>11/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath NodeSetDTM.java<br/><ref>Committer's log entry: </ref>Bugzilla 4158: Make sure we get the current, not the node pointed to by |
| m_next, which has been already incremented.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4344: discard attrs which don't have an element to belong to<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bugzilla 4344: more efficient.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Reorder slightly and add test to not synthesize xmlns:xsl declaration |
| if one was already present on the DOM's root element.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan Version.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>11/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>D13 internal version number update<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.2.D11"> |
| <p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>09/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Removed the code which precalculated node levels |
| (depth in tree). This has been IFed out for some time, but |
| was retained in case we wanted to go back to it. Since it |
| seems we're happy with this choice, zapping it entirely |
| saves a few more cycles. |
| |
| It's simple enough to recreate if we change our minds later.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Minor cleanup and updates in preparation for extension function; |
| note SAX portion isn't complete yet<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java |
| java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Update EnvironmentCheck service with SAX checking; better method organization; |
| Add checkEnvironment to xalan: built-in Extensions class<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref>Bug 2140: Catch index out of bounds exception<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bug 2130: Check for null data to avoid NPE<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java |
| java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Bug 3421: Issue an error if namespace attribute is used with an empty string |
| in xsl:element<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Backing out this change. Some conformance tests need to be updated first<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Bug 3421: Issue an error if namespace |
| attribute is used with an empty string in xsl:element<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemTemplateElement.java<br/><ref>Committer's log entry: </ref>Bug 3442: when building the prefix table for an element, just override |
| prefixes defined in parent element with uris that have been redefined by the |
| element instead of keeping both uris in the table.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerFactory.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla 3491: updated error message text; also updated Javadoc to |
| reflect @throws; note that the Javadoc is still somewhat contradictory |
| about returning a null on error (it appears to throw exceptions instead) |
| PR:3491 |
| Submitted by:Julian.Birch@ranplc.co.uk<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/javax/xml/transform TransformerFactory.java |
| java/src/org/apache/xml/dtm DTMManager.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla 3423: documentation updates for proper class, property names |
| (one of two checkins) |
| PR:3423 |
| Submitted by:gthb@dimon.is<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPath.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla 2637: documentation updates for constructor functionality |
| PR:2637 |
| Submitted by:gthb@dimon.is<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemUse.java<br/><ref>Committer's log entry: </ref>Bug 2548: Combine attribute sets with the same name but process them in order |
| of precedence.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes UnionPathIterator.java<br/><ref>Committer's log entry: </ref>Bug 3533: Check for null m_iterators before trying to use it.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer KeyRefIterator.java<br/><ref>Committer's log entry: </ref>Bugzilla 3618: Check cache before anything else when getting the next node in |
| the iterator.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc TransletException.java<br/><ref>Committer's log entry: </ref>Changed the TransletException class so that it inherits from SAXException |
| and not from Exception. This should make it possible for us to avoid |
| testing for both SAXExceptions and TransletExceptions. Exception handling |
| is one of the things that JVM takes its time with, and we should try to |
| avoid using them when we can, and use as few of them as possible otherwise. |
| PR: n/a |
| Obtained from: n/a |
| Submitted by: morten@xml.apache.org |
| Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor |
| TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Bugzilla 2332: Implement getAttribute() method to return the values for |
| incremental and optimize<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Enable Attr.getOwnerElement()<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java |
| java/src/org/apache/xalan/templates ElemLiteralResult.java<br/><ref>Committer's log entry: </ref>Bugzilla 1803: Handle version attribute on a litteral element.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>release 2.2.D11<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>release 2.2.D11<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTSchema.java<br/><ref>Committer's log entry: </ref>Mark xsl:template as containing ordered elements. Fix for no error when |
| xsl:param not first child of xsl:template<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemLiteralResult.java |
| ElemTemplateElement.java Stylesheet.java<br/><ref>Committer's log entry: </ref>Bugzilla 3800: Make sure that when looking for excluded prefixes, we check |
| the URI associated with the prefix, not the prefix in the excluded list.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath NodeSetDTM.java<br/><ref>Committer's log entry: </ref>Do not reorder or strip duplicate nodes when converting a DOM nodelist into a |
| DTM nodelist<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref |
| IncrementalSAXSource_Filter.java<br/><ref>Committer's log entry: </ref>Catch for unwrappered StopException (apparently not all parsers generate |
| a SAXException wrapper).<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| DTMDefaultBaseIterators.java |
| DTMDefaultBaseTraversers.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Creating the implied Namespace Node for xml:<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.2.D10"> |
| <note>The SQL Extension library has been updated to work with DTM.</note> |
| <p> Core (Non-XSLTC) source code updates:</p><ul> |
| <li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Fix bugzilla bug 3056 |
| (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3056). SAX2DTM now keeps |
| track if it is receiving events inside a DTD and ignores comment events when |
| inside the DTD.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Update version for 2.2.D9 build<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>08/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java |
| DefaultConnectionPool.java SQLDocument.java |
| XConnection.java<br/><ref>Committer's log entry: </ref>Fixed bug in connect method where User and Password were not |
| correctly being passed to the JDBC Driver. Requires chnage in |
| ConnectionPool Interface |
| Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/15o2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref>Use defined constant DTMManager.IDENT_DTM_NODE_BITS for shifting DTM nodes, |
| not hard coded value.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Fix problem with resolving a relative URI from a processing instruction<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Make sure base is not null before checking for its contents.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates FuncDocument.java<br/><ref>Committer's log entry: </ref>Fix document function so that if only one argument is passed and it is a |
| nodetest, the base to be used to resolve relative URIs is the base of the each |
| node in the nodeset.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTSchema.java<br/><ref>Committer's log entry: </ref>Allow multiple iterations of xsl:with-param within an xsl:call-template or |
| xsl:apply-template<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>Added getCurrentNodeList() for getting the current node list as defined |
| by http://www.w3.org/TR/xslt#dt-current-node-list. |
| This looks up the stack of the SubContextLists to find the top-level |
| LocPathIterator. I'm fairly unhappy with this fix, and hope to restructure |
| the context list stuff a bit to avoid the casts in the getCurrentNodeList(), |
| and to fix getCurrentNode() so that it properly defines the current |
| node as defined by the XSLT spec. As a matter of fact, I would |
| like to break up XPathContext into an XSLTContext. |
| Part of the http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3031 |
| fix.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncCurrent.java<br/><ref>Committer's log entry: </ref>Call new XPathContext#getCurrentNodeList. Fixes |
| http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3031.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer KeyRefIterator.java |
| java/src/org/apache/xpath/axes ChildIterator.java |
| ChildTestIterator.java DescendantIterator.java |
| MatchPatternIterator.java |
| SelfIteratorNoPredicate.java UnionPathIterator.java<br/><ref>Committer's log entry: </ref>Fix for problem reported by Mike Starr <mike.starr@air2web.com>, |
| where the transformation hangs for "foo[2] | bang" |
| patters, i.e. unions with positional predicates. The fix |
| is to have the iterators#nextNode() set m_lastFetched to DTM.NULL |
| when m_foundLast is found to be true on function entry |
| (after the cache check). This allows getCurrentNode() to |
| fullfill it's contract of returning null if the last fetch was |
| null. The bug occured after an optimization for positional |
| predicates to have them not continue searching once |
| the positional node was found, by setting m_foundLast |
| to true.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>08/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Removed debug flag |
| Submitted by:John Gentilin<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>08/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java |
| XConnection.java<br/><ref>Committer's log entry: </ref>Fixed Streaming Mode |
| Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>08/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm DTM.java |
| java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| DTMDocumentImpl.java DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>added document registration and release events to the DTM interface |
| Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>Fix bug 3112 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3112). Fix |
| tokenize to work with DTM by obtaining a new DocumentBuilder and not using the |
| document from the context node.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java |
| java/src/org/apache/xpath/operations Variable.java<br/><ref>Committer's log entry: </ref>Fix bug 3265 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3265). Using |
| an expression in the evaluate extension function that contains a top-level |
| variable was cause an NPE.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XStringForChars.java<br/><ref>Committer's log entry: </ref>Fixed two bugs, one in getChars and one in charAt where the m_start |
| offset wasn't being used correctly. This manifested itself in some |
| stuff I was doing with the startsWith function, but likely caused |
| many other bugs with other functionality.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/27/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc StripFilter.java<br/><ref>Committer's log entry: </ref>Forgot to add this file in my last putback. |
| PR: n/a |
| Obtained from: n/a |
| Submitted by: morten@xml.apache.org |
| Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>added dumpNode method, convenience for debugging. |
| |
| We might want to move this function up to DTMDefaultBase, or |
| perhaps to the DTM API itself.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToText.java<br/><ref>Committer's log entry: </ref>Fix http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3131 by |
| overriding writeNormalizedChars and writeUTF16Surrogate to |
| not do any XML escaping.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>The index was being stored as opposed to the node handle when we were |
| replacing namespace nodes. Store the actual node handle.<br/><br/></li> |
| <li><ref>Committed by</ref> mmidy@apache.org<ref> on </ref>08/29/2001<br/><ref>Modified: </ref> |
| java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla 2684 StringIndexOutOfBounds Exception. Check if we are at the end of the pattern string.<br/><br/></li> |
| </ul><note>This release includes no updates of the compatibility source code (now deprecated).</note> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.2.D9"> |
| <p> Core (Non-XSLTC) source code updates:</p> |
| <ul><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>2.2.D8<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>2.2.D8<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer NodeSortKey.java<br/><ref>Committer's log entry: </ref>Submitted fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2851.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Just added some stuff to diagnose bugs for flavor th.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes WalkerFactory.java |
| java/src/org/apache/xpath/compiler Compiler.java |
| java/src/org/apache/xpath/patterns |
| ContextMatchStepPattern.java StepPattern.java<br/><ref>Committer's log entry: </ref>These are changes submitted (offline) by Mukund Raghavachari/Watson/IBM@IBMUS. |
| |
| This fixes a bug with match="chapter//footnote[1]" patterns. |
| |
| The main change here is minor to remove the automatic attachment of parent::* |
| to simple step patterns. |
| |
| He has re-implemented executePredicates to be |
| more efficient. Given a pattern such as row[6], it |
| does not iterate over the entire axis until it reaches |
| the node to see if it is the sixth node. Rather, |
| starting from the current node, it works backwards |
| (preceding siblings) until it either runs out of nodes |
| or finds more than six nodes that match the |
| predicate [I can explain it better if desired]. |
| This optimization improves performance slightly |
| overall. It helps decoy and patterns most (by |
| about 10%). |
| |
| The other optimization that I implemented was the |
| following. For a pattern foo[][3][][4] ..., where more |
| than one predicate is a number (position check), |
| in checking the predicate [4], the fact that the |
| current node has passed foo[][3] implies that it is |
| the only node that is the third node among its |
| siblings that passes foo[]. Therefore, any |
| subsequent position checks can be true if and |
| only if the position is [1]. This optimization is not |
| used by the xsltmark benchmarks and so does |
| not offer any performance benefits.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes DescendantIterator.java<br/><ref>Committer's log entry: </ref>Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1336<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref>Resize the m_patternMap if m_patternMapSize exceeds the bounds.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions |
| ExtensionHandlerGeneral.java |
| ExtensionHandlerJavaPackage.java |
| ExtensionsTable.java MethodResolver.java |
| java/src/org/apache/xalan/lib Extensions.java |
| java/src/org/apache/xalan/lib/sql ConnectionPoolManager.java |
| java/src/org/apache/xalan/processor ProcessorLRE.java |
| ProcessorTemplateElem.java StylesheetHandler.java |
| TransformerFactoryImpl.java XSLTAttributeDef.java |
| XSLTElementProcessor.java |
| java/src/org/apache/xalan/res XSLTErrorResources.java |
| java/src/org/apache/xalan/serialize CharInfo.java |
| WriterToUTF8Buffered.java |
| java/src/org/apache/xalan/templates ElemExtensionCall.java |
| ElemExtensionDecl.java ElemMessage.java |
| FuncDocument.java FuncFormatNumb.java |
| OutputProperties.java StylesheetRoot.java |
| java/src/org/apache/xalan/transformer TrAXFilter.java |
| TransformerHandlerImpl.java |
| TransformerIdentityImpl.java TransformerImpl.java |
| java/src/org/apache/xalan/xslt Process.java |
| java/src/org/apache/xml/dtm DTMException.java |
| DTMManager.java |
| java/src/org/apache/xml/dtm/ref ChunkedIntArray.java |
| CoroutineManager.java CoroutineSAXParser.java |
| CoroutineSAXParser_Xerces.java DTMBuilder.java |
| DTMDefaultBase.java DTMDefaultBaseIterators.java |
| DTMDefaultBaseTraversers.java |
| DTMManagerDefault.java |
| IncrementalSAXSource_Filter.java |
| IncrementalSAXSource_Xerces.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java |
| java/src/org/apache/xml/utils ObjectPool.java QName.java |
| URI.java |
| java/src/org/apache/xpath NodeSet.java NodeSetDTM.java |
| VariableStack.java XPath.java XPathContext.java |
| java/src/org/apache/xpath/axes WalkerFactory.java |
| java/src/org/apache/xpath/functions FuncSubstring.java |
| FunctionDef1Arg.java |
| java/src/org/apache/xpath/objects |
| XRTreeFragSelectWrapper.java XStringForChars.java |
| java/src/org/apache/xpath/operations Variable.java |
| java/src/org/apache/xpath/res XPATHErrorResources.java<br/><ref>Committer's log entry: </ref>Getting all (almost all) error message strings into the resource bundle<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/27/2001<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref DTMBuilder.java<br/><ref>Committer's log entry: </ref>Accidentally added. Now deleting.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath Expression.java |
| java/src/org/apache/xpath/axes AxesWalker.java |
| LocPathIterator.java PredicatedNodeTest.java |
| ReverseAxesWalker.java |
| java/src/org/apache/xpath/objects XNumber.java |
| java/src/org/apache/xpath/operations Variable.java<br/><ref>Committer's log entry: </ref>If a proximity predicate is a stable number (variable or number literal) then, |
| once the node is found, don't keep searching! (since only one |
| node is possible).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>In getNextNamespaceNode and getFirstNamespaceNode, was |
| sometimes returning a node without the DTM identity bits. |
| Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2878.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler OpMap.java<br/><ref>Committer's log entry: </ref>Throw real error instead of runtime error in getFirstPredicateOpPos |
| for better error reporting.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes PredicatedNodeTest.java |
| java/src/org/apache/xpath/compiler OpMap.java<br/><ref>Committer's log entry: </ref>Bit of a hack to make /descendant-or-self::north with getFirstPredicateOpPos |
| where getFirstPredicateOpPos was always throwing an error if |
| there was not a predicate (!! Should have been discovered before |
| now?!?!). If -2 return -2 (instead of throwing an error), and |
| handle this case in PredicatedNodeTest#initPredicateInfo.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ObjectArray.java |
| SQLDocument.java SQLErrorDocument.java |
| XConnection.java<br/><ref>Committer's log entry: </ref>Added the original pquery and streaming mode functionality |
| Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/30/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/lib/sql DTMDocument.java<br/><ref>Committer's log entry: </ref>Added DTM Document, a common impl between SQLDocument and SQLErrorDocument |
| Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/30/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes DescendantIterator.java |
| WalkerFactory.java<br/><ref>Committer's log entry: </ref>Fix addresses http://nagoya.apache.org/bugzilla/enter_bug.cgi?product=XalanJ2, |
| and a whole class of related problems.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XNodeSet.java XObject.java |
| java/src/org/apache/xpath/patterns StepPattern.java<br/><ref>Committer's log entry: </ref>Detach expressions in match patterns. Also, defined |
| numWithSideEffects and boolWithSideEffects (for lack of |
| better names) that will increment the iterator, and call these |
| for predicates. The combination of these results in about an |
| 18% performance improvement for decoy.xsl. |
| Credits to Mukund Raghavachari/Watson/IBM@IBMUS.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions |
| ExtensionHandlerGeneral.java |
| java/src/org/apache/xalan/res XSLTErrorResources.java |
| java/src/org/apache/xalan/templates ElemExtensionDecl.java<br/><ref>Committer's log entry: </ref>Add support for external scripts (ie, the src attribute on a script element)<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathContext.java |
| java/src/org/apache/xpath/axes ChildTestIterator.java |
| OneStepIteratorForward.java<br/><ref>Committer's log entry: </ref>In XPathContext#createDTMIterator(int node), call |
| OneStepIteratorForward(Axis.SELF) |
| instead of DescendantIterator. This addresses one of the bugs |
| in http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925 |
| (i.e. <xsl:copy-of select="xalan:nodeset($stylesheets)"/>... |
| The DescendantIterator was enumerating all of the nodes in the RTF |
| rather than just the one.)<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/31/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java |
| ConnectionPoolManager.java DTMDocument.java |
| DefaultConnectionPool.java ObjectArray.java |
| PooledConnection.java SQLDocument.java |
| SQLErrorDocument.java XConnection.java<br/><ref>Committer's log entry: </ref>Added Error Managment and javadocs |
| Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/patterns StepPattern.java<br/><ref>Committer's log entry: </ref>Fixed some major problems with position() and last() in secondary |
| predicates for match patterns. Credit goes to |
| Mukund Raghavachari/Watson/IBM@IBMUS for flagging these.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref>Update after building Unit Test's |
| Submitted by: John Gentilin<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTAttributeDef.java<br/><ref>Committer's log entry: </ref>Fix for Bugzilla 2930. Fix from Alexander Rudnev. Handle namespaced elements.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm DTMAxisIterator.java |
| java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java |
| DTMDefaultBaseIterators.java |
| java/src/org/apache/xpath/axes OneStepIterator.java<br/><ref>Committer's log entry: </ref>Addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2945 |
| |
| Bug was caused by (redundent) cloneWithReset being called from |
| the UnionPathIterator, and the iterator in OneStepIterator not being |
| reset. (Need to review: check other iterators for this.) |
| |
| Call reset on the iterator in OneStepIterator#reset. Reset the position |
| value in the ancestor iterator reset. Define DTMAxisIterator#cloneIterator |
| to not reset the iterator position, and fix the implementations of |
| this to not call clone.reset().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java |
| java/src/org/apache/xpath NodeSetDTM.java |
| java/src/org/apache/xpath/functions FuncExtFunction.java |
| java/src/org/apache/xpath/objects XBoolean.java |
| XNodeSet.java XNumber.java XObject.java<br/><ref>Added: </ref>java/src/org/apache/xpath/objects XNodeSetForDOM.java<br/><ref>Committer's log entry: </ref>Address http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925 |
| |
| Create new XObject, XNodeSetForDOM, which is constructed |
| from a Node, NodeList, or NodeIterator, and acts the same as |
| XNodeSet, except it returns the original object for object(), |
| nodeset(), and nodelist(). |
| |
| Add XObject#create(Object val, XPathContext xctxt), which is |
| called from TransformerImpl#setParameter(s), and |
| FuncExtFunction#execute (for the return values of the |
| extension). |
| |
| XBoolean and XNumber now also have Boolean and Number |
| constructors, in which case the original object will also be |
| returned from the object() method. |
| |
| This should make the conversion from java object to XObject |
| consistent between function returns and setParameter. These |
| changes should also fix a bug where NodeLists weren't being converted.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/03/2001<br/><ref>Added: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>Replacement for org.xml.sax.helpers.NamespaceSupport; extends |
| that API so it can be easily swapped in. |
| |
| Current changes; |
| |
| Minor code reorg. I'm sorry, but I find classes easier to read |
| if fields are defined before methods reference them rather than |
| at end, especially when inner classes are present. |
| |
| Punt stack vector in favor of doubly-linked list. (It was already |
| singly-linked in parallel with the vector!) |
| |
| The whole dirty-tables concept was broken, because Context's |
| ctor always called copyTables and thus always marked tables |
| dirty. It also wasted some time setting itself only to be reset by |
| setParent. I've fixed both by parameterizing the ctor and making |
| copyTables specific to prep-for-new-declaration. (Could be |
| moved back into the declaration method, for that matter.) |
| |
| I'm dubious about the caches in processName. As far as I can |
| tell, Xalan per se never actually uses that method... |
| |
| The use of Hashtables is questionable. Hashtable is |
| known to be inefficient and oversynchronized in older JVMs, and |
| the fact that this is a bidirectional mapping suggests that an |
| approach similar to our own String Pool -- lighter-weight, more |
| targeted, hashing without reduplicating the two column tables -- |
| would be a win. Since these are typically short sets, even |
| simple linear search is worth considering!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java |
| java/src/org/apache/xalan/templates ElemTemplateElement.java |
| java/src/org/apache/xalan/transformer ResultTreeHandler.java |
| TransformSnapshotImpl.java<br/><ref>Committer's log entry: </ref>Cutover to NamespaceSupport2, q.v.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>Continuing code review.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>More efficient prefixes-for-specific-URI. This may wind up being |
| redone yet again if/when the underlying storage representation |
| changes.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>08/03/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/lib PipeDocument.java<br/><ref>Committer's log entry: </ref>PipeDocument extension element (the pipeDocument method).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java |
| java/src/org/apache/xpath NodeSet.java NodeSetDTM.java<br/><ref>Committer's log entry: </ref>Bug fixed regarding the current() function in the root template |
| (related to bug#1269). Bug was reported by David Marston |
| offline. The test for this is conf/copy/copy29. |
| |
| In TransformerImpl#applyTemplateToNode, create a NodeSetDTM and pass it to |
| m_xcontext.pushContextNodeList(cnl);. |
| In NodeSetDTM fix getCurrentNode so that it doesn't use m_next-1 |
| (which simply appears to be completely wrong). Do the same for |
| NodeSet... though I don't think this will be called anywhere in |
| Xalan.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm DTMAxisIterator.java |
| java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java |
| DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>Provide method for DTMAxisIterator to get the current root node |
| of the iteration.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XObject.java<br/><ref>Committer's log entry: </ref>In response to regression posted on xalan-dev by John Gentilin |
| <johnglinux@eyecatching.com> |
| on 08/03/2001 06:49 PM. When the XNodeSet taks a DTMIterator, it |
| will call val.getDTMManager();, which will call LocPathIterator#getDTMManager, |
| which will call m_execContext..getDTMManager(), which means |
| that setRoot has to be called on the iterator before it is added to |
| XNodeSet. Thus, call setRoot on the OneStepIterator in |
| create(Object, XPathContext) before it is added to the XNodeSet. |
| The regression was related to fix for |
| http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes OneStepIterator.java<br/><ref>Committer's log entry: </ref>For the OneStepIterator(DTMAxisIterator iterator) constructor, |
| initialize the node tests to DTMFilter.SHOW_ALL (duh).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XObject.java<br/><ref>Added: </ref>java/src/org/apache/xpath/objects XObjectFactory.java<br/><ref>Committer's log entry: </ref>Move create methods from XObject to XObjectFactory, in response |
| to cyclic build problems encountered with javac 1.1.8.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>Moved anonomous class to PrefixEnumerator, in response |
| to problems encountered with 1.1.8 build. |
| Joe may want to fix this in another way, as |
| I'm sure the anon class is probably a bit |
| cheaper?<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Address http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2972, |
| where it was throwing a NPE instead of reporting that the variable |
| was being accessed before it was bound (i.e. the variable was being |
| accessed inside an RTF for that same variable).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| TransformerHandlerImpl.java<br/><ref>Committer's log entry: </ref>Remove m_hasStarted variable and associated assertion.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>Addresses bug http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3001. |
| In the cloneIterator function of PrecedingIterator, the cloned array |
| was being sized for _maxAncestors, which defaults to 8. But if the |
| _stack was resized, it will copy more into the new stack than is |
| allocated. The solution is to allocate the new clone._stack array to |
| _stack.length.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>Don't create caches unless used (which I don't think they are, in Xalan).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java<br/><ref>Committer's log entry: </ref>Made _maxAncestors not static, as this is |
| not compatible with 1.1.8 (reported by |
| Gary Peskin).<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils NamespaceSupport2.java<br/><ref>Committer's log entry: </ref>Playing a hunch, I moved the Context objects out of NamespaceSupport2. |
| They're now a second class in the same file rather than being an inner class. |
| That reduces the size of the Context2 object, and its initialization time, by |
| removing the need for it to carry a reference to the NamespaceSupport2 |
| object that created it. |
| |
| Performance seems significantly improved... even (surprisingly!) on the |
| getDeclaredPrefixes operation. Memory usage also seems better, as |
| expected. |
| |
| NamespaceSupport2 is still acounting for about 5% |
| of the time spent in the ResultTreeHandler, according |
| to my latest trace. Apparently we are calling |
| getDeclaredPrefixes an obscenely large number of |
| times, and the Vector.elements call is adding up. We |
| may want to look at where this is being called from |
| and whether we can reduce the number of invocations.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Performance improvement; avoid scanning the same list twice.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| TransformerHandlerImpl.java TransformerImpl.java |
| java/src/org/apache/xalan/xslt Process.java |
| java/src/org/apache/xml/dtm/ref |
| IncrementalSAXSource_Filter.java |
| java/src/org/apache/xml/utils DefaultErrorHandler.java |
| java/src/org/apache/xpath/operations Variable.java<br/><ref>Committer's log entry: </ref>This checkin hopefully fixes many problems with bad diagnostics lately, but |
| at the expense of a slight change in behavior. The rule now is, the |
| DefaultErrorHandler never outputs location info for error and fatalError... |
| this has to be done |
| by the catcher of the exception. Convenience methods for this are |
| in DefaultErrorHandler#printLocation. This method will unwrap the |
| exception as close to the originating source as possible.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions |
| XSLProcessorContext.java |
| java/src/org/apache/xml/dtm DTMIterator.java |
| java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java |
| java/src/org/apache/xpath NodeSetDTM.java |
| java/src/org/apache/xpath/axes AttributeIterator.java |
| AxesWalker.java ChildIterator.java |
| ChildTestIterator.java DescendantIterator.java |
| FilterExprWalker.java LocPathIterator.java |
| OneStepIterator.java OneStepIteratorForward.java |
| ReverseAxesWalker.java UnionPathIterator.java |
| WalkingIteratorSorted.java |
| java/src/org/apache/xpath/objects XObjectFactory.java<br/><ref>Committer's log entry: </ref>Changes to allow some dynamic determination in WalkerIteratorSorted to |
| see if the nodes really need to be sorted. Added isDocOrdered() and |
| getAxis() to both DTMIterator and AxesWalker, and implemented |
| appropriate overloads in derived or implementing classes. In FilterExprWalker |
| return the contained DTMIterator's getAxis(). In WalkerIteratorSorted, |
| implement canBeWalkedInNaturalDocOrder() function that is called |
| from setRoot(...). If this function returns true, than don't sort the nodes |
| in setRoot, and in all other respects treat this as if it is a simple |
| WalkingIterator.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix for bugzilla 1251. Make sure exceptions are thrown when we're on the main |
| thread.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes AxesWalker.java |
| WalkerFactory.java WalkingIteratorSorted.java<br/><ref>Committer's log entry: </ref>Eliminate do/while check for duplicates in AxesWalker#nextNode() |
| by using WalkingIteratorSorted for cases where both the preceding[-sibling] |
| and following[-sibling] axes are being walked, and for "@*/foo" patterns |
| ("@attr/foo" patterns still use WalkingIterator).<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates FuncFormatNumb.java<br/><ref>Committer's log entry: </ref>Fix bugzilla bug 3036 |
| (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3036). When no |
| xsl:decimal-format element is supplied in the composed stylesheet, the defaults |
| specified in the Recommendation section 12.3 should be used for the attribute |
| values, not locale-specific defaults.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Fix for bugzilla 3060 |
| (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3060). Prefixes and |
| namespaceURIs are kept in the same Vector, m_prefixMappings. The entries are |
| stored as pairs of vector elements. The even elements contain the prefix and |
| the odd elements contain the URI. In two routines, getPrefix and endElement, |
| the appropriate prefix or URI was being located in the Vector using an |
| indexOf. However, in this case where the prefix and the URI were the same, the |
| routine was looking for the URI but finding the prefix instead of the URI. It |
| tried tried to back up one to get the prefix and underflowed the Vector size.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java |
| TransformerImpl.java<br/><ref>Committer's log entry: </ref>Implement ErrorHandler in ResultTreeHandler so that fatal errors can get |
| passed in to the SAXHandler. Also change the code in TransformerImpl to call |
| fatalError in case of an error instead of endDocument. (overlaps with URI |
| handling fix...)<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor |
| TransformerFactoryImpl.java |
| java/src/org/apache/xalan/transformer |
| TransformerIdentityImpl.java |
| java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Fix code to handle absolute paths from unix systems. This fix is part of an |
| ongoing process and is just meant to fix a few pending bugs. More changes are |
| expected in this area.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Change version for xalan2.2.D9 build<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java |
| java/src/org/apache/xalan/transformer ResultTreeHandler.java |
| java/src/org/apache/xml/utils DefaultErrorHandler.java<br/><ref>Committer's log entry: </ref>ResultTreeHandler was pushing a new namespace context but failing to note |
| that result in more pushes than pops. Cleaned up the execute() method of |
| ElemElement to make it more understandable (to me) and added a few comments. |
| The DefaultErrorHandler was not flushing Writers that it created. Since the |
| Writers are never closed (and cannot be as there is no close method), error |
| messages were failing to appear.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm DTMManager.java<br/><ref>Committer's log entry: </ref>Increasing the number of bits used to identify DTM nodes, at the expense of |
| decreasing the number of DTMs that a DTMManager can track simultaneously. Some |
| other code has been updated to track this change (and to better track posible |
| future changes), as have the IDKEY testcases.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| DTMDocumentImpl.java DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Increasing the number of bits used to identify DTM nodes, at the expense of |
| decreasing the number of DTMs that a DTMManager can track simultaneously. Some |
| other code has been updated to track this change (and to better track posible |
| future changes), as have the IDKEY testcases.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncGenerateId.java<br/><ref>Committer's log entry: </ref>Increasing the number of bits used to identify DTM nodes, at the expense of |
| decreasing the number of DTMs that a DTMManager can track simultaneously. Some |
| other code has been updated to track this change (and to better track posible |
| future changes), as have the IDKEY testcases.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath NodeSetDTM.java<br/><ref>Committer's log entry: </ref>Try to support getRoot. Fixes problem with TransformStateTest.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>08/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes WalkerFactory.java<br/><ref>Committer's log entry: </ref>Fix problem with duplicate nodes produced from a walking iterator<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.2.D8"> |
| <p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Code Update |
| Submitted by:John Gentilin<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Fixed DTM.NULL compile error<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TreeWalker2Result.java<br/><ref>Committer's log entry: </ref>Redundant test removed, possibly redundant code flagged for %REVIEW%<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java |
| java/src/org/apache/xalan/transformer |
| TransformerHandlerImpl.java |
| java/src/org/apache/xml/dtm/ref DTMDefaultBase.java |
| DTMDocumentImpl.java DTMManagerDefault.java |
| IncrementalSAXSource.java |
| IncrementalSAXSource_Filter.java |
| IncrementalSAXSource_Xerces.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java |
| java/src/org/apache/xml/utils SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>IncrementalSAXSource replaces CoroutineSAXParser -- simpler API, |
| hence less risk of programming errors introducing timing windows. I hope. |
| A few performance-related tweaks are also included in this check-in. |
| Only very minor gains are expected.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ObjectArray.java |
| SQLDocument.java<br/><ref>Committer's log entry: </ref>Project Update<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Oops.Should have been checked in as part of the IncrementalSAXSource cutover. |
| Sorry!<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java build.xml |
| java/src/org/apache/xml/dtm/ref |
| IncrementalSAXSource_Filter.java |
| java/src/org/apache/xml/utils/synthetic JavaUtils.java<br/><ref>Committer's log entry: </ref>3 small fixes to the build process ( to make it work with jdk1.4 and crimson) |
| |
| - exclude IncrementalSAXSource_Xerces if xerces is not detected |
| - comment-out the "main" in IncrementalSAXSource_Filter.java ( it is a |
| test, but has deps on xerces ) |
| - don't try to load the compiler in syntetic/JavaUtils. This is a mess, |
| it was debated on tomcat-dev and ant-dev, as you may know some people |
| decided to remove the internal compiler class ( sun.tools.javac.Main ), |
| and that brakes jasper, ant and now xalan. |
| |
| It seems right now the only portable way to run the compiler is via command |
| line call in a separate process ( jikes can easily make up for the |
| overhead of creating a new process and doesn't leave garbage ). |
| |
| Question: is synthetic used ? Seems like a very usefull package, but if |
| xalan is not using it it might be better to move it to xml-commons or |
| jakarta-commons or some other place.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Don't set m_level anymore, as it looks like Joe commented out it's |
| initialization. m_level is no longer called by Xalan, and the implementation |
| can calculate it when it is called.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Fixed bug 2758 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2758). The |
| flag indicating that a call to startDocument() in the resultContentHandler was |
| necessary was not being reset for multiple transforms.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Fix bug 2727 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2727). |
| Attributes which contain a namespace prefix are indicated by placing a negative |
| number in the appropriate entry in the m_dataOrQName array. The absolute value |
| of this number is an entry in m_data. However, in this example, there were no |
| text nodes before the first namespaced attribute so the entry in m_data had an |
| array index of 0. This resulted in an entry of zero, not a negative number, in |
| m_dataOrQName. This situation got several routines which tested for < 0 |
| confused. I looked at several ways of fixing this but decided to just always |
| allocate m_data.elementAt(0) entry to a dummy entry. The other solutions |
| involved runtime checking which could slow down this piece of code and I felt |
| that wasting one entry was worth it to not slow down the run time.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize |
| WriterToUTF8Buffered.java<br/><ref>Committer's log entry: </ref>Fix bugzilla bug 2639 |
| (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2639) where buffer was |
| overflowing because the expansion of the Unicode characters into multiple UTF8 |
| characters was not being properly taken into account. Many thanks to |
| Gunnlaugur Thor Briem for his "multiply by three" trick.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer NodeSorter.java<br/><ref>Committer's log entry: </ref>Commented out NumberFormat m_formatter = NumberFormat.getNumberInstance();. |
| |
| Mukund reported: |
| |
| a minor improvement for alphabetize.xsl is to comment out the line |
| |
| //NumberFormat m_formatter = NumberFormat.getNumberInstance(); |
| |
| in NodeSorter.java. The variable m_formatter does not seem to be used |
| anywhere, and the performance difference is: |
| |
| Before: alphabetize 10 90 5108 196 156 34.58 |
| OK |
| After : alphabetize 10 70 4316 196 156 |
| 40.93 OK<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>2.2.D8<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>2.2.D8<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer NodeSortKey.java<br/><ref>Committer's log entry: </ref>Submitted fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2851.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Just added some stuff to diagnose bugs for flavor th.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes WalkerFactory.java |
| java/src/org/apache/xpath/compiler Compiler.java |
| java/src/org/apache/xpath/patterns |
| ContextMatchStepPattern.java StepPattern.java<br/><ref>Committer's log entry: </ref>These are changes submitted (offline) by Mukund Raghavachari/Watson/IBM@IBMUS. |
| |
| This fixes a bug with match="chapter//footnote[1]" patterns. |
| |
| The main change here is minor to remove the automatic attachment of parent::* |
| to simple step patterns. |
| |
| He has re-implemented executePredicates to be |
| more efficient. Given a pattern such as row[6], it |
| does not iterate over the entire axis until it reaches |
| the node to see if it is the sixth node. Rather, |
| starting from the current node, it works backwards |
| (preceding siblings) until it either runs out of nodes |
| or finds more than six nodes that match the |
| predicate [I can explain it better if desired]. |
| This optimization improves performance slightly |
| overall. It helps decoy and patterns most (by |
| about 10%). |
| |
| The other optimization that I implemented was the |
| following. For a pattern foo[][3][][4] ..., where more |
| than one predicate is a number (position check), |
| in checking the predicate [4], the fact that the |
| current node has passed foo[][3] implies that it is |
| the only node that is the third node among its |
| siblings that passes foo[]. Therefore, any |
| subsequent position checks can be true if and |
| only if the position is [1]. This optimization is not |
| used by the xsltmark benchmarks and so does |
| not offer any performance benefits.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes DescendantIterator.java<br/><ref>Committer's log entry: </ref>Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1336<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.2.D7"> |
| <p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/03/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMManagerDefault.java<br/><ref>Committer's log entry: </ref>Since the real root of our tree may be a DocumentFragment, we need to |
| use getParent to find the root, instead of getOwnerDocument. Otherwise |
| DOM2DTM#getHandleOfNode will be very unhappy. |
| Result of report via private mail by Carsten Ziegeler of breakage |
| in Cocoon.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java |
| SerializerToXML.java<br/><ref>Committer's log entry: </ref>Made m_maxCharacter, accumDefaultEscape, |
| accumDefaultEntity, and m_isRawStack |
| protected by request from Johannes Farrenkopf |
| and Frank Nestel.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncNormalizeSpace.java<br/><ref>Committer's log entry: </ref>In executeCharsToContentHandler check first for |
| DTM.NULL before trying to get the DTM.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Fix bug reported by "Carsten Ziegeler" <cziegeler@sundn.de>. |
| Test for this is whitespace23.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>Drop some bounds tests for cases which shouldn't arise in the first place, |
| since this is an inner-loop method.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SuballocatedByteVector.java |
| SuballocatedIntVector.java<br/><ref>Committer's log entry: </ref>Synch SuballocatedByteVector with changed SuballocatedIntVector<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref CoroutineSAXParser.java<br/><ref>Committer's log entry: </ref>Revert back to throwing a shutdownException if (arg == null) in co_yield. I |
| see this |
| occur if the parser is Crimson with output\output01, and it causes |
| a hang if the shutdownException is not thrown.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>Make accumDefaultEntity and accumDefaultEscape non-final.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes ChildTestIterator.java |
| OneStepIterator.java |
| java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref>Fix for John G. for the SQL extension: handle return types of |
| DTM and DTMAxisIterator.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>In executeChildTemplates, somehow there was a popMode without |
| a corresponding pushMode. The pushMode was added. |
| Addresses bug posted by Stephane Bailliez <sbailliez@imediation.com> |
| on the xalan-dev list on 07/09/2001 07:28 AM.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions ExpressionContext.java |
| java/src/org/apache/xalan/templates StylesheetRoot.java |
| java/src/org/apache/xpath VariableStack.java |
| XPathContext.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla 2355 |
| <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2355>. To make the |
| functionality clearer, I've changed the method name from getVariable to |
| getVariableOrParam since the routine will pick up either one. Also fixed a |
| bug where top level variables and parameters were not getting marked as such.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java |
| java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla 2523 |
| <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2523>. evaluate extension |
| function was not refactored with DTM. Also need to add function to |
| XPathContext.XPathExpressionContext to allow an extension to obtain the |
| associated XPathContext.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes DescendantIterator.java<br/><ref>Committer's log entry: </ref>Fix problem with descendant-or-self and from root pattern. When from root, |
| descedant or self was not recognized.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Quick patch to handle case where someone wants to build a DTM from |
| an Element rather than from a Document. The Attr handling might want to |
| move down into addNode. |
| |
| This opens several cans of worms -- what if the next user wants the |
| root of their DTM to be an EntityReference node, which has no DTM |
| node equivalent -- but we'll eat those when we get to them.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>Modify distinct() extension so that it no longer relies on DOMHelper which is |
| deprecated but uses ExpressionContext.toString().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java |
| java/src/org/apache/xalan/trace PrintTraceListener.java |
| java/src/org/apache/xalan/transformer TransformerImpl.java |
| java/src/org/apache/xalan/xslt Process.java |
| java/src/org/apache/xml/dtm DTM.java |
| java/src/org/apache/xml/dtm/ref DTMDocumentImpl.java |
| ExpandedNameTable.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java |
| java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Added: </ref>java/src/org/apache/xalan/lib NodeInfo.java |
| java/src/org/apache/xalan/transformer XalanProperties.java |
| java/src/org/apache/xml/dtm/ref NodeLocator.java<br/><ref>Committer's log entry: </ref>Application of patch submitted by Ovidiu Predescu <ovidiu@cup.hp.com> |
| for file, line, column number information for XML source document. |
| |
| [A made one change: m_sourceSystemId, m_sourceLine, and |
| m_sourceColumn are not created with the member variable |
| initializer, since they are initialized in setProperty.] |
| |
| The following patch is a rework of a previous patch I've submitted on |
| May 24 against the Stree model, current at that time. This time the |
| patch is against the DTM model, and makes use of DTM features to |
| optimize the lookup time and storage requirements. I hope this time |
| the patch gets incorporated in the CVS repository, before any major |
| rework happens again ;-). |
| |
| As with the previous patch, there is no overhead in space or time if |
| source information is not needed. |
| |
| From a user perspective, this feature can be turned on by passing the |
| -L flag to Xalan when invoking it from the command |
| line. Programmatically you can also enable it by invoking the |
| setProperty method on the TransformerImpl: |
| |
| TransformerImpl impl = ((TransformerImpl) transformer); |
| |
| impl.setProperty(org.apache.xalan.transformer.XalanProperties.SOURCE_LOCATION, |
| Boolean.TRUE); |
| |
| A Transformer "property" is different from a "feature": while a |
| feature is specific to all the transformer instances and usually |
| refers to an implementation aspect, a property is a runtime capability |
| that is set per Transformer instance. Currently the only property |
| added by this patch is the source location in the XML source document. |
| |
| The patch adds two methods to the DTM interface: |
| |
| public void setProperty(String property, Object value); |
| public SourceLocator getSourceLocatorFor(int node); |
| |
| The second method is used to obtain the source location given a node |
| handle. |
| |
| There are two ways you can make use of the source location. The first |
| one is from within a stylesheet, where you can have something like |
| this: |
| |
| <xsl:stylesheet |
| xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
| xmlns:nodeinfo="xalan://org.apache.xalan.lib.NodeInfo" |
| version="1.0"> |
| |
| <xsl:template match="*"> |
| //node <xsl:value-of select="name()"/> |
| //file <xsl:value-of select="nodeinfo:systemId()"/> |
| //line <xsl:value-of select="nodeinfo:lineNumber()"/> |
| //column <xsl:value-of select="nodeinfo:columnNumber()"/> |
| <xsl:apply-templates/> |
| </xsl:template> |
| |
| </xsl:stylesheet> |
| |
| If no arguments are passed to the systemId(), lineNumber() or |
| columnNumber() functions, the corresponding information of the current |
| context node is returned. A node can be passed as argument to the |
| above functions, in which case the corresponding information about |
| that node is returned. If a node set containing multiple nodes is |
| passed as argument, only the information of the first node in the set |
| is returned. |
| |
| The second way of obtaining the source location is |
| programmatically. Given a Node instance, one can obtain the owner DTM |
| and the node handle (an integer) that represents the |
| node. Unfortunately I didn't see any way of hiding this: if you find |
| one please let me know and I'll fix it. |
| |
| The following example is extracted from PrintTraceListener and |
| illustrates the API: |
| |
| Node sourceNode = ev.m_sourceNode; |
| int nodeHandler = ((DTMNodeProxy)sourceNode).getDTMNodeNumber(); |
| SourceLocator locator = ((DTMNodeProxy)sourceNode).getDTM() |
| .getSourceLocatorFor(nodeHandler); |
| |
| m_pw.println("Selected source node '" + sourceNode.getNodeName() |
| + "', at " + locator);<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler Compiler.java<br/><ref>Committer's log entry: </ref>Fix bug 2175 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2175> by |
| adding the current time to the method key to ensure method key uniqueness. |
| Multiple Compilers were getting the same hashCode, particularly in Visual Age |
| for Java, due to aggressive garbage collection. Added the current time in |
| mills to distinguish between the different functions being compiled.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemVariable.java |
| StylesheetRoot.java |
| java/src/org/apache/xpath VariableStack.java |
| java/src/org/apache/xpath/operations Variable.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla 2355 |
| <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2355>. Added code to |
| populate m_index for global variables and parameters. If the backward search |
| for templates reaches the top level, use the list of composed top-level |
| variables and parameters from StylesheetRoot.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Now implements DocumentFragment.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Updated version to 2.2.0.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Updated version to 2.2.0.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Fixed very ugly bug, left-over from DTM1, in getValue, where +1 was being |
| added per the old attribute structure of DTM1.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java |
| DefaultConnectionPool.java PooledConnection.java |
| QueryParameter.java XConnection.java<br/><ref>Added: </ref>java/src/org/apache/xalan/lib/sql ConnectionPoolManager.java |
| ObjectArray.java SQLDocument.java |
| SQLErrorDocument.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/lib/sql Column.java |
| ColumnAttribute.java ColumnData.java |
| ColumnHeader.java ExtensionError.java Row.java |
| RowSet.java SQLExtensionError.java |
| StreamableNode.java XConnectionPoolManager.java |
| XStatement.java<br/><ref>Committer's log entry: </ref>First round of changes to port DOM mode to DTM Mode |
| Submitted by: John Gentilin mailto://johng@apache.org<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Check if locator property is set before trying to use locator fields<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/trace PrintTraceListener.java<br/><ref>Committer's log entry: </ref>Don't print locator message if locator is null<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| TransformerHandlerImpl.java<br/><ref>Committer's log entry: </ref>In startDocument, run m_contentHandler.startDocument before you start the |
| thread.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Call wait for initial events before the the transform is started.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref CoroutineSAXParser.java<br/><ref>Committer's log entry: </ref>Allow co_yield to be called after the parse has finished.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java |
| SQLErrorDocument.java<br/><ref>Committer's log entry: </ref>Added setProperty and getSourceLocatorFor empty methods.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>Fix problem reported by Carsten Ziegeler <cziegeler@sundn.de>. Using |
| ApplyXPath (or doing a transformation) with DOM input was resulting in an NPE |
| due to declareNamespaceInContext() being called before setting m_exptype which |
| is needed by declareNamespaceInContext().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| TransformerHandlerImpl.java<br/><ref>Committer's log entry: </ref>Add pauseForTransformThreadStartup. Call this in startDocument just |
| after starting the transform thread. This should get rid of any variability |
| with racing threads.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions |
| XSLProcessorContext.java<br/><ref>Committer's log entry: </ref>Fix problem reported by jason heddings <Jason.Heddings@Sun.COM>. |
| |
| "In v2.0.1, I was able to pass a Node to this function and have the node |
| be copied to the result tree (as expected). In the source code for |
| XSLProcessorContext, it appears that the only objects that can be sent |
| to the result tree are XObjects. Everything else is converted to a |
| String. So for instance, I can no longer create a ProcessingInstruction |
| and pass it to the result tree via this method since the PI is simply |
| converted to a String."<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>Application of patch submitted by Benjamin Riefenstahl |
| <Benjamin.Riefenstahl@ision.net> |
| |
| Motivation: We are using Xalan to generate HTML pages. We have the |
| requirement to integrate code for ad banners. The ad server provider |
| has written the code to use with compatibility to NetScape 4 in mind. |
| The code uses the NetScape proprietory <LAYER> element and <IFRAME> |
| elements for other browsers. The SRC attributes of these elements |
| contain URLs with several URL parameters separated by '&', as is the |
| common convention. |
| |
| Problem: The code is integrated in our XSL stylesheets. In the |
| stylesheet the '&' has to be written as the entity '&amp;'. That's |
| ok. The problem is that in the output the '&' is also written as |
| '&amp;' which is not ok, because NetScape doesn't understand that. |
| OTOH the same URL is written with '&' when used in an <A> element. |
| |
| Solution: This goes down to a different handling of attribute values |
| in the class SerializeToHTML, depending on whether the attribute in |
| question is known to contain a URI or not. Xalan knows this for <A> |
| but not for <LAYER> and <IFRAME>. When I compare the list in |
| SerializeToHTML.java with the HTML specs, I find a couple of other |
| missing URI attributes in SerializeToHTML.java. When I add the |
| missing pieces, the generation works fine. |
| |
| Patch: Here is the patch (diff -c) for xalan-j_2_2_D6. I also have |
| one for xalan-j_2_0_1 which is the version I actually tested this |
| with. Please let me know if this is insufficient or the patch is |
| wrong or if there is something else I can do to fix this problem.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>On code review of previous checkin from Gary P., we determined there |
| was a problem with the point at which type was declared a |
| DTM.NAMESPACE_NODE. So that part was moved back up (actuall |
| a bit higher than where it was before), |
| and the call to declareNamespaceInContext was moved a bit |
| further down.<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java<br/><ref>Committer's log entry: </ref>Project Update |
| Submitted by: John Gentilin mailto://johng@apache.org<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Project Update |
| Submitted by: John gentilin mailto://johng@apache.org<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Fixup from previous check-in, defined new |
| functions. |
| Submitted by: John Gentilin mailto://johng@apache.org<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Project Update<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>reduced Attribute's for testing<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>07/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Minor hack to catch an attribute value being null.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemNumber.java |
| java/src/org/apache/xalan/transformer Counter.java |
| CountersTable.java KeyRefIterator.java |
| java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java |
| java/src/org/apache/xpath NodeSetDTM.java |
| java/src/org/apache/xpath/axes LocPathIterator.java |
| UnionPathIterator.java WalkingIteratorSorted.java |
| java/src/org/apache/xpath/objects XNodeSet.java |
| XRTreeFrag.java<br/><ref>Committer's log entry: </ref>Add new parameter to NodeSetDTM constructor. We need to have a DTMManager on |
| hand. Change code to use the new constructors.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java<br/><ref>Committer's log entry: </ref>OOps! Back out this last change. Old code on my machine!!!<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql SQLDocument.java<br/><ref>Committer's log entry: </ref>Fixed a few bugs, almost there |
| Submitted by: John Gentilin mailto://johng@apache.org<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref CoroutineManager.java |
| CoroutineSAXParser.java |
| CoroutineSAXParser_Xerces.java<br/><ref>Added: </ref>java/src/org/apache/xml/dtm/ref IncrementalSAXSource.java |
| IncrementalSAXSource_Filter.java |
| IncrementalSAXSource_Xerces.java<br/><ref>Committer's log entry: </ref>Starting to phase out Coroutine*Parser* in favor of IncrementalSAXSource*. |
| The latter simplifies the code, and should help us avoid some of the |
| confusion that can arise in using the older tools. |
| |
| Most importantly, it greatly simplifies the calling sequences, by discarding |
| the "which file do you want to parse" and "do you want to parse any more |
| files" transactions. These now operate _only_ as filters, and only as single |
| -use (though in fact the Xerces-specific version is reusable, and we may |
| reintroduce that feature in the generic filtering version at a later date). |
| |
| Note too that we have swept the CoroutineManager completely |
| under the covers of the filter's API. There's no particular reason to expose |
| that implementation detal to the outside world. |
| |
| Still to be done: Rework the rest of Xalan to use the new code.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref CoroutineParser.java<br/><ref>Committer's log entry: </ref>Starting to phase out Coroutine*Parser* in favor of IncrementalSAXSource*. |
| See comment in previous check-in; I just missed this one....<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMStringPool.java<br/><ref>Committer's log entry: </ref>doc.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>2.2.D7<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>2.2.D7<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>07/18/2001<br/><ref>Removed: </ref>java/src/org/apache/xml/dtm/ref DTMBuilder.java<br/><ref>Committer's log entry: </ref>Obsolete<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.2.D6"> |
| <p><em>Important: Xerces has added a number of DOM level-3 methods to its DOM interfaces. The DOM level-3 proposal |
| is currently a working draft (it is not yet a W3C recommendation), and Xalan does not support these new methods. |
| To run Xalan in the JDK 1.1.8 platform, you must put xalan.jar (with its DOM level-2 interfaces) in front of |
| xerces.jar on the system class path. If you want to rebuild Xalan (on JDK 1.1.8 or higher), you must put Xalan |
| in front of xerces.jar the system class path.</em></p> |
| |
| <p>This beta release includes the following non-XSLTC code changes:</p> |
| <ul> |
| <li>Costin Manolache has slightly modified the CoRoutine stuff so that a you can compile and run everything but the CoRoutineXercesParser without having Xerces on the classpath.<br/><br/></li> |
| <li>Joseph Kesselman added chunked int array stuff to address our scaling problems that Mukund & co. uncovered. This was a fairly mechanical, but still substantial, change. No bugs have yet been discovered that relate to this. This is probably the most controversial change.<br/><br/></li> |
| <li>The Process class now outputs incrementally if the output is standard out. This is mostly for testing purposes, but it makes general sense.<br/><br/></li> |
| <li>Bug was fixed with setting the incremental flag in TransformerFactoryImpl. Clearly the change was made but never tested. Simply a missing 'else'.<br/><br/></li> |
| <li>Fix for Bugzilla Bug 2275, Xalan did not fire the right templates. This was substantial and somewhat risky. Xalan had several problems related to the last() function. Fixes cover four axes files.<br/><br/></li> |
| <li>Change PrintTraceListener to output the file, as well as the line numbers. This is really a feature change, but simple, and aids diagnosing problems with multi-part stylesheets.<br/><br/></li> |
| <li>XPath fix: the XPath API wasn't working correctly due to a problem with with NodeSet/NodeIterator adapters. This fix ended up interacting quite a bit with the #2275 fix.<br/><br/></li> |
| <li>Fix for the Norm Walsh bug posted 06/20/2001: iterators weren't always being cloned correctly from the variable value stack. This fix is not without some risk, though we haven't seen any problems since Scott Boag made it.<br/><br/></li> |
| <li>David Bertoni added missing html element properties to SerializerToHTML.java.<br/><br/></li> |
| <li>Shance Curcuru modified TransformerFactoryImpl.setAttribute() to accept a String ("true" or "false") as well as a Boolean object to set the value of a Boolean attribute.<br/><br/></li> |
| <li>TransformerHandlerImpl was threading when incrementality is turned off. Scott Boag has fixed this bug.</li> |
| </ul> |
| </s2> |
| <anchor name="dtm"/> |
| <s2 title="Changes for &xslt4j; 2.2.D2"> |
| <p>This release includes the following changes:</p> |
| <ul> |
| <li>Deprecation of the <link idref="usagepatterns" anchor="compat">Xalan-Java 1 compatiblity API</link></li> |
| <li>The DTM</li> |
| <li>Other optimization work</li> |
| </ul> |
| <p>The primary focus of the 2.2 Developer releases is incorporation of all our work over the past several months on the Document Table |
| Model (<link idref="dtm">DTM</link>).</p> |
| |
| <p>As a result of the changes in *internal* api, you may encounter problems with extensions. We have done some bug fixing in support |
| for extensions since 2.2.D1. John Gentilin is working on fixing the SQL library extension,which currently is broken. Please report |
| any problems you find (see <link anchor="bugs">bugs</link>).</p> |
| |
| <p>The DTM and related work provides faster performance and less accumulation of garbage... though it is an |
| ongoing battle. Brief summary:</p> |
| <ul> |
| <li>The DTM identifies nodes with 32-bit integer handles. |
| The DTM has many features, including direct character dispatch to SAX2, |
| native DTM iterators and "traversers", multiple document management, etc.<br/><br/></li> |
| <li>Joe Kesselman's CoRoutine parsers, which are in a threaded SAX flavor |
| and in a Xerces parseMore() flavor (no threads). These do away with the |
| "race" conditions that occured in the original code, and should make Xalan |
| much more robust.<br/><br/></li> |
| <li>*Much* more robust XPath itteration. The "waiting" iterators of old are |
| no more, and good riddance. There is stil lots more we want to do with |
| this mechanism. (There is something here called MatchIterators, but it's |
| not being used yet for various reasons. We will be taking advantage of |
| these down the line.)<br/><br/></li> |
| <li>A fair amount of XObject creation reduction. You can now get boolean, |
| number, nodeset, and string values directly from an Expression, instead of |
| going through an XObject.<br/><br/></li> |
| <li>XMLString, which allows us to work with string objects that don't wrap |
| Java's String object. These objects get their character data from an array or |
| Fast String Buffer.<br/><br/></li> |
| <li>Serializers now only do internal buffering if they know they are writing |
| to a FileStream.<br/><br/></li> |
| <li>The variable stack mechanism has been redisigned, so that it is no |
| longer so interpretive, and we believe it is much more robust.<br/><br/></li> |
| <li> Some small amount of stylesheet rewriting (but not yet redundent |
| expression elimination), in particular to reduce full RTF creation and |
| interpretation.</li> |
| </ul> |
| <p>&xslt4j; implements two DTM performance features that you can control with the TransformerFactory |
| <jump href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute()</jump> |
| method. See <link idref="dtm" anchor="settings">DTM performance settings</link></p> |
| </s2> |
| <s2 title="Changes for &xslt4j; 2.1.0"> |
| <p>This release includes a number of bug fixes to &xslt4j; and TrAX. |
| We have also enhanced the ApplyXSLT servlet. It can now be set up to use a compiled Templates object to respond to multiple |
| client transformation requests involving the same stylesheet.</p> |
| <!--This XML fragment contains a list of source code updates to place in an <s2> section of readme.xml--><p>Core source code updates:</p><ul><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>03/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java |
| java/src/org/apache/xpath Expression.java XPath.java |
| XPathContext.java |
| java/src/org/apache/xpath/compiler Compiler.java |
| XPathParser.java<br/><ref>Committer's log entry: </ref>Renamed "assert()" to "assertion()". |
| |
| Assert can be a keyword, and brake the compilation.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer KeyWalker.java<br/><ref>Committer's log entry: </ref>Throw an error message if the key name in a key function was not defined<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Reworked "chunk growth" algorithm again. Growing mode not |
| yet adequately tested, but fixed-size mode (which is what Xalan |
| is currently using) is simpler code and shows improved performance.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>03/20/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Utility class to check your JVM environment for common problems<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>03/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Added more .jar sizes to jarVersions listing<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>We've reworked the algorithm again. The fixed-chunk-size mode (initial |
| and max. chunk sizes equal) runs essentially unchanged, though with a |
| few cycles less overhead. The variable-chunk-size mode now uses a |
| recursive-encapsulation scheme, where the first chunk may itself be a |
| FastStringBuffer whose total length equals one chunk; every so often |
| we push the existing data down one level and restart with a larger |
| chunk size. The new scheme has been stress-tested and is apparently |
| working. At this writing, however, Xalan uses only the fixed-size |
| mode (initial size equals max size), and no effort has been made to |
| find the optimial values for the tuning parameters. It does appear |
| likely that the best values will vary with usage patterns, but we hope |
| to find a good compromise. |
| |
| I'll probably be putting this aside for a while to work on other things. |
| If someone wants to experiment with varying the block sizes and |
| how frequently they grow, and suggest good performance/memory |
| tradeoff points, go for it!<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Minor tweak to the javadoc.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>reset() versus setLength(0).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemForEach.java<br/><ref>Committer's log entry: </ref>Fix for bug# 1116, getMatchedTemplate throws ClassCastException. |
| Don't push template unless it is a xsl:template.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates OutputProperties.java<br/><ref>Committer's log entry: </ref>Patches submitted by Patrick Moore <patrickm@rioport.com> |
| on 03/15/2001 01:25 PM: |
| |
| This proposed change does a number of things: |
| |
| 1. Problem: HTML output method does not uses XML output properties as |
| default. |
| |
| In both org/apache/xalan/templates/output_html.properties and in the java |
| doc for |
| org/apache/xalan/templates/OutputProperties#getDefaultMethodProperties(Strin |
| g) It specifically states that all OutputProperties use the |
| output_xml.properties as a base. In the code this is not true for html. This |
| is now changed to match the comments |
| |
| 2. Problem: unclear IOException. |
| |
| If there was a problem loading the XML properties file. The wrapped |
| exception now will say which file was trying to be loaded. If the file did |
| not exist I was getting a very strange "Stream closed" IOException message. |
| |
| 3. Problem: the streams were not closed after reading the property file. |
| |
| Fixed. |
| |
| 4. Problem: the double-check locking mechanism does not work in Java (see |
| bug #919) |
| |
| <http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-toolbox.html> |
| |
| 5. QUESTION: now if there is a default properties (i.e. |
| output_xml.properties has been loaded) but the expected properties file does |
| not exist a error message will be printed to System.err and the processing |
| will continuing using just the default properties (output_xml.properties) I |
| felt that this is the best behavior. |
| |
| (comment by sboag: I think it's better to |
| throw a runtime exception in this case. |
| but we can discuss this over time. For now |
| the patch was modified to do the runtime exception).<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTSchema.java |
| java/src/org/apache/xalan/stree SourceTreeHandler.java |
| java/src/org/apache/xalan/templates ElemForEach.java |
| ElemLiteralResult.java |
| java/src/org/apache/xalan/transformer QueuedSAXEvent.java |
| ResultTreeHandler.java TransformerImpl.java |
| java/src/org/apache/xml/utils BoolStack.java |
| java/src/org/apache/xpath XPathContext.java<br/><ref>Committer's log entry: </ref>This check-in contains a couple things that overlapped on my |
| system, so I'm checking them in together. |
| 1) Unfinished (in progress) implementation of TransformSnapshot mechanism, |
| which will hopefully allow a result ContentHandler to take a snapshot |
| at a given point, and the restart execution from that point at some |
| later time. For tooling support. |
| 2) Check to make sure SourceTreeHandler isn't being entered twice, |
| which is related to the cocoon bug from a couple of weeks ago. This |
| will just help diagnose such a problem in the future. |
| 3) Removed the error stack trace print from postExceptionFromThread. |
| 4) Report exception in SourceTreeHandler#endDocument after |
| the join, if we can determine that the posted exception won't be |
| caught elsewhere. |
| 5) removed some catches that simply rethrew the exception |
| (thanks to Patrick Moore <patrickm@rioport.com>). |
| See my note on 3/27/2001 to Patrick for more info |
| on the last two.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/27/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/transformer TransformSnapshot.java |
| TransformSnapshotImpl.java<br/><ref>Committer's log entry: </ref>Unfinished (in progress) implementation of TransformSnapshot mechanism, |
| which will hopefully allow a result ContentHandler to take a snapshot |
| at a given point, and the restart execution from that point at some |
| later time. For tooling support.on the last two.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor |
| ProcessorStylesheetElement.java |
| ProcessorTemplateElem.java StylesheetHandler.java |
| XSLTElementDef.java XSLTElementProcessor.java |
| XSLTSchema.java<br/><ref>Committer's log entry: </ref>Try to catch element order and required element errors during stylesheet |
| object creation. This new code adds an order and a required field to |
| XSLElementDef objects where it is applicable.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix bugzilla bug 1170. If we're trying an xsl:apply-imports at the top level |
| (ie there are no |
| imported stylesheets), we need to indicate that there is no matching template |
| and prevent and infinite recursion by using the built-in template.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/02/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions MethodResolver.java<br/><ref>Committer's log entry: </ref>Code cleanup submitted by Art Welch <art_w@EASTPOINT.COM>.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>Add locator support to TreeWalker<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| QueuedStartElement.java<br/><ref>Committer's log entry: </ref>Small fix made for getCurrentNode.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>04/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>Commented out extra call to getData()... this could be a big performance |
| improvement for some stylesheets.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| TransformSnapshotImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Additional support for tooling. Allow tools to take a snapshot of context and |
| restart execution at that point.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor |
| XSLTElementProcessor.java |
| java/src/org/apache/xalan/res XSLTErrorResources.java |
| java/src/org/apache/xalan/transformer |
| TransformSnapshotImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Misc stuff left out from previous check in<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncCurrent.java<br/><ref>Committer's log entry: </ref>Don't assume that the object returned by getSubContextList() is a |
| PredicatedNodeTest object.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorInclude.java |
| TransformerFactoryImpl.java |
| java/src/org/apache/xalan/transformer |
| TransformerIdentityImpl.java |
| java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>Create new TreeWalker constructor that takes a systemId parameter. Change |
| TreeWalker to change fields in the locator and not set it for each node.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>04/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPath.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla bug: |
| PR: 1106 |
| Submitted by: elharo@metalab.unc.edu<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>04/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql QueryParameter.java |
| SQLExtensionError.java XConnection.java<br/><ref>Committer's log entry: </ref>Minor Javadoc updates (add @author name, remove declared but unthrown @throws)<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>04/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql Column.java |
| ColumnAttribute.java ColumnData.java |
| ColumnHeader.java Row.java RowSet.java |
| StreamableNode.java XConnection.java |
| XStatement.java<br/><ref>Committer's log entry: </ref>Support for Streamable Mode- John Gentilin<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/objects XObject.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla bug 1015 |
| <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1015>. |
| Fix prevents null pointer exceptions when null non-XSLT arguments are |
| passed to an extension function.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions MethodResolver.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla bug 1015 |
| <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1015>. |
| Fix prevents null pointer exceptions when null non-XSLT arguments are |
| passed to an extension function.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor |
| TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Fix copy/paste error. Want to use TransformerFactoryImpl's class loader.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>04/24/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| TransformSnapshotImpl.java<br/><ref>Committer's log entry: </ref>Keep a copy of current contextNodeList is there is one<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>04/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Added checkDirForJars() which checks java.ext.dirs as well now<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>04/26/2001<br/><ref>Added: </ref>java/src/javax/xml/transform package.html |
| java/src/javax/xml/transform/dom package.html |
| java/src/javax/xml/transform/sax package.html |
| java/src/javax/xml/transform/stream package.html<br/><ref>Committer's log entry: </ref>Add package.html for each package in javax.xml.transform.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Resolve bug 1496 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1496> |
| where xsl:param statements were not being reset properly if the TransformerImpl |
| was reused.<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>04/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree DocImpl.java<br/><ref>Committer's log entry: </ref>Fix for #1561<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>04/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla bug 1373 |
| <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1373>. |
| Added code to support return of Integer or Long by an external function. |
| Code was contributed by Patrick Moore <patmoore@ieee.org>.<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/03/2001<br/><ref>Modified: </ref>java/src/javax/xml/transform/stream StreamResult.java |
| StreamSource.java<br/><ref>Committer's log entry: </ref>Small fix to avoid file:////path that may fail on some JDK.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>05/04/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql package.html<br/><ref>Committer's log entry: </ref>Preliminary updates for John G's work.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>05/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Check for a null contextNodeList before returning its clone<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>05/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree StreeDOMBuilder.java<br/><ref>Committer's log entry: </ref>Set the element's level correctly, before we process attributes.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Resolve bugzilla 1648 |
| (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1648). |
| TransformerIdentityImpl was improperly using an old LexicalHandler when |
| invoked for a second transform. |
| This bug only affects identity transforms with StreamResults. |
| Many thanks to John Keyes <johnkeyes@yahoo.com> for reporting this bug.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>05/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Updated version number to 2.1.0<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>05/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Updated version number to 2.1.0<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/functions FuncExtFunction.java<br/><ref>Committer's log entry: </ref>Change submitted by Patrick Moore <patmoore@ieee.org> as part of bugzilla |
| 1373 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1373). |
| Return value from extension function is now generalized so that all |
| derivatives of Number are now properly handled.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>05/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTSchema.java<br/><ref>Committer's log entry: </ref>Set the correct order of xsl:include elements<br/><br/></li><li><ref>Committed by </ref>johng@apache.org<ref> on </ref>05/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql Column.java |
| ColumnAttribute.java ColumnData.java |
| ColumnHeader.java ConnectionPool.java |
| DefaultConnectionPool.java ExtensionError.java |
| PooledConnection.java QueryParameter.java Row.java |
| RowSet.java SQLExtensionError.java |
| StreamableNode.java XConnection.java |
| XConnectionPoolManager.java XStatement.java |
| package.html<br/><ref>Committer's log entry: </ref>Updates Javadocs |
| Submitted by:John Gentilin mailto://johnglinux@eyecatching.com<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Correct typo introduced in revision 1.30 causing problems with transforms on |
| Unix platforms.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemChoose.java<br/><ref>Committer's log entry: </ref>Correct bugzilla bug 1748 |
| <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1748>. |
| When evaluating xsl:when, the xsl:choose element was used to resolve |
| namespace prefixes instead of |
| the xsl:when element itself. This caused namespace prefixes defined on the |
| xsl:when to be ignored.<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/15/2001<br/><ref>Modified: </ref>java/src/javax/xml/parsers DocumentBuilderFactory.java |
| SAXParserFactory.java |
| java/src/javax/xml/transform TransformerFactory.java<br/><ref>Committer's log entry: </ref>Use the context class loader if available. |
| |
| The implementation is based on ExtensionHandler, and it's needed in order |
| to work in certain environments ( like tomcat ).<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions ExtensionHandler.java |
| ExtensionHandlerGeneral.java<br/><ref>Committer's log entry: </ref>Make getClassForName a public method. There are few other places in xalan |
| where Class.forName is used, and this can create problems in some cases |
| where the Thread.getContextClassLoader should be used. |
| |
| getClassForName uses introspection to call getContextClassLoader |
| ( so it works in JDK1.1 ). |
| |
| In ExtensionHandlerGeneral, use the thread loader to find BSF ( it may be |
| possible that xalan is installed in CLASSPATH, but BSF is in a webapp ).<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor |
| CompilingStylesheetHandler.java |
| java/src/org/apache/xalan/serialize SerializerFactory.java<br/><ref>Committer's log entry: </ref>2 more instances where Class.forName was used. |
| |
| Use the method in ExtensionHandler for consistency ( we could move it in |
| org.apache.xml.utils, but for now it's easier to just use it as it is )<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>05/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree SourceTreeHandler.java |
| java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>This is the "thread pooling hook". |
| |
| It slightly changes the API used to create and wait for the transform thread. |
| Instead of using threadCreate() and Thread.start() that creates a new thread |
| and thread.join() that waits for a thread to end, we now use a |
| ThreadControler |
| class that has the equivalent methods: |
| - run( Runnable ) - executes a task in a thread. The default implementation |
| is identical with what we had, using new Thread() and start() |
| - waitTread() - waits for a task to end. The default impl. is identical with |
| the previous code, using thread.join(). |
| |
| Someone wanting to use a thread pool for xalan will have to extend |
| the ThreadControler and override the 2 methods, then call setThreadController. |
| |
| Xalan itself doesn't implement a thread pool right now ( for mosts uses it's |
| not even needed - if you just do few transforms for example ), instead |
| a server that runs xalan could plug it's own thread pool.<br/><br/></li><li><ref>Committed by </ref>Gary L Peskin <garyp@firstech.com><ref> on </ref>05/15/2001<br/><ref>Committer's log entry: </ref> |
| > Use the context class loader if available. |
| > |
| > The implementation is based on ExtensionHandler, and it's needed in order |
| > to work in certain environments ( like tomcat ). |
| > |
| ><br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>05/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ExtensionError.java<br/><ref>Committer's log entry: </ref>Fixed "conflict" in javadoc comments.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>05/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql package.html<br/><ref>Committer's log entry: </ref>Editing pass.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>05/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc TransletOutputHandler.java<br/><ref>Committer's log entry: </ref>bug # 1406 fixed, omit xml header implemented<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>05/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Update Javadoc and remove commented out reference to properties file |
| PR:Bugzilla1627<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Resolve bug 1330 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1330>. |
| setContentHandler failed to also reset m_lexicalHandler if the ContentHandler |
| was also a LexicalHandler. This caused the old LexicalHandler to be used |
| which |
| was pointing to a previous result tree.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor |
| TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Resolve bug 1762 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1762>. |
| TransformerFactoryImpl's URIResolver was not propagated to created |
| Transformers. |
| Modified code to propagate.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>05/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils TreeWalker.java |
| SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Catch SecurityException whenever accessing System.getProperty("user.dir"); |
| minor javadoc update<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>05/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemCopy.java |
| ElemValueOf.java |
| java/src/org/apache/xalan/transformer TreeWalker2Result.java |
| java/src/org/apache/xpath/functions FuncLast.java<br/><ref>Committer's log entry: </ref>Fix for bugs reported by the Eclipse folks for TransformState, where |
| some operations (xsl:value-of, xsl-copy) were not pushing the |
| current node on the current node stack. Addresses |
| http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1524.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>05/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates OutputProperties.java<br/><ref>Committer's log entry: </ref>Catch SecurityException as needed |
| PR: Bugzilla1258<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates OutputProperties.java<br/><ref>Committer's log entry: </ref>Fix to the following bug reported by dims@yahoo.com: |
| |
| loadPropertiesFile method in org\apache\xalan\templates\OutputProperties.java |
| does not fall back |
| to the Thread Context Class Loader to load properties files like |
| output_xml.properties etc. This |
| is causing problems in ServletExec_3_1+C2.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates OutputProperties.java<br/><ref>Committer's log entry: </ref>Correct implementation of ContextClassLoader to support case where properties |
| file is to be loaded by a different ClassLoader than the OutputProperties |
| class. Thanks to Davanum Srinivas <dims@yahoo.com> for this code and for |
| reporting this bug. |
| loadPropertiesFile should eventually be moved into a thread-specific class.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>05/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor |
| TransformerFactoryImpl.java |
| java/src/org/apache/xalan/serialize CharInfo.java |
| java/src/org/apache/xpath/functions FuncSystemProperty.java<br/><ref>Committer's log entry: </ref>Modify getResourceAsStream calls to use the contextClassLoader, if available. |
| This is a temporary fix until we can centralize this function.<br/><br/></li></ul><note>This release includes no updates of the compatibility source code.</note> |
| </s2> |
| |
| <s2 title="Changes for &xslt4j; 2.0.1"> |
| <p>This release includes a number of bug fixes to the &xslt4j; and TrAX core and Xalan-Java 1 compability API. We have also</p> |
| <ul> |
| <li>Entered all known &xslt4j; 2 <link anchor="bugs">bugs</link> in the Apache Bugzilla database<br/><br/></li> |
| <li>Added support for using custom URIResolver, EntityResolver, and ContentHandler implementations with the <link |
| idref="commandline">command-line utility</link><br/><br/></li> |
| <li>Upgraded from Ant 1.2 to Ant 1.3 for our <link anchor="build">builds</link> (the new ant.jar is in the bin directory).</li> |
| </ul> |
| <p>Core source code updates:</p> |
| <ul> |
| <li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes ChildWalkerMultiStep.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by "Chris P. McCabe" <chris_mccabe@choicehotels.com> |
| 02/06/2001 06:55 PM. |
| Defensive fix for if the last used walker is null, then don't check to |
| see if it is a fast walker! Without this, a null pointer exception is |
| very possible.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fixes for exceptions being thrown that weren't being passed through |
| the error listener.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes FollowingWalker.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by Dave Haffner <dave.haffner@xmls.com> |
| 02/06/2001 04:03 AM |
| In parentNode(), don't screen out nextAncestor, since the parent |
| is never actually returned. This sets things up correctly for firstChild |
| and nextSibling.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes PrecedingWalker.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by Dave Haffner <dave.haffner@xmls.com> |
| 02/06/2001 04:03 AM |
| In nextSibling(), don't return null if isAncestorOfRootContext, instead |
| do next.getFirstChild().<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath SourceTreeManager.java<br/><ref>Committer's log entry: </ref>Fix for bug reported by anders.domeij@uc.se |
| 02/07/2001 09:35 AM |
| removed extra bogus TransformerException decl in resolveURI<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree SourceTreeHandler.java<br/><ref>Committer's log entry: </ref>Fix bug reported by Jason Harrop <jharrop@bigpond.net.au> |
| 02/07/2001 08:12 PM |
| Don't process comment or whitespace events if inside a startDTD/endDTD |
| event.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes WalkerFactory.java<br/><ref>Committer's log entry: </ref>In indirect response to bug posted by "Thee Boon Hoo" <theebh@newstakes.com> |
| 02/07/2001 09:37 PM |
| |
| "//table[1]" patterns would give one node |
| when they should have given 2, when applied to Boon Hoo's |
| source. |
| "//table[1]" is equivelent to |
| "/descendant-or-self::node()/table[1]", |
| and so must return the first table child |
| of each table-inst element. |
| |
| An optimization was optimizing this to |
| "/descendant-or-self::table, which is |
| fine as long as indexing isn't used. Since |
| we can not tell until runtime if indexing |
| is being used, we have to turn of this |
| optimization for all predicated "//foo[xx]" |
| patterns.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetPIHandler.java |
| TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Patch for Dmitri IIyin to use the specified URIResolver.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemNumber.java<br/><ref>Committer's log entry: </ref>Number Expression should be evaluated then rounded up.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Create a document fragment for the output node, for -flavor d2d.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler Compiler.java<br/><ref>Committer's log entry: </ref>Better error message when quo is used.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemCallTemplate.java |
| ElemChoose.java ElemCopy.java ElemFallback.java |
| ElemIf.java ElemLiteralResult.java |
| ElemTemplate.java |
| java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Remove extra method/call to TransformerImpl.executeChildTemplates()<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/patterns NodeTest.java<br/><ref>Committer's log entry: </ref>Return an empty string instead of null from getLocalName() when the |
| nodetest does not have a name. Encountered with the SQL extension, |
| in response to bug reported by "Michael Kay" <mhkay@iclway.co.uk>, |
| 02/08/2001 08:57 AM.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ColumnData.java<br/><ref>Committer's log entry: </ref>In getData() return an empty string instead of null if there is |
| no data to be obtained. |
| In response to bug reported by "Michael Kay" <mhkay@iclway.co.uk>, |
| 02/08/2001 08:57 AM.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>02/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/extensions MethodResolver.java<br/><ref>Committer's log entry: </ref>Correct ConversionInfo array for Node-Set and RTF. Remove DocumentFragment |
| from RTF and replace with NodeList. Remove duplicate Boolean from both. Fix |
| Boolean conversion to make java.lang.Boolean higher than string.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ColumnHeader.java |
| RowSet.java XStatement.java<br/><ref>Committer's log entry: </ref>Use null nodetest to mean the same as "node()". This fixes a bug reported |
| by "Voytenko, Dimitry" <DVoytenko@SECTORBASE.COM> |
| where <xsl:copy-of select="sql:query(...)"/> |
| crashes with NullPointerException, i.e. |
| there are cases where we really don't want |
| to set the NodeTest.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler XPathParser.java<br/><ref>Committer's log entry: </ref>Check for null token before checking if it is a letter<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Fix made for bug reported by "Glencross, Christian" |
| <Christian.Glencross@gs.com> |
| on 02/16/2001 10:18 AM. |
| Xerces 1.2.3 SAX parser calls |
| handler.setDocumentLocator() before handler.startDocument(). |
| TransformerIdentityImpl.m_resultContentHandler isn't initialised until |
| TransformerIdentityImpl.startDocument() is called. |
| Added lazy construction of result handler |
| in setDocumentLocator, in addition to |
| startDocument.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>02/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java<br/><ref>Committer's log entry: </ref>Correct implementation of string value of a node.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/21/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql Column.java |
| ColumnAttribute.java ColumnData.java |
| ColumnHeader.java Row.java RowSet.java |
| StreamableNode.java XConnection.java |
| XStatement.java package.html<br/><ref>Committer's log entry: </ref>Added experimental usage metatag to all classes in this package, |
| and an explanatory note to package.html.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/stree ElementImpl.java<br/><ref>Committer's log entry: </ref>Bug fix attributed to Norman Walsh <ndw@nwalsh.com>, on |
| 02/20/2001 09:50 AM. if the attribute 'name' doesn't occur in the AttList, |
| the |
| result of getIndex(name) is -1, but |
| getChildAttribute() would incorrectly |
| return the first attribute. Fix returns |
| null if index < 0.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java |
| java/src/org/apache/xalan/transformer |
| TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Implement DeclHandler for identity transforms<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Fix for bug originally reported by Daryl Beattie <DarylB@screamingmedia.com> |
| on 02/14/2001 04:16 PM. A hang was occuring inside the use |
| of a Result Tree Fragment. When the result tree fragement was |
| being created, the Redirect extension was being called, which |
| called createResultContentHandler which set the ContentHandler |
| in the Transformer, but not in the ResultTreeHandler. Then, Redirect |
| called Transformer#executeChildTemplates( |
| ElemTemplateElement elem, Node sourceNode, QName mode, |
| ContentHandler handler) |
| which saves the reference to the original content handler in |
| the transformer, and then sets the new one by calling setContentHandler, |
| which sets the ContentHandler in the ResultTreeHandler as well |
| as the Transformer. When it tried to restore the old ContentHandler, |
| it restored the value in the ResultTreeHandler to a Serializer, instead |
| of the correct ContentHandler. When transformToRTF then called |
| endDocument on it's resultTreeFragment, the event was sent |
| to the Serializer instead of the SourceTreeHandler, and thus the |
| isComplete flag was not set, and thus the hang. (whew!) |
| The fix is in executeChildTemplates save the value of the |
| resultTreeHandler's contentHandler as well as Transformer's |
| content handler, and restore them both. A more architectual fix |
| could be made, but not without high risk, so I think this is the best |
| and safest way to fix it.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>Changed version to 2.0.1<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>Changed version to 2.0.1<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java<br/><ref>Committer's log entry: </ref>Update text of error messages |
| Submitted by: Andreas Zehnpfund<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>02/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Update printArgOptions() with better text and to better reflect actual |
| options that are currently supported; catch missing -IN argument<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>03/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/client XSLTProcessorApplet.java |
| java/src/org/apache/xalan/processor StylesheetHandler.java |
| TransformerFactoryImpl.java |
| java/src/org/apache/xalan/stree DocImpl.java |
| StreeDOMBuilder.java TextImpl.java |
| java/src/org/apache/xalan/templates OutputProperties.java |
| java/src/org/apache/xalan/xslt Process.java |
| java/src/org/apache/xml/utils FastStringBuffer.java |
| java/src/trax trax.properties<br/><ref>Committer's log entry: </ref>New approach to FastStringBuffer, and changes needed to support it. |
| We still need to do some serious work on both the initial values of the |
| tuning parameters and the heuristics driving the "chunk growth" algorithms. |
| Currently set for fixed-sized chunks of 8Kch in main tree, .5Kch in RTF.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java |
| ElemForEach.java ElemLiteralResult.java |
| java/src/org/apache/xalan/transformer |
| ClonerToResultTree.java QueuedSAXEvent.java |
| QueuedStartDocument.java QueuedStartElement.java |
| ResultTreeHandler.java TransformerImpl.java |
| TreeWalker2Result.java<br/><ref>Committer's log entry: </ref>Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=741. |
| |
| 1) ResultTreeHandler now implements the TransformState interface. |
| 2) Queued state such as the current node and the current template is stored |
| as part of QueuedStartElement. Storage will only occur if the ContentHandler |
| implements TransformClient. |
| 3) When state is requested (for instance TransformState#getCurrentElement()), |
| if the queued element is null or not pending (for instance, in a characters |
| event), it will get the state from the transformer, otherwise it will get the |
| state from the queued element. |
| |
| Other fixes were attempted for this problem, including trying to |
| get rid of queueing altogether, and flushing a bit earlier before |
| the state was pushed on the various stacks, but both of |
| these had show-stopping issues (see discussions |
| on xalan-dev). |
| |
| Note that for the moment the ContextNodeList is node |
| cloned as it needs to be in order for |
| TransformState#getContextNodeList.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemParam.java |
| java/src/org/apache/xpath Arg.java VariableStack.java<br/><ref>Committer's log entry: </ref>The field Arg.isParamVar was attempting to serve two functions: to indicate |
| variable Frame entries which are not currently activated and to indicate Frames |
| containing parameters passed with xsl:with-param. When processing was finished |
| for a node in a node-set, the isParamVar flag was turned on to indicate the |
| Frame slot was available. Unfortunately, this also indicated that the item was |
| passed as a parameter which it wasn't. This fix changes isParamVar into to |
| fields, isAvailable which indicates that the slot is available and |
| isFromWithParam indicating the Frame slot came from an xsl:with-param or a |
| top-level parameter passed in via the tranformerImpl.setParameter() API. |
| I have tested this change against the conformance suite and had no |
| regression. I've also submitted a test case which fails on the existing |
| codebase but works okay after this fix. |
| It is possible that I've missed something with regard to the API setParameter |
| calls but we can fix those if problems are reported.<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils FastStringBuffer.java<br/><ref>Committer's log entry: </ref>Correct operation when length of content to be appended is zero.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToXML.java<br/><ref>Committer's log entry: </ref>Fix closing out doctype declaration<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Change SystemIdResolver to default to user.dir if the base URI is null<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java |
| java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Parameters set with setParameter were available to stylesheet as variable |
| references ($myParam) even though there was no xsl:param element to receive it.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer |
| TransformerIdentityImpl.java<br/><ref>Committer's log entry: </ref>Check if there is a DeclHandler before calling it.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils WrappedRuntimeException.java<br/><ref>Committer's log entry: </ref>Patch attributed to Patrick Moore <patrickm@rioport.com> on 03/09/2001. |
| Adds another constructor to pass in the error message.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemAttribute.java |
| ElemElement.java<br/><ref>Committer's log entry: </ref>Checkin addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=923. |
| elemAttribute now derives from elemElement so the basic name resolution |
| code can be shared. Breaks attribset24 test, but I think the newer |
| behavior is better. New virtual methods overloaded by elemAttribute are |
| constructNode, resolvePrefix, and validateNodeName. Also, in the |
| elemAttribute#execute method, checks are made to make sure an |
| element is pending.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils SystemIDResolver.java<br/><ref>Committer's log entry: </ref>Added getAbsoluteURI(String url), and merge |
| with Myriam's changes. |
| Part of fix for problem found when |
| investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor |
| TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Call getAbsoluteURI(String url) for the source URL. |
| Fix for problem found when |
| investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906. |
| This tries to force us always having an absolute URL in the processing |
| stack as the base URL, which should be OK, I hope.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer TransformerImpl.java<br/><ref>Committer's log entry: </ref>Call getAbsoluteURI(String url) for the source URL. |
| Fix for problem found when |
| investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906. |
| This tries to force us always having an absolute URL in the processing |
| stack as the base URL, which should be OK, I hope.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer QueuedEvents.java |
| QueuedStartElement.java ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>The user for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=741 reported |
| problems on testing, so these changes are a re-fix. He tested and |
| everything seems OK now. There actually may be a slight performance |
| improvement involved here.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerToHTML.java<br/><ref>Committer's log entry: </ref>Applied patches from dmitri.ilyin@memiq.com (Dmitri Ilyin) |
| from http://nagoya.apache.org/bugzilla/show_bug.cgi?id=705.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPathAPI.java<br/><ref>Committer's log entry: </ref>Applied patch submitted by nboyd@atg.com (Norris Boyd) |
| at http://nagoya.apache.org/bugzilla/show_bug.cgi?id=702.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize Encodings.java<br/><ref>Committer's log entry: </ref>Applied patch submitted by havardw@underdusken.no (H嶡rd Wigtil). |
| Also added "XXX-X" variants for all "XXX_X" java encoding names. |
| I'm not totally confident that this is the right thing to do, but I can't |
| see that it will hurt, except to make the table a bit larger. I |
| would prefer to be safe and make sure we handle the encoding. |
| See my comments in http://nagoya.apache.org/bugzilla/show_bug.cgi?id=718.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemTemplateElement.java |
| StylesheetRoot.java<br/><ref>Committer's log entry: </ref>Minor changes to better bottleneck throwing of Runtime exceptions |
| during processing.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor |
| TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Catch all exceptions thrown when processing stylesheet, and send |
| them to the error listener. There's probably some danger of having |
| the same error sent to the error listener multiple times, but better too |
| many reports, than none, I guess. |
| This addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql XConnection.java |
| XStatement.java<br/><ref>Added: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java |
| DefaultConnectionPool.java ExtensionError.java |
| PooledConnection.java QueryParameter.java |
| SQLExtensionError.java XConnectionPoolManager.java<br/><ref>Committer's log entry: </ref>These are John Gentilin <johnglinux@eyecatching.com> |
| patches for connection pooling and parameterized |
| queries. These should be considered to be unstable |
| right now, as we are still working on some things.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorInclude.java |
| TransformerFactoryImpl.java |
| java/src/org/apache/xalan/serialize SerializerToXML.java |
| java/src/org/apache/xalan/stree StreeDOMHelper.java |
| java/src/org/apache/xalan/transformer ResultTreeHandler.java |
| TransformerIdentityImpl.java TreeWalker2Result.java |
| java/src/org/apache/xml/utils AttList.java TreeWalker.java |
| java/src/org/apache/xpath DOM2Helper.java XPathContext.java<br/><ref>Committer's log entry: </ref>The DOM2Helper#isNodeAfter(Node node1, Node node2) method |
| has been fixed so that it no longer does the try/catch thing if one |
| of the nodes doesn't implement DOMOrder, but instead does an |
| instanceof test. In StreeDOMHelper, it overloads this method and |
| *does* do the try/catch business, since almost always both nodes |
| will implement DOMOrder in this case, and this will be faster than |
| an instanceof test. Also, in various classes, I did some stuff to try |
| and make sure that a DOM2Helper wasn't being created and used |
| when a StreeDOMHelper is needed. |
| |
| This addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=800 |
| and should give a good performance fix for foreign DOM processing.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/patterns NodeTest.java<br/><ref>Committer's log entry: </ref>Xerces at some point decided to use "" instead |
| of null for null namespaces. There has been a |
| discussion between Gary Peskin in |
| Joe Kessleman on xalan-dev about this, |
| but I hadn't been fully keeping up the the |
| thread that well, and missed it's relation to |
| this problem. I include some of the discussion |
| at the end of this note. I made Xalan be able to |
| compare a "" namespace to null for now, until |
| we get this resolved. |
| |
| The gist of the discussion on xalan-dev regarding this is: |
| |
| >>1. Declare the Xerces-J support of schemas to have a bug and ask that |
| >>Xerces be corrected to always use a null namespace URI to indicate that |
| >>there is no default namespace. Even if the Xerces people change this |
| >>behavior, is this correct? |
| > |
| > Yes. If your description of the problem is accurate (you should probably |
| > submit a more detailed case so it can be reproduced in the lab), this is a |
| > parser/DOM-builder bug.<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>03/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ExtensionError.java<br/><ref>Committer's log entry: </ref>Removed ( commented out ) dump() method and the imports in ExtensionError. |
| |
| So far the method doesn't seem to be used ( no warning in the compile ). |
| |
| The problem is that this method is breaking the build with crimson ( since |
| it uses xerces-specific classes ). It is possible to implement it on top |
| of the serialization classes that are part of xalan - if someone needs the |
| method I'll try to port it.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils TreeWalker.java<br/><ref>Committer's log entry: </ref>Added back in the TreeWalker(ContentHandler contentHandler) |
| constructor, because I'm worried I'll break more dependent code.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java |
| java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Implement new arguments for the command line interface: URIResolver, |
| EntityResolver and ContentHandler<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates FuncFormatNumb.java<br/><ref>Committer's log entry: </ref>Fix error message to say that 2 or 3 arguments are required.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor ProcessorLRE.java |
| java/src/org/apache/xalan/res XSLTErrorResources.java<br/><ref>Committer's log entry: </ref>Better error message for missing or incorrect XSLT namespace declaration in a |
| stylesheet<br/><br/></li><li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Redirect.java |
| java/src/org/apache/xalan/transformer TransformerImpl.java |
| java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Remember the Result that was used to trigger the transform. Access that |
| result from the Redirect extension to make file references in Redirect relative |
| to the original result URI. |
| If this is not available, references are relative to the source URI.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath VariableStack.java<br/><ref>Committer's log entry: </ref>Added protection for null pointer exception that I discovered when |
| running some Cocoon tests. Since I've never seen this before, |
| I assume this is related to the changes that Gary made, but am |
| unsure as it's 4:00 in the morning and I'm too tired to look into it deeply.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>Remove check for missing -IN arg; there are a number of use |
| cases for calling Process.main without an XML document<br/><br/></li><li><ref>Committed by </ref>costin@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log entry: </ref>A (last ? ) place where XMLReaderFactory was used without |
| trying jaxp first. I used the same code that is used in all other |
| places in xalan. |
| |
| With this change, the parser defined in XSLTInfo.properties will be used |
| only if jaxp is not available.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/utils StringVector.java<br/><ref>Committer's log entry: </ref>Added missing @serial Javadoc tags.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib/sql ConnectionPool.java |
| DefaultConnectionPool.java ExtensionError.java |
| SQLExtensionError.java XConnection.java |
| XConnectionPoolManager.java XStatement.java<br/><ref>Committer's log entry: </ref>Update from John Gentilin <johnglinux@eyecatching.com> to |
| fix connection cleanup.<br/><br/></li></ul><p>Compatibility source code updates:</p><ul><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTInputSource.java |
| XSLTResultTarget.java<br/><ref>Committer's log entry: </ref>Implement some more methods for compatibility<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTInputSource.java<br/><ref>Committer's log entry: </ref>Fixed javadoc for api that was just added back.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTResultTarget.java<br/><ref>Committer's log entry: </ref>Fixed javadoc for api that was just added back.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Fix problem with calling the processor with a liaison<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/02/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Fix problem where source file was being parsed more than once and if using an |
| input stream, we would get a read error<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/12/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Set system id in stylesheet handler<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/14/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTInputSource.java<br/><ref>Committer's log entry: </ref>Call local setSystemId.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/15/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Fix problem with processing an input source created from a reader with no |
| systemId |
| Fix problem with reading an input source file twice if it has a PI<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>02/22/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xslt StylesheetRoot.java<br/><ref>Committer's log entry: </ref>Add getOutputMethod API.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>03/07/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xpath/xml |
| XMLParserLiaisonDefault.java<br/><ref>Committer's log entry: </ref>Put in Apache copyright.<br/><br/></li><li><ref>Committed by </ref>sboag@apache.org<ref> on </ref>03/13/2001<br/><ref>Modified: </ref>java/compat_src/org/apache/xalan/xpath/xml TreeWalker.java |
| java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java<br/><ref>Committer's log entry: </ref>Made changes for change to API for XalanJ2 TreeWalker, which |
| now requires that the DOM helper be created by the caller.</li> |
| </ul> |
| </s2> |
| |
| <s2 title="Changes for &xslt4j; version 2.0.0"> |
| <p>Release 2.0 includes several bug fixes to the &xslt4j; and TrAX core and to the Xalan-Java 1 compatibility API. We also updated bsf.jar to the <resource-ref idref="bsf"/> release candidate 2.2, which fixes a bug running JPython extensions.</p> |
| <p><em>Core bug fixes:</em></p> |
| <ul> |
| <li>A threading problem showed up when using multiple processors. We fixed it by using a separate XPathContext object to do whitespace node |
| matches (xsl:strip-space).<br/><br/></li> |
| <li>Fixed a bug running Norm Walsh's DocBook stylesheets by not setting the variable stack position if the FilterExprWalker is not owned by a |
| top-level NodeIterator.<br/><br/></li> |
| <li>Fixed a problem with null namespace being passed from xsl:element. This bug also surfaced while processing DocBook |
| stylesheets.<br/><br/></li> |
| <li>In the interest of stability, we now treat "unknown error in XPath" as a fatal error.<br/><br/></li> |
| <li>Added support in stylesheet processing instructions for "text/xml" and "application/xml+xslt" mime types.<br/><br/></li> |
| <li>Fixed tokenizing of stylesheet processing instructions to allow parameters to be passed to server in href attributes.<br/><br/></li> |
| <li>Fixed a bug passing Transformer creation error messages to ErrorListener when an ErrorListener has been set on |
| TransformerFactory.<br/><br/></li> |
| <li>When using an Exception to instantiate a FactoryConfigurationError (extends Error), we now propagate the Exception message to |
| super().<br/><br/></li> |
| <li>Added defensive code to ElemTemplateElement for handling a null URI.<br/><br/></li> |
| <li>When using an Exception to instantiate a TransformerException (extends Exception), we now propagate the Exception message to super() |
| rather than a generic message.<br/><br/></li> |
| <li>Fixed a bug (the generation of an unwanted entity reference) performing the identity transformation |
| (see <link idref="usagepatterns" anchor="serialize">Serializing output</link>) with an XML document containing a DOCTYPE |
| declaration.<br/><br/></li> |
| <li>Message manager modified so that the SourceLocator must always be passed in, |
| which will make a major difference in getting line number information.<br/><br/></li> |
| <li>xsl:element's handling of namespace attribute and prefix in |
| name attribute changed so that it no longer manufactures prefixes... |
| it always tries its best to match the prefix entered.<br/><br/></li> |
| <li>Bug fixed with namespace contexts in the stylesheet processor. |
| The bug could cause <a xmlns:a="x"><b> to produce <a xmlns:a="x"><b xmlns:a="x">.<br/><br/></li> |
| <li>Modified processing of xsl:message to enhance it as a debugging aid. Line numbers are now output with each |
| message. If the terminate attribute is true (the default is false) the message is sent to the console, and an exception is thrown with the |
| message "Stylesheet directed termination".<br/><br/></li> |
| <li>In TransformerException, check that the cause != null when checking for a contained exception.<br/><br/></li> |
| <li>Fixed a problem validating non-namespaced attributes and a problem allowing non-namespaced attributes to be children of the |
| stylesheet element.<br/><br/></li> |
| <li>Fixed checking of number of arguments in document() function.<br/><br/></li> |
| <li>Fixed problem with mutation of templates at run time. Templates resolution now takes place during the compose() method.<br/><br/></li> |
| <li>Fixed some minor threading issues in org.apache.xalan.stree (Child, Parent, ElementImpl, SourceTreeHandler).<br/><br/></li> |
| <li>Synchronized TrAX API functions subject to mutation to prevent mutation during a transformation.<br/><br/></li> |
| <li>Fixed bug reported by Jano Elovirta: substring() was returning an error if the start index is larger than the string.<br/><br/></li> |
| <li>Set StringKey.toString() to return the underlying String (m_str), thus avoiding a potential symmetry problem with the equals() method |
| reported by Ito Kazumitsu.<br/><br/></li> |
| <li>In response to note from Ito Kazumitsu, changed Java encoding name "EUCJIS" in FormatterToXML to "EUC_JP".<br/><br/></li> |
| <li>When Xalan creates a FileOutputStream, it now closes the stream before exiting.<br/><br/></li> |
| <li>Fixed handling of an exception that can be thrown while building a DOM.<br/><br/></li> |
| <li>Fixed a problem reported by Dimitry Voytenko serializing compiled stylesheets.<br/><br/></li> |
| <li>For support of applets, modified TransformerFactory System.getProperty() calls to catch SecurityExceptions.<br/><br/></li> |
| <li>Fixed a bug reported by Krishna Mohan Meduri setting output properties.<br/><br/></li> |
| <li>Fixed error recovery when xsl:element encounters a bad name or unresolvable prefix.<br/><br/></li> |
| <li>Added AbstractMethodError handling to existing NoSuchMethodError handling as a fallback to the XMLReaderFactory for XML parsers that do |
| not implement the JAXP parsers interface for creating an XMLReader<br/><br/></li> |
| <li>Fixed bug with cloned iterators reported by Tim Sean.<br/><br/></li> |
| <li>Fixed null pointer exception that could occur with getValue("xxx").<br/><br/></li> |
| <li>Fixed bug reported by Tim Sean handling the xml:space attribute.</li> |
| </ul> |
| <p><em>Bug fixes in the <link idref="usagepatterns" anchor="compat">Xalan-Java 1 compatibility API</link>:</em></p> |
| <ul> |
| <li>Fixed ProblemListener (for processing error messages) to derive from &xslt4j; 2 ErrorHandler.<br/><br/></li> |
| <li>Fixed evaluation of stylesheet string parameters to conform to &xslt4j; 1 behavior (expressions for &xslt4j; 1 vs. String objects |
| for &xslt4j; 2).<br/><br/></li> |
| <li>Added XPathSupport and XPathSupportDefault, and fixed the derivation of XObject sub-types (XString, etc.).<br/><br/></li> |
| <li>Fixed bug with XSLTProcessor process(xmlIn, null, out) method so that it uses the StylesheetRoot (if one exists) that has been created |
| with the processStylesheet() method.</li> |
| </ul> |
| </s2> |
| |
| <s2 title="Changes for &xslt4j; version 2.0.D07"> |
| <p>&xslt4j; 2.0.D07 incorporates a <link idref="usagepatterns" anchor="compat">Xalan-Java 1 compatibility jar</link>, some performance enhancements, and a number of bug fixes for bugs found in version 2.0.D06.</p> |
| <ul> |
| <li>Fixed handling of disable-output-escaping="no". Previously, once it was turned on, it could not be turned off.<br/><br/></li> |
| <li>Fixed a bug with whitespace handling where Xalan was incorrectly checking for whitespace |
| stripping before collation of multiple whitespace events into a single text node.<br/><br/></li> |
| <li>Whitespace stripping wasn't working with input DOMs before. This is now fixed.<br/><br/></li> |
| <li>Fixed many exception handling problems and problems with error reporting.<br/><br/></li> |
| <li>Fixed a bug resetting parameters in Transformer clearParameters().<br/><br/></li> |
| <li>Fixed a bug where CDATA sections were not matching the text() node test.<br/><br/></li> |
| <li>Made better memory allocation problem with result tree fragments.<br/><br/></li> |
| <li>Made result tree fragment parsing of numbers consistent with strings.<br/><br/></li> |
| <li>Exceptions thrown from extensions should now be properly reported via the error listener.<br/><br/></li> |
| <li>Fixed hard-coded stack dump set off by m_reportInPostExceptionFromThread variable.<br/><br/></li> |
| <li>Fixed intermittent threading problem with text nodes being dropped.<br/><br/></li> |
| <li>Fixed problem with variable evaluation inside of union expressions.</li> |
| </ul> |
| </s2> |
| <s2 title="Changes for &xslt4j; version 2.0.D06"> |
| <p>We have fixed the bugs reported in &xslt4j; 2.0.D05. Along with several other enhancements, |
| we have also fixed a number of bugs found by testing and our users:</p> |
| <ul> |
| <li>Fixed some threading problems and improved support for handling Exceptions thrown in a secondary thread.<br/><br/> |
| Note: To support incremental output, &xslt4j; performs the transformation in a second thread while building the source tree in the main thread.<br/><br/></li> |
| <li>Fixed problems encountered in piping (utilizing transformation output as input for another transformation).<br/><br/></li> |
| <li>Fixed problems handling attributes and adding attributes to result tree.<br/><br/></li> |
| <li>Added defensive checking for null entities, null namespaces, and empty strings passed in for URIs and local names.<br/><br/></li> |
| <li>We now conform to the SAX convention of representing null namespaces with empty strings.<br/><br/></li> |
| <li>Fixed a bug encountered evaluating a variable in a predicate expression applied to child nodes.<br/><br/></li> |
| <li>Changed names of serializers from FormatterTo<ref>Xxx</ref> to SerializerTo<ref>Xxx</ref>. See |
| <jump href="apidocs/org/apache/xalan/serialize/package-summary.html">Package org.apache.xalan.serialize</jump>.<br/><br/></li> |
| <li>Improved debugging support in a number of areas.</li> |
| </ul> |
| </s2> |
| <s2 title="Changes for &xslt4j; version 2.0.D05"> |
| <p>All of the bugs reported in &xslt4j; 2.0.D01 have been fixed. The remainder of this section discusses two changes that we believe are of particular importance:</p> |
| <p><em>TrAX</em></p> |
| <p>The Transformation API for XML (TrAX) that &xslt4j2; implements has undergone substantial revisions since the release of &xslt4j; 2.0.D01. TrAX has joined the Java API for XML Parsing (JAXP) as part of the Sun® <resource-ref idref="jsr063"/>. Accordingly, the TrAX package names have changed. The conceptual organization has also changed somewhat: The primary transformation interfaces are defined in javax.xml.transform, with concrete classes for managing stream input/output, SAX parsers and ContentHandler, and DOM parsers and DOM trees in javax.xml.transform.stream, javax.xml.transform.sax, and javax.xml.transform.dom. For more information, see <link idref="trax">TRaX (Transformation API for XML)</link>, and review <link idref="usagepatterns">Usage Patterns</link>.</p> |
| <anchor name="outputprops"/><p><em>Output properties</em></p> |
| <p>The handling of xsl:output properties has changed: org.apache.xalan.serialize.OutputFormat and apache.xalan.templates.OutputFormatExtended were removed and replaced with org.apache.xalan.templates.OutputProperties. The SerializerFactory getSerializer() method now takes Properties rather than a String indicating the output method. You can replace <code>getSerializer("xml")</code>, for example, with <code>getSerializer(OutputProperties.getDefaultMethodProperties("xml"))</code>.</p> |
| <p>HTML, XML, and text xsl:output properties are specified in property files in org.apache.xalan.templates: output_html.properties, output_xml.properties, and output_text.properties.</p> |
| <p>You can start using the output properties defined in these files in your stylesheets. For example, you can turn URL escaping off in HTML output with<br/><code>{http\u003a//xml.apache.org/xslt}use-url-escaping=no</code><br/> |
| and you can control indenting with<br/> |
| <code>{http\u003a//xml.apache.org/xslt}indent-amount=<ref>n</ref></code></p> |
| <note>The colon after the "http" protocol must be escaped.</note> |
| <p>Character-to-entity mapping is specified in org.apache.xalan.serialize: HTMLEntities.res and XMLEntities.res. You can override entity ref |
| mapping from a stylesheet. For example:</p> |
| <source><?xml version="1.0"?> |
| <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
| xmlns:xalan="http://xml.apache.org/xslt" version="1.0"> |
| |
| <xsl:output xalan:entities="myentities.ent"/> |
| |
| <xsl:template match="/"> |
| <out>&#125;</out> |
| </xsl:template> |
| |
| </xsl:stylesheet></source> |
| <p>=== myentities.ent ===</p> |
| <source>quot 34 |
| amp 38 |
| lt 60 |
| gt 62 |
| lala 125</source> |
| <p>The output is:</p> |
| <source><?xml version="1.0" encoding="UTF-8"?> |
| <out>&lala;</out></source> |
| <p>See also <link idref="usagepatterns" anchor="outputprops">Setting output properties in your stylesheets</link>.</p> |
| </s2> |
| </s1> |