ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephane Bailliez <sbaill...@imediation.com>
Subject RE: JAXP/Crimson timeplan
Date Thu, 02 Aug 2001 08:42:29 GMT
> -----Original Message-----
> From: cmanolache@yahoo.com [mailto:cmanolache@yahoo.com]

> xml-commons has the all the dom, sax and java.xml classes ( the apache
> version, but it's almost identical with the RI ) . The goal is to
> have xerces, xalan, etc use ( include ) xml-commons - but it's a slow
> process. For tc3.3 I'll include the xml-commons, crimson.jar and
> xalan.jar.

mmm... ? what will be included from common if the cleanup is not performed
in all releases ? I mean if crimson already has subset(DOM2) + SAX2 and that
Xalan has JAXP.bad + subset(DOM2) + SAX2.
Do you plan to perform the lean distrib for crimson and xalan yourself ?

What is especially problematic to me is JAXP. Assuming you have
JAXP.good.jar and JAXP.bad inside xalan.jar
What is your guarantee that JAXP.good will be before xalan.jar when loading
them unless you specify the order ?

If you have an applications server that provides you a JAXP interface and a
default parser and xsl processor, you are definitely stuck.
Weblogic 6.0 has this kind of problems for example, if you want to use JAXP
1.1 in your webapp, you're out of luck SAX2 related methods (ie
getXMLReader) that do not exist in JAXP 1.0. What they are doing is somewhat
clever in some points. They define the system properties of the factories at
init time in the code to weblogic factories. the weblogic factories are used
to get *real* factories from the so called XML registry and they send back a
proxied JAXP 1.0 class over the instantiated one, thus even if your factory
is JAXP 1.1 compliant, you receive a JAXP 1.0 interface.

Same for Resin 2.0 in some point however as I said last time they simply
changed the way to get factories but to use the thread context classloader
to get the parser from the webapp. If you have a JAXP in your webapp, it
will not be used. But I guess this is normal since they did not have time to
rethink about their classloader hierarchy like you did for Catalina. :)

argh !

-- 
 St├ęphane Bailliez 
 Software Engineer, Paris - France 
 iMediation - http://www.imediation.com 
 Disclaimer: All the opinions expressed above are mine and not those from my
company. 



Mime
View raw message