I notice that the xalan.jar file includes the org.w3c.dom.* and org.xml.sax.* 
packages.  I think this is an unfortunate choice, since it introduces duplicates into 
the classpath.  Xerces.jar also includes these packages (also a bad idea IMHO).  If 
both jars are placed in the extensions directory, the user has no control over which 
version gets used, and is unable to upgrade to a later version of the DOM and SAX 
classes.

As it stands, there are three different versions of these classes included in the 
xalan distribution:

xerces.jar
xalan.jar
xml.jar

Poking around with some diff tools, I have found that there are numerous differences.

Suggestion:

Take the classes out of the jar file and make it a stated dependency.  Package the 
classes in their own (optional) jar file (isn't this what xalan/bin/xml.jar should be 
already?).

Thanks

Patch to build.xml:

--- build.xml   Fri Aug 31 11:08:34 2001
+++ build2.xml  Mon Sep 10 09:52:46 2001
@@ -322,6 +322,8 @@
       <patternset><!-- relative to jar/@basedir -->
         <exclude name="${xsltc.reldir}/**/*" />
         <exclude name="javax/xml/parsers/**" />
+        <exclude name="org/xml/sax/**" />
+        <exclude name="org/w3c/dom/**" />
         <exclude name="META-INF/services/javax.xml.parsers*" />
       </patternset>
     </jar>


Reply via email to