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. Send an email to xsd-users@codesynthesis.com if you are interested in a particular feature or would like to suggest one.

# Forthcoming Releases

## C++/Serializer

- New mapping that will support event-driven XML serialization.

## C++/Hybrid

- New mapping that will support hybrid, event-driven/in-memory XML processing.

# No Definite Time-line

## IDL

- New mapping that will produce CORBA IDL from XML Schema.

## IDL/C++

- New co-mapping that will produce C++ parsing/serialization code for the C++ types produced from CORBA IDL.

## C++/Tree

- Mapping for `xsd:unique`, `xsd:key`, and `xsd:keyref`.
- 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.
- Option to map `xsd:long` to C++ `long` instead of `long long` for 64-bit architectures (can be achieved now with --custom-type).