>java.lang.ClassNotFoundException:
>org/apache/xml/dtm/ref/IncrementalSAXSource_Xerces
>            at java.lang.Class.forName0(Native Method)
>            at java.lang.Class.forName(Class.java:130)
>            at
>org.apache.xml.dtm.ref.DTMManagerDefault.getDTM(DTMManagerDefault.java:269)

I'm not sure, but this appears to be either a broken build or a broken
classpath, since the IncrementalSAXSource_Xerces class has been part of
Xalan for many months now. It looks as if you've failed to compile this
class for some reason... or are somehow running classes from two different
versions of Xalan at once.

How are you invoking the processor -- is it possible that you're changing
classloaders in mid-stream?

(IncrementalSAXSource_Xerces does use reflection to avoid hard dependencies
on Xerces, as Shane pointed out, but a failure in that reflection code
ought to be caught and handled internally, and even if that malfunctioned
should be reported as an inability to access the Xerces classes rather than
failure loading this "glue" class.)

>The weird thing is that the transformation appears to be fine.

There are fallbacks which allow us to process with whatever JAXP parser is
available, if Xerces can't be loaded. It's possible that  those are robust
enough that they're managing to handle this case too, though that's
certainly not what they were designed for.

______________________________________
Joe Kesselman  / IBM Research


Reply via email to