| 1 |
<!-- |
|---|
| 2 |
Propel XML database schema DTD |
|---|
| 3 |
$Id: database.dtd,v 1.7 2005/03/30 11:38:18 hlellelid Exp $ |
|---|
| 4 |
|
|---|
| 5 |
This is based very closely on the schema DTD for Torque, but |
|---|
| 6 |
some differences do exist. |
|---|
| 7 |
--> |
|---|
| 8 |
|
|---|
| 9 |
<!-- |
|---|
| 10 |
|
|---|
| 11 |
defaultPhpNamingMethod determines how a table or column name, |
|---|
| 12 |
from the name attribute in the xml database file, is converted to a |
|---|
| 13 |
PHP class or method name. |
|---|
| 14 |
|
|---|
| 15 |
nochange - indicates not change is performed. |
|---|
| 16 |
underscore - Underscores are removed, First letter is |
|---|
| 17 |
capitalized, first letter after an underscore |
|---|
| 18 |
is capitalized, the rest of the letters are |
|---|
| 19 |
converted to lowercase. |
|---|
| 20 |
phpname - same as underscore, but no letters are converted |
|---|
| 21 |
to lowercase. |
|---|
| 22 |
--> |
|---|
| 23 |
|
|---|
| 24 |
<!ELEMENT database (external-schema*, table+)> |
|---|
| 25 |
<!ATTLIST database |
|---|
| 26 |
name CDATA #IMPLIED |
|---|
| 27 |
defaultIdMethod (native|none) "none" |
|---|
| 28 |
defaultTranslateMethode CDATA #IMPLIED |
|---|
| 29 |
package CDATA #IMPLIED |
|---|
| 30 |
baseClass CDATA #IMPLIED |
|---|
| 31 |
basePeer CDATA #IMPLIED |
|---|
| 32 |
defaultPhpNamingMethod (nochange|underscore|phpname) "underscore" |
|---|
| 33 |
heavyIndexing (true|false) "false" |
|---|
| 34 |
> |
|---|
| 35 |
|
|---|
| 36 |
<!ELEMENT external-schema EMPTY> |
|---|
| 37 |
<!ATTLIST external-schema |
|---|
| 38 |
filename CDATA #REQUIRED |
|---|
| 39 |
> |
|---|
| 40 |
|
|---|
| 41 |
<!-- |
|---|
| 42 |
note: the interface="true", requires that useManagers=true in the |
|---|
| 43 |
properties file. |
|---|
| 44 |
--> |
|---|
| 45 |
<!ELEMENT table (column+,(foreign-key|index|unique|id-method-parameter|validator|vendor)*)> |
|---|
| 46 |
<!ATTLIST table |
|---|
| 47 |
name CDATA #REQUIRED |
|---|
| 48 |
phpName CDATA #IMPLIED |
|---|
| 49 |
idMethod (native|autoincrement|sequence|none|null) "null" |
|---|
| 50 |
skipSql (true|false) "false" |
|---|
| 51 |
readOnly (true|false) "false" |
|---|
| 52 |
abstract (true|false) "false" |
|---|
| 53 |
treeMode (MaterializedPath|NestedSet|AdjacencyList) "AdjacencyList" |
|---|
| 54 |
package CDATA #IMPLIED |
|---|
| 55 |
baseClass CDATA #IMPLIED |
|---|
| 56 |
basePeer CDATA #IMPLIED |
|---|
| 57 |
alias CDATA #IMPLIED |
|---|
| 58 |
interface CDATA #IMPLIED |
|---|
| 59 |
phpNamingMethod (nochange|underscore|phpname) #IMPLIED |
|---|
| 60 |
heavyIndexing (true|false) #IMPLIED |
|---|
| 61 |
description CDATA #IMPLIED |
|---|
| 62 |
> |
|---|
| 63 |
|
|---|
| 64 |
<!ELEMENT id-method-parameter EMPTY> |
|---|
| 65 |
<!ATTLIST id-method-parameter |
|---|
| 66 |
name CDATA "default" |
|---|
| 67 |
value CDATA #REQUIRED |
|---|
| 68 |
> |
|---|
| 69 |
|
|---|
| 70 |
<!ELEMENT column ((inheritance|vendor)*)> |
|---|
| 71 |
<!ATTLIST column |
|---|
| 72 |
name CDATA #REQUIRED |
|---|
| 73 |
phpName CDATA #IMPLIED |
|---|
| 74 |
peerName CDATA #IMPLIED |
|---|
| 75 |
primaryKey (true|false) "false" |
|---|
| 76 |
required (true|false) "false" |
|---|
| 77 |
type |
|---|
| 78 |
( |
|---|
| 79 |
BIT | TINYINT | SMALLINT | INTEGER | BIGINT | FLOAT |
|---|
| 80 |
| REAL | NUMERIC | DECIMAL | CHAR | VARCHAR | LONGVARCHAR |
|---|
| 81 |
| DATE | TIME | TIMESTAMP | BINARY | VARBINARY | LONGVARBINARY |
|---|
| 82 |
| NULL | OTHER | PHP_OBJECT | DISTINCT | STRUCT | ARRAY |
|---|
| 83 |
| BLOB | CLOB | REF | BOOLEANINT | BOOLEANCHAR |
|---|
| 84 |
| DOUBLE | BOOLEAN |
|---|
| 85 |
) "VARCHAR" |
|---|
| 86 |
phpType CDATA #IMPLIED |
|---|
| 87 |
sqlType CDATA #IMPLIED |
|---|
| 88 |
size CDATA #IMPLIED |
|---|
| 89 |
scale CDATA #IMPLIED |
|---|
| 90 |
default CDATA #IMPLIED |
|---|
| 91 |
defaultValue CDATA #IMPLIED |
|---|
| 92 |
defaultExpr CDATA #IMPLIED |
|---|
| 93 |
autoIncrement (true|false) "false" |
|---|
| 94 |
inheritance (single|false) "false" |
|---|
| 95 |
inputValidator CDATA #IMPLIED |
|---|
| 96 |
phpNamingMethod (nochange|underscore|phpname) #IMPLIED |
|---|
| 97 |
description CDATA #IMPLIED |
|---|
| 98 |
lazyLoad (true|false) "false" |
|---|
| 99 |
> |
|---|
| 100 |
|
|---|
| 101 |
<!ELEMENT inheritance EMPTY> |
|---|
| 102 |
<!ATTLIST inheritance |
|---|
| 103 |
key CDATA #REQUIRED |
|---|
| 104 |
class CDATA #REQUIRED |
|---|
| 105 |
package CDATA #IMPLIED |
|---|
| 106 |
extends CDATA #IMPLIED |
|---|
| 107 |
> |
|---|
| 108 |
|
|---|
| 109 |
<!ELEMENT foreign-key (reference+, vendor*)> |
|---|
| 110 |
<!ATTLIST foreign-key |
|---|
| 111 |
foreignTable CDATA #REQUIRED |
|---|
| 112 |
name CDATA #IMPLIED |
|---|
| 113 |
phpName CDATA #IMPLIED |
|---|
| 114 |
refPhpName CDATA #IMPLIED |
|---|
| 115 |
onUpdate (CASCADE|cascade|SETNULL|setnull|RESTRICT|restrict|NONE|none) "none" |
|---|
| 116 |
onDelete (CASCADE|cascade|SETNULL|setnull|RESTRICT|restrict|NONE|none) "none" |
|---|
| 117 |
> |
|---|
| 118 |
|
|---|
| 119 |
<!ELEMENT reference EMPTY> |
|---|
| 120 |
<!ATTLIST reference |
|---|
| 121 |
local CDATA #REQUIRED |
|---|
| 122 |
foreign CDATA #REQUIRED |
|---|
| 123 |
> |
|---|
| 124 |
|
|---|
| 125 |
<!ELEMENT index (index-column+)> |
|---|
| 126 |
<!ATTLIST index |
|---|
| 127 |
name CDATA #IMPLIED |
|---|
| 128 |
> |
|---|
| 129 |
|
|---|
| 130 |
<!ELEMENT index-column (vendor*)> |
|---|
| 131 |
<!ATTLIST index-column |
|---|
| 132 |
name CDATA #REQUIRED |
|---|
| 133 |
size CDATA #IMPLIED |
|---|
| 134 |
> |
|---|
| 135 |
|
|---|
| 136 |
<!ELEMENT unique (unique-column+)> |
|---|
| 137 |
<!ATTLIST unique |
|---|
| 138 |
name CDATA #IMPLIED |
|---|
| 139 |
> |
|---|
| 140 |
|
|---|
| 141 |
<!ELEMENT unique-column (vendor*)> |
|---|
| 142 |
<!ATTLIST unique-column |
|---|
| 143 |
name CDATA #REQUIRED |
|---|
| 144 |
> |
|---|
| 145 |
|
|---|
| 146 |
<!ELEMENT validator (rule+)> |
|---|
| 147 |
<!ATTLIST validator |
|---|
| 148 |
column CDATA #REQUIRED |
|---|
| 149 |
translate CDATA #IMPLIED |
|---|
| 150 |
> |
|---|
| 151 |
|
|---|
| 152 |
<!ELEMENT rule EMPTY> |
|---|
| 153 |
<!ATTLIST rule |
|---|
| 154 |
name (mask|maxLength|maxValue|minLength|minValue|required|unique|validValues|class) #REQUIRED |
|---|
| 155 |
class CDATA #IMPLIED |
|---|
| 156 |
value CDATA #IMPLIED |
|---|
| 157 |
size ID #IMPLIED |
|---|
| 158 |
message CDATA #IMPLIED |
|---|
| 159 |
> |
|---|
| 160 |
|
|---|
| 161 |
<!ELEMENT vendor (parameter+)> |
|---|
| 162 |
<!ATTLIST vendor |
|---|
| 163 |
type CDATA #REQUIRED |
|---|
| 164 |
> |
|---|
| 165 |
|
|---|
| 166 |
<!ELEMENT parameter EMPTY> |
|---|
| 167 |
<!ATTLIST parameter |
|---|
| 168 |
name CDATA #REQUIRED |
|---|
| 169 |
value CDATA #REQUIRED |
|---|
| 170 |
> |
|---|