Here's an example of a modello data model.
<model>
<id>myproject</id>
<name>MyProject</name>
<description>My Project's Data Model</description>
<defaults>
<default>
<key>package</key>
<value>org.codehaus.myproject.model</value>
</default>
</defaults>
<classes>
<class rootElement="true" xml.tagName="myproject">
<name>Model</name>
<version>3.0.0+</version>
<fields>
<field>
<name>myfield</name>
<version>1.0.0</version>
<description>The example of field.</description>
<type>String</type>
</field>
</fields>
</class>
</classes>
</model>The top level model must contain an id name and at least 1 classesclass element.
The optional defaults tag is commonly used to define properties that the various modello generators use.
You can have 1 or more class elements within this section.
Each class represents a container for a set of fields.
Every field is a component in the container.
XML Generator Notes about field:
<!-- Model -->
<class>
<name>example</name>
<fields>
<field>
<name>components</name>
<version>4.0.0</version>
<association xml.listStyle="wrapped">
<type>Component</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
<class>
<name>Component</name>
<version>4.0.0</version>
<fields>
<field>
<name>name</name>
<type>String</type>
</field>
</fields>
</class><!-- xml -->
<example>
<components>
<component>
<name>foo</name>
</component>
<component>
<name>bar</name>
</component>
</components>
</example>Example of field/assocation#xml.listStyle="flat"
<!-- Model -->
<class>
<name>example</name>
<fields>
<field>
<name>components</name>
<version>4.0.0</version>
<association xml.listStyle="flat">
<type>Component</type>
<multiplicity>*</multiplicity>
</association>
</field>
</fields>
</class>
<class>
<name>Component</name>
<version>4.0.0</version>
<fields>
<field>
<name>name</name>
<type>String</type>
</field>
</fields>
</class><example>
<component>
<name>foo</name>
</component>
<component>
<name>bar</name>
</component>
</example>Example of field/assocation#xml.listStyle="flat"