xml-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ne...@ca.ibm.com
Subject Re: XML APIs in Xalan and Xerces
Date Tue, 16 Apr 2002 19:45:45 GMT
Hi Stephane,

As far as I know, there are two main reasons why Xerces-J hasn't adopted
the use of xml-commons:

Firstly, there are folks who want to incorporate Xerces-J into J2EE/J2SE
platforms.  Unfortunately, as of J2SE 1.4 and J2EE 2.0, in order to be
certified the implementation has to contain an XML parser that conforms
*precisely* to specific versions of DOM/SAX/JAXP.  The xml-commons SAX API
doesn't conform because it's too modern--there was a constructor added to
SAXException in a latter release of SAX which cannot occur in a parser used
in a J2EE/J2SE implementation.  There's also the issue of what to do about
fallback classes, such as those envisioned in the JAXP
DocumentBuilderFactory or SAXParserFactory.  Xerces-J folks have always
contended these are useful in some environments and should be used;
xml-commons sets them to null.

So it isn't quite true to say that xmlParserAPIs.jar can always be replaced
by xml-apis.jar. But perhaps more fundamentally, for applications which,
unlike Ant, have no need for an XSLT processor, having the transform half
of JAXP around is at best superfluous.  Indeed, JAXP is a bit of a weird
API in that it contains two independent halves which are almost guaranteed
to be implemented by different products.

So xerces-J has always taken the position that for us to ship the transform
API's would at least waste bandwidth/space, and would very likely be
misleading to users--especially newbies to whom it might not be at all
clear that the product they'd downloaded didn't use or implement all the
API's it came with.  (Even today we get the odd XSL question on our users
list.  :-))

I'd love to see xml-commons distribute one API jarfile suitable for parsers
and another suitable for XSLT processors.  But that's not the way things
have gone.  :-(

Hopefully that'll help explain some of the background of why things are as
they are.  I don't think anyone's quite happy with this, but so far what
attempts have been made to try and fix things have had no palpable

Neil Graham
XML Parser Development
IBM Toronto Lab
Phone:  905-413-3519, T/L 969-3519
E-mail:  neilg@ca.ibm.com

                    Stephane Bailliez                                                    
                    <stephane.bailliez       To:     general@xml.apache.org           
                    @haht.com>               cc:                                      
                                             Subject:     XML APIs in Xalan and Xerces   
                    04/16/2002 10:13                                                     
                    Please respond to                                                    

Hi all,

I did an update from Crimson 1.1.3 to Xerces 2.0.1 as the default parser
that will be shipped with Ant 1.5.
However I just noticed something:

Why do the XML APIs jar shipped with Xerces and Xalan has a different name
and a different content ?

I'm pleased that you were able to coordinate and extract the DOM/SAX/JAXP
classes from Xalan and Xerces as this is has been a common source of
duplication and problems from my experience (not rare to have more than 5
times the classes when you use XML related products for different things),
so this is a good thing.

But please, use the same name for the jar (xml-apis.jar is fine) and ship
the same classes.

I'm expecting reports from users that will have xml-apis.jar and
xmlParserAPIs.jar in their classpath and report problems, and we will have
to explain "oh you need xml-apis.jar' from xalan to make it work..and yes,
you can remove xmlParserAPIs.jar from Xerces"

I'm not expecting many people to actually look at the content of the jar
say "oh, xmlParserAPIs is duplicating what's in xml-apis.jar, I can discard
this one".

My main concern is that I originally was ready to ship ONLY xerces and the
interfaces...but here I'm shipping half a JAXP..this does not make sense.
users will have to add xalan.jar and xml-apis.jar.

Unless of course we ship xalan.jar, xml-apis.jar and xercesImpl.jar which I
would highly prefer

1) xalan and xerces are both useful de facto for Ant.
2) it will be way easier for users than to fight with versions (and us with

Thoughts ?


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

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

View raw message