<?xml version="1.0" encoding="UTF-8" ?>

<!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
-->
<!--
    Torque XML database schema DTD
    $Id$
-->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://db.apache.org/torque/5.0/templates/database"
           xmlns="http://db.apache.org/torque/5.0/templates/database"
           elementFormDefault="qualified"
           version="5.0">
           
  <xs:annotation>
    <xs:documentation xml:lang="en">
The XML schema used by version 5.0 and greater of the Apache Software
Foundation Torque project(
<a href="http://db.apache.org/torque">http://db.apache.org/torque</a> )
to model SQL database information. This model is used by various Torque
utilities for managing the SQL Server info and to build the Java objects
to access this data.

The basic structure of a model is built using the database element
as the root.  This will contain references to options, external (include)
models, new SQL Domain definitions, and tables.  See the Torque project
home page for more details.
    </xs:documentation>
  </xs:annotation>
  
<!-- =====================================
     database element definition
     ===================================== -->
  <xs:element name="database" type="databaseType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
The root element for defining a Torque database schema.
      </xs:documentation>
    </xs:annotation>
  </xs:element>

  <xs:complexType name="databaseType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
The root type definition for a Torque database schema.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="option" type="optionType" minOccurs="0"
                  maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
A set of key/value options to be passed to custom generator templates.
          </xs:documentation>
        </xs:annotation>
      </xs:element>                  
                  
      <xs:element name="include-schema" type="includeSchemaType"
                  minOccurs="0" maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
Include another schema file in this schema (as if it were a part of this
schema file).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="external-schema" type="externalSchemaType"
                  minOccurs="0" maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
Reference another schema file from this schema (outbound connections only).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="domain" type="domainType" minOccurs="0"
                  maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
Domains are used to define common attribute sets for columns.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="table" type="tableType" minOccurs="0"
                  maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
Defines a database table.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="view" type="viewType" minOccurs="0"
                  maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
Defines a database view.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" type="javaNameType" use="required">
      <xs:annotation>
        <xs:documentation xml:lang="en" >
The name used to identify this schema in the generated
Java objects and as the default JDBC connection pool to use.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="defaultJavaType" use="optional"
                  type="javaReturnType" default="primitive" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Defines if the record object property getter / setters will 
use objects (e.g. Integer) or primitives (e.g. int), defaults
to primitive.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="defaultIdMethod" use="optional" type="idMethodType"
                  default="none" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Defines the defaultIdMethod to use with tables which do not have an idMethod
attribute defined. This attribute has 3 possible values, they are:

- idbroker
    Torque's software based id broker system
- native
    The SQL Server's native autoincrement/identifier process
- none
    Don't try to auto assign id numbers
- null
    Use the value previously set or the default value.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

<!-- =====================================
     option element definition
     ===================================== -->
  <xs:complexType name="optionType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
These tags allows a set of key/value options to be passed to custom generator
templates.
      </xs:documentation>
    </xs:annotation>
      <xs:attribute name="key" type="xs:string" use="required" />
      <xs:attribute name="value" type="xs:string" use="required" />
  </xs:complexType>
  
<!-- =====================================
     include-schema element definition
     ===================================== -->
  <xs:complexType name="includeSchemaType" >
    <xs:annotation>
      <xs:documentation xml:lang="en">
Include another schema file in this schema (as if it were a part of this
schema file).
      </xs:documentation>
    </xs:annotation>
    <xs:attribute name="filename" type="xs:string" use="required" />
  </xs:complexType>

<!-- =====================================
     external-schema element definition
     ===================================== -->
  <xs:complexType name="externalSchemaType" >
    <xs:annotation>
      <xs:documentation xml:lang="en">
Includes another schema file.
      </xs:documentation>
    </xs:annotation>
    <xs:attribute name="filename" type="xs:string" use="required" />
  </xs:complexType>
  
<!-- =====================================
     domain element definition
     ===================================== -->
  <xs:complexType name="domainType" >
    <xs:annotation>
      <xs:documentation xml:lang="en">
Domains are used to define attributes for columns.
      </xs:documentation>
    </xs:annotation>
    <xs:attribute name="name" type="xs:string" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The name used to reference this set of column attributes.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="type" use="optional" type="sqlDataType"
                  default="VARCHAR" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The SQL Standard data type for the column
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="size" type="xs:decimal" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The size of the field. E.g. Varchar(size) or Numeric(Size). Note that 
while this still supports the original torque use of using a
decimal number (5.2) to indicate the precision
and scale in one attribute. Use of the scale attribute is preferred.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="scale" type="xs:integer" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The scale of the field.  E.g.decimal(size, scale)
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="default" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The default column value
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="description" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The description of this domain for documentation purposes.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     table element definition
     ===================================== -->
  <xs:complexType name="tableType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
The table element and its relevant attributes.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="option" type="optionType" minOccurs="0"
                  maxOccurs="unbounded" />
      <xs:element name="column" type="columnType" maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
The column element and its relevant attributes
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:choice minOccurs="0" maxOccurs="unbounded" >
        <xs:element name="foreign-key" type="foreignKeyType">
          <xs:annotation>
            <xs:documentation xml:lang="en">
Define a foreign key constraint for this table.
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="index" type="indexType" >
          <xs:annotation>
            <xs:documentation xml:lang="en">
Defines an index for this table.
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="unique" type="uniqueType">
          <xs:annotation>
            <xs:documentation xml:lang="en">
Define a unique value constraint
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="id-method-parameter" type="idMethodParameterType">
        </xs:element>
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="name" type="sqlQualifiedNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The table name of the SQL table.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="interface" type="javaQualifiedNameType"
                  use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The interface attribute specifies an interface that should be referenced in
the implements section of the generated extension class. If this is a fully
qualified class name (i. e. the string contains dots), the interface will
simply be implemented by the extension object. If the interface is a simple
class name (without dots), an empty interface file will be generated in the
extension object package. When this attribute is used, all methods that
normally would return the extension object type will now return the interface
type. This feature allows to use Torque generated classes in the context of
other applications or APIs.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
        <xs:attribute name="peerInterface" type="javaQualifiedNameType"
                  use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The interface attribute specifies an interface that should be referenced in
the implements section of the generated peer class. If this is a fully
qualified class name (i. e. the string contains dots), the interface will
simply be implemented by the peer object. If the interface is a simple
class name (without dots), an empty interface file will be generated in the
peer package. This feature allows to use Torque generated peer classes
in the context of other applications or APIs.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="baseClass" type="javaQualifiedNameType" use="optional">
      <xs:annotation>
        <xs:documentation xml:lang="en">
The fully qualified class that the generated Java table
record objects will extend. This class does not have to extend 
org.apache.torque.om.BaseObject.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="basePeer" type="javaQualifiedNameType" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The fully qualified class that the generated Java Peer objects will extend.
Unlike baseClass, basePeer should extend BasePeer at some point in the chain,
i.e. it needs to be the superclass.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="idMethod" use="optional" type="idMethodType">
      <xs:annotation>
        <xs:documentation xml:lang="en">
Defines the id method to automatically generate ids for this table.
This attribute has 3 possible values, they are:

- idbroker
    Torque's software based id broker system
- native
    The SQL Server's native autoincrement / identifier process
- none
    Don't try to auto assign id numbers
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="abstract" use="optional" type="xs:boolean"
                  default="false" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Whether or not to generate the class as Abstract or not
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="javaName" type="javaNameType" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
This is the Java class name to use when generating the table. If
this is missing the Java name is generated from the name attribute.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="skipSql" use="optional" type="xs:boolean"
                  default="false" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Whether or not to skip SQL generation for this reference.  Useful for using
Views or creating a "subset" of columns in an existing table.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="description" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
A description of this table.  Used for documentation and will be included in
the table generation SQL if the server type supports this.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     column element definition
     ===================================== -->
  <xs:complexType name="columnType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
The column element and its relevant attributes
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="option" type="optionType" minOccurs="0"
                  maxOccurs="unbounded" />
      <xs:element name="enum-value" type="enumValueType" minOccurs="0"
                  maxOccurs="unbounded" />
      <xs:element name="inheritance" type="inheritanceType" minOccurs="0"
                  maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
Define an inheritance mapping of records to class by a key column.  See the
inheritance How To document.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
                  
    </xs:sequence>
    <xs:attribute name="name" type="sqlNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The column name
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="type" use="optional" type="sqlDataType">
      <xs:annotation>
        <xs:documentation xml:lang="en">
The SQL data type for the column. Is required unless a domain is used.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="size" type="xs:decimal" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The size of the field. E.g. Varchar(size) or Numeric(Size). Note that 
while this still supports the original torque use of using a
decimal number (5.2) to indicate the precision
and scale in one attribute. Use of the scale attribute is preferred.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="scale" type="xs:integer" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The scale of the field.  E.g.decimal(size, scale)
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="default" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The default column value
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="useDatabaseDefaultValue" type="xs:boolean" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Whether to use the database default value if a new object is saved
and the attribute value is equal to the java default value. Default is false.
Has no effect on primitive boolean columns.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="primaryKey" use="optional"
                  type="xs:boolean" default="false" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Whether this column is part of the table's primary key.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="autoIncrement" use="optional"
                  type="xs:boolean" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Whether or not to auto-increment this field (true or false, defaults to false)
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="required" use="optional" type="xs:boolean"
                  default="false" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Whether a value is required in this column (NULL ALLOWED) (true or false,
defaults to false)
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="javaName" type="javaNameType"
                  use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The Java property name to use for this column in the record objects.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="javaType" use="optional"
                  type="javaReturnType" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Defines if the record object property getter / setters will
use objects (e.g. Integer) or primitives (e.g. int), defaults 
to database attribute or primitive
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="domain" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The domain reference name to set common settings.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="inheritance" type="inheritanceAttrType" use="optional"
                  default="false" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The inheritance method used (see inheritance documentation)
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="protected" use="optional"
                  type="xs:boolean" default="false" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
If true, the setters and getters for this property will be protected rather
than public.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="version" use="optional"
                  type="xs:boolean" default="false" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
If true, this column is used as a version number for optimistic locking.
I.e. for updates, Torque will check that the version number in the database
is equal to the version number of the supplied object
and it will automatically increase the version number of the updated row.
Setting version to true will only work for numeric columns and will produce
code that does not compile if applied to other column types.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="enumType" use="optional" type="xs:string">
      <xs:annotation>
        <xs:documentation xml:lang="en">
If this attribute has a value, the java type for the column is an enum.
The name of the enum type is contained in this attribute. It can be either
fully qualified or unqualified.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="description" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The description of this column for documentation purposes.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     inheritance element definition
     ===================================== -->
  <xs:complexType name="inheritanceType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
Define an inheritance mapping of records to class by a key column.  See the
inheritance How To document.
      </xs:documentation>
    </xs:annotation>
    <xs:attribute name="key" type="xs:string" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
A value found in the column marked as the inheritance key column
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="class" type="javaNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The class name for the object that will inherit the record values
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="extends" type="javaQualifiedNameType" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The class that the inheritor class will extend
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     enumValue element definition
     ===================================== -->
  <xs:complexType name="enumValueType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
Defines a possible value for an enum. If any of these elements occurs 
for a column, Torque will generate an enum for this column.
      </xs:documentation>
    </xs:annotation>
    <xs:attribute name="value" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation xml:lang="en">
The value for the enum. Must be unique.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="javaName" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation xml:lang="en">
The java name for the enum. Must be unique and must not clash 
with automatically determined javaNames for the same enum.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="description" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation xml:lang="en">
A description for the enum value.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     foreign-key element definition
     ===================================== -->
  <xs:complexType name="foreignKeyType" >
    <xs:annotation>
      <xs:documentation xml:lang="en">
Define a foreign key constraint for this table.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="option" type="optionType" minOccurs="0"
                  maxOccurs="unbounded" />
      <xs:element name="reference" type="referenceType" maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
Define a mapping between a local column containing a foreign key value and
the foreign table column.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" type="sqlNameType" use="optional" >
        <xs:annotation>
        <xs:documentation xml:lang="en">
The name used to create the foreign key constraint.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="foreignTable" type="sqlQualifiedNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The name of the table that contains the foreign key
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="onDelete" use="optional" type="cascadeType">
      <xs:annotation>
        <xs:documentation xml:lang="en">
The action to take when the referenced value in foreignTable is deleted.
Note this is handled by the database server and not Torque code.  Will not
work if the DB server does not support this.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="onUpdate" use="optional" type="cascadeType">
      <xs:annotation>
        <xs:documentation xml:lang="en">
The action to take when the referenced value in foreignTable is updated.
Note this is handled by the database server and not Torque code.  Will not
work if the DB server does not support this.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     reference element definition
     ===================================== -->
  <xs:complexType name="referenceType" >
    <xs:annotation>
      <xs:documentation xml:lang="en">
Define a mapping between a local column containing a foreign key value and
the foreign table column.
      </xs:documentation>
    </xs:annotation>
    <xs:attribute name="foreign" type="sqlNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The column in the foreign table that contains the key.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="local" type="sqlNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The column in this table that contains the foreign key.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     index element definition
     ===================================== -->
  <xs:complexType name="indexType" >
    <xs:annotation>
      <xs:documentation xml:lang="en">
Defines an index for this table.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="option" type="optionType" minOccurs="0"
                  maxOccurs="unbounded" />
      <xs:element name="index-column" type="indexColumnType"
                  maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
Define a column to use in a table index.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" type="sqlNameType" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The name used in creating this index in the database.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     reference element definition
     ===================================== -->
  <xs:complexType name="indexColumnType" >
    <xs:annotation>
      <xs:documentation xml:lang="en">
Define a column to use in a table index.
      </xs:documentation>
    </xs:annotation>
    <xs:attribute name="name" type="sqlNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
A column name to use in this index.  Must exist in the table.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     unique element definition
     ===================================== -->
  <xs:complexType name="uniqueType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
Define a unique value constraint
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="option" type="optionType" minOccurs="0"
                  maxOccurs="unbounded" />
      <xs:element name="unique-column" type="uniqueColumnType"
                  maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
Specify a column to use in the unique constraint.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" type="sqlNameType" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The name to use in defining this constraint.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     unique-column element definition
     ===================================== -->
  <xs:complexType name="uniqueColumnType" >
    <xs:annotation>
      <xs:documentation xml:lang="en">
Specify a column to use in the unique constraint.
      </xs:documentation>
    </xs:annotation>
    <xs:attribute name="name" type="sqlNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The name to use in defining this constraint.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="size" type="xs:decimal" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The size of the field. E.g. columnname(size). Mainly to customize restrictions in bytes/character restrictions without global changes.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     id-method-parameter element definition
     ===================================== -->
  <xs:complexType name="idMethodParameterType">
    <xs:attribute name="name" type="xs:string" use="optional"
                  default="default" />
    <xs:attribute name="value" type="xs:string"
                  use="required" />
  </xs:complexType>

<!-- =====================================
     view element definition
     ===================================== -->
  <xs:complexType name="viewType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
The view element and its relevant attributes.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="option" type="optionType" minOccurs="0"
                  maxOccurs="unbounded" />
      <xs:element name="column" type="viewColumnType" maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
The column element and its relevant attributes
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" type="sqlNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The name of the SQL view.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="baseClass" type="javaQualifiedNameType" use="optional">
      <xs:annotation>
        <xs:documentation xml:lang="en">
The fully qualified class that the generated Java view
record objects will extend. This class does not have to extend 
org.apache.torque.om.BaseObject.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="basePeer" type="javaQualifiedNameType" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The fully qualified class that the generated Java Peer objects will extend.
Unlike baseClass, basePeer should extend BasePeer at some point in the chain,
i.e. it needs to be the superclass.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="abstract" use="optional" type="xs:boolean"
                  default="false" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Whether or not to generate the class as Abstract or not
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="javaName" type="javaNameType" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
This is the Java class name to use when generating the view. If
this is missing the Java name is generated from the name attribute.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="sqlSuffix" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The remainder of the sql for the view after column definitions.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="createSql" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The complete SQL for creating the view. Overrides all other means
of generating the SQL for view creation.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="skipSql" use="optional" type="xs:boolean"
                  default="false" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Whether or not to skip SQL generation for this reference.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="description" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
A description of this view.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  
<!-- =====================================
     view column element definition
     ===================================== -->
  <xs:complexType name="viewColumnType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
The column element and its relevant attributes
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="option" type="optionType" minOccurs="0"
                  maxOccurs="unbounded" />
      <xs:element name="inheritance" type="inheritanceType" minOccurs="0"
                  maxOccurs="unbounded" >
        <xs:annotation>
          <xs:documentation xml:lang="en">
Define an inheritance mapping of records to class by a key column.  See the
inheritance How To document.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
                  
    </xs:sequence>
    <xs:attribute name="name" type="sqlNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The column name
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="type" use="required" type="sqlDataType">
      <xs:annotation>
        <xs:documentation xml:lang="en">
The SQL Standard data type for the column
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="size" type="xs:decimal" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The size of the field. E.g. Varchar(size) or Numeric(Size). Note that 
while this still supports the original torque use of using a
decimal number (5.2) to indicate the precision
and scale in one attribute. Use of the scale attribute is preferred.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="scale" type="xs:integer" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The scale of the field.  E.g.decimal(size, scale)
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="javaName" type="javaNameType"
                  use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The Java property name to use for this column in the record objects.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="javaType" use="optional"
                  type="javaReturnType" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
Defines if the record object property getter / setters will
use objects (e.g. Integer) or primitives (e.g. int), defaults 
to database attribute or primitive
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="domain" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The domain reference name to set common settings.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="select" type="sqlQualifiedNameType" use="required" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The sql snippet which contains the value to select.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="protected" use="optional"
                  type="xs:boolean" default="false" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
If true, the setters and getters for this property will be protected rather
than public.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="description" type="xs:string" use="optional" >
      <xs:annotation>
        <xs:documentation xml:lang="en">
The description of this column for documentation purposes.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="enumType" use="optional" type="xs:string">
      <xs:annotation>
        <xs:documentation xml:lang="en">
If this attribute has a value, the java type for the column is an enum.
The name of the enum type is contained in this attribute. It can be either
fully qualified or unqualified.
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
<!-- =====================================
    Type definitions for attributes
     ===================================== -->

  <xs:simpleType name="sqlDataType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
Standard SQL column data types.
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:NMTOKEN">
      <xs:enumeration value="BIT" />
      <xs:enumeration value="TINYINT" />
      <xs:enumeration value="SMALLINT" />
      <xs:enumeration value="INTEGER" />
      <xs:enumeration value="BIGINT" />
      <xs:enumeration value="FLOAT" />
      <xs:enumeration value="REAL" />
      <xs:enumeration value="NUMERIC" />
      <xs:enumeration value="DECIMAL" />
      <xs:enumeration value="CHAR" />
      <xs:enumeration value="VARCHAR" />
      <xs:enumeration value="LONGVARCHAR" />
      <xs:enumeration value="DATE" />
      <xs:enumeration value="TIME" />
      <xs:enumeration value="TIMESTAMP" />
      <xs:enumeration value="BINARY" />
      <xs:enumeration value="VARBINARY" />
      <xs:enumeration value="LONGVARBINARY" />
      <xs:enumeration value="NULL" />
      <xs:enumeration value="OTHER" />
      <xs:enumeration value="JAVA_OBJECT" />
      <xs:enumeration value="DISTINCT" />
      <xs:enumeration value="STRUCT" />
      <xs:enumeration value="ARRAY" />
      <xs:enumeration value="BLOB" />
      <xs:enumeration value="CLOB" />
      <xs:enumeration value="REF" />
      <xs:enumeration value="BOOLEANINT" />
      <xs:enumeration value="BOOLEANCHAR" />
      <xs:enumeration value="DOUBLE" />
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="idMethodType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
A schema type for methods to create ids automatically.

idbroker = Torque's software based id broker system
native   = The SQL Server's native method, depends on database used
           (e.g. autoincrement for MySQL, sequence for postgresql...)
none     = Don't try to auto assign id numbers
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:NMTOKEN">
      <xs:enumeration value="idbroker" />
      <xs:enumeration value="native" />
      <xs:enumeration value="none" />
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="javaReturnType">
    <xs:restriction base="xs:NMTOKEN">
      <xs:enumeration value="object" />
      <xs:enumeration value="primitive" />
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="cascadeType" >
    <xs:restriction base="xs:NMTOKEN">
      <xs:enumeration value="cascade" />
      <xs:enumeration value="setnull" />
      <xs:enumeration value="restrict" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="inheritanceAttrType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="single" />
      <xs:enumeration value="false" />
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="javaNameType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
Java identifiers, e.g. [A-Za-z_$]A-Za-z_$0-9]*
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string"/>
  </xs:simpleType>

  <xs:simpleType name="javaQualifiedNameType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
Java fully qualified names (e.g. x.y.x)
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string"/>
  </xs:simpleType>

  <xs:simpleType name="sqlNameType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
SQL Standard non-delimited identifiers.
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string" />
  </xs:simpleType>

  <xs:simpleType name="sqlQualifiedNameType">
    <xs:annotation>
      <xs:documentation xml:lang="en">
SQL Standard non-delimited identifiers.
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string" />
  </xs:simpleType>

</xs:schema>