Please note: this project is inactive since early 2006

 
2.5.6 Full format of an xml-model

<?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>
Comments are welcome: Sebastien Bigaret / Modeling Home Page
Hosted by:SourceForge.net Logo