Shane -- It seems to work (see below). Also, you said:
> One other complication will be the fact that in many > situations it'll come down to classloaders, not properties or > services files, that determine which Xalan version is loaded. > JAXP lets you override the implementation classname all you > want - but if the Xalan classname in rt.jar is the same as > the one in our-next-xalan-version.jar, then guess which one > will probably be loaded first? As long as the classloader that loads rt.jar (ie the system classloader) respects the Endorsed Standards override mechanism, I don't see a problem here. User-written classloaders should not be loading stuff out of rt.jar but should be delegating that task to their upstream classloader. >From my Win2K machine: C:\Temp>"C:\Program Files\j2sdk1.4.0-rc\bin\java" -fullversion java full version "1.4.0-rc-b91" C:\Temp>"C:\Program Files\j2sdk1.4.0-rc\bin\java" org.apache.xalan.xslt.Environm entCheck #---- BEGIN writeEnvironmentReport($Revision: 1.7 $): Useful properties found: - --- java.version=1.4.0-rc version.JAXP=1.1 java.ext.dirs=C:\Program Files\j2sdk1.4.0-rc\jre\lib\ext version.crimson=not-present version.SAX=2.0 java.class.path=. version.xerces=not-present sun.boot.class.path=C:\Program Files\j2sdk1.4.0-rc\jre\lib\rt.jar;C:\Program Fil es\j2sdk1.4.0-rc\jre\lib\i18n.jar;C:\Program Files\j2sdk1.4.0-rc\jre\lib\sunrsas ign.jar;C:\Program Files\j2sdk1.4.0-rc\jre\lib\jsse.jar;C:\Program Files\j2sdk1. 4.0-rc\jre\lib\jce.jar;C:\Program Files\j2sdk1.4.0-rc\jre\lib\charsets.jar;C:\Pr ogram Files\j2sdk1.4.0-rc\jre\classes version.DOM.draftlevel=2.0fd version.xalan2=Xalan;Java;Xalan Java 2.2.D11; version.DOM=2.0 version.xalan1=not-present #----- END writeEnvironmentReport: Useful properties found: ----- # YAHOO! Your environment seems to be OK. C:\Temp>"C:\Program Files\j2sdk1.4.0-rc\bin\java" "-Djava.endorsed.dirs=c:\Progr am Files\xalan-j_2_2_0\bin" org.apache.xalan.xslt.EnvironmentCheck #---- BEGIN writeEnvironmentReport($Revision: 1.9 $): Useful stuff found: ---- version.DOM.draftlevel=2.0fd java.class.path=. version.JAXP=1.1 java.ext.dirs=C:\Program Files\j2sdk1.4.0-rc\jre\lib\ext #---- BEGIN Listing XML-related jars in: foundclasses.sun.boot.class.path ---- xalan.jar-apparent.version=xalan.jar WARNING.present-unknown-version xalan.jar-path=c:\program files\xalan-j_2_2_0\bin\xalan.jar xalansamples.jar-apparent.version=xalansamples.jar present-unknown-version xalansamples.jar-path=c:\program files\xalan-j_2_2_0\bin\xalansamples.jar xalanservlet.jar-apparent.version=xalanservlet.jar present-unknown-version xalanservlet.jar-path=c:\program files\xalan-j_2_2_0\bin\xalanservlet.jar xerces.jar-path=c:\program files\xalan-j_2_2_0\bin\xerces.jar xerces.jar-apparent.version=xerces.jar WARNING.present-unknown-version xml-apis.jar-apparent.version=xml-apis.jar present-unknown-version xml-apis.jar-path=c:\program files\xalan-j_2_2_0\bin\xml-apis.jar xsltc.jar-apparent.version=xsltc.jar present-unknown-version xsltc.jar-path=c:\program files\xalan-j_2_2_0\bin\xsltc.jar #----- END Listing XML-related jars in: foundclasses.sun.boot.class.path ----- version.xerces2=not-present version.xerces1=Xerces 1.4.4 version.xalan2_2=Xalan Java 2.2.0 version.xalan1=not-present version.ant=not-present java.version=1.4.0-rc version.DOM=2.0 version.crimson=present-unknown-version sun.boot.class.path=c:\Program Files\xalan-j_2_2_0\bin\BCEL.jar;c:\Program Files \xalan-j_2_2_0\bin\bsf.jar;c:\Program Files\xalan-j_2_2_0\bin\java_cup.jar;c:\Pr ogram Files\xalan-j_2_2_0\bin\JLex.jar;c:\Program Files\xalan-j_2_2_0\bin\runtim e.jar;c:\Program Files\xalan-j_2_2_0\bin\xalan.jar;c:\Program Files\xalan-j_2_2_ 0\bin\xalansamples.jar;c:\Program Files\xalan-j_2_2_0\bin\xalanservlet.jar;c:\Pr ogram Files\xalan-j_2_2_0\bin\xerces.jar;c:\Program Files\xalan-j_2_2_0\bin\xml- apis.jar;c:\Program Files\xalan-j_2_2_0\bin\xsltc.jar;C:\Program Files\j2sdk1.4. 0-rc\jre\lib\rt.jar;C:\Program Files\j2sdk1.4.0-rc\jre\lib\i18n.jar;C:\Program F iles\j2sdk1.4.0-rc\jre\lib\sunrsasign.jar;C:\Program Files\j2sdk1.4.0-rc\jre\lib \jsse.jar;C:\Program Files\j2sdk1.4.0-rc\jre\lib\jce.jar;C:\Program Files\j2sdk1 .4.0-rc\jre\lib\charsets.jar;C:\Program Files\j2sdk1.4.0-rc\jre\classes version.SAX=2.0 version.xalan2x=Xalan Java 2.2.0 #----- END writeEnvironmentReport: Useful properties found: ----- # YAHOO! Your environment seems to be OK. > -----Original Message----- > From: Shane Curcuru [mailto:[EMAIL PROTECTED]] > Sent: Friday, February 08, 2002 11:34 AM > To: [EMAIL PROTECTED] > Subject: RE: JDK 1.4 and Xalan > > > ---- "Gary L Peskin" <[EMAIL PROTECTED]> ---- > > Have a look at http://java.sun.com/xml/jaxp/faq.html#pluggability. > > I don't know whether to laugh or cry. Here's the first time > that I've ever seen an official bit of Sun documentation > address this issue at all - Good. But reading it, note the > Bad phrase they use: > > "For example, updating Java 2 SDK 1.4 with a > newer version of Xalan may not be as simple, unless the > TransformFactory subclass uses a different name from the > bundled version within Java 2 SDK 1.4. There is an Endorsed > Standards mechanism that may work in this case." > > Which basically means we 'may' be able to rev newer Xalan > versions, but I wouldn't count on it being easy. > > It all comes down to actually trying it and reporting > results, which unfortunately I don't have time for quite yet. > I'm not going to believe you can just dump a new xalan.jar > in the lib/endorsed directory and have it work until I see it > with my own eyes. > > One other complication will be the fact that in many > situations it'll come down to classloaders, not properties or > services files, that determine which Xalan version is loaded. > JAXP lets you override the implementation classname all you > want - but if the Xalan classname in rt.jar is the same as > the one in our-next-xalan-version.jar, then guess which one > will probably be loaded first? > > It would also be nice if Sun coordinated or at least informed > the Xalan community on when they're planning to take a code > snapshot, but I haven't seen that happening lately in any > official or semi-official way. > > ===== > - Shane > > <eof aka="mailto:[EMAIL PROTECTED]" > .sig="Du sublime au ridicule il n'y a qu'un pas." /> > > __________________________________________________ > Do You Yahoo!? > Send FREE Valentine eCards with Yahoo! Greetings! http://greetings.yahoo.com
