------------------------------------ Planned stuff for 4.0 ------------------------------------ * Optimizations/improvements: * Try to move more of async unchecked (runtime) exceptions into deferred synchronous (XMLStreamException) exceptions: similar to how "]]>" check is now deferred in 3.1 * Bugs / incomplete handling: * More optimal check for "]]>" in content. Now over 99% reliable, but theoretically could miss if combination on input buffer boundary. * XMLTest failures: * UTF-16, checks for 0xFFFE, 0xFFFF (2 failures) * Names, surrogate pairing (4 failures) * xmlns pseudo-attributes, non-CDATA type (1 failure) * SAX compatibility: * Ensure EntityResolver() gets called even if DTD ext. subset is cached. Only use cache, if null is returned? (needed to pass some of SAXTest test cases) * Validation interface improvements: * Stax2: add new allowed-content type, CONTENT_ALLOW_WS_NONSTRICT (or such), to cover the case where content _should_ be (ignorable) space (for purposes of distinguishing CHARACTERS and SPACE events), but if not, that's not a validation error. This is needed for DTD-aware (and maybe Schema-aware?) but non-validating mode. [note: this is optimization -- ability to accurately report SPACE has been implemented, but in less clean way] * Stax2 improvements: * Add getText()-like method that returns CharacterSequence? Could allow zero-copy wrapping of parsed textual content. * XMLStreamReader2.hasPendingException and/or getPendingException (to check for deferred exceptions)? * Typed accessors (getIntValue() etc) for XMLStreamReader: both for text events, and attributes * Typed write methods for XMLStreamWriter * Char[] attribute accessors for XMLStreamReader * Char[] attribute write methods for XMLStreamWriter * XMLOutputFactory2: add P_AUTO_CLOSE_OUTPUT. * Removing cruft: * Remove support for pre-JDK-1.4 * Remove non-normalizing (attr, text) modes * Stax compatibility: * Return "" instead of null for 'default' (or 'no') namespace (for 4.0) * Change default for 'report SPACE outside root element' to false, from true (basically revert to pre-3.0 state) * Minimize unchecked (lazy) exceptions, by deferring throwing of some exceptions (at least any problems in CHARACTERS segment which are easy) * Indentation/Pretty-printing: * Using DTD * Heuristically * Interoperability: [partial] * Implement DOMTarget (DOMWrappingWriter) * XML validation: * Integrate Multi-Schema Validator's W3C Schema validator using its native interface (RNG already integrated) * How about DTD++? Data types should be reasonably easy...? Would also allow partial W3C Schema and RelaxNG implementations natively? * XML standards: [DONE] * Xml:id support (is there need to disable it?) * XInclude * XML Catalog support * Documentation: * Impl. details, like: always interns names, preserves attribute value orders. * Requirements for compiling, running: * Ant 1.5? (rootfileset) * Jars: for 1.3/1.2 SAX(2) and DOM API jars? * FAQ: * Output streaming; use of 'writeCharacters("");', flush()