TODO for Gobo XML

Items prefixed with 'enhancement' are not release critical and are open to 
discussion.

EXPAT:

- apply string modes (generating UC_STRING vs. STRING)
- use external resolvers for entities/DTD
- issue on_error events when there is an error
- force_unreported_error should really stop the parser
- positions

EIFFEL:

- xml declaration for entities event and parsing (rm special scanner?)
- Check that stand alone handling makes some sense
- enhancement: make BOM-detection/ XML declaration available as a stand alone class
- enhancement: strings mode to default to STRING-only latin1 using Max_char_code
- enhancement: Do CRLF normalisation before parser instead of downstream mess?
- enhancement: review XM_EIFFEL_PARSER_NAME
- enhancement: DTD/pe-entity error message from resolver.last_error

GENERAL:

- Tree: is_name preconditions
- XM_RESOLVER_FACTORY deal with path separator on Windows
- Tree pipe to include concatenation and comment filters
- Tree attribute make require not duplicate attribute, or invariant
- actually checking tree nodes's parent /= Void (creation issue)
- enhancement: XM_DOCUMENT.make_root obsolete as before
- enhancement: XM_EIFFEL_DECLARATION -> XM_DECLARATION, add to tree
- enhancement: Obsolete/hide nodes' `set_parent', ordinary `make'?
- enhancement: Tree clipboard
- enhancement: Cache queries by name in tree?
- enhancement: XM_ELEMENT.is_root_element
- enhancement: move DTD classes to own cluster
- enhancement: tree, use DS_LIST is_addable
- enhancement: Y-connector for callbacks
- enhancement: XM_FORMATTER using whitespace for layout/ whitespace normalisation
- obsoleting: removal of XM_SOURCE

TESTS:

- full OASIS test suite to integrate
- more DTD events testing (entities, notation)
- more extensive tree tests
- more formatter filter tests

DOC:

- unicode
- tree
- document design decisions

URI:

- file URI on windows
- path components and escaping
- UTF-8 or not
- generate STRING instead of UC_STRING for 128-255 strings
