<model>
  <id>thing</id>
  <name>Thing</name>
  <defaults>
    <default>
      <key>package</key>
      <value>test</value>
    </default>
  </defaults>
  <classes>
    <class>
      <name>SuperThing</name>
      <version>1.0.0</version>
    </class>
    <class rootElement="true">
      <name>Thing</name>
      <superClass>SuperThing</superClass>
      <version>1.0.0</version>
      <fields>
        <!-- various simple types -->
        <field>
          <name>someBoolean</name>
          <version>1.0.0</version>
          <type>boolean</type>
        </field>
        <field>
          <name>someChar</name>
          <version>1.0.0</version>
          <type>char</type>
        </field>
        <field>
          <name>someByte</name>
          <version>1.0.0</version>
          <type>byte</type>
        </field>
        <field>
          <name>someShort</name>
          <version>1.0.0</version>
          <type>short</type>
        </field>
        <field>
          <name>someInt</name>
          <version>1.0.0</version>
          <type>int</type>
        </field>
        <field>
          <name>someLong</name>
          <version>1.0.0</version>
          <type>long</type>
        </field>
        <field>
          <name>someFloat</name>
          <version>1.0.0</version>
          <type>float</type>
        </field>
        <field>
          <name>someDouble</name>
          <version>1.0.0</version>
          <type>double</type>
        </field>
        <field>
          <name>someString</name>
          <version>1.0.0</version>
          <type>String</type>
        </field>
        <field>
          <name>someDate</name>
          <version>1.0.0</version>
          <type>Date</type>
        </field>
        <!-- associations to simple types -->
        <field>
          <name>someProperties</name>
          <version>1.0.0</version>
          <type>Properties</type>
          <association xml.mapStyle="inline">
            <type>String</type>
            <multiplicity>*</multiplicity>
          </association>
        </field>
        <field>
          <name>someStringList</name>
          <version>1.0.0</version>
          <type>List</type>
          <association>
            <type>String</type>
            <multiplicity>*</multiplicity>
          </association>
        </field>
        <field>
          <name>someStringSet</name>
          <version>1.0.0</version>
          <type>Set</type>
          <association>
            <type>String</type>
            <multiplicity>*</multiplicity>
          </association>
        </field>
        <!-- associations to complex types -->
        <field>
          <name>thingy</name>
          <version>1.0.0</version>
          <association>
            <type>Thingy</type>
            <multiplicity>1</multiplicity>
          </association>
        </field>
        <field>
          <name>thingyList</name>
          <version>1.0.0</version>
          <type>List</type>
          <association>
            <type>Thingy</type>
            <multiplicity>*</multiplicity>
          </association>
        </field>
        <field>
          <name>thingySet</name>
          <version>1.0.0</version>
          <type>Set</type>
          <association>
            <type>Thingy</type>
            <multiplicity>*</multiplicity>
          </association>
        </field>
      </fields>
    </class>
    <class>
      <name>Thingy</name>
      <superClass>SuperThing</superClass>
      <version>1.0.0</version>
    </class>
  </classes>
</model>
