xml-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Edwin Goei <edwi...@sun.com>
Subject Re: xml-apis was RE: cvs commit: jakarta-ant build.xml
Date Tue, 30 Oct 2001 19:59:49 GMT
Stephane Bailliez wrote:
> 
> > -----Original Message-----
> > From: Stefan Bodewig [mailto:bodewig@apache.org]
> 
> > On Tue, 30 Oct 2001, Stephane Bailliez <sbailliez@imediation.com>
> > wrote:
> >
> > > Any objection to use xml-apis.jar from xml-commons ?
> >
> > I tried to find a reference to xml-commons at xml.apache.org to no
> > avail.  The readme.html in xml-commons CVS is five months old.
> 
> Seems to be an undercover project :-)
> I'm a big supporter of it though, I'm tired of having 10 times dom, sax,
> jaxp interfaces in my classpath and all the problems related to that.

I'm not sure I agree, I'd argue to not use xml-apis.jar.  For one thing,
it may make it more difficult to debug problems b/c a failure may occur
b/c of code in a particular version of xml-apis.jar or in the
implementation jar file.  So the two jar file versions must be kept in
sync.

Assuming to can convice subprojects to do this, suppose we have each
project use xml-apis.jar.  They may depend on different versions of
xml-apis.jar.  For example, Xerces plans to implement drafts of DOM L3
so they may need a version of xml-apis.jar that contains those classes. 
Xalan may just depend on DOM L2 and may package another version of
xml-apis.jar.  If a user wants to use both xerces and xalan, then you
would need to tell them to use the xerces version instead of the xalan
version since DOM L3 is supposed to be backward compatible.

On the other hand, if both the APIs and implementation classes are in a
single jar file, it would not totally eliminate the problem, however, it
is simplified.  You would still have to tell users to put xerces.jar
before xalan.jar, but at least you don't have to deal with an
xml-apis.jar file on the classpath where it may be difficult to know
which version it is (the xerces or xalan version).

In the above example, I am neglecting the fact that there may be
multiple versions of xerces and xalan, also, which probably makes things
more complicated.

> > Is there a released version of that JAR?  IMHO Ant should only rely on
> > released versions of something, so we can tell users where to look for
> > newer versions.
> 
> We should probably ask Edwin(CC) for more info. The code in xml-commons is
> the one that will be use for JDK 1.4, you can look at the log graph it has
> all labels since JAXP 1.1

For crimson, here is the way I think it should work...  There should be
only a single jar file: crimson.jar that contains everything: both
implementation and API classes.  This is the way that the latest version
of crimson works: version 1.1.3.  I noticed that Ant uses an older
version of crimson that has jaxp.jar.  This is similar to the way
xerces.jar and xalan.jar are packaged.  This makes it easy for
developers and users of the software since you do not have to worry
about different versions of the api jar file that must match the
implementation jar file and there are less jar files to add to a
classpath.

In terms of how to accomplish this single crimson.jar file, I've changed
my mind about how to do this.  I think now that xml-commons code should
be copied into the crimson repository and checked into CVS.  This makes
it easier to reproduce a particular crimson version and it allows
developers to build crimson.jar without having to check out another
module.  The copy of SAX, DOM, and javax.xml.parsers code from
xml-commons can be done as needed to pick up bug fixes.  I'd like to
implement a sync-to-xml-commons ant target, but have not gotten around
to it yet.

> 
> Edwin, is there a build for common that is planned one day or should we
> always put Xalan to have the "latest" JAXP as specified in your FAQ
> http://xml.apache.org/~edwingo/jaxp-faq.html#jaxp-ri

Actually, I don't think I ever supported a separate xml-apis.jar file,
someone else created the build.xml file to produce that jar file.  A
while back ago, on general@xml.apache.org, I posted 3 different options
for the xml-commons code and which of the options I thought was best. 
They may be on http://marc.theaimsgroup.com.

BTW, it looks like the latest Ant dist comes with crimson 1.1.1.  I'd
recommend upgrading to at least the latest version 1.1.3.

-Edwin

PS: I'm cc-ing general@xml.apache.org as there were more discussions on
xml-commons there recently.

---------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          general-unsubscribe@xml.apache.org
For additional commands, e-mail: general-help@xml.apache.org


Mime
View raw message