Orbit/Xerces in Eclipse

From Eclipsepedia

< Orbit
Revision as of 04:20, 3 December 2007 by David williams.us.ibm.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Xerces and XML in Eclipse

The purpose of this page is to document various aspects of using Xerces in Eclipse. It's not always easy, and this pages is far from complete, but hopefully will be the start. Others are welcome to document here tips they kave learned, or suggest changes in the the wasy we bundle xerces (via but reports usually).

Parts of Xerces

Xerces 2.8.0

Xerces, as delivered by Apache, has about 4 or 5 jars in it's distributions that are planned to be part of Orbit. For example, in Xerces 2.8.0:

xml-apis.jar
xercesImpl.jar
resolver.jar
xercesSamples.jar

So far we have done nothing with 'samples', though hope to someday.

So, in Europa Version of Orbit, we delivered the apis and implementation in one bundle, and the resolver in another bundle, since the resolver can be used outside of Eclipse as a standalone jar to do certain catalog and resolution functions, so we didn't want to lose that capability.

Xerces 2.9.0

There was one new jar added to Xerces 2.9.0, for improved serialization code (improved especially in that they "merged" the code base between Xalan and Xerces). So, beside the above 4 jars, there is also now a

serialization.jar

We have left that separate for now, apart from implementation, simply because there's some class loader issues with it on some VM's, so it deserves more study.

Also, in Xerces 2.9.0 in Eclipse/Orbit, we have left separate the API jar and the IMPL jar. More needs to be done, but the idea is that most clients can "depend on" only the API bundle and if the IMPL bundle happens to be there, then fine, though in principle there could be another implementation present to do the work in some slightly different way, for example. The idea being that client code should not have to change, just to use a different implementation.

Features and Xerces

The main point of list the parts of Xerces was to motivate why it's necessary to pay attention when creating features to include Xerces. For Xerces 2.8, there's only two to include to get the whole Xerces distribution.

Xerces 2.8.0

   <plugin
         id="org.apache.xerces"
         download-size="0"
         install-size="0"
         version="2.8.0.qualifier"
         unpack="false"/>
   <plugin
         id="org.apache.xml.resolver"
         download-size="0"
         install-size="0"
         version="1.1.0.qualifier"
         unpack="false"/>

Xerces 2.9.0

   <plugin
         id="org.apache.xerces"
         download-size="0"
         install-size="0"
         version="2.9.0.qualifier"
         unpack="false"/>
   <plugin
         id="org.apache.xml.resolver"
         download-size="0"
         install-size="0"
         version="1.2.0.qualifier"
         unpack="false"/>
   <plugin
         id="org.apache.xml.serializer"
         download-size="0"
         install-size="0"
         version="2.7.1.qualifier"
         unpack="false"/>
   <plugin
         id="javax.xml"
         download-size="0"
         install-size="0"
         version="1.3.4.qualifier"
         unpack="false"/>