------------------------------------
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()

