The current production release version of the XBinder compiler is 1.2.5. The following changes have been made since the last patch release (1.2.4):
- Fixed code generation error for repeating string when -static
option was used. (PR# XBI-477)
- Fixed bug in pull-parser where whitespace before entity
reference was stripped. (PR# XBI-474)
- Fixed possible crash in SAX validate function. (PR#
XBI-470)
- Fixed crash in pull-parser decode of empty xsd:anyType. (PR#
XBI-463)
- Fixed problem with generating incorrect C and C++ element
names. (PR# XBI-455)
- Fixed DOM code generation for attribute with fixed value. (PR#
XBI-410)
The following changes were made between patch release 1.2.3 and 1.2.4:
- Fixed problems in resolving substitution groups when elements
and types are in different namespaces.
(PR# XBI-418). - Added more detail to SAX error messages. (PR# XBI-379)
- Fixed decode of zero-length string with default value to be consistent with W3C specification when using pull-parser. (PR# XBI-392)
- Fixed code generation for forward-referenced extension in C. (PR# XBI-407)
- Added #define for string length constraints and element counts in C. (PR# XBI-411)
- Fixed error processing CDATA using pull-parser. (PR# XBI-401)
- Fixed conversion between time_t to OSNumDateTime to properly calculate DST. (PR# XBI-409)
- Fixed DOM code generation support for derived types, unions, attribute qualification, and namespaces. (PR# XBI-410)
- Fixed C++ print code generation.
- Fixed test code generation for optional extension.
- Fixed bug in xsd:any decode using pull-parser.
- Replaced calls to C standard library functions in generated code and runtime source with ones users can redefine.
- Fixed bug in -static option which could sometimes result in string being truncated.
- Fixed bug in makefile generation where rtxTokenConst.h was incorrectly added as a dependency.
- Fixed handling of circular includes when using -modularize.
- Fixed -static option code generation when static string referenced by another type.
- Fixed decode code generation for simpleContent with a fixed value.
- Fixed code generation for anonymous enumeration within simpleContent for C++.
- Fixed SAX validation code generation for hexBinary and base64Binary.
- Added processing of namespace list for xsd:any.
The following changes were made between patch release 1.2.2 and 1.2.3:
- Fixed bug in which list functions were not prepended with C++ list class name when using -compat 1.1. (PR# XBI-378)
- Added configuration logic to map XSD types to custom C types for integers. (PR# XBI-345)
- Fixed C++ code generation bug in which a sequence of elements with the same names would generate incorrect test code. (PR# XBI-331)
- Fixed pull-parser decode error in reading nested deep complexContent. (PR# XBI-330)
- Fixed code generation bug in which SAX decoder for any element would not compile. (PR# XBI-326)
- Fixed encoder code generation to switch namespace in C++. (PR# XBI-329)
- Fixed bug in which enumeration restricted from type larger than 32-bits used a 32-bit enum. (PR# XBI-343)
- Fixed bug in DOM encoder generation which used undeclared variable for namespace. (PR# XBI-358)
- Fixed pull-parser to raise an error when non-whitespace text found between elements. (PR# XBI-290)
- Fixed generated SAX decode function to raise error when decoding empty choice with all elements having minOccurs="1".
- Fixed Win32 setup scripts to copy libxml2 source properly.
- Fixed crash in DOM encode libraries.
- Fixed code generation bug in which SAX decode function was generated with an empty default case label.
- Fixed code generation bug where validation code was not generated for derivations.
- Fixed crash in C++ AnyAttr code's clone() method where delete[] could be called on uninitialized pointer.
- Fixed compiler crash when parsing reference to complexType.
- Fixed -genFree option to generate MemFree_ functions for types with _nsAttrs structure.
- Fixed code generation bug where .h files included multiple times.
- Fixed WSDL code generation when calling domCreateDocument().
- Fixed project name generation to ensure project name is a valid C identifier
The following changes were made between patch release 1.2.1 and 1.2.2:
- Fixed bug in substitution group encode and decode in which
substitution of element name was not begin done. (PR#
XBI-314)
- Fixed bug in which pull-parser decoder generated with -soap switch was not parsing SOAP envelope and body tags. (PR# XBI-309)
- Fixed bug in decoding floating point numbers in which certain number formats would cause a "Character is not within the defined character set" error. (PR# XBI-307)
- Fixed bug in logic to generate reader/writer test file (rwtest.c) which caused a crash due to memory being released before use of it was complete. (PR# XBI-306)
- Fixed generation of intialization code to set elements to the default or fixed value defined in the schema (PR# XBI-298).
- Added configuration logic to map XSD types to custom C types instead of the default type used. Currently, only mapping of xsd:decimal to string (instead of floating point is supported). The mapping is done using the <typemap> configuration item. (PR# XBI-297)
- Fixed decoder to parse past byte order mark (BOM) on XML documents. (PR# XBI-294)
- Added builds for Solaris (Sparc), HP-UX (PA-RISC and Itanium), and Mac OSX (Intel and PowerPC). (PR# XBI-293)
- Modified generated encode code to generate local namespace variables for all required namespaces in the function instead of setting the definitions inline. This resulted in a substantially reduced amount of generated code. (PR# 292)
- Fixed bug in which -static qualifier resulted in the generation of incorrect array size in the Linux/PPC environment. (PR# XBI-291)
- Fixed decoder bug in which end-of-line sequences in element content were not being properly preserved. (PR# XBI-289)
- Fixed encoder bug in adding namespace attributes to an element in which an xmlns declaration would be added multiple times.
The following changes were made between patch release 1.2.0 and 1.2.1:
- Fixed bug in SAX decoder generation for xsd:all type in which a crash would occur if more than the expected number of XML elements for the type were received. (PR# XBI-282).
- Fix xsd:all processing to enforce XSD constraint that all elements withing the type must have maxOccurs <= 1. (PR# XBI-282)
- Fixed several problems with test code generation (-gentest) with the new version. (PR# XBI-272)
- Fixed enforcement of "namespace=##other" in xsd:any element declarations. (PR# XBI-268)
- Fixed several problems related to adding and parsing xsi:type attributes in XSD complexContent types. (PR# XBI-266).
- Fixed encoder bug in which start element terminator character (>) would either not be added at all or would be added twice. (PR# XBI-262).

