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"