Index: xml-xalan/c/xdocs/html/apiDocs/footer.html =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/html/apiDocs/footer.html,v retrieving revision 1.11 diff -u -r1.11 footer.html --- xml-xalan/c/xdocs/html/apiDocs/footer.html 8 Jan 2004 21:58:19 -0000 1.11 +++ xml-xalan/c/xdocs/html/apiDocs/footer.html 26 Apr 2004 18:38:29 -0000 @@ -7,7 +7,7 @@ Index: xml-xalan/c/xdocs/html/apiDocs/header.html =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/html/apiDocs/header.html,v retrieving revision 1.9 diff -u -r1.9 header.html --- xml-xalan/c/xdocs/html/apiDocs/header.html 8 Jan 2004 21:58:19 -0000 1.9 +++ xml-xalan/c/xdocs/html/apiDocs/header.html 26 Apr 2004 18:38:29 -0000 @@ -1,5 +1,5 @@ Xalan-C++ API Documentation

Xalan-C++ API Documentation

-

The Xalan C++ XSLT Processor Version 1.7

+

The Xalan C++ XSLT Processor Version 1.8

Index: xml-xalan/c/xdocs/html/apiDocs/tail.html =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/html/apiDocs/tail.html,v retrieving revision 1.8 diff -u -r1.8 tail.html --- xml-xalan/c/xdocs/html/apiDocs/tail.html 8 Jan 2004 21:58:19 -0000 1.8 +++ xml-xalan/c/xdocs/html/apiDocs/tail.html 26 Apr 2004 18:38:29 -0000 @@ -2,7 +2,7 @@
-

Xalan-C++ XSLT Processor Version 1.7
+

Xalan-C++ XSLT Processor Version 1.8
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Index: xml-xalan/c/xdocs/sources/entities.ent =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/entities.ent,v retrieving revision 1.36 diff -u -r1.36 entities.ent --- xml-xalan/c/xdocs/sources/entities.ent 4 Apr 2004 18:30:03 -0000 1.36 +++ xml-xalan/c/xdocs/sources/entities.ent 26 Apr 2004 18:38:29 -0000 @@ -58,20 +58,20 @@ + + + + + + - - - - - - - - + + @@ -85,8 +85,8 @@ - - + + @@ -109,21 +109,21 @@ - + - - - + + + - - - - + + + + @@ -142,10 +142,11 @@ - + + Index: xml-xalan/c/xdocs/sources/xalan.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan.xml,v retrieving revision 1.17 diff -u -r1.17 xalan.xml --- xml-xalan/c/xdocs/sources/xalan.xml 26 Feb 2004 22:24:07 -0000 1.17 +++ xml-xalan/c/xdocs/sources/xalan.xml 26 Apr 2004 18:38:30 -0000 @@ -26,7 +26,7 @@ Index: xml-xalan/c/xdocs/sources/xalan/STATUS =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/STATUS,v retrieving revision 1.16 diff -u -r1.16 STATUS --- xml-xalan/c/xdocs/sources/xalan/STATUS 7 Jan 2004 05:28:38 -0000 1.16 +++ xml-xalan/c/xdocs/sources/xalan/STATUS 26 Apr 2004 18:38:30 -0000 @@ -1,6 +1,5 @@

&xslt4c-current; has been tested with &xml4c-used;.

-The &xslt4c-current; download no longer includes the Xerces-C++ distribution for the specified platform. You should either download the matching &xml4c; distribution for your platform, or rebuild both &xml4c; and &xslt4c; on your system.

For information about including the Xerces-C++ libraries 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.

Index: xml-xalan/c/xdocs/sources/xalan/commandline.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/commandline.xml,v retrieving revision 1.29 diff -u -r1.29 commandline.xml --- xml-xalan/c/xdocs/sources/xalan/commandline.xml 26 Feb 2004 22:24:07 -0000 1.29 +++ xml-xalan/c/xdocs/sources/xalan/commandline.xml 26 Apr 2004 18:38:30 -0000 @@ -18,10 +18,13 @@ --> - +
  • Using a command-line utility
  • Using the Xalan executable
  • +

To perform a transformation, you can call &xslt4c; from the command line (or script), @@ -45,7 +48,7 @@

- + @@ -53,4 +56,44 @@

To display a list of the options call the Xalan executable as follows:

Xalan -?

+ Index: xml-xalan/c/xdocs/sources/xalan/extensions.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/extensions.xml,v retrieving revision 1.23 diff -u -r1.23 extensions.xml --- xml-xalan/c/xdocs/sources/xalan/extensions.xml 12 Apr 2004 15:24:17 -0000 1.23 +++ xml-xalan/c/xdocs/sources/xalan/extensions.xml 26 Apr 2004 18:38:30 -0000 @@ -119,10 +119,10 @@ } -

XalanTransformer provides methods for installing and unistalling external functions:

+

XalanTransformer provides methods for installing and uninstalling external functions:

These methods include arguments for the namespace, the function name, and the function implementation.

When you install an extension function, the function inhabits the namespace you designate. For information about XML namespaces, see Namespaces in XML.

Index: xml-xalan/c/xdocs/sources/xalan/extensionslib.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/extensionslib.xml,v retrieving revision 1.10 diff -u -r1.10 extensionslib.xml --- xml-xalan/c/xdocs/sources/xalan/extensionslib.xml 12 Apr 2004 15:24:17 -0000 1.10 +++ xml-xalan/c/xdocs/sources/xalan/extensionslib.xml 26 Apr 2004 18:38:30 -0000 @@ -57,7 +57,7 @@
  • EXSLT dynamic functions
  • EXSLT date-time functions
  • -

    Anyone who would like to participate in the &xslt4c; initiative to support EXSLT by testing these implementations or implementating other EXSLT functions is more than welcome. Please email us +

    Anyone who would like to participate in the &xslt4c; initiative to support EXSLT by testing these implementations or implementing other EXSLT functions is more than welcome. Please email us at the .

    Index: xml-xalan/c/xdocs/sources/xalan/faq.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/faq.xml,v retrieving revision 1.46 diff -u -r1.46 faq.xml --- xml-xalan/c/xdocs/sources/xalan/faq.xml 12 Apr 2004 15:24:17 -0000 1.46 +++ xml-xalan/c/xdocs/sources/xalan/faq.xml 26 Apr 2004 18:38:30 -0000 @@ -41,7 +41,7 @@ What is &xml4c; and why do I need it? -

    &xml4c; is a validating XML parser written in a portable subset of C++. &xml4c; makes it easy to give your application the ability to read and write XML data. Like &xslt4c;, &xml4c; is available from the Apache XML site: http://xml.apache.org/xerces-c/index.html

    +

    &xml4c; is a validating XML parser written in a portable subset of C++. &xml4c; makes it easy to give your application the ability to read and write XML data. Like &xslt4c;, &xml4c; is available from the Apache XML site: http://xml.apache.org/xerces-c/index.html

    @@ -96,7 +96,7 @@ What do I need to rebuild &xslt4c; on Windows? -

    To build &xslt4c; on Windows, you need &xml4c; and MS Visual C++ 6.0 installed with Service Pack 3 for Visual C++ and Visual Studio. You should also apply the bug fixes for the C++ standard library that shipped with Visual C++ 6.0. These fixes are available from the Dinkumware site: http://www.dinkumware.com/vc_fixes.html.

    +

    In order to build &xslt4c; on Windows, you will need the supported version of &xml4c; and MS Visual C++ 6.0 installed with Service Pack 5 for Visual C++ and Visual Studio. In previous versions of &xslt4c;, the requirement on MS Visual C++ 6.0 was to have Service Pack 3 installed. In this case, you should also apply the bug fixes for the C++ standard library that shipped with Visual C++ 6.0. These fixes are available from the Dinkumware site: http://www.dinkumware.com/vc_fixes.html.

    If you do not want to apply the Dinkumware patches, or you are using a different Service Pack, you must rebuild all of the Xerces and Xalan binaries.

    For more details, see Steps for doing a Windows build.

    @@ -237,7 +237,7 @@ -

    Input to another tranformation:

    +

    Input to another transformation:

    @@ -325,5 +325,13 @@

    There is no Apache Perl wrapper, however Edwin Pratomo has written a wrapper for &xslt4c; version 1.4 that can be found on CPAN

    - + + + Why can't I find the LocalMsgIndex.hpp file? + +

    The LocalMsgIndex.hpp file is not shipped with the distributions because this file is generated during compile time. This file is created at the start of the build process and customized for the locale and message set you are using.

    +

    On Windows, the LocalMsgIndex.hpp header is generated by the Localization project. By building any project that has a dependency on the Localization project, will trigger the Message Localization component to built and the LocalMsgIndex.hpp to be generated.

    +

    To understand more on how to build with message localization support, see Steps for Building with Message Localization Support.

    +
    +
    Index: xml-xalan/c/xdocs/sources/xalan/getstarted.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/getstarted.xml,v retrieving revision 1.49 diff -u -r1.49 getstarted.xml --- xml-xalan/c/xdocs/sources/xalan/getstarted.xml 12 Apr 2004 15:24:17 -0000 1.49 +++ xml-xalan/c/xdocs/sources/xalan/getstarted.xml 26 Apr 2004 18:38:30 -0000 @@ -29,22 +29,24 @@

    For &xslt4c-current;, we are distributing the following:

      -
    • Windows 32-bit and 64-bit Visual C++ builds
    • -
    • Red Hat Linux 7.2 32-bit and 64-bit Intel C++ builds
    • -
    • AIX 5.1 32-bit and 64-bit xlC builds
    • +
    • AIX 5.1 32-bit and 64-bit xlC_r builds
    • HP-UX 11 32-bit and 64-bit aCC builds
    • +
    • Red Hat Linux 7.2 32-bit and 64-bit Intel C++ builds
    • Solaris 2.7 32-bit and 64-bit Forte C++ builds
    • +
    • SuSE Linux 8.1 for IA-32 gcc 3.2.2 build
    • +
    • Windows 32-bit and 64-bit Visual C++ builds

    +

    As with previous releases, the documentation build containing this User's Guide and API documentation will be provided in a separate distribution.

    Please contact us at if you would like to help provide builds for other platforms.

    -

    If you do not already have it, you must also download the &xml4c; 2.4.0 build as indicated below.

    +

    If you do not already have it, you must also download the &xml4c-used; build as indicated below.

    The Xalan distribution files are in . The Xerces distribution files are in . Xalan documentation is provided in a separate package from the binary distribution files. For Windows, documentation is packaged with the file name &xslt4c-docs_dist_zip;. For UNIX, documentation is packaged with the file name of &xslt4c-docs_dist_targz;.
    -

    Xerces-C XML Parser for C++ Version 2.4.0
    +

    Xerces-C XML Parser for C++ Version 2.5.0
    Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

    -mOmit the META tag in HTML output.
    -o filenameWrite transformation result to this file (rather than to the console).
    -p name exprSet a stylesheet parameter with this expression.
    -t name exprDiplay timing information.
    -t name exprDisplay timing information.
    -u name exprDisable escaping of URLs in HTML output.
    -vValidate the XML source document.
    -A dash as the 'source' argument reads from stdin.
    A dash as the 'stylesheet' argument reads from stdin.
    ('-' cannot be used for both arguments.)
    @@ -98,15 +100,14 @@ - - - + + + + + + + +
    SuSE Linux 8.1 (32-bit)
    - &xslt4c-winnt-dist;
    -
    - &xml4c-winnt-dist;
    -
    - Windows NT
    -
    &xslt4c-win2k-dist;
    &xml4c-winnt-dist;
    Windows 2000
    &xslt4c-win2003l_64-dist;
    &xml4c-win2003c_64-dist;
    Windows 2003 Server (64-bit)

    The compiler version used for each platform is listed in the table below. @@ -120,25 +121,24 @@ IBM C and C++ for AIX 6.00 - Solaris 2.7 - Sun Workshop 6 update 2 - - HP/UX 11.0 - aCC A.03.37 + aCC A.03.52 Red Hat Linux 7.2 Intel C++ Compiler, version 7.1 + Solaris 2.7 + Sun Workshop 6 update 2 + + SuSE Linux 8.1 gcc Compiler, version 3.2.2 Windows NT, 2000, and XP - Microsoft Visual C++ with SP3 and - Dinkumware fixes (for 32-bit)
    + Microsoft Visual C++ with SP5 (for 32-bit)
    Intel C++ Compiler, version 7.1 (for 64-bit) @@ -155,9 +155,9 @@

  • For UNIX
  • -

    To use the Windows distribution, you must place the Xalan executables and the Xalan and Xerces libraries on the path:

    +

    To use the Windows binary distribution, you must place the Xalan executables and the Xalan and Xerces libraries on the path:

    The Visual C++ Xalan project included with the Windows release knows the relative paths to the Xalan headers and libraries, but it does not know where you have unzipped the Xerces distribution. If you plan to use Visual C++ to build Xalan applications or rebuild Xalan, you must also provide Visual C++ with access to the Xerces headers and libraries.

    Use the Visual C++ Tools menu to open the Options dialog box, go to the Directories tab, and do the following:

    @@ -168,30 +168,30 @@
    -

    To use one of the UNIX distributions, you must place the &xslt4c; executable on the path, and +

    To use one of the UNIX binary distributions, you must place the &xslt4c; executable on the path, and the &xslt4c; and &xml4c; libraries on the library path.

    For the &xslt4c; AIX distributions:

      -
    • Put &xslt4c-unix_root;/bin on the path (PATH).
    • -
    • Put &xslt4c-unix_root;/lib and &xml4c-dist;-<my_AIX_distribution>/lib +
    • Put &xslt4c-dist;-<my_AIX_distribution>/bin on the path (PATH).
    • +
    • Put &xslt4c-dist;-<my_AIX_distribution>/lib and &xml4c-dist;-<my_AIX_distribution>/lib on the library path (LIBPATH), or copy the shared libraries to /usr/lib.

    For the &xslt4c; HP-UX 11 distributions:

      -
    • Put &xslt4c-unix_root;/bin on the path (PATH).

    • -
    • Put &xslt4c-unix_root;/lib and &xml4c-dist;-<my_HPUX_distribution>/lib on the library path (SHLIB_PATH), or copy +
    • Put &xslt4c-dist;-<my_HPUX_distribution>/bin on the path (PATH).

    • +
    • Put &xslt4c-dist;-<my_HPUX_distribution>/lib and &xml4c-dist;-<my_HPUX_distribution>/lib on the library path (SHLIB_PATH), or copy the shared libraries to /usr/lib.

    For the &xslt4c; Solaris distributions:

      -
    • Put &xslt4c-unix_root;/bin on the path (PATH).

    • -
    • Put &xslt4c-unix_root;/lib and &xml4c-dist;-<my_solaris_distribution>/lib on the library path +
    • Put &xslt4c-dist;-<my_Solaris_distribution>/bin on the path (PATH).

    • +
    • Put &xslt4c-dist;-<my_Solaris_distribution>/lib and &xml4c-dist;-<my_Solaris_distribution>/lib on the library path (LD_LIBRARY_PATH), or copy the shared libraries to /usr/lib.

    For the &xslt4c; RedHat and SuSE Linux distributions:

      -
    • Put &xslt4c-unix_root;/bin on the path (PATH).
    • -
    • Put &xslt4c-unix_root;/lib and &xml4c-dist;-<my_linux_distribution>/lib on the library path (LD_LIBRARY_PATH), +
    • Put &xslt4c-dist;-<my_Linux_distribution>/bin on the path (PATH).
    • +
    • Put &xslt4c-dist;-<my_Linux_distribution>/lib and &xml4c-dist;-<my_Linux_distribution>/lib on the library path (LD_LIBRARY_PATH), or copy the shared libraries to /usr/lib.
    @@ -201,7 +201,7 @@

    To run the samples, do the following:

    1. Set up your path (see above). In the Windows32 distribution, the sample executables are in -&xslt4c-win_root;\Build\Win32\VC6\Release. In the UNIX distributions, the executables are in &xslt4c-unix_root;/bin.
    2. +&xslt4c-dist;-<my_Windows_distribution>\bin. In the UNIX distributions, the executables are in &xslt4c-dist;-<my_UNIX_distribution>/bin.
    3. Go to the samples subdirectory containing the sample.
    4. Run the sample from the command line (in Windows, use the DOS shell).
    5. Examine the application source files.
    6. Index: xml-xalan/c/xdocs/sources/xalan/history.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/history.xml,v retrieving revision 1.11 diff -u -r1.11 history.xml --- xml-xalan/c/xdocs/sources/xalan/history.xml 12 Apr 2004 15:24:17 -0000 1.11 +++ xml-xalan/c/xdocs/sources/xalan/history.xml 26 Apr 2004 18:38:30 -0000 @@ -14,6 +14,37 @@ * limitations under the License. --> + +

      Major updates since version 1.7 include:

      +
        +
      • .
      • +
      • Message Localization Support. This feature enables &xslt4c; to issue diagnostic messages + in languages other than the default language (English). In order to utilize this feature, + the user must provide a version of the &xslt4c; message catalog that has been translated in + their language of choice. For more information on how to exploit this feature, please see + Steps for doing a Build with Message Localization Support.
      • +
      • Build, packaging, and installation improvements. Changes to the &xslt4c; makefiles now + allow for a more flexible build, packaging, and install process. Each step in a typical + build process can be invoked by specifying the appropriate target, for example to build the + executable, and/or samples, or install the build at user-specified location. For more + information on building &xslt4c;, please see Steps for doing a Unix build + .
      • +
      • Deprecated DOM Support. The XercesBridge classes have been marked deprecated and moved + into an exclusive directory within the xalanc/XercesParserLiaison directory called + 'Deprecated'. If your application is dependent on these classes to interface with the + deprecated Xerces DOM you must alter your include directive with the 'Deprecated' directory. + For example:

        + #include "xalanc/XercesParserLiaison/XercesDocumentBridge.hpp"

        + should be changed to:

        + #include "xalanc/XercesParserLiaison/Deprecated/XercesDocumentBridge.hpp"

      • +
      • Upgrade from Xerces-C 2.3 to Xerces-C 2.4.
      • +
      • Porting of ThreadSafe example to UNIX platform.
      • +
      • Implementation of EXSLT string extension functions encode-uri() and decode-uri().
      • +
      • Implementation of EXSLT dynamic extension function evaluate().
      • +
      • Implementation of EXSLT date-time extension function date-time().
      • +
      +
      +

      Major updates since version 1.5 include:

        Index: xml-xalan/c/xdocs/sources/xalan/index.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/index.xml,v retrieving revision 1.37 diff -u -r1.37 index.xml --- xml-xalan/c/xdocs/sources/xalan/index.xml 26 Feb 2004 22:24:07 -0000 1.37 +++ xml-xalan/c/xdocs/sources/xalan/index.xml 26 Apr 2004 18:38:30 -0000 @@ -24,12 +24,12 @@ document types.

        &xslt4c-current; is a robust implementation of the W3C Recommendations for XSL Transformations (XSLT) and the XML Path Language (XPath). It works with a compatible release of the - &xml4c; XML parser: &xml4c-used;. The focus for this release is on bug fixes, build and packaging improvements, and a number of new features such as Message Localization Support and additional EXSLT extension functions. For the details, see the Release Notes.

        + &xml4c; XML parser: &xml4c-used;. The focus for this release is on bug fixes, build support for a number of new platforms, and changes to the Xerces Deprecated DOM support. For the details, see the Release Notes.

        -

        Download and unzip the &xslt4c; distribution file and the corresponding &xml4c; distributions file for your platform. For the details, see Downloading what you need. The &xslt4c; distribution includes platform-specific binaries, documentation, sample applications, the complete &xslt4c; source tree.

        -

        A source-only distribution is also available, if you want to build your own binaries.

        +

        Download and unzip the &xslt4c; distribution file and the corresponding &xml4c; distributions file for your platform. For the details, see Downloading what you need. The &xslt4c; distribution includes source-only distribution, documentation, sample applications, the complete &xslt4c; source tree.

        +

        Binary distributions are also available for a limited set of platforms.

        To extend Unicode support for encoding, number formatting, and sorting, you can download, Index: xml-xalan/c/xdocs/sources/xalan/readme.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/readme.xml,v retrieving revision 1.54 diff -u -r1.54 readme.xml --- xml-xalan/c/xdocs/sources/xalan/readme.xml 12 Apr 2004 15:24:17 -0000 1.54 +++ xml-xalan/c/xdocs/sources/xalan/readme.xml 26 Apr 2004 18:38:30 -0000 @@ -30,40 +30,28 @@

          -
        • Changes for &xslt4c; version 1.7
        • +
        • Changes for &xslt4c; version 1.8
        • Bug reporting
        • Version of &xml4c; to use
        • To-do tasks for future &xslt4c; releases
        - -

        Major updates since version 1.6 include:

        + +

        Major updates since version 1.7 include:

        • .
        • -
        • Message Localization Support. This feature enables &xslt4c; to issue diagnostic messages - in languages other than the default language (English). In order to utilize this feature, - the user must provide a version of the &xslt4c; message catalog that has been translated in - their language of choice. For more information on how to exploit this feature, please see - Steps for doing a Build with Message Localization Support.
        • -
        • Build, packaging, and installation improvements. Changes to the &xslt4c; makefiles now - allow for a more flexible build, packaging, and install process. Each step in a typical - build process can be invoked by specifying the appropriate target, for example to build the - executable, and/or samples, or install the build at user-specified location. For more - information on building &xslt4c;, please see Steps for doing a Unix build - .
        • -
        • Deprecated DOM Support. The XercesBridge classes have been marked deprecated and moved - into an exclusive directory within the xalanc/XercesParserLiaison directory called - 'Deprecated'. If your application is dependent on these classes to interface with the - deprecated Xerces DOM you must alter your include directive with the 'Deprecated' directory. - For example:

          - #include "xalanc/XercesParserLiaison/XercesDocumentBridge.hpp"

          - should be changed to:

          - #include "xalanc/XercesParserLiaison/Deprecated/XercesDocumentBridge.hpp"

        • -
        • Upgrade from Xerces-C 2.3 to Xerces-C 2.4.
        • -
        • Porting of ThreadSafe example to UNIX platform.
        • -
        • Implementation of EXSLT string extension functions encode-uri() and decode-uri().
        • -
        • Implementation of EXSLT dynamic extension function evaluate().
        • -
        • Implementation of EXSLT date-time extension function date-time().
        • +
        • Upgrade from Xerces-C 2.4 to Xerces-C 2.5.
        • +
        • Provide build support for Cygwin and HP-UX 11.00 on Itanium. Although binary distributions are not provided for the Cygwin environment and + HP-UX 11.00 on Itanium platform, the build configuration files provided in the source distribution can be used to build on these platforms.
        • +
        • Project files for supporting Microsoft Visual Studio .NET. Although a binary distribution for the Microsoft Visual Studio .NET + is not provided in this release, Visual Studio solution files are provided in the Windows source distribution for those who choose to build + on this platform. Please see "Step for doing a Windows Build with Visual Studio .NET" for details.
        • +
        • Additional changes to Xerces Deprecated DOM support. This is another step towards phasing out the support for Xerces Deprecated DOM. Users are encouraged to modify their applications to interface with the new Xerces DOM support. For more information on the effects of these changes to your build environment, please see "Steps for doing a Build with Xerces Deprecated DOM Support"
        • + +
        • Implemented optimizations to significantly improve the throughput of the ICU-enabled "format-number" function.
        • +
        • Changes in the XML Serializer. The serializer will no longer put a newline after the xml header tag unless indent="yes". See bugzilla 24304 and 28386.
        @@ -89,50 +77,71 @@
        • What you need from the distributions
        • -
        • Steps for doing a Windows build
        • +
        • Steps for doing a Windows Build
        • +
        • Steps for doing a Windows Build with Visual Studio .NET
        • Steps for doing a UNIX build
        • Steps for doing a Build with Message Localization Support
        • +
        • Steps for doing a Build with Xerces Deprecated DOM Support

        To rebuild &xslt4c;, you need the &xslt4c; source files, the &xml4c; header files, and for Windows the &xml4c; .lib file. If you want to rebuild with the ICU, you will need to download the ICU source package to build the ICU libraries.

        -

        The &xslt4c; source tree is in the src subdirectory of the &xslt4c; binary distributions. The &xml4c; header files are in the include/xercesc tree of the corresponding &xml4c; binary distributions. The Windows Xerces .lib file is in the lib directory of the &xml4c; Windows binary distribution.

        You can also download &xslt4c; source distributions from : &xslt4c-dist;-src.zip and &xslt4c-dist;-src.tar.gz. &xml4c; source distributions are available from : &xml4c-dist;-src.zip and &xml4c-dist;-src.tar.gz.

        Keep in mind that at any given point in time the &xslt4c; and &xml4c; source trees in the Apache XML repository may not be consistent. When we release a version of &xslt4c; we certify that it is compatible with a given version of &xml4c;. To be safe, use the Xerces distributions that we certify as compatible. Reminder: &xslt4c-current; is compatible with &xml4c-used;.

        For information on using the , see Using the ICU. - &xslt4c-current; has been tested with &icu-used;. You may be able to use newer ICU releases as they appear.

        + The recommended version of ICU for &xslt4c-current; is &icu-current;. You may be able to use newer ICU releases as they appear.

        -

        To build &xslt4c; on Windows, you need &xml4c; and MS Visual C++ 6.0 installed with Service Pack 3 for Visual C++ and Visual Studio. You should also apply the bug fixes for the C++ standard library that shipped with Visual C++ 6.0. These fixes are available from the Dinkumware site: http://www.dinkumware.com/vc_fixes.html.

        -

        If you do not want to apply the Dinkumware patches, or you are using a different Service Pack, you must rebuild all of the Xerces and Xalan binaries.

        +

        To build &xslt4c; on Windows, you need &xml4c; and MS Visual C++ 6.0 installed with Service Pack 5 for Visual C++ and Visual Studio .NET.

        +

        If you are using a different Service Pack, you must rebuild all of the Xerces and Xalan binaries.

        Before you do the following, be sure you have provided Visual C++ the paths to the Xerces headers and libraries.

          -
        1. If you want to enable ICU support, install the ICU so the ICU root directory is at the same level as the xml-xerces directory (see Using the ICU). If you choose to build Xalan with ICU, you will need to rebuild the Xerces binary with ICU as well.

        2. -
        3. Use Visual C++ to open the Xalan workspace from the &xslt4c-win_root;\Projects\Win32\VC6. If you are building with ICU, then use XalanICU.dsw. Otherwise, open the Xalan.dsw workspace. -

        4. -
        5. From Visual C++, go to "Tools" and select "Options". From the "Options" window, click on the "Directories" tab and do the following: +
        6. Create the ICUROOT environment variable and set it the the path of the ICU root.
        7. +
        8. Create the XERCESCROOT environment variable and set it to the path of the root of &xml4c;.
        9. +
        10. Use Visual C++ to open the Xalan workspace (.dsw) from the &xslt4c-win_root;\Projects\Win32\VC6. If you are building with ICU, then use XalanICU.dsw. Otherwise, open the Xalan.dsw workspace.

          + You may need to restart Visual Studio .NET in order for ICUROOT and XERCESCROOT to take effect. +
          + As an alternative method to the steps described above, would be to go to "Tools" and select "Options" from Visual C++. From the "Options" window, click on the "Directories" tab and do the following:
          1. Show Directories for: Executable files. Add the Xerces bin directory to the list.
          2. Show Directories for: Include files. Add the Xerces include directory to the list. If you are building with ICU, add the ICU include directory to the list as well.
          3. Show Directories for: Library files. Add the Xerces lib directory to the list. If you are building with ICU, add the ICU lib directory to the list as well.
        11. -
        12. Use Visual C++ to build the Xalan library and executables of interest.
        To recompile existing applications without changing your source code, be sure to modify your Project settings to pick up the Xalan headers in its new location. (see image below)

        Visual C++ 6.0 Include Directories change

        +
        + + +

        For users who want to build with Visual Studio .NET,

        +
          +
        1. Create the ICUROOT environment variable and set it the the path of the ICU root.
        2. +
        3. Create the XERCESCROOT environment variable and set it to the path of the root of &xml4c;.
        4. +
        5. Use Visual Studio .NET to open the Xalan solution (.sln) from the &xslt4c-win_root;\Projects\Win32\VC7. If you are building with ICU, then use XalanICU.sln. Otherwise, open the Xalan.sln solution file.

          + You may need to restart Visual Studio .NET in order for ICUROOT and XERCESCROOT to take effect. +
          + An alternative method to the steps described above, would be to go to "Tools" and select "Options" from Visual Studio .NET. From the "Options" window, click on the "Projects" folder to expand the list. Select "VC++ Directories" from the list and do the following: +
            +
          1. Show Directories for: Executable files. Add the Xerces bin directory to the list.
          2. +
          3. Show Directories for: Include files. Add the Xerces include directory to the list. If you are building with ICU, add the ICU include directory to the list as well.
          4. +
          5. Show Directories for: Library files. Add the Xerces lib directory to the list. If you are building with ICU, add the ICU lib directory to the list as well.
          6. +
        6. +
        + To recompile existing applications without changing your source code, be sure to modify your Project settings to pick up the Xalan headers in its new location. (see image below) +

        Visual Studio .NET Include Directories change

        +

        For users who want to build in the UNIX environment,

        1. The Xalan build files are written for GNU make, and will not work with other make utilities.

        2. Set the XERCESCROOT environment variable to the path to the root of &xml4c;.

        3. Set the XALANCROOT environment variable to the path to the c directory in the root of the &xslt4c; distribution. For example, if the distribution is located in "/home/mydir", you would set the XALANCROOT to "/home/mydir/&xslt4c-unix_root;".

        4. (Optional) If you are including the ICUBridge, install the ICU, use the shell to define XALAN_USE_ICU and to set the ICUROOT environment variable to the path to the ICU root. For more information, see (see Using the ICU). Note that building Xalan with ICU requires that Xerces must also be built with ICU.

        5. -
        6. Change directory to &xslt4c-unix_root; in the &xslt4c; distribution. You can also +
        7. Change directory to XALANCROOT. You can also build Xalan-C outside of the source tree, but you will need to adjust the path to the runConfigure script in the next step.

        8. Run the runConfigure utility and provide the platform, C compiler, and C++ compiler flags as @@ -143,9 +152,9 @@ - - + aix, linux, freebsd, netbsd, solaris, hp-10, hp-11, hp-11-ia64, irix,
          tru64, macosx, cygwin. + +
          flagDescription
          pBuild platform. Option must be provided by user. Valid values
          include: - aix, linux, freebsd, netbsd, solaris, hp-10, hp-11, irix, tru64,
          macosx.
          cC compiler name. Example: gcc, cc, c89, xlc, etc.
          xC++ compiler name. Example: g++, xlC, CC, etc.
          cC compiler name. Example: gcc, cc, c89, xlc_r, etc.
          xC++ compiler name. Example: g++, xlC_r, CC, etc.
          dIndicates build is a debug build. Takes no values. Default is no
          debug.
          tTranscoder to use. Valid value is 'icu'. Default is null.
          mType of localization support method. Valid values include: inmem,
          icu, and nls. @@ -163,17 +172,20 @@

          Linux using GCC:  ./runConfigure -p linux -c gcc -x c++
          Linux using the Intel compiler:  ./runConfigure -p linux -c icc -x icpc
          - AIX (32-bit):    ./runConfigure -p aix -c xlc -x xlC

          - AIX (64-bit):    ./runConfigure -p aix -c xlc -x xlC -b 64

          + AIX (32-bit):    ./runConfigure -p aix -c xlc_r -x xlC_r

          + AIX (64-bit):    ./runConfigure -p aix -c xlc_r -x xlC_r -b 64

          + Cygwin (32-bit):  ./runConfigure -p cygwin -c gcc -x g++

          HP-UX 11 (32-bit):  ./runConfigure -p hp-11 -c cc -x aCC

          HP-UX 11 (64-bit):  ./runConfigure -p hp-11 -c cc -x aCC -b 64

          - Solaris (32-bit):  ./runConfigure -p Solaris -c cc -x CC

          - Solaris (64-bit):  ./runConfigure -p Solaris -c cc -x CC -b 64

          + HP-UX 11 for Itanium (32-bit):  ./runConfigure -p hp-11-ia64 -c cc -x aCC

          + HP-UX 11 for Itanium (64-bit):  ./runConfigure -p hp-11-ia64 -c cc -x aCC -b 64

          + Solaris (32-bit):  ./runConfigure -p solaris -c cc -x CC

          + Solaris (64-bit):  ./runConfigure -p solaris -c cc -x CC -b 64

          If you choose to install the distribution after building the libraries and executables, then you will need to indicate where you would like the distribution to be installed. To specify the install directory for your distribution, specify the flag -P <install directory>. For example, building and installing on the AIX platform:

          - ./runConfigure -p aix -c xlc -x xlC -P $HOME/my_xalan

          + ./runConfigure -p aix -c xlc_r -x xlC_r -P $HOME/my_xalan

          The standard binary directories bin, lib, and include are created in the specified directory only if the install or install-package option is specified in the build process.

          To see the other runConfigure flags you may include, use the help flag:

          @@ -193,8 +205,8 @@ installBuild the library, executables and copy them (along with
          the header files) the specified install location. install-packageInstalls the library, executables, samples to the
          specified location. - samplesBuilds the samples. - testsBuilds the tests. + SamplesBuilds the samples. + TestsBuilds the tests.
        @@ -218,7 +230,7 @@

      Regardless of which method you choose, a message file containing translated messages in the language of your choice must be provided. The standard message file provided in the &xslt4c; - version 1.7 source package is in XML Localization Interchange File Format (XLIFF) format + version 1.8 source package is in XML Localization Interchange File Format (XLIFF) format and conforms to the XLIFF 1.1 standard (please see http://www.oasis-open.org/committees/xliff/documents/xliff-specification.htm for more @@ -229,26 +241,24 @@ as shown above for building in Unix or Windows but with a small change.

      For building on Windows platform with "In Memory" method:

        +
      1. Create the environment variable XERCESCROOT and set it to the path to the root of &xml4c;.
      2. +
      3. Create the environment variable ICUROOT and set it to the path to the ICU root.
      4. Open the Xalan.dsw workspace using Microsoft Visual C++. The "inmem" localization method should be configured by default.
      5. Select the Localization project, and go to Settings and click on the "General" tab.Verify the build command line to use "nmake /f BuildMessages.mak TYPE=inmem LOCAL=en_US"
      6. -
      7. Add the Xerces-C bin directory to the PATH
      8. -
      9. Add the Xerces-C lib directory to the library directory list
      10. -
      11. Add the Xerces-C include directory to the include directory list.
      12. Run "Build all" with the configuration of your choice.

      For building on the Windows platform with ICU method:

        +
      1. Create the environment variable XERCESCROOT and set it to the path to the root of &xml4c;.
      2. +
      3. Create the environment variable ICUROOT and set it to the path to the ICU root.
      4. Open the XalanICU.dsw workspace using Microsoft Visual C++.
      5. Select the AllInOneWithICU project, and ensure that the project depends on the LocalizationWithICU project.
      6. Select the LocalizationWithICU project, and go to Settings and click on the "General" tab. Modify the build command line to use "nmake /f BuildMessages.mak TYPE=icu LOCAL=en_US"
      7. -
      8. Add the Xerces-C bin directory and ICU bin directory to the PATH
      9. -
      10. Add the Xerces-C lib directory and ICU lib directory to the library directory list
      11. -
      12. Add the Xerces-C include directory and ICU include directory to the include directory list
      13. Open the tools.ini file under Projects\Win32\VC6\Utils\Localization and add the ICU root - directory to the ICUROOT variable setting. Another option is to define ICUROOT as an environmental variable.
      14. + directory to the ICUROOT variable setting.
      15. Run "Build all" with the configuration of your choice.

      For building on the Unix platform:

      @@ -257,11 +267,11 @@
    7. Run the runConfigure and provide the platform, C compiler, C++ compiler, the message locale system flavour you are intending to build, and the locale support.

      Example 1: to use the NLS method for localization support using the default locale en_US:

      - AIX (32-bit):  ./runConfigure -p aix -c xlc -x xlC -m nls

      - AIX (64-bit):  ./runConfigure -p aix -c xlc -x xlC -b 64 -m nls

      + AIX (32-bit):  ./runConfigure -p aix -c xlc_r -x xlC -m nls

      + AIX (64-bit):  ./runConfigure -p aix -c xlc_r -x xlC_r -b 64 -m nls

      Example 2: to use the 'icu' method for localization support using the locale fr_FR:

      - AIX (32-bit):  ./runConfigure -p aix -c xlc -x xlC -m icu -M fr_Fr

      - AIX (64-bit):  ./runConfigure -p aix -c xlc -x xlC -b 64 -m icu -M fr_Fr

      + AIX (32-bit):  ./runConfigure -p aix -c xlc_r -x xlC_r -m icu -M fr_Fr

      + AIX (64-bit):  ./runConfigure -p aix -c xlc_r -x xlC_r -b 64 -m icu -M fr_Fr

    8. Perform steps 7 and 8 as outlined under "Steps for doing a UNIX Build"
    @@ -269,10 +279,10 @@ will be stored in the directory &xslt4c-unix_root;/bin.

    - - +
    Localization Build TypeFile Name
    ICU or "in memory" method:libxalanMsg17.so (for UNIX)
    - XalanMessages_1_8_0.dll and XalanMessages_1_8_0.lib (for Windows) +
    ICU or "in memory" method:libxalanMsg18.so (for UNIX)
    + XalanMessages_1_8.dll and XalanMessages_1_8.lib (for Windows)
    NLS method:xalanMsg1_7.cat can be found in $XALANCROOT/nls/<locale_name>/ directory
    NLS method:xalanMsg1_8.cat can be found in $XALANCROOT/nls/<locale_name>/ directory

    The location of the message library, &xslt4c; and &xml4c; binaries need to be added to the PATH and @@ -290,9 +300,24 @@

  • For an NLS build, the message catalog will need to be added to the NLSPATH.
  • + + +

    If you application is dependent on the XercesBridge classes to interface with the deprecated Xerces DOM, then the following steps must be taken.

    +

    For a Windows build using Microsoft Visual C++ version 6.0:

    +
      +
    1. Open the Xalan.dsw workspace
    2. +
    3. Go to "Projects" and select "Settings". From the "Project Settings panel", highlight the AllInOne project.
    4. +
    5. Click on the "C/C++" tab on the right hand side. From the "Category" pull down menu, scroll down to find "Preprocessor" and click to highlight this category.
    6. +
    7. Under the "Preprocessor Definitions" box, add "XALAN_BUILD_DEPRECATED_DOM_BRIDGE" to the list of definitions.
    8. +
    9. Rebuild &xslt4c; as described under "Steps for doing a Windows Build"
    10. +
    +

    For a UNIX build, the following parameter should be added to your runConfigure step: -z -DXALAN_BUILD_DEPRECATED_DOM_BRIDGE. for example,

    +     ./runConfigure -p aix -c xlc_r -x xlC_r -z -DXALAN_BUILD_DEPRECATED_DOM_BRIDGE

    + +
    -

    In the Windows32 distribution, all of the sample applications can be built from the Xalan.dsw Visual C++ workspace.

    +

    In the 32-bit Windows distribution, all of the sample applications can be built from the Xalan.dsw Visual C++ workspace.

    The Makefile that come with the UNIX distributions include targets for rebuilding one or all of the sample applications . To rebuild one or more sample applications, go to the root directory of your source package or the samples directory of your binary package, and run

         gmake Target

    where Target is Samples (all the samples), ApacheModuleXSLT, CompileStylesheet, DocumentBuilder, ExternalFunctions, ParsedSourceWrappers, SerializedNodeSet, SimpleTransform, SimpleXPathAPI, SimpleXPathCAPI, StreamTransform, ThreadSafe (Windows only), TraceListen, TransformToXercesDOM, UseStylesheetParam, XPathWrapper, XalanTransform, or XalanTransformerCallback.

    Index: xml-xalan/c/xdocs/sources/xalan/samples.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/samples.xml,v retrieving revision 1.42 diff -u -r1.42 samples.xml --- xml-xalan/c/xdocs/sources/xalan/samples.xml 26 Feb 2004 22:24:07 -0000 1.42 +++ xml-xalan/c/xdocs/sources/xalan/samples.xml 26 Apr 2004 18:38:30 -0000 @@ -55,7 +55,7 @@ Each sample application looks for input files in the current directory, the directory from which you run the application. The input files are in the samples subdirectory along with the sample source files. For the UNIX builds, application executables are in the bin subdirectory. For the Windows32 build, the - application executable is in the build subdirectory (&xslt4c-dist;-<my_Windows_distribution>\Build\Win32\VC6\ Debug and Release). To run a sample, be sure the + application executable is in the bin subdirectory (&xslt4c-dist;-<my_Windows_distribution>\bin). To run a sample, be sure the executable is on the path, and run it from the samples subdirectory that contains the input files. @@ -98,7 +98,7 @@

    What it does: Return transformation output in blocks to a callback function, which writes the output to a file. This sample illustrates the use of a callback function to incrementally process a transformation result, that is to begin - working with the transformation result before the transformation has beeen completed. See Processing output incrementally.

    You can run it from the XalanTransformerCallback subdirectory with

    XalanTransformerCallback foo.xml foo.xsl [foo.out]

    @@ -277,7 +277,7 @@ /usr/lib; see Setting up the path/library path), and copy the Apache module to /usr/lib/apache.

  • Add LoadModule and (UNIX only) AddModule entries to the Apache configuration file: httpd.conf.

    - Windows: LoadModule xslt_module &xslt4c-dist;-<my_Windows_distribution>\Build\Win32\VC6\Release\ApacheModuleXSLT.dll

    + Windows: LoadModule xslt_module &xslt4c-dist;-<my_Windows_distribution>\bin\ApacheModuleXSLT.dll

    UNIX: AddModule mod_xslt.c
            and
            LoadModule xslt_module /usr/lib/apache/mod_xslt.xx

    Index: xml-xalan/c/xdocs/sources/xalan/usagepatterns.xml =================================================================== RCS file: /home/cvspublic/xml-xalan/c/xdocs/sources/xalan/usagepatterns.xml,v retrieving revision 1.44 diff -u -r1.44 usagepatterns.xml --- xml-xalan/c/xdocs/sources/xalan/usagepatterns.xml 12 Apr 2004 15:24:17 -0000 1.44 +++ xml-xalan/c/xdocs/sources/xalan/usagepatterns.xml 26 Apr 2004 18:38:31 -0000 @@ -119,7 +119,7 @@ Whilst you can use the standard C++ namespace syntax directly, the &xml4c; and &xslt4c; namespaces are linked to the version number. For example, the Xalan namespace is currently - xalanc_1_7. The macros will automatically take care + xalanc_1_8. The macros will automatically take care of this when code is re-compiled against a new version of the libraries. Using the namespaces directly will require each namespace related statement be updated by hand. @@ -277,8 +277,6 @@ the string expression (in single quotes). For example:

    Xalan -p param1 'boo' foo.xml foo.xsl

    -

    or

    -

    testXSLT -in foo.xml -xsl foo.xsl -param param1 'boo'

    If the string expression includes spaces or other characters that the shell intercepts, first enclose the string in single quotes @@ -287,12 +285,6 @@ a single argument. For example:

    Xalan -p "'hello there'" foo.xml foo.xsl

    -

    or

    -

    - - testXSLT -in foo.xml -xsl foo.xsl -param param1 "'hello there'" - -

    The UseStylesheetParam sample application also uses a @@ -524,7 +516,7 @@ To construct a TraceListener with TraceListenerDefault, you need a PrintWriter and a boolean for each of these four tracing options. You can then use the XSLTEngimeImpl setTraceSelects and addTraceListener methods to add the TraceListener to an XSLTProcessor. See the TraceListen sample application.

    - The testXSLT command-line utility and TraceListen both use TraceListenerDefault to write events to the screen. + The TraceListen uses TraceListenerDefault to write events to the screen.

    @@ -553,8 +545,8 @@ developerWorks open source zone.

  • Do an ICU build -- see the Windows NT or Unix build instructions in the readme.html that accompanies the download. -
    Important For Windows, be sure to install the ICU on the same drive and at - the same level as &xslt4c; and &xml4c;.

  • +
    Important For Windows, define the environment variable ICUROOT and then restart Visual C++ or Visual Studio .NET. + in order for the ICUROOT variable to take effect.

    @@ -571,7 +563,7 @@ want to enable ICU support:

      -
    1. Include the ICUBridge headers.

    2. +
    3. Define the environment variable ICUROOT.

    4. Substitute ICU support for format-number(), xsl:number, and/or xsl:sort.

    5. Rebuild the Xalan library to include the ICUBridge.
    @@ -585,7 +577,7 @@ #include <xalanc/ICUBridge/ICUXalanNumberFormatFactory.hpp> #include <xalanc/ICUBridge/ICUBridgeCollationCompareFunctor.hpp> -

    For Windows, do a clean build of the Xalan library using the "AllInOneWithICU" project.

    +

    For Windows, do a clean build of the Xalan library using the "XalanICU.dsw" workspace (for Visual C++ users) or "XalanICU.sln" solution (for Visual Studio .NET users).

    For UNIX:

    1. Define the XALAN_USE_ICU environment variable.