<?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>