XSD <xsd:union> Type Mapping

The <xsd:union> type is handled in a similar fashion to a choice type. The main difference is that the items in a union are not tagged. As per X.694, special element names are generated for these items for use in an ASN.1 CHOICE type. These names are based on the base name alt and progress with sequential digits added for each addional union item (alt-1, alt- 2, etc.). XML decoding is accomplished by attempting to decode the content of each alternative in the union and setting the value to the first alternative that can be decoded successfully.