http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Overview

Downloads
Getting Started

FAQs

Sample Apps
Command Line
Usage Patterns

API (Javadoc)

Xalan DTM
Extensions

Release Notes

Bug reporting

Status
 
Bugs fixed since Xalan-J version 1.0.0
 

The following bugs were found in version 1.0.0. They have been fixed, and the fixes tested for version 1.0.1.

  • XPath expressions containing repeated multiplications (*) or divides (div) without parentheses gave incorrect answers.
  • The rendering of various characters to HTML sometimes crashed or gave out-of-bounds error, and also caused erroneous Greek characters.
  • A variable set within a template was de-scoped too soon, causing an xsl:sort that used that variable and that appeared in an xsl:apply-templates to work incorrectly.
  • xsl:sort attributes failed to accept attribute value templates.
  • FormatterToText incorrectly closed the output stream (this bug did not apply to other formatters).
  • In a for-each loop that selects but does not sort a node-set filtered by a predicate, position() returned incorrect data.
  • An imported stylesheet that used a relative path to include another stylesheet did not work.
  • A problem concerning the redeclaration of namespaces with the same prefix has been fixed (Bugzilla bug 105).
  • A problem with repeated use of an XPath object was fixed; repeated calls to the XPathProcessorImpl.initXPath() method with different length XPath expressions threw an ArrayIndexOutOfBoundsException.

Outstanding bugs
 

Outstanding bugs are recorded in the Apache XML Bug Tracking System. If you find a bug, please use this system to report it.


Version of Xerces to use
 

Xalan-J version 1.0.1 has been tested with Xerces-j version 1.0.3. The Xalan download from xml.apache.org includes xerces.jar from Xerces-j version 1.0.3. For information about including xerces.jar on the system class path, see Setting up the system class path.

Important You may experience unpredictable anomalies if your Xalan and Xerces builds are not in synch. If you download an update to Xalan, check the release notes to determine which version of Xerces you should use.

NoteYou can use Xalan with other XML parsers, but it is up to you to implement liaisons to those parsers. Your liaison class should extend XMLParserLiaisonDefault class and implement XMLParserLiaison interface.

To-do tasks for future Xalan releases
 

A top priority for the Xalan team in the ongoing development of Xalan is to improve performance. This includes enhanced support for SAX and incremental transformations, more efficient trees than current implementations of the DOM interfaces provide, and a number of possibilities pertaining to the compilation of stylesheets, preprocessing XML/XPaths, and so on.

As part of the xml.apache team, the Xalan team is exploring options to upgrade the integration of all the xml.apache projects, including Xalan, Xerces, Cocoon, and FOP.

Shane Curcuru is looking into replacing our current make system with the Java Ant system.

Watch the Xalan Development Mailing List for more information and for ideas about how you can get involved.



Build Notes
 
Rebuilding Xalan
 

The Xalan build is in xalan.jar. The Xalan source code tree is in the src directory. If you want to rebuild xalan.jar, you can do the following:

  1. Set up GNU or the equivalent build environment on your workstation.

    If you are running Windows 95/98/2000/NT, you can use the Cygwin port of GNU. Be sure to put the appropriate Cygwin bin directory at the beginning of your system path. For information about Cygwin, see Cygwin.

  2. Place Version 1.0.3 of Xerces-Java xerces.jar in the Java class path.

  3. If you are working in Windows, set MAKE_MODE as follows:

    set MAKE_MODE=UNIX

  4. Run the make file in the Xalan root directory:

    make build

If you want to do the build without the GNU build environment, keep the following in mind:

  • Set the class path to include the src directory, xerces.jar, bsf.jar, and bsfengines.jar.
  • Use a Java compiler (such as the IBM Just-In-Time compiler or the Sun javac) to compile all the .java files in the src tree.
  • Use the Sun jar utility to store the resulting .class files in xalan.jar

Rebuilding a sample application
 

If you modify a sample and want to recompile it, you can run the Java compiler in the directory containing the example. Be sure xalan.jar and xerces.jar are on the class path. To recompile (and run!) the class files in the Servlet subdirectory, the javax.servlet and javax.servlet.http packages must also be on the class path. Sun distributes these packages in the JSWDK 1.0.1 servlet.jar file.

After recompiling a sample, you can use the Sun jar utility to place your new .class files in xalansamples.jar.


Rebuilding the Xalan documentation
 

Xalan includes a number of XML source files, XSL stylesheets, document type definition (DTD) files, entity relationship (ENT) files, graphics, and a JavaScript file that provide the input for the Xalan HTML User's Guide, and the overview and package-level documents used during the generation of Javadoc.

To rebuild the documentation, you must use a Stylebook tool from xml.apache.org and the JDK 1.2.2 java and javadoc tools. Stylebook (which uses Xalan and Xerces) and the required document definition files, stylesheets, and resources are stored in xml-site-style.tar.gz, and are unzipped when you run the make files as described below. If the JDK 1.2.2 bin and lib directories are not on your class path, you can edit the make.include file in the Xalan root directory so the make file can find the JDK 1.2.2 java and javadoc tools. You can also include java and javadoc arguments on the make file command line. See the make.include file for the details.

To generate the Xalan HTML User's Guide, run the Xalan make file in the Xalan xdocs directory:

make makesbook

To generate Xalan API documentation, set up the make file to use the Javadoc tool in the Java JDK 1.2.2 bin directory.

Do the following:

  1. Put the Java JDK 1.2.2 bin directory on your path (in front of any JDK 1.1.x bin directory that appears on the path).

  2. In the Xalan docs directory, run the Xalan make file as follows:

    make makejavadoc

If you want to rebuild the documentation without using the GNU build environment, keep the following in mind:

  • Unzip xml-site-style.tar.gz into the xdocs directory (the operation creates a number of subdirectories).

  • Be sure stylebook-1.0-b2.jar, xalanjdoc.jar, xalan.jar, bsf.jar, bsfengines.jar, and xerces.jar are on the class path.

  • To build doc in a build/docs subdirectory, run StyleBook from the xdocs directory as follows:

    java org.apache.stylebook.StyleBook "targetDirectory=../build/docs/" sources/xalanLocal.xml style

  • To build the HTML source files that javadoc needs for top-level and package-level documentation, run StyleBook from the xdocs directory as follows:

    java org.apache.stylebook.StyleBook "loaderConfig=sbk:/style/loaderjdoc.xml" targetDirectory=../src sources/javadocPackages.xml style

  • Before you run javadoc, make sure the following directory structure exists under the Xalan root directory: build/docs/apidocs.

  • To build the API documentation, run the JDK 1.2.2 javadoc tool from the xdocs directory:

    -doclet xalanjdoc.Standard -public -overview ../src/javadocOverview.html -sourcepath ../src -group XSLT_Packages "org.apache.xalan.xslt*" -group XPath_Packages "org.apache.xalan.xpath*" org.apache.xalan.xpath org.apache.xalan.xpath.xdom org.apache.xalan.xpath.dtm org.apache.xalan.xpath.xml org.apache.xalan.xslt org.apache.xalan.xslt.trace org.apache.xalan.xslt.client org.apache.xalan.xslt.extensions -windowtitle Xalan -d ../build/docs/apidocs


Getting in Touch
 

Your feedback is more than welcome. Offers of help are even more so! Perhaps you would like to contribute to the ongoing development, testing, or documentation of Xalan?

Please email your comments, questions, suggestions, bug reports, and offers to help to Xalan Development Mailing List.



Copyright © 2000 The Apache Software Foundation. All Rights Reserved.