sintonia/library/propel/generator/resources/dtd/database.dtd

181 lines
4.6 KiB
DTD

<!--
Propel XML database schema DTD
$Id: database.dtd,v 1.7 2005/03/30 11:38:18 hlellelid Exp $
This is based very closely on the schema DTD for Torque, but
some differences do exist.
-->
<!--
defaultPhpNamingMethod determines how a table or column name,
from the name attribute in the xml database file, is converted to a
PHP class or method name.
nochange - indicates not change is performed.
underscore - Underscores are removed, First letter is
capitalized, first letter after an underscore
is capitalized, the rest of the letters are
converted to lowercase.
phpname - same as underscore, but no letters are converted
to lowercase.
-->
<!ELEMENT database (external-schema*, table+, behavior*)>
<!ATTLIST database
name CDATA #IMPLIED
defaultIdMethod (native|none) "none"
defaultTranslateMethode CDATA #IMPLIED
package CDATA #IMPLIED
namespace CDATA #IMPLIED
baseClass CDATA #IMPLIED
basePeer CDATA #IMPLIED
defaultPhpNamingMethod (nochange|underscore|phpname) "underscore"
heavyIndexing (true|false) "false"
tablePrefix CDATA #IMPLIED
>
<!ELEMENT external-schema EMPTY>
<!ATTLIST external-schema
filename CDATA #REQUIRED
>
<!--
note: the interface="true", requires that useManagers=true in the
properties file.
-->
<!ELEMENT table (column+,(foreign-key|index|unique|id-method-parameter|validator|behavior|vendor)*)>
<!ATTLIST table
name CDATA #REQUIRED
phpName CDATA #IMPLIED
namespace CDATA #IMPLIED
idMethod (native|autoincrement|sequence|none|null) "null"
skipSql (true|false) "false"
readOnly (true|false) "false"
abstract (true|false) "false"
isCrossRef (true|false) "false"
treeMode (MaterializedPath|NestedSet|AdjacencyList) "AdjacencyList"
package CDATA #IMPLIED
baseClass CDATA #IMPLIED
basePeer CDATA #IMPLIED
alias CDATA #IMPLIED
interface CDATA #IMPLIED
phpNamingMethod (nochange|underscore|phpname) #IMPLIED
heavyIndexing (true|false) #IMPLIED
description CDATA #IMPLIED
>
<!ELEMENT id-method-parameter EMPTY>
<!ATTLIST id-method-parameter
name CDATA "default"
value CDATA #REQUIRED
>
<!ELEMENT column ((inheritance|vendor)*)>
<!ATTLIST column
name CDATA #REQUIRED
phpName CDATA #IMPLIED
peerName CDATA #IMPLIED
primaryKey (true|false) "false"
required (true|false) "false"
type
(
BIT | TINYINT | SMALLINT | INTEGER | BIGINT | FLOAT
| REAL | NUMERIC | DECIMAL | CHAR | VARCHAR | LONGVARCHAR
| DATE | TIME | TIMESTAMP | BINARY | VARBINARY | LONGVARBINARY
| NULL | OTHER | PHP_OBJECT | DISTINCT | STRUCT | ARRAY
| BLOB | CLOB | REF | BOOLEANINT | BOOLEANCHAR
| DOUBLE | BOOLEAN
) "VARCHAR"
phpType CDATA #IMPLIED
sqlType CDATA #IMPLIED
size CDATA #IMPLIED
scale CDATA #IMPLIED
default CDATA #IMPLIED
defaultValue CDATA #IMPLIED
defaultExpr CDATA #IMPLIED
autoIncrement (true|false) "false"
inheritance (single|false) "false"
inputValidator CDATA #IMPLIED
phpNamingMethod (nochange|underscore|phpname) #IMPLIED
description CDATA #IMPLIED
lazyLoad (true|false) "false"
primaryString (true|false) "false"
>
<!ELEMENT inheritance EMPTY>
<!ATTLIST inheritance
key CDATA #REQUIRED
class CDATA #REQUIRED
package CDATA #IMPLIED
extends CDATA #IMPLIED
>
<!ELEMENT foreign-key (reference+, vendor*)>
<!ATTLIST foreign-key
foreignTable CDATA #REQUIRED
name CDATA #IMPLIED
phpName CDATA #IMPLIED
refPhpName CDATA #IMPLIED
onUpdate (CASCADE|cascade|SETNULL|setnull|RESTRICT|restrict|NONE|none) "none"
onDelete (CASCADE|cascade|SETNULL|setnull|RESTRICT|restrict|NONE|none) "none"
>
<!ELEMENT reference EMPTY>
<!ATTLIST reference
local CDATA #REQUIRED
foreign CDATA #REQUIRED
>
<!ELEMENT index (index-column+)>
<!ATTLIST index
name CDATA #IMPLIED
>
<!ELEMENT behavior (parameter+)>
<!ATTLIST index
name CDATA #IMPLIED
>
<!ELEMENT index-column (vendor*)>
<!ATTLIST index-column
name CDATA #REQUIRED
size CDATA #IMPLIED
>
<!ELEMENT unique (unique-column+)>
<!ATTLIST unique
name CDATA #IMPLIED
>
<!ELEMENT unique-column (vendor*)>
<!ATTLIST unique-column
name CDATA #REQUIRED
>
<!ELEMENT validator (rule+)>
<!ATTLIST validator
column CDATA #REQUIRED
translate CDATA #IMPLIED
>
<!ELEMENT rule EMPTY>
<!ATTLIST rule
name (mask|maxLength|maxValue|minLength|minValue|required|unique|validValues|class) #REQUIRED
class CDATA #IMPLIED
value CDATA #IMPLIED
size ID #IMPLIED
message CDATA #IMPLIED
>
<!ELEMENT vendor (parameter+)>
<!ATTLIST vendor
type CDATA #REQUIRED
>
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED
>