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

- Support for polymorphism (`xsi:type` and substitution groups).
- Customization of generated types via inheritance.

## cxx-parser

- 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

- Schema morphing backend. This backend will convert schemas with anonymous types to the equivalent ones but with all types explicitly named.
- ICE mapping backend. This backend will produce Internet Communication Engine (ICE) IDL tree mapping and C++ co-mapping.

## cxx-tree

- Support for `xsd:anyType/xsd:anySimpleType` and `xsd:any/xsd:anyAttribute` via exposing corresponding raw DOM sub-trees.
- 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.