The first data binding framework I will discuss is Castor, hosted online at http://castor.exolab.org. This framework has been around for quite a while, and the latest release as of this writing was Version 0.92. First, it should be made clear that Castor provides quite a bit more than just XML data binding. The package provides bindings in Java for more than just XML; you can also work with LDAP objects, OQL for mapping SQL queries to objects, as well as Java Data Objects (JDO), a fairly new specification from Sun dealing with Java-to-RDBMS (relational database management system) persistence. However, this is an XML book, so I’m only going to talk about the XML bindings.
To get ready to use Castor, you’ll need to download a release from the download page: http://castor.exolab.org/download.html. That page has links to the Exolab FTP site (or you can FTP in manually, as I did), and lists the files available. I’d recommend getting the full release (in the event you want to play with OQL or JDO later), named castor-0.9.2.zip or castor-0.9.2.tgz. Extract the jar files from that archive, add them to your classpath, and you’re ready to go.
In this and subsequent examples, I’ve assumed that you still have a SAX-compliant XML parser, like Xerces, on your classpath in addition to the libraries discussed in this chapter. If you don’t, add xerces.jar or your parser’s jar file(s) to the classpath in addition to the data binding framework you are using.