BEA Systems has posted the final draft of Java
Specification Request (JSR) 173, Streaming API for XML
(StAX), in the Java Community Process. StAX is a
Java-based, pull-parsing API for XML. StAX offers two approaches.
XMLStreamReader
and XMLStreamWriter
are
a cursor API designed to read and write XML as efficiently as
possible. XMLEventReader
and
XMLEventWriter
are an iterator API designed to be
easy to use, event based, easy to extend, and allow easy
pipelining. The iterator API sits on top of the cursor API.
BEA has published a reference implementation. I haven't had time to write code with it yet, or to test the performance; but overall from the spec and JavaDoc I'd say this is the cleanest, most XML conformant pull parser I've seen to date. It's definitely a substantial improvement on XMLPULL. Overall, this looks like a very nice API.
Engage Interactive has updated two open source XML parsers written in PHP. SAXY 0.7 exposes a SAX like interface. DOMIT! 0.9 exposes an API based on the Document Object Model (DOM) Level 1. These releases fix various bugs. They also add "Lite" versions Both are published under the GPL.
The Exolab Group has released Castor 0.9.5.3, an open source (BSD license) data binding tool for XML and Java. Castor can marshal and unmarshal XML documents into Java objects, and store those objects in SQL databases. Automatic generatuion of Java classes from W33C XML schema language schema is supported, though that doesn't seem to be required.
The Big Faceless Organization has released the Big Faceless Report Generator 1.1.17, a $1200 payware Java application for converting XML documents to PDF. Unlike most similar tools it appears to be based on HTML and CSS rather than XSL Formatting Objects. This is mostly a bug fix release. Java 1.2 or later is required.