The XSD group type <xsd:group> is used to create a reusable content model group. This is similar in concept to the creation of a standalone type and is handled in the C or C++ language mapping as such. A group declaration is translated into a C type or C++ class definition. This type definition is then used in places where the group is referenced.

The general mapping is as follows:

XSD type:

   <xsd:group name="TypeName">
      XSD content group definition ..

Generated C code:

   typedef struct TypeName {
      group type definition..
   } TypeName;

Generated C++ code:

   class TypeName : public OSRTBaseType {
      group type definition..
   } ;