| 1 |
lars |
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+, behavior+)>
|
|
|
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|behavior|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 |
primaryString (true|false) "false"
|
|
|
100 |
>
|
|
|
101 |
|
|
|
102 |
<!ELEMENT inheritance EMPTY>
|
|
|
103 |
<!ATTLIST inheritance
|
|
|
104 |
key CDATA #REQUIRED
|
|
|
105 |
class CDATA #REQUIRED
|
|
|
106 |
package CDATA #IMPLIED
|
|
|
107 |
extends CDATA #IMPLIED
|
|
|
108 |
>
|
|
|
109 |
|
|
|
110 |
<!ELEMENT foreign-key (reference+, vendor*)>
|
|
|
111 |
<!ATTLIST foreign-key
|
|
|
112 |
foreignTable CDATA #REQUIRED
|
|
|
113 |
name CDATA #IMPLIED
|
|
|
114 |
phpName CDATA #IMPLIED
|
|
|
115 |
refPhpName CDATA #IMPLIED
|
|
|
116 |
onUpdate (CASCADE|cascade|SETNULL|setnull|RESTRICT|restrict|NONE|none) "none"
|
|
|
117 |
onDelete (CASCADE|cascade|SETNULL|setnull|RESTRICT|restrict|NONE|none) "none"
|
|
|
118 |
>
|
|
|
119 |
|
|
|
120 |
<!ELEMENT reference EMPTY>
|
|
|
121 |
<!ATTLIST reference
|
|
|
122 |
local CDATA #REQUIRED
|
|
|
123 |
foreign CDATA #REQUIRED
|
|
|
124 |
>
|
|
|
125 |
|
|
|
126 |
<!ELEMENT index (index-column+)>
|
|
|
127 |
<!ATTLIST index
|
|
|
128 |
name CDATA #IMPLIED
|
|
|
129 |
>
|
|
|
130 |
|
|
|
131 |
<!ELEMENT behavior (parameter+)>
|
|
|
132 |
<!ATTLIST index
|
|
|
133 |
name CDATA #IMPLIED
|
|
|
134 |
>
|
|
|
135 |
|
|
|
136 |
<!ELEMENT index-column (vendor*)>
|
|
|
137 |
<!ATTLIST index-column
|
|
|
138 |
name CDATA #REQUIRED
|
|
|
139 |
size CDATA #IMPLIED
|
|
|
140 |
>
|
|
|
141 |
|
|
|
142 |
<!ELEMENT unique (unique-column+)>
|
|
|
143 |
<!ATTLIST unique
|
|
|
144 |
name CDATA #IMPLIED
|
|
|
145 |
>
|
|
|
146 |
|
|
|
147 |
<!ELEMENT unique-column (vendor*)>
|
|
|
148 |
<!ATTLIST unique-column
|
|
|
149 |
name CDATA #REQUIRED
|
|
|
150 |
>
|
|
|
151 |
|
|
|
152 |
<!ELEMENT validator (rule+)>
|
|
|
153 |
<!ATTLIST validator
|
|
|
154 |
column CDATA #REQUIRED
|
|
|
155 |
translate CDATA #IMPLIED
|
|
|
156 |
>
|
|
|
157 |
|
|
|
158 |
<!ELEMENT rule EMPTY>
|
|
|
159 |
<!ATTLIST rule
|
|
|
160 |
name (mask|maxLength|maxValue|minLength|minValue|required|unique|validValues|class) #REQUIRED
|
|
|
161 |
class CDATA #IMPLIED
|
|
|
162 |
value CDATA #IMPLIED
|
|
|
163 |
size ID #IMPLIED
|
|
|
164 |
message CDATA #IMPLIED
|
|
|
165 |
>
|
|
|
166 |
|
|
|
167 |
<!ELEMENT vendor (parameter+)>
|
|
|
168 |
<!ATTLIST vendor
|
|
|
169 |
type CDATA #REQUIRED
|
|
|
170 |
>
|
|
|
171 |
|
|
|
172 |
<!ELEMENT parameter EMPTY>
|
|
|
173 |
<!ATTLIST parameter
|
|
|
174 |
name CDATA #REQUIRED
|
|
|
175 |
value CDATA #REQUIRED
|
|
|
176 |
>
|