You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by di...@apache.org on 2011/11/28 16:45:00 UTC
svn commit: r1207320 [3/3] - in /openjpa/trunk:
openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/
openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/
openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/fet...
Added: openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/openjpa-orm.xsd
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/openjpa-orm.xsd?rev=1207320&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/openjpa-orm.xsd (added)
+++ openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/openjpa-orm.xsd Mon Nov 28 15:44:58 2011
@@ -0,0 +1,1189 @@
+<?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.
+-->
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.apache.org/openjpa/ns/orm"
+ xmlns:openjpa-orm="http://www.apache.org/openjpa/ns/orm"
+ xmlns:extendable-orm="http://www.apache.org/openjpa/ns/orm/extendable"
+ xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="1.0">
+
+ <xsd:import namespace="http://www.apache.org/openjpa/ns/orm/extendable"/>
+ <xsd:import namespace="http://java.sun.com/xml/ns/persistence/orm"/>
+
+ <!-- **************************************************** -->
+ <xsd:element name="openjpa-version" substitutionGroup="extendable-orm:ext-version"
+ type="openjpa-orm:version-type"/>
+
+ <xsd:complexType name="version-type">
+ <xsd:attribute name="version" type="orm:versionType"
+ fixed="1.0" use="required"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:element name="entity" substitutionGroup="extendable-orm:ext-entity"
+ type="openjpa-orm:entity-type"/>
+
+ <xsd:complexType name="entity-type">
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="fetch-group" type="openjpa-orm:fetch-group-type"
+ minOccurs="0" />
+ <xsd:element name="fetch-groups" type="openjpa-orm:fetch-groups-type"
+ minOccurs="0" />
+ </xsd:choice>
+ <xsd:element name="data-cache" type="openjpa-orm:data-cache-type"
+ minOccurs="0" />
+ <xsd:element name="data-store-id" type="openjpa-orm:data-store-id-type"
+ minOccurs="0" />
+ <xsd:element name="data-store-id-column" type="openjpa-orm:data-store-id-column-type"
+ minOccurs="0" />
+ <xsd:choice>
+ <xsd:element name="version-column" type="openjpa-orm:version-column-type"
+ minOccurs="0" />
+ <xsd:element name="version-columns" type="openjpa-orm:version-columns-type"
+ minOccurs="0" />
+ </xsd:choice>
+ <!-- not implemented -->
+ <xsd:element name="managed-interface" type="openjpa-orm:managed-interface-type"
+ minOccurs="0" />
+ </xsd:sequence>
+ <!-- not tested -->
+ <xsd:attribute name="strategy" type="xsd:string" />
+ <xsd:attribute name="version-strategy" type="xsd:string" />
+ <xsd:attribute name="discriminator-strategy" type="xsd:string" />
+ <!-- not tested -->
+ <xsd:attribute name="subclass-fetch-mode" type="openjpa-orm:fetch-mode-type" />
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- incomplete -->
+ <xsd:element name="mapped-superclass" substitutionGroup="extendable-orm:ext-mapped-superclass"
+ type="openjpa-orm:mapped-superclass-type"/>
+
+ <xsd:complexType name="mapped-superclass-type">
+ <xsd:sequence>
+ <!-- not implemented -->
+ <xsd:element name="managed-interface" type="openjpa-orm:managed-interface-type"
+ minOccurs="0" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- incomplete -->
+ <xsd:element name="embeddable" substitutionGroup="extendable-orm:ext-embeddable"
+ type="openjpa-orm:embeddable-type"/>
+
+ <xsd:complexType name="embeddable-type">
+ <xsd:sequence>
+ <!-- not implemented -->
+ <xsd:element name="managed-interface" type="openjpa-orm:managed-interface-type"
+ minOccurs="0" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:element name="attributes" substitutionGroup="extendable-orm:ext-attributes"
+ type="openjpa-orm:attributes-type"/>
+
+ <xsd:complexType name="attributes-type">
+ <xsd:sequence>
+ <xsd:element name="persistent" type="openjpa-orm:persistent-type"
+ minOccurs="0"/>
+ <!-- not implemented -->
+ <xsd:element name="persistent-collection" type="openjpa-orm:persistent-collection-type"
+ minOccurs="0"/>
+ <!-- not implemented -->
+ <xsd:element name="persistent-map" type="openjpa-orm:persistent-map-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:element name="basic" substitutionGroup="extendable-orm:ext-basic"
+ type="openjpa-orm:basic-type"/>
+
+ <!-- incomplete -->
+ <xsd:complexType name="basic-type">
+ <xsd:complexContent>
+ <xsd:extension base="openjpa-orm:common-type">
+ <xsd:sequence>
+ <xsd:element name="external-values" type="openjpa-orm:external-values-type"
+ minOccurs="0"/>
+ <!-- not tested -->
+ <xsd:element name="foreign-key" type="openjpa-orm:foreign-key-type"
+ minOccurs="0"/>
+ <xsd:element name="generated-value" type="orm:generated-value"
+ minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="type" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="common-type">
+ <xsd:sequence>
+ <!-- only tested for basic type -->
+ <xsd:element name="read-only" type="openjpa-orm:read-only-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <!-- only tested for basic type -->
+ <xsd:attribute name="load-fetch-group" type="xsd:string"/>
+ <!-- only tested for persistent type -->
+ <xsd:attribute name="externalizer" type="xsd:string"/>
+ <!-- only tested for persistent type -->
+ <xsd:attribute name="factory" type="xsd:string"/>
+ <!-- only tested for persistent type -->
+ <xsd:attribute name="strategy" type="xsd:string"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:element name="embedded" substitutionGroup="extendable-orm:ext-embedded"
+ type="openjpa-orm:embedded-type"/>
+
+ <!-- incomplete -->
+ <xsd:complexType name="embedded-type">
+ <xsd:complexContent>
+ <xsd:extension base="openjpa-orm:common-type">
+ <xsd:sequence>
+ <xsd:choice>
+ <!-- not implemented -->
+ <xsd:element name="mapping-override" type="openjpa-orm:mapping-override-type"
+ minOccurs="0"/>
+ <!-- not implemented -->
+ <xsd:element name="mapping-overrides" type="openjpa-orm:mapping-overrides-type"
+ minOccurs="0"/>
+ <!-- not implemented -->
+ <xsd:element name="embedded-mapping" type="openjpa-orm:embedded-mapping-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <!-- not tested -->
+ <xsd:attribute name="dependent" type="xsd:boolean"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:element name="element-collection" substitutionGroup="extendable-orm:ext-element-collection"
+ type="openjpa-orm:element-collection-type"/>
+
+ <!-- incomplete -->
+ <xsd:complexType name="element-collection-type">
+ <xsd:complexContent>
+ <xsd:extension base="openjpa-orm:common-type">
+ <xsd:sequence>
+ <!-- not implemented -->
+ <xsd:element name="element-foreign-key" type="openjpa-orm:collection-foreign-key-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <!-- not tested -->
+ <xsd:attribute name="dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="element-dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="key-dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="element-type" type="xsd:string"/>
+ <!-- not tested -->
+ <xsd:attribute name="lrs" type="xsd:boolean"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:element name="many-to-one" substitutionGroup="extendable-orm:ext-many-to-one"
+ type="openjpa-orm:many-to-one-type"/>
+
+ <!-- incomplete -->
+ <xsd:complexType name="many-to-one-type">
+ <xsd:complexContent>
+ <xsd:extension base="openjpa-orm:common-type">
+ <xsd:sequence>
+ <xsd:choice>
+ <!-- not implemented -->
+ <xsd:element name="x-join-columns" type="openjpa-orm:x-join-columns-type"
+ minOccurs="0"/>
+ <!-- not implemented -->
+ <xsd:element name="x-join-column" type="openjpa-orm:x-join-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="foreign-key" type="openjpa-orm:foreign-key-type"
+ minOccurs="0"/>
+ <!-- not implemented -->
+ <xsd:element name="index" type="openjpa-orm:index-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="dependent" type="xsd:boolean"/>
+ <!-- not tested for many-to-one -->
+ <xsd:attribute name="type" type="xsd:string"/>
+ <!-- not implemented -->
+ <xsd:attribute name="nonpolymorphic" type="openjpa-orm:nonpolymorphic-type"/>
+ <xsd:attribute name="inverse-logical" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:element name="one-to-one" substitutionGroup="extendable-orm:ext-one-to-one"
+ type="openjpa-orm:one-to-one-type"/>
+
+ <!-- incomplete -->
+ <xsd:complexType name="one-to-one-type">
+ <xsd:complexContent>
+ <xsd:extension base="openjpa-orm:common-type">
+ <xsd:sequence>
+ <xsd:choice>
+ <!-- not implemented -->
+ <xsd:element name="x-join-columns" type="openjpa-orm:x-join-columns-type"
+ minOccurs="0"/>
+ <!-- not implemented -->
+ <xsd:element name="x-join-column" type="openjpa-orm:x-join-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <!-- not tested -->
+ <xsd:element name="foreign-key" type="openjpa-orm:foreign-key-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <!-- not tested -->
+ <xsd:attribute name="inverse-logical" type="xsd:string"/>
+ <!-- not tested -->
+ <xsd:attribute name="dependent" type="xsd:boolean"/>
+ <!-- not tested for one-to-one -->
+ <xsd:attribute name="type" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:element name="one-to-many" substitutionGroup="extendable-orm:ext-one-to-many"
+ type="openjpa-orm:one-to-many-type"/>
+
+ <!-- incomplete -->
+ <xsd:complexType name="one-to-many-type">
+ <xsd:complexContent>
+ <xsd:extension base="openjpa-orm:common-type">
+ <xsd:sequence>
+ <xsd:choice>
+ <!-- not implemented -->
+ <xsd:element name="x-join-columns" type="openjpa-orm:x-join-columns-type"
+ minOccurs="0"/>
+ <!-- not implemented -->
+ <xsd:element name="x-join-column" type="openjpa-orm:x-join-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <!-- not implemented -->
+ <xsd:element name="key-columns" type="openjpa-orm:key-columns-type"
+ minOccurs="0"/>
+ <!-- not implemented -->
+ <xsd:element name="key-column" type="openjpa-orm:key-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <!-- not implemented -->
+ <xsd:element name="element-foreign-key" type="openjpa-orm:collection-foreign-key-type"
+ minOccurs="0"/>
+ <!-- TODO: code - make sure not specified with order-by -->
+ <!-- not tested -->
+ <xsd:element name="order-column" type="openjpa-orm:order-column"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <!-- not tested -->
+ <xsd:attribute name="dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="element-dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="key-dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="element-type" type="xsd:string"/>
+ <!-- not tested -->
+ <xsd:attribute name="key-type" type="xsd:string"/>
+ <!-- not tested -->
+ <xsd:attribute name="lrs" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="inverse-logical" type="xsd:string"/>
+ <!-- not tested -->
+ <xsd:attribute name="element-class-criteria" type="xsd:boolean"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:element name="many-to-many" substitutionGroup="extendable-orm:ext-many-to-many"
+ type="openjpa-orm:many-to-many-type"/>
+
+ <!-- incomplete -->
+ <xsd:complexType name="many-to-many-type">
+ <xsd:complexContent>
+ <xsd:extension base="openjpa-orm:common-type">
+ <xsd:sequence>
+ <!-- not implemented -->
+ <xsd:element name="element-foreign-key" type="openjpa-orm:collection-foreign-key-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <!-- not tested -->
+ <xsd:attribute name="dependent" type="xsd:boolean"/>
+ <xsd:attribute name="element-dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="key-dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="element-type" type="xsd:string"/>
+ <!-- not tested -->
+ <xsd:attribute name="key-type" type="xsd:string"/>
+ <xsd:attribute name="lrs" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="inverse-logical" type="xsd:string" />
+ <xsd:attribute name="eager-fetch-mode" type="openjpa-orm:fetch-mode-type"/>
+ <xsd:attribute name="element-class-criteria" type="xsd:boolean"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="fetch-groups-type">
+ <xsd:sequence>
+ <xsd:element name="fetch-group" type="openjpa-orm:fetch-group-type"
+ minOccurs="1" maxOccurs="unbounded">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="fetch-group-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ String name() default "";
+ boolean postLoad() default false;
+ FetchAttribute[] attributes() default {};
+ String[] fetchGroups() default {};
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="fetch-attribute" type="openjpa-orm:fetch-attribute-type"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="referenced-fetch-group" type="xsd:string"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="post-load" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="fetch-attribute-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ String name() default "";
+ int recursionDepth() default Integer.MIN_VALUE;
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="recursion-depth" type="xsd:int" default="-1"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="data-cache-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ TYPE }) @Retention(RUNTIME)
+ public @interface DataCache {
+ boolean enabled() default true;
+ String name() default "";
+ int timeout() default Integer.MIN_VALUE;
+ }
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="enabled" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="timeout" type="xsd:int" default="-1"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="read-only-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ UpdateAction value() default UpdateAction.RESTRICT;
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="update-action" type="openjpa-orm:update-action-type" default="RESTRICT"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:simpleType name="update-action-type">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="IGNORE" />
+ <xsd:enumeration value="RESTRICT" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="external-values-type">
+ <xsd:sequence>
+ <xsd:element name="external-value" type="openjpa-orm:external-value-type"
+ minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="external-value-type">
+ <xsd:attribute name="java-value" type="xsd:string" use="required"/>
+ <xsd:attribute name="datastore-value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="data-store-id-column-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ TYPE })@Retention(RUNTIME)
+ String name() default "";
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ int precision() default 0; // decimal precision
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"
+ default=""/>
+ <xsd:attribute name="insertable" type="xsd:boolean"
+ default="true"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"
+ default="true"/>
+ <xsd:attribute name="column-definition" type="xsd:string"
+ default=""/>
+ <xsd:attribute name="precision" type="xsd:int"
+ default="0"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="version-columns-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ TYPE }) @Retention(RUNTIME)
+ VersionColumn[] value() default {};
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="version-column" type="openjpa-orm:version-column-type"
+ minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="version-column-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ TYPE }) @Retention(RUNTIME)
+ String name() default "";
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ int length() default 255;
+ int precision() default 0; // decimal precision
+ int scale() default 0; // decimal scale
+ String table() default "";
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"
+ default=""/>
+ <xsd:attribute name="nullable" type="xsd:boolean"
+ default="true"/>
+ <xsd:attribute name="insertable" type="xsd:boolean"
+ default="true"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"
+ default="true"/>
+ <xsd:attribute name="column-definition" type="xsd:string"
+ default=""/>
+ <xsd:attribute name="length" type="xsd:int"
+ default="255"/>
+ <xsd:attribute name="precision" type="xsd:int"
+ default="0"/>
+ <xsd:attribute name="scale" type="xsd:int"
+ default="0"/>
+ <xsd:attribute name="table" type="xsd:string"
+ default=""/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="columns-type">
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column"
+ minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- TODO: add to other types such as association-override? -->
+ <!-- not implemented -->
+ <xsd:complexType name="x-join-columns-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ XJoinColumn[] value() default {};
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="x-join-column" type="openjpa-orm:x-join-column-type"
+ minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- not implemented -->
+ <xsd:complexType name="x-join-column-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String name() default "";
+ String referencedColumnName() default "";
+ String referencedAttributeName() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string" default=""/>
+ <xsd:attribute name="referenced-attribute-name" type="xsd:string" default=""/>
+ <xsd:attribute name="unique" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="column-definition" type="xsd:string" default=""/>
+ <xsd:attribute name="table" type="xsd:string" default=""/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="persistent-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String mappedBy() default "";
+ CascadeType[] cascade() default {};
+ boolean optional() default true;
+ boolean embedded() default false;
+ FetchType fetch() default FetchType.EAGER;
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexContent>
+ <xsd:extension base="openjpa-orm:common-type">
+ <xsd:sequence>
+ <!-- not tested -->
+ <xsd:element name="cascade" type="orm:cascade-type"
+ minOccurs="0" />
+ <!-- not tested -->
+ <xsd:element name="enumerated" type="orm:enumerated"
+ minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="columns" type="openjpa-orm:columns-type"
+ minOccurs="0"/>
+ <xsd:element name="column" type="orm:column"
+ minOccurs="0"/>
+ </xsd:choice>
+ <!-- not implemented -->
+ <xsd:element name="index" type="openjpa-orm:index-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ <!-- TODO: Are these 2 mutually exclusive? Make check in code. -->
+ <!-- not implemented -->
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ <!-- not tested -->
+ <xsd:attribute name="inverse-logical" type="xsd:string"/>
+ <!-- not implemented -->
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ <!-- not implemented -->
+ <xsd:attribute name="embedded" type="xsd:boolean"/>
+ <!-- not implemented -->
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <!-- not tested -->
+ <xsd:attribute name="dependent" type="xsd:boolean"/>
+ <!-- not tested for persistent type -->
+ <xsd:attribute name="type" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- not implemented -->
+ <xsd:complexType name="persistent-collection-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String mappedBy() default "";
+ Class elementType() default void.class;
+ CascadeType[] elementCascade() default {};
+ boolean elementEmbedded() default false;
+ FetchType fetch() default FetchType.LAZY;
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexContent>
+ <xsd:extension base="openjpa-orm:common-type">
+ <xsd:sequence>
+ <xsd:element name="element-cascade" type="orm:cascade-type"
+ minOccurs="0" />
+ <!-- not implemented -->
+ <xsd:element name="key-foreign-key" type="openjpa-orm:collection-foreign-key-type"
+ minOccurs="0"/>
+ <!-- not implemented -->
+ <xsd:element name="element-foreign-key" type="openjpa-orm:collection-foreign-key-type"
+ minOccurs="0"/>
+ <xsd:element name="container-table" type="openjpa-orm:container-table-type"
+ minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="element-columns" type="openjpa-orm:element-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="element-column" type="openjpa-orm:element-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="element-join-columns" type="openjpa-orm:element-join-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="element-join-column" type="openjpa-orm:element-join-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="key-columns" type="openjpa-orm:key-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="key-column" type="openjpa-orm:key-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="x-mapping-override" type="openjpa-orm:x-mapping-override-type"
+ minOccurs="0"/>
+ <xsd:element name="x-mapping-overrides" type="openjpa-orm:x-mapping-overrides-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="element-embedded-mapping" type="openjpa-orm:element-embedded-mapping-type"
+ minOccurs="0"/>
+ <xsd:element name="element-index" type="openjpa-orm:element-index-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ <!-- not tested -->
+ <xsd:attribute name="inverse-logical" type="xsd:string"/>
+ <!-- not tested -->
+ <xsd:attribute name="element-type" type="xsd:string"/>
+ <xsd:attribute name="element-embedded" type="xsd:boolean"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <!-- not tested -->
+ <xsd:attribute name="dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="element-dependent" type="xsd:boolean"/>
+ <xsd:attribute name="lrs" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="element-nonpolymorphic" type="openjpa-orm:nonpolymorphic-type"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- not implemented -->
+ <xsd:complexType name="persistent-map-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ Class keyType() default void.class;
+ Class elementType() default void.class;
+ CascadeType[] keyCascade() default {};
+ CascadeType[] elementCascade() default {};
+ boolean keyEmbedded() default false;
+ boolean elementEmbedded() default false;
+ FetchType fetch() default FetchType.LAZY;
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexContent>
+ <xsd:extension base="openjpa-orm:common-type">
+ <xsd:sequence>
+ <xsd:element name="element-cascade" type="orm:cascade-type"
+ minOccurs="0" />
+ <xsd:element name="key-cascade" type="orm:cascade-type"
+ minOccurs="0" />
+ <xsd:element name="element-foreign-key" type="openjpa-orm:collection-foreign-key-type"
+ minOccurs="0"/>
+ <xsd:element name="container-table" type="openjpa-orm:container-table-type"
+ minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="key-columns" type="openjpa-orm:key-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="key-column" type="openjpa-orm:key-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="element-columns" type="openjpa-orm:element-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="element-column" type="openjpa-orm:element-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="key-join-columns" type="openjpa-orm:key-join-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="key-join-column" type="openjpa-orm:key-join-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="element-join-columns" type="openjpa-orm:element-join-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="element-join-column" type="openjpa-orm:element-join-column-type"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="key-index" type="openjpa-orm:key-index-type"
+ minOccurs="0"/>
+ <xsd:element name="element-index" type="openjpa-orm:element-index-type"
+ minOccurs="0"/>
+ <xsd:element name="order-column" type="openjpa-orm:order-column"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ <!-- not tested -->
+ <xsd:attribute name="element-type" type="xsd:string"/>
+ <!-- not tested -->
+ <xsd:attribute name="key-type" type="xsd:string"/>
+ <xsd:attribute name="element-embedded" type="xsd:boolean"/>
+ <xsd:attribute name="key-embedded" type="xsd:boolean"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <!-- not tested -->
+ <xsd:attribute name="dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="element-dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="key-dependent" type="xsd:boolean"/>
+ <!-- not tested -->
+ <xsd:attribute name="lrs" type="xsd:boolean"/>
+ <xsd:attribute name="key-nonpolymorphic" type="openjpa-orm:nonpolymorphic-type"/>
+ <xsd:attribute name="element-nonpolymorphic" type="openjpa-orm:nonpolymorphic-type"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="index-type">
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="enabled" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="unique" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="foreign-key-type">
+ <xsd:sequence>
+ <xsd:element name="fk-column-names" type="openjpa-orm:fk-column-names"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="enabled" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="default" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="delete-action" type="openjpa-orm:foreign-key-action-type"
+ default="RESTRICT"/>
+ <xsd:attribute name="update-action" type="openjpa-orm:foreign-key-action-type"
+ default="RESTRICT"/>
+ <xsd:attribute name="specified" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="implicit" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- notimplemented -->
+ <xsd:complexType name="collection-foreign-key-type">
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="enabled" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="default" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="delete-action" type="openjpa-orm:foreign-key-action-type"
+ default="RESTRICT"/>
+ <xsd:attribute name="update-action" type="openjpa-orm:foreign-key-action-type"
+ default="RESTRICT"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:simpleType name="foreign-key-action-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ public enum ForeignKeyAction {
+ RESTRICT,
+ CASCADE,
+ NULL,
+ DEFAULT
+ }
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="RESTRICT" />
+ <xsd:enumeration value="CASCADE" />
+ <xsd:enumeration value="NULL" />
+ <xsd:enumeration value="DEFAULT" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="element-join-columns-type">
+ <xsd:sequence>
+ <xsd:element name="element-join-column" type="openjpa-orm:element-join-column-type"
+ minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="element-join-column-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface ElementJoinColumn {
+ String name() default "";
+ String referencedColumnName() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ }
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string" default=""/>
+ <xsd:attribute name="unique" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="column-definition" type="xsd:string" />
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- not implemented -->
+ <xsd:complexType name="mapping-overrides-type">
+ <xsd:sequence>
+ <xsd:element name="mapping-override" type="openjpa-orm:mapping-override-type"
+ minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- not implemented -->
+ <xsd:complexType name="mapping-override-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ TYPE }) @Retention(RUNTIME)
+ String name() default "";
+ Column[] columns() default {};
+ XJoinColumn[] joinColumns() default {};
+ ElementJoinColumn[] elementJoinColumns() default {};
+ ContainerTable containerTable() default @ContainerTable(specified = false);
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="columns" type="openjpa-orm:columns-type"
+ minOccurs="0"/>
+ <xsd:element name="join-columns" type="openjpa-orm:x-join-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="element-join-columns" type="openjpa-orm:element-join-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="container-table" type="openjpa-orm:container-table-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- not implemented -->
+ <xsd:complexType name="container-table-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String name() default "";
+ String catalog() default "";
+ String schema() default "";
+ XJoinColumn[] joinColumns() default {};
+ ForeignKey joinForeignKey() default @ForeignKey(specified = false);
+ Index joinIndex() default @Index(specified = false);
+ boolean specified() default true;
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="join-columns" type="openjpa-orm:x-join-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="join-foreign-key" type="openjpa-orm:foreign-key-type"
+ minOccurs="0"/>
+ <xsd:element name="join-index" type="openjpa-orm:index-type"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ <xsd:attribute name="specified" type="xsd:boolean" default="true"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- not implemented -->
+ <xsd:complexType name="embedded-mapping-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String nullIndicatorColumnName() default "";
+ String nullIndicatorAttributeName() default "";
+ MappingOverride[] overrides() default {};
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="overrides" type="openjpa-orm:mapping-overrides-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="null-indicator-column-name" type="xsd:string"
+ default=""/>
+ <xsd:attribute name="null-indicator-attribute-name" type="xsd:string"
+ default=""/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- not implemented -->
+ <xsd:complexType name="element-embedded-mapping-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String nullIndicatorColumnName() default "";
+ String nullIndicatorAttributeName() default "";
+ XMappingOverride[] overrides() default {};
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="overrides" type="openjpa-orm:x-mapping-overrides-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="null-indicator-column-name" type="xsd:string"
+ default=""/>
+ <xsd:attribute name="null-indicator-attribute-name" type="xsd:string"
+ default=""/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <!-- not implemented -->
+ <xsd:complexType name="x-embedded-mapping-type">
+ <xsd:sequence>
+ <xsd:element name="overrides" type="openjpa-orm:x-mapping-overrides-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="null-indicator-column-name" type="xsd:string"/>
+ <xsd:attribute name="null-indicator-attribute-name" type="xsd:string"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="element-columns-type">
+ <xsd:sequence>
+ <xsd:element name="element-column" type="openjpa-orm:element-column-type"
+ minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="element-column-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String name() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ int length() default 255;
+ int precision() default 0; // decimal precision
+ int scale() default 0; // decimal scale
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="unique" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="length" type="xsd:int" default="255"/>
+ <xsd:attribute name="precision" type="xsd:int" default="0"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="key-columns-type">
+ <xsd:sequence>
+ <xsd:element name="key-column" type="openjpa-orm:key-column-type"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="key-column-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String name() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ int length() default 255;
+ int precision() default 0; // decimal precision
+ int scale() default 0; // decimal scale
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="unique" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="length" type="xsd:int" default="255"/>
+ <xsd:attribute name="precision" type="xsd:int" default="0"/>
+ <xsd:attribute name="scale" type="xsd:int" default="0"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="key-join-columns-type">
+ <xsd:sequence>
+ <xsd:element name="key-join-column" type="openjpa-orm:key-join-column-type"
+ minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="key-join-column-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String name() default "";
+ String referencedColumnName() default "";
+ String referencedAttributeName() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string" default=""/>
+ <xsd:attribute name="referenced-attribute-name" type="xsd:string" default=""/>
+ <xsd:attribute name="unique" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="column-definition" type="xsd:string" default=""/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="x-mapping-overrides-type">
+ <xsd:sequence>
+ <xsd:element name="x-mapping-override" type="openjpa-orm:x-mapping-override-type"
+ minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="x-mapping-override-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ TYPE }) @Retention(RUNTIME)
+ String name() default "";
+ Column[] columns() default {};
+ XJoinColumn[] joinColumns() default {};
+ ElementColumn[] elementColumns() default {};
+ ElementJoinColumn[] elementJoinColumns() default {};
+ KeyColumn[] keyColumns() default {};
+ KeyJoinColumn[] keyJoinColumns() default {};
+ ContainerTable containerTable() default @ContainerTable(specified = false);
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="columns" type="openjpa-orm:columns-type"
+ minOccurs="0"/>
+ <xsd:element name="join-columns" type="openjpa-orm:x-join-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="element-columns" type="openjpa-orm:element-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="element-join-columns" type="openjpa-orm:element-join-columns-type"
+ minOccurs="0"/>
+ <xsd:element name="key-columns" type="openjpa-orm:key-columns-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:simpleType name="nonpolymorphic-type">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="EXACT"/>
+ <xsd:enumeration value="JOINABLE"/>
+ <xsd:enumeration value="FALSE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="element-index-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String name() default "";
+ boolean enabled() default true;
+ boolean unique() default false;
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="enabled" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="unique" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="key-index-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String name() default "";
+ boolean enabled() default true;
+ boolean unique() default false;
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="enabled" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="unique" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="managed-interface-type"/>
+ <!-- **************************************************** -->
+ <xsd:complexType name="data-store-id-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ TYPE }) @Retention(RUNTIME)
+ public @interface DataStoreId {
+ GenerationType strategy() default GenerationType.AUTO;
+ String generator() default "";
+ }
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ </xsd:sequence>
+ <xsd:attribute name="strategy" type="orm:generation-type" default="AUTO"/>
+ <xsd:attribute name="generator" type="xsd:string" default=""/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="unique-type">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({ METHOD, FIELD }) @Retention(RUNTIME)
+ String name() default "";
+ boolean enabled() default true;
+ boolean deferred() default false;
+ String[] columnNames() default {};
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column-names" type="openjpa-orm:fk-column-names"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="enabled" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="deferred" type="xsd:boolean" default="false"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:simpleType name="fetch-mode-type">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="NONE" />
+ <xsd:enumeration value="JOIN" />
+ <xsd:enumeration value="PARALLEL" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="order-column">
+ <xsd:annotation>
+ <xsd:documentation>
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OrderColumn {
+ String name() default "";
+ boolean enabled() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ int precision() default 0;
+ }
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" default=""/>
+ <xsd:attribute name="enabled" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="precision" type="xsd:integer" default="0"/>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+ <xsd:complexType name="fk-column-names">
+ <xsd:sequence>
+ <xsd:element name="fk-column-name" type="xsd:string"
+ minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!-- **************************************************** -->
+</xsd:schema>
\ No newline at end of file
Propchange: openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/openjpa-orm.xsd
------------------------------------------------------------------------------
svn:eol-style = native