Fix arbitrary data type order
Fix arbitrary data type order
Why:
- When a feature XML contains data type definition A which contains an element referencing data type definition B and B is defined after A, the code generator fails.
This change addresses the need by:
- Collecting all the data type definitions in a map first before processing them.
This change has the following side effects:
- Outputting the cause of the error when the output file can't be written.