Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
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
>