> I also recently get the same type of error, it was simply due
> to the order of my jar declaration in the classpath.
> Please check that you have your xalan and jaxp jars defined
> prior to the others.

yes, I am sure I can modify tomcat.bat. That would probably be
somewhere around this:
------------------------------------------------------
:dynClasspath
set _LIBJARS=
for %%i in (%TOMCAT_HOME%\lib\*.jar) do call %TOMCAT_HOME%\bin\cpappend.bat %%i
if not "%_LIBJARS%" == "" goto gotLibJars
------------------------------------------------------
where all the jar files tomcat provides are appended to the classpath.
I simply would have to add xerces.jar and xalan.jar before this gets
executed and I guess it could work.

But: I cannot imagine, that this is the "standard", "recommended" way to go.
Actually it seems that the jar files from Tomcat's lib directory have a
global influence to all webapplication. Imagine there is another webapp
which still uses the older xalan 1.2 with an older xerces version. Then this
approach would certainly not work. And even if I do prepend the new jar files
to the classpath it would mean that the whole system (Tomcat) is using a
different parser than the one delivered with Tomcat. I cannot even guess what
consequences this might have.

It's acually a general problem: As far as I understood the individual webapps
are separated from each other: webapp app A should have a different classpath
than webapp B. I am not even sure about this since I know not enough about how
the (internal)classpath is constructed for the individual webapps, but that is
what I would expect. If this is not the case we have a problem anyway if e.g.
webapp A uses version 1.2 of xalan and webapp B uses version 2 of xalan
(xalan just as an example here).

Maybe a solution/workaround would be to use separate JVMs for each webapp. I did
not try this and I am not sure whether it would work and if it would just be
a workaround.

What do you think ?

- Sven