181 lines
4.6 KiB
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
|
|
>
|