<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="http://www.jooq.org/xsd/jooq-meta-3.22.0.xsd"
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:annox="http://annox.dev.java.net"
    targetNamespace="http://www.jooq.org/xsd/jooq-meta-3.22.0.xsd"
    elementFormDefault="qualified"
    jxb:extensionBindingPrefixes="annox"
    jxb:version="2.1">

    <element name="information_schema">
        <complexType>
            <all>
                <element name="catalogs" type="tns:Catalogs" minOccurs="0" maxOccurs="1" />
                <element name="schemata" type="tns:Schemata" minOccurs="0" maxOccurs="1" />
                <element name="sequences" type="tns:Sequences" minOccurs="0" maxOccurs="1" />
                <element name="tables" type="tns:Tables" minOccurs="0" maxOccurs="1" />
                <element name="views" type="tns:Views" minOccurs="0" maxOccurs="1" />
                <element name="columns" type="tns:Columns" minOccurs="0" maxOccurs="1" />
                <element name="table_constraints" type="tns:TableConstraints" minOccurs="0" maxOccurs="1" />
                <element name="key_column_usages" type="tns:KeyColumnUsages" minOccurs="0" maxOccurs="1" />
                <element name="referential_constraints" type="tns:ReferentialConstraints" minOccurs="0" maxOccurs="1" />
                <element name="check_constraints" type="tns:CheckConstraints" minOccurs="0" maxOccurs="1" />
                <element name="user_defined_types" type="tns:UserDefinedTypes" minOccurs="0" maxOccurs="1" />
                <element name="attributes" type="tns:Attributes" minOccurs="0" maxOccurs="1" />
                <element name="direct_supertypes" type="tns:DirectSupertypes" minOccurs="0" maxOccurs="1" />
                <element name="domains" type="tns:Domains" minOccurs="0" maxOccurs="1" />
                <element name="domain_constraints" type="tns:DomainConstraints" minOccurs="0" maxOccurs="1" />
                <element name="indexes" type="tns:Indexes" minOccurs="0" maxOccurs="1" />
                <element name="index_column_usages" type="tns:IndexColumnUsages" minOccurs="0" maxOccurs="1" />
                <element name="routines" type="tns:Routines" minOccurs="0" maxOccurs="1" />
                <element name="parameters" type="tns:Parameters" minOccurs="0" maxOccurs="1" />
                <element name="element_types" type="tns:ElementTypes" minOccurs="0" maxOccurs="1" />
                <element name="triggers" type="tns:Triggers" minOccurs="0" maxOccurs="1" />
                <element name="synonyms" type="tns:Synonyms" minOccurs="0" maxOccurs="1" />
            </all>
        </complexType>
    </element>

    <complexType name="Catalogs">
        <sequence>
            <element name="catalog" type="tns:Catalog" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="Catalog">
        <all>
            <element name="catalog_name" type="string" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>
    
    <complexType name="CheckConstraints">
        <sequence>
            <element name="check_constraint" type="tns:CheckConstraint" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="CheckConstraint">
        <all>
            <element name="constraint_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="constraint_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="constraint_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="check_clause" type="string" minOccurs="1" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="Columns">
        <sequence>
            <element name="column" type="tns:Column" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="Column">
        <all>
            <element name="table_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="column_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="data_type" type="string" minOccurs="1" maxOccurs="1" />
            <element name="character_maximum_length" type="int" minOccurs="0" maxOccurs="1" />
            <element name="character_length_unit" type="tns:LengthUnit" minOccurs="0" maxOccurs="1" />
            <element name="numeric_precision" type="int" minOccurs="0" maxOccurs="1" />
            <element name="numeric_scale" type="int" minOccurs="0" maxOccurs="1" />
            <element name="domain_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="domain_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="domain_name" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_name" type="string" minOccurs="0" maxOccurs="1" />
            <element name="ordinal_position" type="int" minOccurs="0" maxOccurs="1" />
            <element name="is_identity" type="boolean" minOccurs="0" maxOccurs="1" />
            <element name="identity_generation" type="tns:IdentityGeneration" minOccurs="0" maxOccurs="1" />
            <element name="is_nullable" type="boolean" minOccurs="0" maxOccurs="1" />
            <element name="column_default" type="string" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
            <element name="hidden" type="boolean" minOccurs="0" maxOccurs="1" />
            <element name="readonly" type="boolean" minOccurs="0" maxOccurs="1" />
            <element name="is_generated" type="boolean" minOccurs="0" maxOccurs="1" />
            <element name="generation_expression" type="string" minOccurs="0" maxOccurs="1" />
            <element name="generation_option" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>
    
    <complexType name="DomainConstraints">
        <sequence>
            <element name="domainConstraint" type="tns:DomainConstraint" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
    </complexType>
    
    <complexType name="DomainConstraint">
        <all>
            <element name="constraint_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="constraint_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="constraint_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="domain_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="domain_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="domain_name" type="string" minOccurs="1" maxOccurs="1" />
        </all>
    </complexType>
    
    <complexType name="UserDefinedTypes">
        <sequence>
            <element name="userDefinedType" type="tns:UserDefinedType" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
    </complexType>
    
    <complexType name="UserDefinedType">
        <all>
            <element name="user_defined_type_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="user_defined_type_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="user_defined_type_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="user_defined_type_category" type="tns:UserDefinedTypeCategory" minOccurs="0" maxOccurs="1" />
            <element name="is_instantiable" type="boolean" minOccurs="0" maxOccurs="1" />
            <element name="is_final" type="boolean" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="Attributes">
        <sequence>
            <element name="attribute" type="tns:Attribute" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
    </complexType>
    
    <complexType name="Attribute">
        <all>
            <element name="udt_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="attribute_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="ordinal_position" type="int" minOccurs="1" maxOccurs="1" />
            <element name="attribute_default" type="string" minOccurs="0" maxOccurs="1" />
            <element name="data_type" type="string" minOccurs="1" maxOccurs="1" />
            <element name="character_maximum_length" type="int" minOccurs="0" maxOccurs="1" />
            <element name="character_length_unit" type="tns:LengthUnit" minOccurs="0" maxOccurs="1" />
            <element name="numeric_precision" type="int" minOccurs="0" maxOccurs="1" />
            <element name="numeric_scale" type="int" minOccurs="0" maxOccurs="1" />
            <element name="attribute_udt_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="attribute_udt_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="attribute_udt_name" type="string" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="DirectSupertypes">
        <sequence>
            <element name="directSupertype" type="tns:DirectSupertype" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
    </complexType>
    
    <complexType name="DirectSupertype">
        <all>
            <element name="udt_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="supertype_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="supertype_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="supertype_name" type="string" minOccurs="1" maxOccurs="1" />
        </all>
    </complexType>
    
    <complexType name="Domains">
        <sequence>
            <element name="domain" type="tns:Domain" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
    </complexType>
    
    <complexType name="Domain">
        <all>
            <element name="domain_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="domain_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="domain_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="data_type" type="string" minOccurs="1" maxOccurs="1" />
            <element name="character_maximum_length" type="int" minOccurs="0" maxOccurs="1" />
            <element name="character_length_unit" type="tns:LengthUnit" minOccurs="0" maxOccurs="1" />
            <element name="numeric_precision" type="int" minOccurs="0" maxOccurs="1" />
            <element name="numeric_scale" type="int" minOccurs="0" maxOccurs="1" />
            <element name="domain_default" type="string" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="ElementTypes">
        <sequence>
            <element name="element_type" type="tns:ElementType" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="ElementType">
        <all>
            <element name="object_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="object_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="object_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="object_type" type="string" minOccurs="1" maxOccurs="1" />
            <element name="data_type" type="string" minOccurs="1" maxOccurs="1" />
            <element name="character_maximum_length" type="int" minOccurs="0" maxOccurs="1" />
            <element name="character_length_unit" type="tns:LengthUnit" minOccurs="0" maxOccurs="1" />
            <element name="numeric_precision" type="int" minOccurs="0" maxOccurs="1" />
            <element name="numeric_scale" type="int" minOccurs="0" maxOccurs="1" />
            <element name="udt_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_name" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>
    
    <complexType name="IndexColumnUsages">
        <sequence>
            <element name="index_column_usage" type="tns:IndexColumnUsage" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="IndexColumnUsage">
        <all>
            <element name="index_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="index_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="index_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="table_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="column_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="ordinal_position" type="int" minOccurs="1" maxOccurs="1" />
            <element name="is_descending" type="boolean" minOccurs="0" maxOccurs="1"/>
        </all>
    </complexType>

    <complexType name="Indexes">
        <sequence>
            <element name="index" type="tns:Index" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="Index">
        <all>
            <element name="index_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="index_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="index_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="table_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="is_unique" type="boolean" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="KeyColumnUsages">
        <sequence>
            <element name="key_column_usage" type="tns:KeyColumnUsage" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="KeyColumnUsage">
        <all>
            <element name="column_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="constraint_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="constraint_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="constraint_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="ordinal_position" type="int" minOccurs="1" maxOccurs="1" />
            <element name="position_in_unique_constraint" type="int" minOccurs="0" maxOccurs="1" />
            <element name="table_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_name" type="string" minOccurs="1" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="Parameters">
        <sequence>
            <element name="parameter" type="tns:Parameter" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="Parameter">
        <all>
            <element name="specific_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="specific_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="specific_package" type="string" minOccurs="0" maxOccurs="1" />
            <element name="specific_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="ordinal_position" type="int" minOccurs="1" maxOccurs="1" />
            <element name="parameter_mode" type="tns:ParameterMode" minOccurs="1" maxOccurs="1" />
            <element name="parameter_name" type="string" minOccurs="0" maxOccurs="1" />
            <element name="data_type" type="string" minOccurs="0" maxOccurs="1" />
            <element name="character_maximum_length" type="int" minOccurs="0" maxOccurs="1" />
            <element name="character_length_unit" type="tns:LengthUnit" minOccurs="0" maxOccurs="1" />
            <element name="numeric_precision" type="int" minOccurs="0" maxOccurs="1" />
            <element name="numeric_scale" type="int" minOccurs="0" maxOccurs="1" />
            <element name="udt_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_name" type="string" minOccurs="0" maxOccurs="1" />
            <element name="parameter_default" type="string" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="ReferentialConstraints">
        <sequence>
            <element name="referential_constraint" type="tns:ReferentialConstraint" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="ReferentialConstraint">
        <all>
            <element name="constraint_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="constraint_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="constraint_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="unique_constraint_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="unique_constraint_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="unique_constraint_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="delete_rule" type="tns:ForeignKeyRule" minOccurs="0" maxOccurs="1" />
            <element name="update_rule" type="tns:ForeignKeyRule" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="Routines">
        <sequence>
            <element name="routine" type="tns:Routine" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="Routine">
        <all>
            <element name="specific_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="specific_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="specific_package" type="string" minOccurs="0" maxOccurs="1" />
            <element name="specific_name" type="string" minOccurs="0" maxOccurs="1" />
            <element name="routine_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="routine_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="routine_package" type="string" minOccurs="0" maxOccurs="1" />
            <element name="routine_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="routine_type" type="tns:RoutineType" minOccurs="1" maxOccurs="1" />
            <element name="data_type" type="string" minOccurs="0" maxOccurs="1" />
            <element name="character_maximum_length" type="int" minOccurs="0" maxOccurs="1" />
            <element name="character_length_unit" type="tns:LengthUnit" minOccurs="0" maxOccurs="1" />
            <element name="numeric_precision" type="int" minOccurs="0" maxOccurs="1" />
            <element name="numeric_scale" type="int" minOccurs="0" maxOccurs="1" />
            <element name="udt_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="udt_name" type="string" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="Schemata">
        <sequence>
            <element name="schema" type="tns:Schema" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="Schema">
        <all>
            <element name="catalog_name" type="string" minOccurs="0" maxOccurs="1" />
            <element name="schema_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="Sequences">
        <sequence>
            <element name="sequence" type="tns:Sequence" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="Sequence">
        <all>
            <element name="sequence_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="sequence_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="sequence_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="data_type" type="string" minOccurs="1" maxOccurs="1" />
            <element name="character_maximum_length" type="int" minOccurs="0" maxOccurs="1" />
            <element name="character_length_unit" type="tns:LengthUnit" minOccurs="0" maxOccurs="1" />
            <element name="numeric_precision" type="int" minOccurs="0" maxOccurs="1" />
            <element name="numeric_scale" type="int" minOccurs="0" maxOccurs="1" />
            <element name="start_value" type="integer" minOccurs="0" maxOccurs="1" />
            <element name="increment" type="integer" minOccurs="0" maxOccurs="1" />
            <element name="minimum_value" type="integer" minOccurs="0" maxOccurs="1" />
            <element name="maximum_value" type="integer" minOccurs="0" maxOccurs="1" />
            <element name="cycle_option" type="boolean" minOccurs="0" maxOccurs="1" />
            <element name="cache" type="integer" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="TableConstraints">
        <sequence>
            <element name="table_constraint" type="tns:TableConstraint" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="TableConstraint">
        <all>
            <element name="constraint_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="constraint_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="constraint_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="constraint_type" type="tns:TableConstraintType" minOccurs="1" maxOccurs="1" />
            <element name="table_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
            <element name="enforced" type="boolean" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="Tables">
        <sequence>
            <element name="table" type="tns:Table" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="Table">
        <all>
            <element name="table_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="table_type" type="tns:TableType" minOccurs="0" maxOccurs="1" default="BASE TABLE"/>
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>

    <complexType name="Views">
        <sequence>
            <element name="view" type="tns:View" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="View">
        <all>
            <element name="table_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="table_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="view_definition" type="string" minOccurs="1" maxOccurs="1"/>
        </all>
    </complexType>
    
    <complexType name="Triggers">
        <sequence>
            <element name="trigger" type="tns:Trigger" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="Trigger">
        <all>
            <element name="trigger_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="trigger_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="trigger_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="event_manipulation" type="tns:TriggerEventManipulation" minOccurs="1" maxOccurs="1" />
            <element name="event_object_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="event_object_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="event_object_table" type="string" minOccurs="1" maxOccurs="1" />
            <element name="action_order" type="int" minOccurs="0" maxOccurs="1" />
            <element name="action_condition" type="string" minOccurs="0" maxOccurs="1" />
            <element name="action_statement" type="string" minOccurs="1" maxOccurs="1" />
            <element name="action_orientation" type="tns:TriggerActionOrientation" minOccurs="1" maxOccurs="1" />
            <element name="action_timing" type="tns:TriggerActionTiming" minOccurs="1" maxOccurs="1" />
            <element name="action_reference_old_table" type="string" minOccurs="0" maxOccurs="1" />
            <element name="action_reference_new_table" type="string" minOccurs="0" maxOccurs="1" />
            <element name="action_reference_old_row" type="string" minOccurs="0" maxOccurs="1" />
            <element name="action_reference_new_row" type="string" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>
    
    <complexType name="Synonyms">
        <sequence>
            <element name="synonym" type="tns:Synonym" minOccurs="0" maxOccurs="unbounded" />
        </sequence>
    </complexType>

    <complexType name="Synonym">
        <all>
            <element name="synonym_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="synonym_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="synonym_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="object_catalog" type="string" minOccurs="0" maxOccurs="1" />
            <element name="object_schema" type="string" minOccurs="0" maxOccurs="1" />
            <element name="object_name" type="string" minOccurs="1" maxOccurs="1" />
            <element name="is_public" type="boolean" minOccurs="0" maxOccurs="1" />
            <element name="comment" type="string" minOccurs="0" maxOccurs="1" />
        </all>
    </complexType>
    
    <simpleType name="TriggerEventManipulation">
        <restriction base="string">
            <enumeration value="INSERT">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether the trigger should fire on INSERT.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="UPDATE">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether the trigger should fire on UPDATE.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="DELETE">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether the trigger should fire on DELETE.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
        </restriction>
    </simpleType>

    <simpleType name="TriggerActionOrientation">
        <restriction base="string">
            <enumeration value="ROW">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether the trigger should fire once per ROW.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="STATEMENT">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether the trigger should fire once per STATEMENT.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
        </restriction>
    </simpleType>

    <simpleType name="TriggerActionTiming">
        <restriction base="string">
            <enumeration value="BEFORE">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether the trigger should fire BEFORE each {@link TriggerActionOrientation#ROW} or {@link TriggerActionOrientation#STATEMENT}.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="AFTER">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether the trigger should fire AFTER each {@link TriggerActionOrientation#ROW} or {@link TriggerActionOrientation#STATEMENT}.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="INSTEAD_OF">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Whether the trigger should fire INSTEAD OF each {@link TriggerActionOrientation#ROW} or {@link TriggerActionOrientation#STATEMENT}.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
        </restriction>
    </simpleType>
    
    <simpleType name="IdentityGeneration">
        <restriction base="string">
            <enumeration value="ALWAYS"/>
            <enumeration value="BY DEFAULT"/>
            <enumeration value="YES">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[@deprecated - historic alternative for <code>BY DEFAULT</code>, do not reuse.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
        </restriction>
    </simpleType>
    
    <simpleType name="LengthUnit">
        <restriction base="string">
            <enumeration value="CHARACTERS"/>
            <enumeration value="OCTETS"/>
        </restriction>
    </simpleType>
    
    <simpleType name="UserDefinedTypeCategory">
        <restriction base="string">
            <enumeration value="STRUCTURED"/>
            <enumeration value="DISTINCT"/>
        </restriction>
    </simpleType>
    
    <simpleType name="ObjectType">
        <restriction base="string">
            <enumeration value="DOMAIN"/>
            <enumeration value="ROUTINE"/>
            <enumeration value="TABLE"/>
            <enumeration value="USER-DEFINED TYPE"/>
        </restriction>
    </simpleType>

    <simpleType name="ParameterMode">
        <restriction base="string">
            <enumeration value="IN">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The parameter is an IN parameter.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="INOUT">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The parameter is an IN/OUT parameter.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="OUT">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The parameter is an OUT parameter.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
        </restriction>
    </simpleType>

    <simpleType name="RoutineType">
        <restriction base="string">
            <enumeration value="FUNCTION">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The routine is a FUNCTION.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="PROCEDURE">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The routine is a PROCEDURE.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
        </restriction>
    </simpleType>

    <simpleType name="TableConstraintType">
        <restriction base="string">
            <enumeration value="PRIMARY KEY">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The constraint is a PRIMARY KEY constraint.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="UNIQUE">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The constraint is a UNIQUE constraint.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="CHECK">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The constraint is a CHECK constraint.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="FOREIGN KEY">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The constraint is a FOREIGN KEY constraint.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
        </restriction>
    </simpleType>
    
    <simpleType name="TableType">
        <restriction base="string">
            <enumeration value="BASE TABLE">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The table is an ordinary table, or a table whose type isn't recognised by jOOQ (yet).]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="VIEW">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The table is a VIEW.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="MATERIALIZED VIEW">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The table is a MATERIALIZED VIEW.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="GLOBAL TEMPORARY">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The table is a GLOBAL TEMPORARY table.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="LOCAL TEMPORARY">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The table is a LOCAL TEMPORARY table.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
        </restriction>
    </simpleType>
    
    <simpleType name="ForeignKeyRule">
        <restriction base="string">
            <enumeration value="CASCADE">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The DELETE or UPDATE rule is for changes to the referenced table to CASCADE to the referencing table.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="SET NULL">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The DELETE or UPDATE rule is for changes to the referenced table to result in SET NULL actions in the referencing table.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="SET DEFAULT">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The DELETE or UPDATE rule is for changes to the referenced table to result in SET DELETE actions in the referencing table.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="RESTRICT">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The DELETE or UPDATE rule is to RESTRICT changes to the referenced table.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
            <enumeration value="NO ACTION">
                <annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[The DELETE or UPDATE rule is to take NO ACTION on changes to the referenced table. This is similar to {@link #RESTRICT}, but allows for checks to be deferred.]]></jxb:javadoc></jxb:property></appinfo></annotation>
            </enumeration>
        </restriction>
    </simpleType>
</schema>
