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

Overview

Downloads
Getting Started

FAQs

Sample Apps
Command Line
Usage Patterns

C++ API

Extensions

Release Notes

Bug reporting

Release notes for Xalan-C++ version 0.40.0

Status
 
Changes since Xalan-C++ version 0.30.0
 

We continue to work towards the functional completion our implementation of the XSLT and XPath specs. Major updates since version 0.30.0 include:

  • Permitting OS file names (as well as URLs) as command-line arguments with TestXSLT

  • Stricter compliance for HTML and XML output

  • Improved handling of relative URI's

  • Improved handling of Import and Include

  • Better namespace handling (although there are still problems here)

  • Support for Document() function

  • Support for XPath predicates

  • Better handling of parameters to stylesheet and templates

  • Full implementation of axes ( with the exception of namespace:: )


Bug reporting
 

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

NoteIf the Apache XML Bug Tracking System is not working, please report the bug to the Xalan Development Mailing List.

Version of Xerces-C++ to use
 

Xalan-C++ version 0.40.0 has been tested with Xerces-C++ version 1.2.0a. The Xalan-C++ version 0.40.0 Windows32 download includes xerces-c_1_2.dll. The Xalan-C++ version 0.40.0 Linux download includes libxerces-c1_2.so. For information about including The Xerces-C++ dynamic link or shared object library on the path, see Setting up the system 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.


To-do tasks for future Xalan-C++ releases
 

To complete our implementation of the W3C Recommendation 16 November 1999 XSL Transformations (XSLT) Version 1.0, we must do the following:

  • Integrate the International Components for Unicode (ICU) for number formatting and output encoding

  • Complete implementation of the format-number() function and support for the decimal-format element

  • Add support for the exclude-result-prefixes attribute

  • Add support for the output encoding attribute

  • Add support for extension elements

  • Fix namespace bugs

  • Continue to run our suite of conformance tests and fix any conformance bugs we find

The XSLT specification makes no such requirement, but we plan to implement a more efficient mechanism for storing and navigating DOM trees, along the lines of the Xalan-Java Document Table Model (DTM)

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



Build Notes
 
Rebuilding Xalan-C++
 

If you want to rebuild Xalan-C++ (to produce a debug build, for example), you need the following:

  • The Xalan-C++ source files
  • The Xerces-C++ header and (for Windows) .lib files
  • (NOT FOR THIS RELEASE) The ICU header and (for Windows) .lib files

The Xalan-C++ source files are in the distribution.

The required Xerces-C++ files are in the Xerces-C++ binary distributions.

(NOT FOR THIS RELEASE) To get the ICU, download and unzip the International Components for Unicode(ICU) 1.4.1.2 source files from the IBM developerWorks open source zone, and do a build -- see the Windows NT or Unix build instructions in the readme.html that accompanies the download.

Note If you are not rebuilding ICUBridge, you do not need the ICU header or .lib files.

To rebuild the Windows32 release, use the Microsoft Visual C++ 6.0 project files. To rebuild the Linux release, use the make file in the root of the source directory. Both builds look for Xerces-C++ and ICU in directories parallel to the xml-xalan directory

Important We have set up the Visual C++ projects and the Linux make file to look for Xerces in a directory structure that results from downloading xml-xerces/c from the Apache XML CVS repository and building with the Visual C++ project files or the Linux make file. This structure parallels the Xalan-C++ source tree and build structure.

If you are using a Xerces-C++ binary distribution, you must either modify the Xalan-C++ project files or makefile, or rearrange the build directory structure as indicated in the following illustration.

Xerces-C++ and ICU layout for Xalan-C++ build
 


NoteKeep in mind that at any given point in time the Xalan-C++ and Xerces-C++ source trees in the Apache XML repository may not be consistent. When we release a version of Xerces-C++ we certify that it is compabible with a given release of Xalan-C++. To be safe, stick with distributions that we certify to be compatible. (NOT FOR THIS RELEASE) Reminder: Xalan-C++ version 0.40.0 is compatible with Xerces-C++ version 1.2.0a.

Xalan-C++ version 0.40.0 was built with the International Components for Unicode(ICU) 1.4.1.2 source files. You can probably use newer ICU releases as they appear.

Rebuilding a sample application
 

The Windows32 distribution includes Visual C++ project files for each of the sample applications. The project files are in the samples subdirectories along with the source files. If you modify a sample and want to recompile it, you can recompile the .cpp file(s) and rebuild the executable.

The Linux distribution does not yet include make files for the sample applications, so you must construct your own Linux make files and build the sample executables.



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-C++.

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.