Current version implements full StAX 1.0 API, to the best understanding of the author. Note, however, that 1.0 version of the specification has quite a bit of ambiguity regarding several features (see below for examples). First, there are some features where implementation could arguably be improved, to bring it to closer to the spirit of the specification: * SAX input (source) and output (result) objects can not be used with XMLInputFactory and XMLOutputFactory. * DOM (output) result objects can not be used XMLOutputFactory. Also, following 3.0 features may be considered non-compliant (either regarding Stax 1.0, or XML 1.0), based on discussions on stax-builders list: * Reporting of SPACE outside of the root element seems like the wrong thing (based on xml specs, Infoset, and to lesser degree even Stax javadocs), even though the reference implementation also reports these. Since this is a configurable property, it is easy to just change the default to 'false' (do not report), from its 3.0 setting 'true'. Eventually the feature can also be obsoleted. * Returning null for "no namespace", while unspecified (or inconsistently defined) in Stax 1.0, seems incompatible with JDK 1.5 definition of XML handling. 1.5 seems to default to "" everywhere, so perhaps it is best to follow that practice, even though philosophically null seems like a more fitting choice. StaxTest and the ref. impl. should be similarly changed, if this is done: also, this should not be done before 4.0. Some of open questions regarding exact meaning of the specification include: * If entities are NOT to be expanded, how does this affect: * Pre-defined entities (amp, lt, gr, apos)? Currently Woodstox leaves this unexpanded as well, and returns them as separate entities; this seems close to what XML specs indicates (these entities are no different from explicitly declared ones), but is not necessarily intuitive from application's point of view. * Entities in attribute values. Since there is no mechanism to return such events, Woodstox expands such entities automatically. The alternative would be to signal an error.