An XML Schema union defines a collection of types that can then be specified for an element. For example, the union paymentTypes could contain the member types purchaseOrderReference and creditCardNumber. The element payment could then be defined as being of type paymentTypes, meaning that the payment element could contain either a reference to a purchase order or a credit card number.
There is no requirement that the types in a union be the same or even similar types. HydraExpress makes no attempt determine exactly what types are in the union. An element specified with a union type has get and set methods that return and set the value with the type mapped for xsd:string, typically std::string or RWCString.