Optional Elements
Repeating Elements
Nested Types
Any Element

The XSD SEQUENCE type <xsd:sequence> is a complex type consisting of a series of element definitions. These elements can reference other XSD types including other complex types. The elements must appear in the order they are declared in XML instances of this type.

In its simplest form, an XSD sequence consists of a series of element definitions that reference other types. The equivalent C type and C++ class mapping for this is a structure that contains the equivalent type mapping for each of the elements as follows:

XSD type:

   <xsd:complexType name=”TypeName”>
         <xsd:element name=”elem1” type=”Type1”/>
         <xsd:element name=”elem2” type=”Type2”/>
         <xsd:element name=”elemN” type=”TypeN”/>

Generated C code:

   typedef struct TypeName {
      Type1 elem1;
      Type2 elem2;
      TypeN elemN;
   } TypeName;

Generated C++ code:

   class TypeName : public OSXSDComplexType {
      Type1 elem1;
      Type2 elem2;
      TypeN elemN;
   } ;