blob: 48b2910d4a878bbad08437ebd71eef011366de74 [file] [log] [blame]
<?xml version="1.0" standalone="no"?>
<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"[
<!ENTITY done-j SYSTEM "DONE">]>
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<!-- $Id$ -->
<s1 title="Release Notes">
<ul>
<li><link anchor="notes_latest">Release notes for version 2.7.2</link></li>
<li><link anchor="notes_271">Release notes for version 2.7.1</link></li>
<li><link anchor="notes_270">Release notes for version 2.7.0</link></li>
<li><link anchor="notes_260">Release notes for version 2.6.0</link></li>
<li><link anchor="notes_252">Release notes for version 2.5.2</link></li>
<li><link anchor="notes_251">Release notes for version 2.5.1</link></li>
<li><link anchor="notes_250">Release notes for version 2.5.0</link></li>
<li><link anchor="notes_25D1">Release notes for version 2.5.D1</link></li>
<li><link anchor="notes_241">Release notes for version 2.4.1</link></li>
<li><link anchor="notes_240">Release notes for version 2.4.0</link></li>
<li><link anchor="other">Other points of interest</link></li>
</ul>
<anchor name="notes_latest"/>
<s2 title="Release notes for &xslt4j; 2.7.2">
<p>
&xslt4j; 2.7.2 was released in April 2014.
</p>
<s3 title="Fix for CVE-2014-0107 insufficient secure processing">
<p>
When using FEATURE_SECURE_PROCESSING ("http://javax.xml.XMLConstants/feature/secure-processing") on a TransformerFactory, the output properties:
</p>
<ul>
<li>{http://xml.apache.org/xalan}content-handler</li>
<li>{http://xml.apache.org/xalan}entities</li>
<li>{http://xml.apache.org/xslt}content-handler</li>
<li>{http://xml.apache.org/xslt}entities</li>
</ul>
<p>
should be ignored (see http://xml.apache.org/xalan-j/usagepatterns.html#outputprops)
</p>
<p>
These properties can be used to load an arbitrary class or access an arbitrary URL/resource so are problematic when secure processing is desired.
</p>
<p>
<code>
&lt;xsl:output xalan:content-handler="org.example.BadClass" ...
</code>
</p>
<p>
<code>
&lt;xsl:output xalan:entities="http://example.org/reallyLargeFile.bin" ...
</code>
</p>
<p>
These features could be used to load a class that had undesirable side-effects or to load a large file and exhaust memory, etc.
</p>
<p>
See <link anchor="https://issues.apache.org/jira/browse/XALANJ-2435">XALANJ-2435</link>.
</p>
</s3>
<s3 title="Upgrade to Xerces-J 2.11.0 and XML Commons External 1.4.01">
The distributions contain upgraded versions of <code>xercesImpl.jar</code>
(Xerces-J 2.11.0) and <code>xml-apis.jar</code> (XML Commons External 1.4.01).
</s3>
<s3 title="XALANJ Jira bug fixes">
<p>XALANJ Jira bug fixes:
<jump href="https://issues.apache.org/jira/browse/XALANJ-2435">2435</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2580">2580</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2546">2546</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2581">2581</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2581">2582</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2581">2583</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2473">2473</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2495">2495</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2493">2493</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2424">2424</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2446">2446</jump>,
<jump href="https://issues.apache.org/jira/browse/XALANJ-2447">2447</jump>
</p>
<p>You can also view the list in
<jump href="https://issues.apache.org/jira/browse/XALANJ-2424?jql=project%20%3D%20XALANJ%20AND%20fixVersion%20%3D%202.7.2%20ORDER%20BY%20due%20ASC%2C%20priority%20DESC%2C%20created%20ASC">Jira</jump>
</p>
</s3>
</s2>
<anchor name="notes_271"/>
<s2 title="Release notes for &xslt4j; 2.7.1">
<p>&xslt4j; 2.7.1 was released in August 2007.
</p>
<p>
The serializer now has support for DOM Level 3 serialization
(<jump href="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save.html#LS-LSSerializer">LSSerializer</jump>)
for an XML parser. These changes are seen in the new class
<jump href="apidocs/org/apache/xml/serializer/DOM3Serializer.html">
<code>org.apache.xml.serializer.DOM3Serializer</code></jump>
and the new package
<code>org.apache.xml.serializer.dom3</code>
as well as a new method,
<code>asDOM3Serializer()</code> on the older
<jump href="apidocs/org/apache/xml/serializer/Serializer.html">
<code>org.apache.xml.serializer.Serializer</code></jump> interface.
</p>
<p>
More details are in the javadoc of those classes and interfaces.
</p>
<p>
The distributions contain upgraded versions of <code>xercesImpl.jar</code>
(Xerces-J 2.9.0) and <code>xml-apis.jar</code> (XML Commons External 1.3.04).
The distributions were tested with these versions of Xerces-J
and XML Commons External and are the recommended versions to use with
the release.
</p>
<p>
<em>Important:</em> You may experience unpredictable anomalies
if your &xslt4j; and &xml4j; builds are not in synch.
</p>
<p>
&xslt4j; 2.7.1 contains the following functional enhancements,
performance enhancements and bug fixes since 2.7.0:
</p>
<ul>
<li>XALANJ Jira bug fixes:
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-611">611</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1243">1243</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1324">1324</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1434">1434</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1497">1497</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1706">1706</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1753">1753</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1774">1774</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2061">2061</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2091">2091</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2108">2108</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2159">2159</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2184">2184</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2196">2196</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2199">2199</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2204">2204</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2205">2205</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2206">2206</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2208">2208</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2209">2209</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2210">2210</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2217">2217</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2218">2218</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2219">2219</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2220">2220</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2221">2221</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2220">2222</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2224">2224</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2219">2219</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2230">2230</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2236">2236</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2240">2240</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2249">2249</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2268">2268</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2269">2269</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2271">2271</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2275">2275</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2276">2276</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2277">2277</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2278">2278</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2279">2279</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2271">2281</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2283">2283</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2284">2284</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2285">2285</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2286">2286</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2290">2290</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2292">2292</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2293">2293</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2294">2294</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2295">2295</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2297">2297</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2298">2298</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2307">2307</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2312">2312</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2316">2316</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2317">2317</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2318">2318</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2319">2319</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2321">2321</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2323">2323</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2324">2324</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2329">2329</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2336">2336</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2337">2337</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2339">2339</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2341">2341</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2342">2342</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2343">2343</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2375">2375</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2377">2377</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2384">2384</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2395">2395</jump>
</li>
</ul>
</s2>
<anchor name="notes_270"/>
<s2 title="Release notes for &xslt4j; 2.7.0">
<p>&xslt4j; 2.7.0 was released on August 8, 2005.
</p>
<p>&xslt4j; 2.7.0 contains the following functional enhancements, performance enhancements and
bug fixes since 2.6.0.
</p>
<s4 title="Support for JAXP 1.3">
<p>Support for JAXP 1.3 has been introduced in this release of &xslt4j;. JAXP 1.3
includes a new javax.xml.xpath package, which provides an object-model neutral
API for the evaluation of XPath expressions and access to the evaluation environment.
Please refer to <link idref="xpath_apis">Using the JAXP 1.3 XPath API</link> for details on how to
use the new XPath API. You can also look at the code in the samples
<link idref="samples" anchor="applyxpathjaxp">ApplyXPathJAXP</link> ,
<link idref="samples" anchor="xpathresolver">XPathResolver</link> and
<link idref="samples" anchor="extensionresolver">ExtensionFunctionResolver</link>.</p>
<p>There are also a few new transformer features
in JAXP 1.3, as described in the following list:<br/><br/>
<li>A new method
<jump href="apidocs/javax/xml/transform/TransformerFactory.html#setFeature(java.lang.String, boolean)">
TransformerFactory.setFeature(String name, boolean value)</jump></li>
<li>A new method <jump href="apidocs/javax/xml/transform/Transformer.html#reset()">
Transformer.reset()</jump></li>
<li>A new nextSibling attribute is introduced for
<jump href="apidocs/javax/xml/transform/dom/DOMResult.html">DOMResult</jump>, accessible
by the constructors, getter and setter methods.</li>
<li>Support for the <link idref="features" anchor="secureprocessing">secure processing feature</link></li></p>
</s4>
<s4 title="New default error handling behavior">
The behavior of the default <jump href="apidocs/javax/xml/transform/ErrorListener.html">ErrorListener</jump>
was changed in this release of &xslt4j;,
in order to conform with a clarification of the required behavior described by JAXP 1.3.
If an application does not register its own ErrorListener, the default ErrorListener is
used which reports all warnings and errors to System.err and does not throw any Exceptions. Applications
are strongly encouraged to register and use ErrorListeners that insure proper behavior for warnings and errors.
The default ErrorListener of the old &xslt4ji; processor throws exceptions on errors and fatal errors. If your
code expects exceptions to be thrown on errors and fatal errors, you have to set a customized ErrorListener on
TransformerFactory and/or Transformer. You can use
<jump href="apidocs/org/apache/xml/utils/DefaultErrorHandler.html">org.apache.xml.utils.DefaultErrorHandler</jump>
as a sample ErrorListener implementation.
</s4>
<s4 title="Support for XML 1.1">
<p>This release of &xslt4j; adds support for Namespaces in XML 1.1 and XML 1.1 output documents.
The processors: <br/><br/>
<li> support C0 control characters </li>
<li> handle C1 control characters in a way that is consistent with the requirements of XML 1.1 </li>
<li> treat NEL (U+0085) and LSEP (U+2028) as end-of-line markers </li>
<li> support <jump href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource Identifiers (IRIs)</jump> </li>
<li> support the additional characters in NCNames and QNames permitted by XML 1.1 and Namespaces in XML 1.1 </li></p>
<p>The processors do not undeclare namespaces other than the default namespace in serialized documents Also, Full
normalization is not supported.</p>
<p>An input document can be either XML 1.0 or XML 1.1. Also, a stylesheet document can be either XML 1.0 or XML 1.1.
A stylesheet document must conform to the XSLT 1.0 specifications.</p>
<p>Note that it is possible for a stylesheet module that is an XML 1.1 document to use constructs that cannot be
serialized as part of a valid XML 1.0 document, and for a stylesheet module that is an XML 1.0 document to use
constructs that cannot be serialized as part of a valid XML 1.1 document. For example, a stylesheet module that
is an XML 1.1 document might contain a literal result element whose name contains characters that are not permitted
as part of a QName in a document that conforms to Namespaces for XML 1.0. The user needs to ensure that the nodes
created by the stylesheet can be serialized as part of a well-formed document of the required version of XML.</p>
</s4>
<s4 title="Support for Alternative BSF Implementations">
<p>Extensions written in Java are directly supported by &xslt4j;. For extensions written in languages other than
Java, &xslt4j; uses the Bean Scripting Framework (BSF), an architecture for incorporating scripting into Java
applications and applets, and an implementation of BSF must be available on the classpath. In previous
releases, IBM's BSF implementation (<code>bsf.jar</code> from 2001) has been included in the &xslt4j; distribution.
Some time ago IBM donated their BSF implementation to the <jump href="http://jakarta.apache.org/bsf/index.html">
Apache Jakarta BSF</jump> project. As of this release,
the IBM <code>bsf.jar</code> is no longer included in the &xslt4j; distribution. To use extensions written in
languages other than Java, please download a version of Jakarta BSF and put it on your classpath. To use
a different BSF implementation, please refer to <link idref="extensions"
anchor="BSFManager">setting the BSFManager</link>.</p>
</s4>
<s4 title="New serializer.jar">
<p>In this release of &xslt4j; the code related to serialization of output result trees has been pulled out of
<code>xalan.jar</code> and moved into a new jar file, named <code>serializer.jar</code>.</p>
<p>The code in <code>serializer.jar</code> has been modified to have no build or runtime dependencies on the rest of the
code in &xslt4j;, therefore, <code>serializer.jar</code> can be used in a stand-alone fashion through its public APIs.
Although the code has been modified to create a stand-alone jar, the serializer public APIs have not changed
and the package names and classnames are the same as they were last release.</p>
</s4>
<p>Also the following:</p>
<ul>
<li>Updates to the SQL extension and SQL samples to support the Apache Derby database.</li>
<li>Minor restructuring of the source and binary distributions.</li>
<li>Various performance fixes.</li>
<li>Various memory leak fixes.</li>
<li>Upgrade to Xerces-J (2.7.1) and a new version of xml-commons (xml-commons-external-1.3.02).</li>
<li>Bugzilla fixes:
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15333">15333</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=27417">27417</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=27516">27516</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=27522">27522</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=27539">27539</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=27932">27932</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28082">28082</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28435">28435</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28622">28622</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28796">28796</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28879">28879</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29120">29120</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29234">29234</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29372">29372</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29411">29411</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29655">29655</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29706">29706</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30056">30056</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30142">30142</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30262">30262</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30301">30301</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30658">30658</jump>
</li>
<li>XALANJ Jira bug fixes:
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-936">936</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1186">1186</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1368">1368</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1417">1417</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1427">1427</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1431">1431</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1478">1478</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1526">1526</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1550">1550</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1556">1556</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1592">1592</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1640">1640</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1662">1662</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1705">1705</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1708">1708</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1761">1761</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1810">1810</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1811">1811</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1812">1812</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1822">1822</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1824">1824</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1852">1852</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1853">1853</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1886">1886</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1887">1887</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1888">1888</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1891">1891</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1908">1908</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1912">1912</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1924">1924</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1925">1925</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1937">1937</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1938">1938</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1942">1942</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1955">1955</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1966">1966</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1967">1967</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1977">1977</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1978">1978</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1979">1979</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1985">1985</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1990">1990</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1994">1994</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-1999">1999</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2003">2003</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2008">2008</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2013">2013</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2015">2015</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2021">2021</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2023">2023</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2026">2026</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2037">2037</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2051">2051</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2054">2054</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2058">2058</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2059">2059</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2068">2068</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2070">2070</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2074">2074</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2076">2076</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2077">2077</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2079">2079</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2081">2081</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2085">2085</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2086">2086</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2087">2087</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2089">2089</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2093">2093</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2095">2095</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2097">2097</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2099">2099</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2103">2103</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2105">2105</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2109">2109</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2113">2113</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2114">2114</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2116">2116</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2121">2121</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2123">2123</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2124">2124</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2126">2126</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2134">2134</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2136">2136</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2140">2140</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2142">2142</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2143">2143</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2144">2144</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2146">2146</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2154">2154</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2161">2161</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2167">2167</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2170">2170</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2176">2176</jump>,
<jump href="http://issues.apache.org/jira/secure/ViewIssue.jspa?key=XALANJ-2183">2183</jump>
</li>
<li>For a list of &xslt4j; commits, see xalan-cvs@xml.apache.org in the
<resource-ref idref="apache-mail-archives"/>.
</li>
</ul>
</s2>
<anchor name="notes_260"/>
<s2 title="Release notes for &xslt4j; 2.6.0">
<p>&xslt4j; 2.6.0 was released on February 29, 2004 (a leap year!).
</p>
<p>&xslt4j; 2.6.0 contains the following functional enhancements, performance enhancements and
bug fixes since 2.5.2:</p>
<ul>
<li>Improvement in translet initialization time.</li>
<li>Addition of a translet versioning mechanism. If the translet version
detected by the XSLTC runtime is more recent than any supported by the
XSLTC runtime, an error will be reported.</li>
<li>Changes that allow XSLTC to use other DTM implementations.</li>
<li>Release notes for the XML Serializer. The serializer will no longer put a newline after
the xml header tag unless indent="yes". See bugzilla
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24304">24304</jump>.</li>
<li>Rename of Xalan Java's xalan:doc-cache-off processing instruction to
xalan-doc-cache-off. This change was necessary due to a recent
change in Xerces. Xerces has started detecting the Namespace
well-formedness rule that a processing instruction's PITarget must not contain
a colon. The old-style PI (xalan:doc-cache-off) will be accepted provided that
the XML parser does not report it as an error. See bugzilla
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26217">26217</jump>.</li>
<li>Enhancement to XSLTC's URIResolvers and the general mechanism to resolve relative URIs.
XSLTC is now compatible with Xalan Intepretive.</li>
<li>Addition of a TransformThread sample that demonstrates how to use different transformers
on different threads and in different modes.</li>
<li>Upgrade to Xerces-J (2.6.2) and a new version of xml-commons (xml-commons-external-1.2.01)</li>
<li>Elimination of "enum" as a name to allow compilation under JDK 1.5</li>
<li>Bugzilla fixes:
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=797">797</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=1396">1396</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5761">5761</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15140">15140</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=16889">16889</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=18351">18351</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19194">19194</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19464">19464</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22376">22376</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23046">23046</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23591">23591</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24278">24278</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24111">24111</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24187">24187</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24188">24188</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24302">24302</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24304">24304</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24365">24365</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24414">24414</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24518">24518</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24695">24695</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24728">24728</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24788">24788</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24793">24793</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24958">24958</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24979">24979</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24985">24985</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24988">24988</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25368">25368</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25416">25416</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25442">25442</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25449">25449</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25816">25816</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25924">25924</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26019">26019</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26030">26030</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26075">26075</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26169">26169</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26217">26217</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26697">26697</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26742">26742</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26829">26829</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26842">26842</jump>
</li>
<li>For a list of &xslt4j; commits, see xalan-cvs@xml.apache.org in the
<resource-ref idref="apache-mail-archives" />.
</li>
</ul>
</s2>
<anchor name="notes_252"/>
<s2 title="Release notes for &xslt4j; 2.5.2">
<p>&xslt4j; 2.5.2 was released on October 30, 2003.
</p>
<p>&xslt4j; 2.5.2 contains bug fixes and performance enhancements since 2.5.1.</p>
<p>Fixes in this release include the following: </p>
<ul>
<li>
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=782">782</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=788">788</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=789">789</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=795">795</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=890">890</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=3415">3415</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5133">5133</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5972">5972</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6155">6155</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7205">7205</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7408">7408</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10900">10900</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11414">11414</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=12441">12441</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13082">13082</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14149">14149</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14607">14607</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15090">15090</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15327">15327</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15700">15700</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15828">15828</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15901">15901</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=16311">16311</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=16512">16512</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=16675">16675</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=17630">17630</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=18821">18821</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=18907">18907</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19297">19297</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19591">19591</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19770">19770</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19823">19823</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19890">19890</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19918">19918</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19972">19972</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19973">19973</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20074">20074</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20114">20114</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20256">20256</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20537">20537</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20572">20572</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20625">20625</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20685">20685</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20795">20795</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20819">20819</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20832">20832</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20841">20841</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20909">20909</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20913">20913</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20920">20920</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21039">21039</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21048">21048</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21087">21087</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21300">21300</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21309">21309</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21449">21449</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21452">21452</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21471">21471</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21478">21478</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21491">21491</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21697">21697</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21713">21713</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21805">21805</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=21893">21893</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22025">22025</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22115">22115</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22167">22167</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22342">22342</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22422">22422</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22438">22438</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22623">22623</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22769">22769</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22777">22777</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22808">22808</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22880">22880</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23200">23200</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23113">23113</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23115">23115</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23271">23271</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23418">23418</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23706">23706</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23812">23812</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23896">23896</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23983">23983</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24013">24013</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=24025">24025</jump>
</li>
<li>For a list of &xslt4j; commits, see xalan-cvs@xml.apache.org in the
<resource-ref idref="apache-mail-archives" />.
</li>
</ul>
</s2>
<anchor name="notes_251"/>
<s2 title="Release notes for &xslt4j; 2.5.1">
<p>&xslt4j; 2.5.1 was released on June 3, 2003.
</p>
<p>&xslt4j; 2.5.1 contains bug fixes and performance enhancements since 2.5.0.</p>
<p>Fixes in this release include the following: </p>
<ul>
<li>
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15200">15200</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=18585">18585</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=18926">18926</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19029">19029</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19388">19388</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19471">19471</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19474">19474</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19522">19522</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19640">19640</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19900">19900</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=19960">19960</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20237">20237</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20273">20273</jump>
</li>
<li>For a list of &xslt4j; commits, see xalan-cvs@xml.apache.org in the
<resource-ref idref="apache-mail-archives" />.
</li>
</ul>
</s2>
<anchor name="notes_250"/>
<s2 title="Release notes for &xslt4j; 2.5.0">
<p>&xslt4j; 2.5.0 was released on April 16,2003.
</p>
<p>&xslt4j; 2.5.0 contains a variety of features, bug fixes and
performance enhancements since 2.5.D1.</p>
<p>New features in &xslt4j; 2.5.0 include:
<ul>
<li>integration of the Document Table Model (DTM) with the XSLTC
processor [Henry Zongaro, Morris Kwan] and </li>
<li>integration of the Xalan Interpretive and Xalan Compiled
serializers into a common serializer [Brian Minchau].</li>
</ul>
These features have been driven by a need to get common behavior,
improve maintainability, reduce duplication of effort for future work,
and in some cases improve performance and conformance.</p>
<p>Refer to <link idref="whatsnew">What's New</link> for a description of the new function
and <link idref="history">History of software changes</link> for a list of the various
bug fixes and other enhancements in this release.</p>
</s2>
<anchor name="notes_25D1"/>
<s2 title="Release notes for &xslt4j; 2.5.D1">
<p>&xslt4j; 2.5.D1 was released on March 3, 2003.
</p>
<p>This developer's release, Xalan-Java 2.5.D1, has changes since 2.4.1 and
is primarily for the purpose of releasing
various bug fixes to the community. These will eventually be released officially in
a future Xalan-Java 2.5 version, along with some new function.</p>
<p>Fixes in this release include the following: </p>
<ul>
<li><jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=4858">4858</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5140">5140</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6075">6075</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6157">6157</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10053">10053</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10626">10626</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=12481">12481</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13414">13414</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13651">13651</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13774">13774</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13775">13775</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13977">13977</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14112">14112</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14148">14148</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14157">14157</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14178">14178</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14229">14229</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14236">14236</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14237">14237</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14241">14241</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14244">14244</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14300">14300</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14322">14322</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14324">14324</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14365">14365</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14368">14368</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14406">14406</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14578">14578</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14753">14753</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14856">14856</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14862">14862</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14965">14965</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15074">15074</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15094">15094</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15218">15218</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15254">15254</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15373">15373</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15586">15586</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=16745">16745</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=17030">17030</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=17136">17136</jump></li>
<li>Support for and bundling of Xerces Java 2.3.</li>
<li>Support for and bundling of <code>xml-apis.jar</code> from the tck-jaxp-1_2_0 branch of xml-commons.
This version of the Java APIs for XML Processing successfully passes the JAXP 1.1 and
JAXP 1.2 TCKs.</li>
<li>For a list of &xslt4j; commits, see xalan-cvs@xml.apache.org in the
<resource-ref idref="apache-mail-archives" />.</li>
</ul>
</s2>
<anchor name="notes_241"/>
<s2 title="Release notes for &xslt4j; 2.4.1">
<p>&xslt4j; 2.4.1 was released on October 31, 2002 (Halloween!).
</p>
<ul>
<li>Performance fixes and enhancements to address the degradation of performance between Xalan-Java
version 2.3.1 and Xalan-Java 2.4.0.</li>
<li>A prototype implementation of the <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-XPath-20020328/">DOM Level 3 XPath Specification</jump>.
The implementation is considered 'experimental' at this time due to the status of the specification.
See the new sample, <link idref="samples" anchor="applyxpathdom">ApplyXPathDOM</link> for an
example of how to use this API.</li>
<li>Extension changes and enhancements:</li>
<ul>
<li>Implement canonical namespaces for all Xalan extensions. All extensions
now use namespaces starting with <code>http://xml.apache.org/xalan</code>. The old namespaces are
still supported for backward compatibility. See the updated
<link idref="extensionslib" anchor="intro">extensions</link> documentation for details.</li>
<li>Added new EXSLT extension functions, including the EXSLT dynamic extension functions
max, min, sum, map, evaluate and closure, the EXSLT strings extension functions align,
concat, padding, split and tokenize, and some new extension functions in the math module.</li>
<li>Reorganized the extension functions for new EXSLT extensions.
The implementation of some extension functions (intersection, difference, distinct,
evaluate and tokenize) are moved from the main Extensions class to the corresponding EXSLT modules.</li>
<li>Enable the EXSLT extensions for XSLTC. The EXSLT common, math, sets, dates-and-times and strings
modules can be used in XSLTC.</li>
<li>Integration of the nodeset and redirect extension for XSLTC. You can now use Xalan namespaces for
these extensions in XSLTC.</li>
<li>Enhancement in Java extenion for XSLTC. Three namespace formats (Java, package and class) can all
be used in XSLTC. More type conversion rules are added as well.</li>
</ul>
<li>Enable support for invoking transformations using the Xalan compiler (XSLTC) via the
Xalan interpretive Process command line. Specifically, the -XSLTC option was added. The
-TT, -TG, -TS, -TTC, -QC, -L, -INCREMENTAL, -NOOPTIMIZE and -RL option do not work in XSLTC mode. All
other existing options can be used with -XSLTC. Additional options were added to enable XSLTC compile
and transform modes: -XO, -XD, -XJ, -XP, -XN, -XX, -XT. See the Process usage statement for more
information on these options.</li>
<li>Fixed SQL Extension problem where a query that returned zero rows would incorrectly
return a JDBC exception.</li>
<li>Fixed a limitation for XPath expressions. The token queue and operations map can now grow
to accomodate really large XPath expressions.</li>
<li>Fixes for the following bugzilla defects:
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=4344">4344</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5046">5046</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6181">6181</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6927">6927</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7161">7161</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7357">7357</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=8175">8175</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=8473">8473</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=8939">8939</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9731">9731</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9959">9959</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10176">10176</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10384">10384</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10414">10414</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10643">10643</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11073">11073</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11341">11341</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11661">11661</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11743">11743</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11809">11809</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=12077">12077</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=12127">12127</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=12298">12298</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=12687">12687</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13059">13059</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13303">13303</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13305">13305</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13106">13106</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13501">13501</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13711">13711</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13754">13754</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13863">13863</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13944">13944</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=14022">14022</jump></li>
<li>Support for and bundling of Xerces Java 2.2.</li>
<li>Support for and bundling of <code>xml-apis.jar</code> from the factoryfinder-build of the RIVERCOURT1 branch of xml-commons. This version of the Java
APIs for XML Processing successfully passes the JAXP 1.1 and JAXP 1.2 TCKs.</li>
<li>For a list of &xslt4j; commits, see xalan-cvs@xml.apache.org in the
<resource-ref idref="apache-mail-archives" />.</li>
<li>Support building Xalan with JDK 1.4.</li>
</ul>
</s2>
<anchor name="notes_240"/>
<s2 title="Release notes for &xslt4j; 2.4.0">
<p>&xslt4j; 2.4.0 was released on September 3, 2002.
</p>
<ul>
<li>Fixes for the following bugzilla defects :
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=3238">3238</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=4603">4603</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5013">5013</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5016">5016</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=5941">5941</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6071">6071</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6268">6268</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6284">6284</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6356">6356</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6547">6547</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6798">6798</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6833">6833</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6925">6925</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=6972">6972</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7023">7023</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7118">7118</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7123">7123</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7157">7157</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7410">7410</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=7776">7776</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=8324">8324</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=8358">8358</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=8551">8551</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=8894">8894</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9068">9068</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9137">9137</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9146">9146</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9171">9171</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9174">9174</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9179">9179</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9572">9572</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9575">9575</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9683">9683</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=9753">9753</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10137">10137</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10306">10306</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10323">10323</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10625">10625</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10715">10715</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10832">10832</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10837">10837</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10839">10839</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10914">10914</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10945">10945</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11123">11123</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11166">11166</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11221">11221</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11345">11345</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11704">11704</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11987">11987</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=11828">11828</jump>,
<jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=12075">12075</jump></li>.
<li>&xslt4j; now uses a list of supported encodings in a properties file
(org.apache.xml.serializer.Encodings.properties). Fixes Bugzilla 6356. Patch from Sergey Ushakov. </li>
<li>Support for the <jump href="http://www.exslt.org/">EXSLT</jump> function and result elements, and EXSLT
date-and-time functions.</li>
<li>Improvements to the extensions mechanism to more efficiently handle the detection and analysis of extensions
during the stylesheet "composition" process, and the generation of the required extension handlers during
initialization of the transformation process.</li>
<li>Performance improvement. Instead of looping through the ExtendedType objects, use a hashtable and go
directly to the correct object.</li>
<li>Separation of source and messages. Messages have been moved into property files for easier localization.</li>
<li>XSLTC version upgraded from 1.0 to 1.2.</li>
<li>Support for and bundling of Xerces Java 2.1.</li>
<li>Support for and bundling of <code>xml-apis.jar</code> from the RIVERCOURT1 branch of xml-commons. This version of the Java
APIs for XML Processing successfully passes the JAXP 1.1 and JAXP 1.2 TCKs.</li>
<li>For a list of &xslt4j; commits, see xalan-cvs@xml.apache.org in the
<resource-ref idref="apache-mail-archives" />.</li>
</ul>
</s2>
<anchor name="other"/>
<s2 title="Other points of interest">
<ul>
<li>Xalan Java 2 is integrated with release 2 of &xml4j;. &xslt4j-current; does not include support for the deprecated &xslt4j; 1 compatability API.
The &xslt4j; 1 compatability code does NOT compile with &xml4j2;.<br/><br/></li>
<li>The <link idref="samples" anchor="sql">SQL extension samples</link> continue to use InstantDB, but based on our realization of changes
that have occurred in the licensing of InstantDB, we no longer include InstantDB and the associated sample database with our distibution.
We do, however, provide information on how to <link idref="samples" anchor="instantdbsetup">set up InstantDB</link> to support our SQL
extension samples.<br/><br/></li>
<li>Documentation updates: We have subdivided the release notes into multiple files to accelerate HTML document loading, and we have added a
document on <link idref="features">Transform features</link>.<br/><br/></li>
<li>If an attempt is made to coerce a different namespace onto a prefix already in use in xsl:attribute, the attribute will come out
in the wrong namespace. Workaround: either provide an NCName instead of a QName for the attribute, or provide a QName with a prefix not
used elsewhere.<br/><br/></li>
<li>Handling xsl:namespace-alias declarations: In release 2.0.D01, we reported the need to do some research concerning exactly how &xslt;
should handle xsl:namespace-alias declarations. As a result of discussions among members of the W3C Working Group on XSL, we have reached a
more precise consensus on how namespaces should be represented when an xsl:namespace-alias declaration is in effect.<br/><br/>
If a literal result element has a namespace prefix, the prefix will be preserved and the namespace URI of the element will be as
specified in the xsl:namespace-alias element, but the result-prefix is not required to appear in the result. This also applies to the
two other cases of "Literal namespace URI" mentioned in the XSLT Recommendation on
<jump href="http://www.w3.org/TR/xslt#literal-result-element">Literal Result Elements</jump>. More simply, if the stylesheet calls for
&lt;axsl:foo&gt; to be output as a literal result element, then it will be output as &lt;axsl:foo&gt; in the result, but the namespace
associated with this "axsl" prefix will be as designated in the xsl:namespace-alias declaration.<br/><br/></li>
<li>For HTML output, &xslt4j2; outputs character entity references (&amp;copy; etc.) for the special characters designated in
<jump href="http://www.w3.org/TR/xhtml1/#dtds">Appendix A. DTDs of the XHTML 1.0: The Extensible HyperText Markup
Language</jump>. &xslt4j; 1.x, on the other hand, outputs literal characters for some of these special characters.<br/><br/></li>
<li>In conformance with the <jump href="http://www.w3.org/TR/xslt#section-HTML-Output-Method">XSLT Recommendation on the HTML
Output Method</jump> and <jump href="http://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.2.1">Section B.2.1 of the HTML 4.0
Recommendation</jump>, &xslt4j2; uses %hh encoding for each byte of the UTF-8 representation of non-ASCII characters in HTML URI
attributes.<br/><br/></li>
<li>When your stylesheet asks for an explicit carriage-return character (&amp;#13;) to be inserted into the output, it is output during
the serialization process in escaped form unless escaping has been disabled. When your stylesheet asks for an explicit line-feed character
(&amp;#10;) to be output, the system-default line-break character(s) is/are output during the serialization process. Also keep in mind that
the XML parser normalizes line-breaks to line-feeds when it sends character events to the processor.<br/><br/></li>
<li>If your XML input is a DOM, use the javax.xml.parsers.DocumentBuilderFactory setCoalescing() method to set coalescing to true (it is
false by default), if you want to append CDATA sections to adjacent text sections to form a single text node (as the XPath standard calls
for), and if the XML parser supports this feature (&xml4j-used; does not).<br/><br/></li>
<li>When you traverse the namespace axis for a collection of element nodes, &xslt4j; includes <em>one</em> namespace node for each namespace in scope
for one or more of the nodes in that collection. The XPath expression does not return additional (redundant) namespace nodes for each element
for which the namespace nodes are in scope.<br/><br/></li>
<li>See <jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=2291">Bugzilla bug 2291</jump> for a discussion of issues surrounding
use of the default character encoding to read META-INF/Services.<br/><br/></li>
<li>As <jump href="http://issues.apache.org/bugzilla/show_bug.cgi?id=1800">Bugzilla bug 1800</jump> reports, the Transformer does not get the
setTransformState event until after the startDocument event. This could present a problem for tools developers, and we do intend to fix this
bug.</li>
</ul>
</s2>
<!-- We need to overhaul this list if we still want to publish it.
It should probably be broken out into active & past contributors.
<anchor name="developer-list"/>
<s2 title="Developers">
<p>A list of some of people currently working on working on &xslt4j;:</p>
<ul>
<li><human-resource-ref idref="sboag"/>
<br/>Xalan architect, lead developer on Xalan-J.
</li>
<li><human-resource-ref idref="scurcuru"/>
<br/>Lead tester for API issues, automation framework.
</li>
<li><human-resource-ref idref="pdick"/>
<br/>XSLT Conformance stylesheet issues and Xalan-C testing.
</li>
<li><human-resource-ref idref="jkesselman"/>
<br/>Xalan-J developer, compiling/compiled stylesheets experiments.
</li>
<li><human-resource-ref idref="dleslie"/>
<br/>Xalan-J and -C documentation, servlets, applets, and samples.
</li>
<li><human-resource-ref idref="cmanolache"/>
<br/>Xalan-J developer and JAXP expert.
</li>
<li><human-resource-ref idref="dmarston"/>
<br/>Lead tester for XSLT Conformance stylesheet issues.
</li>
<li><human-resource-ref idref="mmidy"/>
<br/>Xalan-J developer.
</li>
<li><human-resource-ref idref="gpeskin"/>
<br/>Xalan-J developer, especially extension mechanisim.
</li>
<li><human-resource-ref idref="jgentilin"/>
<br/>Major work on the SQL extensions library.
</li>
<li><human-resource-ref idref="mkwan"/>
<br/>Xalan-J developer.
</li>
<li><human-resource-ref idref="ilene"/>
<br/>Xalan-J developer.
</li>
<li><human-resource-ref idref="zongaro"/>
<br/>Xalan-J developer.
</li>
<li><human-resource-ref idref="minchau"/>
<br/>Xalan-J developer.
</li>
<li><human-resource-ref idref="igor"/>
<br/>Xalan-J developer.
</li>
<li><human-resource-ref idref="jycli"/>
<br/>Xalan-J developer.
</li>
</ul>
</s2> -->
</s1>