<?xml version='1.0' encoding='iso-8859-1'?>
<model
name = '' -- unique per model set
packageName = '' -- generate classes into, and import from, this package
adaptorName = ( MySQL | Oracle | Postgresql | SQLite ) : Postgresql -- a supported database adaptor
comment = '' -- a comment
connectionDictionary = "{}" -- string representation of a python dictionary
>
<!-- unordered content: (entity*, relation*) -->
<entity
name = '' -- relates class to db table
className = '' -- python class name for this entity
moduleName = '' -- class is generated into, and accessed from, this module
externalName = '' -- db table name
parentEntity = '' -- name of entity to "inherit" from
typeName = '' -- not yet used
isAbstract = '0' -- not yet used
isReadOnly = '0' -- not yet used
comment = '' -- a comment
>
<!-- unordered content: (primaryKey, attributesUsedForLocking*, attribute*, relation*) -->
<primaryKey
attributeName = '' -- name of an attribute in this entity
/>
<attributesUsedForLocking
attributeName = '' -- name of an attribute in this entity
/>
<attribute
name = '' -- class attribute name
type = ( string | int | float | DateTime ) : string -- python type
isClassProperty = '1' -- attribute is also a class property
isRequired = '1' -- cannot be null
columnName = '' -- database table column name
externalType = '' -- database type
width = '' -- qualifier for some values of externalType
precision = '' -- qualifier for some values of externalType
scale = '' -- qualifier for some values of externalType
defaultValue = '' -- class attribute default value
displayLabel = '' -- text label to use in applications
comment = '' -- a comment
/>
<relation
name = '' -- relation name
deleteRule = ( 0,DELETE_NULLIFY | 1,DELETE_DENY | 2,DELETE_CASCADE |
3,DELETE_NOACTION ) : 0 -- behaviour when object is deleted
isClassProperty = '1' -- relation is also a class property
multiplicityLowerBound = ( int > -1 ) : 0
multiplicityUpperBound = ( int > -1 | -1,* ) : 1
-- -1 or * indicate unconstrained upper bound
destinationEntity = '' -- name of destination entity
joinSemantic = ( 0,Inner | 1,FullOuter | 2,LeftOuter | 3,Right Outer ) : 0
displayLabel = '' -- text label to use in applications
comment = '' -- a comment
>
<!-- unordered content: (join) -->
<join
sourceAttribute = '' -- name of source attribute, in enclosing entity
destinationAttribute = '' -- name of target attribute, in ../@destinationEntity
/>
</relation>
</entity>
</model>