You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by Chavdar Stefanov <ch...@hotmail.com> on 2002/09/09 10:59:13 UTC

Xalan/Xerces using Log4J 1.2.3 with WebSphere 4.01

I've developed a servlet-based application that is running on WebSphere 4.01 
(on AIX) and is doing some XSL-transformations on XML-files using Xalan and 
Xerces. Since I switched logging to Log4J we experience some strange 
problems concerning the XSL-scripts, i.e. scripts that were working fine 
before (except for some warnings because of variables being used without 
prior declaration) now produce fatal errors.

Of course it's easy to just fix the scripts (i.e. declare the variables) and 
we'll certainly do this, but what really concerns me is, that there seems to 
be a dependency between Log4J and Xalan/Xerces. However I don't have any 
clue why, because all relevant classes seem to be in different packages and 
therefor shouldn't interfere.

The problem appears with different versions of Xalan and Xerces, though 
primarily we use Xalan 2.0.0 and Xerces 1.2.1 (the versions that are 
contained in WebSphere 4.01). I put the log4j.jar (version 1.2.3) in the 
WebSphere's "lib/app" directory and tried with and without putting Xalan and 
Xerces into the "WEB-INF/lib" directory of my application (because I thought 
it might be depending on the order in which the classes are loaded and 
classes in "WEB-INF/lib" should be loaded before those in "lib/app" and 
these again before those in "lib", where the Xalan and Xerces WebSphere is 
using reside), but it doesn't make any difference.

Does anybody have any idea what might be the reason for this problem and how 
I can solve this without switching back to my own logging classes (as I 
already mentioned above, just fixing the scripts is not enought, because we 
cannot tolerate a dependency between Log4J and Xalan/Xerces)?

I suppose that somehow the Xalan/Xerces classes get access to some of the 
Log4J XML/XSL-related classes. These classes are newer than the classes 
contained in the Xalan/Xerces versions that we're using and therefor more 
strict, which is why they not only warn when a variable in the XSL is used 
without prior declaration but throw an exception and stop further 
processing. But I don't have any idea why this happens and how I can avoid 
this.

Any help is greatly appreciated.

_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com