Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
C++-SCA-Next
-
None
-
Patch Available
Description
Unions are listed in the java specification - in Java the union element type is set to the first of the unioned XSD types, if they are all compatible, otherwise it gets set to java.lang.Object.
This makes no sense in the C world, we have no common object. A possible alternative would be to fix on one of the primitives and say that all unions turn out to be of type "that primitive" if they are primitive, or DataObject if they are of non-primitive types.
Possibly we should restrict unions and fail if they are described as possibly primitive or dataobject?
The attache patch makes all unions appear as "commonj.sdo#String" - which is probably useless, but gets the customer through the parsing of unions.