Optional Elements and Attributes
If an element declaration has a minOccurs attribute of 0, that element is optional. An attribute is optional unless the attribute declaration has a use attribute of required or prohibited.
For optional elements and attributes, HydraExpress generates a method named is<identifier>Set. The method returns the state of a bool maintained by the class. The default constructor initializes the bool to false. When an application sets a value for an optional element or attribute, the bool is set to true. HydraExpress also generates a set<identifier>Set method that directly sets the state of the bool.
The marshal function does not write out an element or attribute if the bool specifying whether the element or attribute has been set is false.
The unmarshal function sets the bool to true if the attribute or element exists in the XML document passed to the function.