Geeks With Blogs
Willem's... {rue if I mellow}

CodeXS Version 0.56b was released on 19 June 2006.

You can download the source-code by re/registering here:

You can check the latest update information here:

You can run the CodeXS online tool here:

Changes in Version 0.56ß - 19 Jun 2006

  • Currently still provides complete support for VS2005/.NET 2.0, and VS2003/.NET 1.1.
  • Updated collection object generated code

Updated the collection object generated code:

  • Re-implemented the FromArray method with less error prone code.
  • Re-implemented the ToArray method with less error prone code.
  • Corrected the return value for the Add method. Now returns int instead of void.

My thanks to Dave Waterworth for this fix - Willem Fourie

  • New field names

This version uses a different scheme when renaming class field members. This resulted from various XML schemas using elements with the name 'id' and 'Id', respectively. In prior versions this resulted in the same field name '__Id'. In this version they are distinct: '__id' and '__Id', respectively.

  • Export code exception fix

During the import/export of the XmlTypeMapping objects, the import/export sequence is now done via an explicit array list object. This avoids the exception: 'collection changed during iteration'.

  • Handling of XSD elements and XSD types with the same name

In prior versions, this caused a code generation exception. However, often XML schemas are defining elements with the same name as their type names. For those cases, the single class generated is correct, as it represents completely both the element and the type. For this reason, the prior exception has been changed to provide a warning message in the CodeXS.log file, and generation continues.

It is strongly recommended that these warning messages are noted, as they do provide notification of potential de-/-serialization problems when the generated code is used.

  • XmlChoiceIdentifierAttribute handling

This attribute was not handled correctly in prior versions, resulting in de-/-serialization exceptions. This is now working and relies on the following changes in this version:

  • The class properties intended for de-/-serialization now set/get the original field types: In prior versions, if the property set/get type was an ObjectCollection, it now sets/gets an object[] array object, which is the original type generated in the CodeDOM. The underlying field is still an ObjectCollection type, and the collection ToArray and FromArray methods are used to get/set (respectively) the field correctly. Using the original scalar types for de-/-serialization avoids the exception: 'ItemsElementName should be of type []'.
  • To support XML schemas that include an xs:any element as part of the enumeration choice types, all XmlAnyElementAttribute attributes for a member that also has an XmlChoiceIndentiferAttribute attribute are removed.
  • To support XML schemas that include an xs:any element as part of the enumeration choice types, all System.Xml.Serialization.XmlEnumAttribute("##any:") attributes are removed from the choice identifier enumerated type members.
  • The attribute name is changed from 'ItemsElementName' to '_ItemsElementName', and the normal property generation correctly generates the _ItemsElementName array set/get property, using the FromArray and ToArray methods of the referenced collection class.
Posted on Wednesday, June 21, 2006 7:40 AM .NET Adventures | Back to top

Comments on this post: CodeXS Version 0.56b - 19 Jun 2006 released

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Willem Fourie | Powered by: