[Biojava-l] SourceForge StAX version 1.0 finally released

Michael Heuer heuermh at acm.org
Thu Feb 24 15:09:13 EST 2005


SourceForge StAX version 1.0 finally released

In the summer of 2001 the package org.biojava.utils.stax was migrated to a
project on SourceForge to allow it to have a life of its own outside of
biojava.  Although some documentation and features were added, a proper
release was never made and the project languished in cvs.

Stack API for XML (StAX) is an event-based interface for XML parsing, very
similar to Simple API for XML (SAX).  However, instead of passing parse
events for a whole document to a single ContentHandler, sub-trees can
easily be delegated to other handlers.  StAX also provides an event-based
interface for the process of mapping XML ids to java objects.

After a bit of refactoring, documentation, and unit testing, a version 1.0
release of the SourceForge StAX has been made and a new web site has been
created at

> http://stax.sourceforge.net


Changes made since the migration from biojava:

DelegationManager replaced by StAXContext and StAXDelegationContext
Added IdMapper and IdListener, support for mapping XML ids to objects
Built-in handlers return value in endTree instead of requiring subclassing
Added convenience delegators DispatchForChild and DispatchOnElement

Changes made to prepare the sf StAX for release:

Created maven build and web site
Added simple unit test cases
Built-in handlers are reusable
Refactored IDMapper --> IdMapper and similar
Source code cleanup and documentation
Refactored from biojava to net.sf.stax package


The 1.0 release has been thoroughly documented and has nearly complete
unit test coverage.  The javadoc for each class has an example of how to
use that class in a handler, and each unit test contains complete examples
of handlers for test xml files.

Thank yous to StAX developers Matthew Pocock and Thomas Down, and to Mark
Schreiber for unintentionally providing the motivation to get a release
done.

   michael



More information about the Biojava-l mailing list