Trademark Logo Xalan XSL Transformer User's Guide
History of software changes
Apache Foundation Xalan Project Xerces Project Web Consortium Oasis Open

History of software changes

The following sections list the core software changes in each release since Xalan-Java version 2.0.D01.

note For XSLTC changes since XSLTC was incorporated into Xalan-Java, see XSLTC software changes.

(top)

Changes for Xalan-Java 2.7.0

Core (Non-XSLTC) source code updates:

(top)

Changes for Xalan-Java 2.6.0

Core (Non-XSLTC) source code updates:

(top)

Changes for Xalan-Java 2.5.2

Core (Non-XSLTC) source code updates:

(top)

Changes for Xalan-Java 2.5.1

Core (Non-XSLTC) source code updates:

(top)

Changes for Xalan-Java 2.5.0

Core (Non-XSLTC) source code updates:

(top)

Changes for Xalan-Java 2.4.1

Core (Non-XSLTC) source code updates:

(top)

Changes for Xalan-Java 2.4.0

Core (Non-XSLTC) source code updates:

(top)

Changes for Xalan-Java 2.3.1

Core (Non-XSLTC) source code updates:

(top)

Changes for Xalan-Java 2.3 and 2.3.1

Core (Non-XSLTC) source code updates:

(top)

Changes for Xalan-Java 2.2

Following a series of Developer releases, Xalan-Java 2.2 represents a stable, production-quality release with the DTM (Document Table Model). Xalan-Java uses the DTM to represent the XML source document to be transformed. Please send your feedback to the Xalan Development Mailing List.

Core (Non-XSLTC) source code updates:

note This release includes no updates of the compatibility source code (now deprecated).

(top)

Changes for Xalan-Java 2.2.D14

Xalan-Java 2.2.D14 is intended to be the final release in the current series of Developer releases incorporating the DTM. We believe Xalan with the DTM has reached a level of stability that warrants a standard "User" release. Accordingly, we plan to release Xalan-Java 2.2 soon.

Xalan-Java 2.2.D14 also includes a new CachedXPathAPI class that provides an enhanced alternative to the XPath convenience methods in XPathAPI.

Beginning with 2.2.D12, xalan.jar contains just the Xalan-Java implementation. The source files for the SAX level 2, DOM 2, and JAXP 1.1 interfaces are pulled from the xml-commons repository (xml-commons/java/external/src), 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. To run Xalan-Java, you must add xml-apis.jar to your classpath. See Setting up the system class path.

Core (Non-XSLTC) source code updates:

note This release includes no updates of the compatibility source code (now deprecated).

(top)

Changes for Xalan-Java 2.2.D12 and 2.2.D13

Xalan-Java 2.2.D13 is intended to be the final release in the current series of Developer releases incorporating the DTM. We believe Xalan with the DTM has reached a level of stability that warrants a standard "User" release. Accordingly, we plan to release Xalan-Java 2.2 soon.

Beginning with this release, xalan.jar contains just the Xalan-Java implementation. The source files for the SAX level 2, DOM 2, and JAXP 1.1 interfaces are pulled from the xml-commons repository (xml-commons/java/external/src), 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. To run Xalan-Java, you must add xml-apis.jar to your classpath. See Setting up the system class path.

Beginning with this release, we are shipping two distribution files; a binary distribution file, which includes everything needed to run Xalan-Java and build applications, and a source distribution. For more information, see Downloading what you need.

This release also includes ValidateXMLInput, 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.

Core (Non-XSLTC) source code updates:

note This release includes no updates of the compatibility source code (now deprecated).

(top)

Changes for Xalan-Java 2.2.D11

Core (Non-XSLTC) source code updates:

note This release includes no updates of the compatibility source code (now deprecated).

(top)

Changes for Xalan-Java 2.2.D10

note The SQL Extension library has been updated to work with DTM.

Core (Non-XSLTC) source code updates:

note This release includes no updates of the compatibility source code (now deprecated).

(top)

Changes for Xalan-Java 2.2.D9

Core (Non-XSLTC) source code updates:

note This release includes no updates of the compatibility source code (now deprecated).

(top)

Changes for Xalan-Java 2.2.D8

Core (Non-XSLTC) source code updates:

note This release includes no updates of the compatibility source code (now deprecated).

(top)

Changes for Xalan-Java 2.2.D7

Core (Non-XSLTC) source code updates:

note This release includes no updates of the compatibility source code (now deprecated).

(top)

Changes for Xalan-Java 2.2.D6

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.

This beta release includes the following non-XSLTC code changes:

(top)

Changes for Xalan-Java 2.2.D2

This release includes the following changes:

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 (DTM).

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 bugs).

The DTM and related work provides faster performance and less accumulation of garbage... though it is an ongoing battle. Brief summary:

Xalan-Java implements two DTM performance features that you can control with the TransformerFactory setAttribute() method. See DTM performance settings

(top)

Changes for Xalan-Java 2.1.0

This release includes a number of bug fixes to Xalan-Java 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.

Core source code updates:

note This release includes no updates of the compatibility source code.

(top)

Changes for Xalan-Java 2.0.1

This release includes a number of bug fixes to the Xalan-Java and TrAX core and Xalan-Java 1 compability API. We have also

Core source code updates:

Compatibility source code updates:

(top)

Changes for Xalan-Java version 2.0.0

Release 2.0 includes several bug fixes to the Xalan-Java and TrAX core and to the Xalan-Java 1 compatibility API. We also updated bsf.jar to the Bean Scripting Framework (BSF) release candidate 2.2, which fixes a bug running JPython extensions.

Core bug fixes:

Bug fixes in the Xalan-Java 1 compatibility API:

(top)

Changes for Xalan-Java version 2.0.D07

Xalan-Java 2.0.D07 incorporates a Xalan-Java 1 compatibility jar, some performance enhancements, and a number of bug fixes for bugs found in version 2.0.D06.

(top)

Changes for Xalan-Java version 2.0.D06

We have fixed the bugs reported in Xalan-Java 2.0.D05. Along with several other enhancements, we have also fixed a number of bugs found by testing and our users:

(top)

Changes for Xalan-Java version 2.0.D05

All of the bugs reported in Xalan-Java 2.0.D01 have been fixed. The remainder of this section discusses two changes that we believe are of particular importance:

TrAX

The Transformation API for XML (TrAX) that Xalan-Java 2 implements has undergone substantial revisions since the release of Xalan-Java 2.0.D01. TrAX has joined the Java API for XML Parsing (JAXP) as part of the Sun® Java Specification Request 63. 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 TrAX (Transformation API for XML), and review Usage Patterns.

Output properties

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 getSerializer("xml"), for example, with getSerializer(OutputProperties.getDefaultMethodProperties("xml")).

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.

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
{http\u003a//xml.apache.org/xslt}use-url-escaping=no
and you can control indenting with
{http\u003a//xml.apache.org/xslt}indent-amount= n

note The colon after the "http" protocol must be escaped.

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:

<?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>

=== myentities.ent ===

quot 34
amp 38
lt 60
gt 62
lala 125

The output is:

<?xml version="1.0" encoding="UTF-8"?>
<out>&lala;</out>

See also Setting output properties in your stylesheets.

(top)