Re: [xsl] xalan node-set not working

Subject: Re: [xsl] xalan node-set not working
From: Paul Tremblay <phthenry@xxxxxxxxxxxxx>
Date: Sat, 28 Feb 2004 20:48:33 -0500
Okay, I fixed it. It happens to be an incompatibility problem with JDK
1.4 and xalan. I had to go to the home library of my JDK installation
(/usr/local/bin/2re1.4.1/lib), and create a directory called "endorsed".
I then copied all the jar files from the newest download of xalan into
this directory.

Everything seemed to work.

Below is the complete posting from Sun's site.



The Sun JDK 1.4 is packaged with an old version (2.2D11) of Xalan-Java.
The JDK 1.4 will attempt to use this version instead of any on the
classpath. Unfortunately, this causes problems when attempting to use a
newer version of Xalan-Java with the Sun JDK 1.4.

You can always determine which version of Xalan-Java you are running by
using the EnvironmentCheck class or by using the xalan:checkEnvironment
extension function. It is highly recommended that you use this method to
verify the version of Xalan-Java you are running, especially before
opening a bug report.

There are several ways to use a later version of Xalan-Java and override
the one packaged with the JDK:

    * For the SUN JDK 1.4, use the Endorsed Standards Override
    Mechanism. Place the xalan.jar, xercesImpl.jar, and xml-apis.jar in
    the <java-home>\lib\endorsed directory, where <java-home> is where
    the runtime software is installed.  * Use the -Xbootclasspath java
    commandline option to prepend the new xalan.jar, xercesImpl.jar, and
    xml-apis.jar to the boot class path. When running Xalan-Java:

      java -Xbootclasspath/p:<path> org.apache.xalan.xslt.Process

      where <path> is a <path.separator> separated list of the paths to
      the files xalan.jar, xercesImpl.jar, and xml-apis.jar (e.g.
      bin/xalan.jar:bin/xercesImpl.jar:bin/xml-apis.jar) containing the
      new-version of Xalan-Java.

      <path.separator> depends on the OS and version of the JDK. For
      Windows, it is likely a semicolon (;). For Unix, it is likely a
      colon (:). To determine which <path.separator> to use, you can
      execute "java -X"; it will mention the appropriate separator in
      the help output.

The following methods do not work:

    * Using the CLASSPATH environment variable or using -classpath to
    place the new classes in the classpath.  
    * Using the -jar option to
    explicitly execute the classes inside the new jar files.


*Paul Tremblay         *

 XSL-List info and archive:

Current Thread