Andrew -- Have a look at http://java.sun.com/xml/jaxp/faq.html#pluggability. The page that you reference (http://java.sun.com/j2se/1.4/docs/guide/standards/index.html) indicates at the bottom that "... users of Sun's J2SE Reference Implementation may be allowed to use the Endorsed Standards Override Mechanism to override implementation-specific classes such as the org.w3c.dom sub-packages delivered in Sun's Reference Implementation. See the corresponding license for details."
The question here is what is the "corresponding license". If it is the XalanJ license, then you are certainly free to use what ever version of XalanJ that you'd like. I don't really see any other license that could qualify as the "corresponding" license. In any event, to my mind the last sentence of the question in the first URL above indicates that Sun recognizes that you can use the Endorsed Standards override mechanism to -legally- use your newer version of XalanJ. Gary > -----Original Message----- > From: Andrew Wason [mailto:[EMAIL PROTECTED]] > Sent: Friday, February 08, 2002 7:26 AM > To: [EMAIL PROTECTED] > Subject: JDK 1.4 and Xalan > > > Sun is bundling a version of Xalan and Xerces into JDK 1.4s > rt.jar. > http://developer.java.sun.com/developer/bugParade/bugs/4624775.html > > But the org.apache.* packages are not part of the JDK API > spec and are not > in the endorsed standards set. > > "The java.*, javax.* and org.* packages documented in the > Java 2 Platform > Standard edition API Specification make up the official, > supported, public > interface." (the org.apache.* packages are not in the spec) > http://java.sun.com/products/jdk/faq/faq-sun-> packages.html > > > "No other packages from the J2SE platform API > specification may be > overridden." (the org.apache.* packages are not in the > overridable list) > http://java.sun.com/j2se/1.4/docs/guide/standards/index.html > > > I think this means that I am not allowed to > replace the Xalan > implementation that ships with JDK1.4 (e.g. by forcing my > xalan.jar first > via -Xbootclasspath/p:). I don't think I would want to do > this anyway since > it would replace internal JDK implementation classes with a > version the JDK > was not tested with. Also doing this makes things more > difficult for my > apps users since I can't just ship an executable jar file with a > "Class-Path: xalan.jar xerces.jar" entry in its manifest. > > In addition, since the org.apache.* packages are not part of > the JDK 1.4 > API spec (they are just part of it's internal implementation > like the sun.* > packages), this means I should not use internal JDK > implementation Xalan > classes like org.apache.xpath.XPath. > > So it seems that as of JDK 1.4 I can no longer "legally" use > Xalan at all - > I can't use the built in implementation and I can't replace > it with my own. > Sun has usurped the org.apache namespace for their internal JDK > implementation, shouldn't they be using sun.org.apache or > something? Or > possibly they could load their internal implementation classes > (org.apache.* and sun.*) via a different ClassLoader so those > classes are > not visible to my application, freeing me to use my own > xalan.jar without > conflicting with or replacing Suns version. > > Andrew > -- > Andrew Wason > /root/bin > [EMAIL PROTECTED] >
