Below is the list of features that we plan to implement in the future. They are divided into two sections: ones that will likely appear in the forthcoming releases and those that we have no definite time-line for. Email xsd-users@codesynthesis.com if you are interested in a particular feature or would like to suggest one.

# Forthcoming Releases

## cxx-tree

- Mapping for `xsd:unique`, `xsd:key`, and `xsd:keyref`.
- Customization of generated types via inheritance.
- Option to map only certain global elements to parsing/serialization functions.
- Validation of an in-memory representation.
- Serialization of an in-memory representation to compact, binary formats (e.g., XDR, CDR, etc.). This could be useful for storage and over-the-wire transfer.

## cxx-parser

- Generation of sample implementation.
- Complete specialization for `void` as a return type.

## idl

- New backend that will produce CORBA IDL tree-like mapping.

## idl-cxx

- New backend that will produce CORBA IDL C++ co-mapping.

# No Definite Time-line

## new backends

- ICE mapping backend. This backend will produce Internet Communication Engine (ICE) IDL tree mapping and C++ co-mapping.

## cxx-tree

- Option to select between `std::vector` and `std::list` as an underlying sequence type.
- Special attribute in XML Schema definition that would instruct code generators to use a different container type such as associative containers (`std::set` and `std::multiset`). This will allow you to construct a light-weight, object-oriented database with XML Schema as a specification language and XML as an underlying representation.
- Make dependency generator.
- Generate typedef instead of inheritance for some cases of inheritance from fundamental types.
- Option to suppress generation of enum mapping.
- Map arbitrary-length integers to a suitable user-defined types.
- Map date and time types to types from `boost::date_time`.
- Map `xsd:anyURI` to a URI class.
- Option to map `xsd:long` to C++ `long` instead of `long long` for 64-bit architectures.