Okay, I think I've got it. Xalan uses a system property named
"org.xml.sax.driver" to find out which driver implementation (whatever
that is) to use. If I set this property to 
"org.apache.xerces.parsers.SAXParser", then it works fine with all
the standard XML JARs in Standard 1.0.1 and JDK 1.3.1_01. For JDK 1.4,
this is not needed for some reason. I can only guess that it's because
the platform default for JDK 1.3.1_01 is Crimson but it's Xerces for
JDK 1.4. It would be nice if someone can confirm this, or correct me,
and fill in the gaps.

Hans

Hans Bergsten wrote:
> For whatever it's worth, replacing the XML JARs from Standard 1.0.1
> with the ones in the "compatibility package" does not solve the
> problem for JDK 1.3.1_01 on Redhat Linux 7.2 (and probably not on
> ny other platform either) ...
> 
> Hans
> 
> Hans Bergsten wrote:
> 
>> I spoke too soon. It turns out I didn't really test with JDK 1.4.
>> When I do, it works fine. I also found a thread about this exact
>> problem in the archives (I *had* looked, searching for "XMLReaderImpl",
>> but apparently the search function only looks at the Subject), where
>> Shawn suggest that it's a JDK 1.3 problem. Was 1.0.1 supposed to solve
>> the problem, or do we have to use the solution presented in README
>> for older Tomcat versions also for JDK 1.3?
>>
>> Hans
>>
>> Hans Bergsten wrote:
>>
>>> Sorry to bother you with this, but after stairing at it for some time,
>>> I still don't understand what's going on. I get this exception when
>>> using <x:transform> from the Standard library, both 1.0 and 1.0.1,
>>> with Tomcat 4.0.4 and either JDK 1.3.1_01 and JDK 1.4, on Windows ME
>>> and Redhat Linux 7.2:
>>>
>>> javax.servlet.jsp.JspException: SAX2 driver class 
>>> org.apache.crimson.parser.XMLReaderImpl not found
>>>     at 
>>> 
>org.apache.taglibs.standard.tag.common.xml.TransformSupport.doStartTag(TransformSupport.java:170)
> 
>>>
>>> [...]
>>>
>>> Both the TC 4.0.4 and Standard library are clean installs, with all
>>> of the original JAR files.
>>>
>>> I assume it's the call to DocumentBuilderFactory.newInstance() or
>>> TransformerFactory.newInstance() that fails. But I can't figure out
>>> why any of these would try to use the crimson class. The xercesImpl.jar
>>> contains the properties file for the DocumentBuilderFactory
>>> and xalan.jar contains the properties file for the TransformerFactory,
>>> and according to the JavaDocs for JAXP, it should use the implementation
>>> classes it finds scanning all JAR files in the classpath. Can one of
>>> the factories try to use crimson internally for some reason?
>>>
>>> It worked perfectly about a month ago with Standard 1.0, JDK 1.3.1_01
>>> (and JDK 1.4, I believe), and Tomcat 4.0.4 on Windows ME. Now I can't
>>> get it to work with that configuration either. Most likely I've done
>>> something stupid, but I can't see what.
>>>
>>> Any ideas?
>>>
>>> Hans
>>
>>
>>
>>
> 
> 


-- 
Hans Bergsten           [EMAIL PROTECTED]
Gefion Software         http://www.gefionsoftware.com
JavaServer Pages        http://TheJSPBook.com


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to