You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by an...@apache.org on 2010/10/01 20:00:42 UTC
svn commit: r1003598 [2/2] - in /db/jdo/trunk/api/src/schema/javax/jdo:
jdo_3_1.dtd jdo_3_1.xsd orm_3_1.dtd orm_3_1.xsd
Added: db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.xsd
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.xsd?rev=1003598&view=auto
==============================================================================
--- db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.xsd (added)
+++ db/jdo/trunk/api/src/schema/javax/jdo/orm_3_1.xsd Fri Oct 1 18:00:42 2010
@@ -0,0 +1,882 @@
+<?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.
+-->
+<xs:schema targetNamespace="http://java.sun.com/xml/ns/jdo/orm"
+ xmlns="http://java.sun.com/xml/ns/jdo/orm"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ version="3.1">
+ <xs:element name="orm">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="extension"/>
+ <xs:element ref="package"/>
+ <xs:element ref="query"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.orm"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.orm">
+ <xs:attribute name="catalog"/>
+ <xs:attribute name="schema"/>
+ </xs:attributeGroup>
+ <xs:element name="package">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="extension"/>
+ <xs:element ref="interface"/>
+ <xs:element ref="class"/>
+ <xs:element ref="sequence"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.package"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.package">
+ <xs:attribute name="name" default=""/>
+ <xs:attribute name="catalog"/>
+ <xs:attribute name="schema"/>
+ </xs:attributeGroup>
+ <xs:element name="interface">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - datastore-identity
+ - primary-key
+ - inheritance
+ - version
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="datastore-identity"/>
+ <xs:element ref="primary-key"/>
+ <xs:element ref="inheritance"/>
+ <xs:element ref="version"/>
+ <xs:element ref="join"/>
+ <xs:element ref="foreign-key"/>
+ <xs:element ref="index"/>
+ <xs:element ref="unique"/>
+ <xs:element ref="property"/>
+ <xs:element ref="query"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.interface"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.interface">
+ <xs:attribute name="name" use="required"/>
+ <xs:attribute name="table"/>
+ <xs:attribute name="catalog"/>
+ <xs:attribute name="schema"/>
+ </xs:attributeGroup>
+ <xs:element name="property">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - join
+ - embedded
+ - key
+ - value
+ - order
+ - foreign-key
+ - index
+ - unique
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="join"/>
+ <xs:element ref="embedded"/>
+ <xs:element ref="element"/>
+ <xs:element ref="key"/>
+ <xs:element ref="value"/>
+ <xs:element ref="order"/>
+ <xs:element ref="column"/>
+ <xs:element ref="foreign-key"/>
+ <xs:element ref="index"/>
+ <xs:element ref="unique"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.property"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.property">
+ <xs:attribute name="name" use="required"/>
+ <xs:attribute name="value-strategy"/>
+ <xs:attribute name="sequence"/>
+ <xs:attribute name="serialized">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="table"/>
+ <xs:attribute name="column"/>
+ <xs:attribute name="delete-action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="indexed">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="unique"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="unique">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="mapped-by"/>
+ <xs:attribute name="recursion-depth"/>
+ <xs:attribute name="field-name"/>
+ </xs:attributeGroup>
+ <xs:element name="class">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - datastore-identity
+ - primary-key
+ - inheritance
+ - version
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="datastore-identity"/>
+ <xs:element ref="primary-key"/>
+ <xs:element ref="inheritance"/>
+ <xs:element ref="version"/>
+ <xs:element ref="join"/>
+ <xs:element ref="foreign-key"/>
+ <xs:element ref="index"/>
+ <xs:element ref="unique"/>
+ <xs:element ref="column"/>
+ <xs:element ref="field"/>
+ <xs:element ref="property"/>
+ <xs:element ref="query"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.class"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.class">
+ <xs:attribute name="name" use="required"/>
+ <xs:attribute name="table"/>
+ <xs:attribute name="catalog"/>
+ <xs:attribute name="schema"/>
+ </xs:attributeGroup>
+ <xs:element name="primary-key">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="extension"/>
+ <xs:element ref="column"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.primary-key"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.primary-key">
+ <xs:attribute name="name"/>
+ <xs:attribute name="column"/>
+ </xs:attributeGroup>
+ <xs:element name="join">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - primary-key
+ - foreign-key
+ - index
+ - unique
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="primary-key"/>
+ <xs:element ref="column"/>
+ <xs:element ref="foreign-key"/>
+ <xs:element ref="index"/>
+ <xs:element ref="unique"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.join"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.join">
+ <xs:attribute name="table"/>
+ <xs:attribute name="column"/>
+ <xs:attribute name="outer" default="false">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="delete-action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="indexed">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="unique"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="unique">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="version">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - index
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="column"/>
+ <xs:element ref="index"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.version"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.version">
+ <xs:attribute name="strategy"/>
+ <xs:attribute name="column"/>
+ <xs:attribute name="indexed">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="unique"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="datastore-identity">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="extension"/>
+ <xs:element ref="column"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.datastore-identity"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.datastore-identity">
+ <xs:attribute name="column"/>
+ <xs:attribute name="strategy" default="native"/>
+ <xs:attribute name="sequence"/>
+ </xs:attributeGroup>
+ <xs:element name="implements">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="extension"/>
+ <xs:element ref="property"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.implements"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.implements">
+ <xs:attribute name="name" use="required"/>
+ </xs:attributeGroup>
+ <xs:element name="inheritance">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - join
+ - discriminator
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="join"/>
+ <xs:element ref="discriminator"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.inheritance"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.inheritance">
+ <xs:attribute name="strategy"/>
+ </xs:attributeGroup>
+ <xs:element name="discriminator">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - index
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="column"/>
+ <xs:element ref="index"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.discriminator"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.discriminator">
+ <xs:attribute name="column"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="strategy"/>
+ <xs:attribute name="indexed">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="unique"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="column">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="attlist.column"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.column">
+ <xs:attribute name="name"/>
+ <xs:attribute name="target"/>
+ <xs:attribute name="target-field"/>
+ <xs:attribute name="jdbc-type"/>
+ <xs:attribute name="sql-type"/>
+ <xs:attribute name="length"/>
+ <xs:attribute name="scale"/>
+ <xs:attribute name="allows-null">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="default-value"/>
+ <xs:attribute name="insert-value"/>
+ </xs:attributeGroup>
+ <xs:element name="field">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - join
+ - embedded
+ - key
+ - value
+ - order
+ - foreign-key
+ - index
+ - unique
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="join"/>
+ <xs:element ref="embedded"/>
+ <xs:element ref="element"/>
+ <xs:element ref="key"/>
+ <xs:element ref="value"/>
+ <xs:element ref="order"/>
+ <xs:element ref="column"/>
+ <xs:element ref="foreign-key"/>
+ <xs:element ref="index"/>
+ <xs:element ref="unique"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.field"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.field">
+ <xs:attribute name="name" use="required"/>
+ <xs:attribute name="table"/>
+ <xs:attribute name="column"/>
+ <xs:attribute name="value-strategy"/>
+ <xs:attribute name="delete-action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="indexed">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="unique"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="unique">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="sequence"/>
+ <xs:attribute name="mapped-by"/>
+ </xs:attributeGroup>
+ <xs:element name="foreign-key">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - the choice of columns, fields and properties
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:choice minOccurs="0" maxOccurs="1">
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
+ </xs:choice>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.foreign-key"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.foreign-key">
+ <xs:attribute name="table"/>
+ <xs:attribute name="deferred">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="delete-action" default="restrict">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="update-action" default="restrict">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="unique">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="name"/>
+ </xs:attributeGroup>
+ <xs:element name="key">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - embedded
+ - foreign-key
+ - index
+ - unique
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="embedded"/>
+ <xs:element ref="column"/>
+ <xs:element ref="foreign-key"/>
+ <xs:element ref="index"/>
+ <xs:element ref="unique"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.key"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.key">
+ <xs:attribute name="column"/>
+ <xs:attribute name="table"/>
+ <xs:attribute name="delete-action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="update-action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="indexed">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="unique"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="unique">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="mapped-by"/>
+ </xs:attributeGroup>
+ <xs:element name="value">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - embedded
+ - foreign-key
+ - index
+ - unique
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="embedded"/>
+ <xs:element ref="column"/>
+ <xs:element ref="foreign-key"/>
+ <xs:element ref="index"/>
+ <xs:element ref="unique"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.value"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.value">
+ <xs:attribute name="column"/>
+ <xs:attribute name="table"/>
+ <xs:attribute name="delete-action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="update-action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="indexed">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="unique"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="unique">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="mapped-by"/>
+ </xs:attributeGroup>
+ <xs:element name="element">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - embedded
+ - foreign-key
+ - index
+ - unique
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="embedded"/>
+ <xs:element ref="column"/>
+ <xs:element ref="foreign-key"/>
+ <xs:element ref="index"/>
+ <xs:element ref="unique"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.element"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.element">
+ <xs:attribute name="column"/>
+ <xs:attribute name="table"/>
+ <xs:attribute name="delete-action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="update-action">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="restrict"/>
+ <xs:enumeration value="cascade"/>
+ <xs:enumeration value="null"/>
+ <xs:enumeration value="default"/>
+ <xs:enumeration value="none"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="indexed">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="unique"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="unique">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="mapped-by"/>
+ </xs:attributeGroup>
+ <xs:element name="order">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - index
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:element ref="column"/>
+ <xs:element ref="index"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.order"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.order">
+ <xs:attribute name="column"/>
+ <xs:attribute name="mapped-by"/>
+ </xs:attributeGroup>
+ <xs:element name="embedded">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="extension"/>
+ <xs:element ref="field"/>
+ <xs:element ref="property"/>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.embedded"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.embedded">
+ <xs:attribute name="owner-field"/>
+ <xs:attribute name="null-indicator-column"/>
+ <xs:attribute name="null-indicator-value"/>
+ </xs:attributeGroup>
+ <xs:element name="sequence">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="attlist.sequence"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.sequence">
+ <xs:attribute name="name" use="required"/>
+ <xs:attribute name="datastore-sequence"/>
+ <xs:attribute name="factory-class"/>
+ <xs:attribute name="strategy" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="nontransactional"/>
+ <xs:enumeration value="contiguous"/>
+ <xs:enumeration value="noncontiguous"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="index">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - the choice of columns, fields or properties
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
+ </xs:choice>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.index"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.index">
+ <xs:attribute name="name"/>
+ <xs:attribute name="table"/>
+ <xs:attribute name="unique" default="false">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="query">
+ <xs:complexType mixed="true">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="attlist.query"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.query">
+ <xs:attribute name="name" use="required"/>
+ <xs:attribute name="language"/>
+ <xs:attribute name="unmodifiable" default="false">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="unique">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="result-class"/>
+ </xs:attributeGroup>
+ <xs:element name="unique">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation><xs:documentation>
+ Please note,
+ the following subelements must not occur more than once:
+ - the choice of columns, fields or properties
+ </xs:documentation></xs:annotation>
+ <xs:element ref="extension"/>
+ <xs:choice>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
+ </xs:choice>
+ </xs:choice>
+ <xs:attributeGroup ref="attlist.unique"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.unique">
+ <xs:attribute name="name"/>
+ <xs:attribute name="table"/>
+ <xs:attribute name="deferred" default="false">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:element name="extension">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="any">
+ <xs:attributeGroup ref="attlist.extension"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.extension">
+ <xs:attribute name="vendor-name" use="required"/>
+ <xs:attribute name="key"/>
+ <xs:attribute name="value"/>
+ </xs:attributeGroup>
+ <xs:complexType name="any" mixed="true">
+ <xs:sequence>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>