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]>