The Aalto XML processor is a next-generation StAX XML processor implementation. It is not directly related to other existing mature implementations (such as Woodstox or Sun Java Streaming XML Parser), although it did come about as a prototype for evaluating implementation strategies that differ from those traditionally used for Java-based parsers.

Two main goals (above and beyond stock StAX/SAX API implementation) are:

The current implementation goes a long way towards both goals, proving that they are both achievable using a single implementation.

News

Licensing

Aalto is licensed under 2 different licenses:

Possible changes?

Updated 24-Oct-2009: Some users (and potential users) have indicated they would prefer having other OS licenses available. We will seriously consider this point, if and when this becomes an issue. Currently it is worth noting that GPL does NOT affect usage of the library, so unless you need to (re)distribute Aalto jar, it should not be an issue. But we understand that for those who do need distribution this may be a concern.

Features

Current version supports non-validating XML 1.0 subset (minus handling of DTD subsets -- that is, entity expansion and attribute defaulting have not been implemented). Supports for Stax2 validation interface is incomplete.

Stax 1.0 API is implemented for the most part, with following main exceptions:

The main remaining goal for 1.0 release is to complete the non-blocking (asynchronous) parsing mode, which means:

There is only one additional dependency, beyond requirement to have APIs (Stax, SAX) available either as part of JDK (6.0) or separately: since Aalto implements Stax2 API (developed as part of Woodstox project), Stax2 API jar is needed along with Aalto jar. Version 3.0 (which is distributed along with Woodstox 4.0) should be used.

As indicated by above, Aalto features a reasonably complete StAX2 implementation. Some features (most notably Validation API) are only partially implemented, but others such as Typed Access API are complete. Usage Implementation jar contains necessary service definition files (under META-INF/services directory), but it may be necessary to specify factory classes explicitly, using normal JAXP/Stax settings. System properties to use are:

Download

See Download page.

Testimonials

Given potential benefits of Aalto, after testing it, you may be interested in using it for real production systems. But can you trust it will work as well as it did during testing?

One possiblity is to have a look at current known users of Aalto (we will try to get list more complete -- this is solely based on voluntary user submissions)


CategoryAalto

AaltoHome (last edited 2009-10-24 23:05:43 by TatuSaloranta)

Copyright ©2009 FasterXML, LLC