Attributes of simple, atomic types are modeled as atomic properties. Attributes of simple, list types (including unions having a memberType that is a list) are modeled as indexed properties.
During encoding, you must have set any required attributes. Attributes which are optional may be set or not. Attributes which are optional and have a fixed or default value must be set if you want the fixed or default value to actually be encoded. If an attribute has a fixed value, and it is set, it must be set to the fixed value.
Attribute wildcards are modeled as list properties of type