An ASN.1 SET is a constructed type consisting of a series of element definitions that must appear in any order. This is very similar to the XSD all complex type and is therefore mapped to this type.
The basic mapping is as follows:
ASN.1 production:
TypeName ::= SET { element1-name element1-type, element2-name element2-type, ... }
Generated XSD code:
<xsd:complexType name="TypeName"> <xsd:all> <xsd:element name="element1-name" type="element1-type"/> <xsd:element name="element2-name" type="element2-name"/> ... </xsd:all> </xsd:complexType>
The rules for mapping elements with optional and default values to XSD that were described in the SEQUENCE section above are also applicable to the SET type.