db-jdo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From btopp...@apache.org
Subject svn commit: r161514 - incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.dtd incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.xsd
Date Fri, 15 Apr 2005 19:14:41 GMT
Author: btopping
Date: Fri Apr 15 12:14:40 2005
New Revision: 161514

URL: http://svn.apache.org/viewcvs?view=rev&rev=161514
Log:
The DTD did not validate, I had to remove two lines of header that belong in an XML document, not the DTD.  Also, there was an unbalanced parenthesis that I removed.  I added the output of the transform.  This was done with Trang, it is not hand-optimized.  orm.dtd has a lot of problems validating and I could not create a schema from it.  (Does it need one?)


Added:
    incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.xsd
Modified:
    incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.dtd

Modified: incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.dtd
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.dtd?view=diff&r1=161513&r2=161514
==============================================================================
--- incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.dtd (original)
+++ incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.dtd Fri Apr 15 12:14:40 2005
@@ -1,7 +1,3 @@
-<?xml version="1.0" encoding="UTF-8">
-<!DOCTYPE jdo
-    PUBLIC "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN"
-    "http://java.sun.com/dtd/jdo_2_0.dtd">
 <!ELEMENT jdo (extension*, (package|query)+, extension*)>
 <!ELEMENT package (extension*, (interface|class|sequence)+, extension*)>
 <!ATTLIST package name CDATA ''>
@@ -13,7 +9,7 @@
 <!ATTLIST interface requires-extent (true|false) 'true'>
 <!ATTLIST interface detachable (true|false) 'false'>
 
-<!ELEMENT property (extension*, (array|collection|map)?, join?, embedded?, element?, key?, value?, order?, column*, foreign-key?, index?, unique?, extension)*)>
+<!ELEMENT property (extension*, (array|collection|map)?, join?, embedded?, element?, key?, value?, order?, column*, foreign-key?, index?, unique?, extension*)>
 <!ATTLIST property name CDATA #REQUIRED>
 <!ATTLIST property default-fetch-group (true|false) #IMPLIED>
 <!ATTLIST property load-fetch-group CDATA #IMPLIED>

Added: incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.xsd
URL: http://svn.apache.org/viewcvs/incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.xsd?view=auto&rev=161514
==============================================================================
--- incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.xsd (added)
+++ incubator/jdo/trunk/api20/src/dtd/javax/jdo/jdo.xsd Fri Apr 15 12:14:40 2005
@@ -0,0 +1,1031 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+    <xs:element name="jdo">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:choice maxOccurs="unbounded">
+                    <xs:element ref="package"/>
+                    <xs:element ref="query"/>
+                </xs:choice>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:element name="package">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:choice maxOccurs="unbounded">
+                    <xs:element ref="interface"/>
+                    <xs:element ref="class"/>
+                    <xs:element ref="sequence"/>
+                </xs:choice>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <xs:attributeGroup ref="attlist.package"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.package">
+        <xs:attribute name="name" default=""/>
+    </xs:attributeGroup>
+    <xs:element name="interface">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" ref="datastore-identity"/>
+                <xs:element minOccurs="0" ref="inheritance"/>
+                <xs:element minOccurs="0" ref="version"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="join"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="foreign-key"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="index"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="unique"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="query"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="fetch-group"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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="identity-type">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="datastore"/>
+                    <xs:enumeration value="application"/>
+                    <xs:enumeration value="nondurable"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="objectid-class"/>
+        <xs:attribute name="requires-extent" default="true">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="detachable" 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="property">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:choice minOccurs="0">
+                    <xs:element ref="array"/>
+                    <xs:element ref="collection"/>
+                    <xs:element ref="map"/>
+                </xs:choice>
+                <xs:element minOccurs="0" ref="join"/>
+                <xs:element minOccurs="0" ref="embedded"/>
+                <xs:element minOccurs="0" ref="element"/>
+                <xs:element minOccurs="0" ref="key"/>
+                <xs:element minOccurs="0" ref="value"/>
+                <xs:element minOccurs="0" ref="order"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+                <xs:element minOccurs="0" ref="foreign-key"/>
+                <xs:element minOccurs="0" ref="index"/>
+                <xs:element minOccurs="0" ref="unique"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <xs:attributeGroup ref="attlist.property"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.property">
+        <xs:attribute name="name" use="required"/>
+        <xs:attribute name="default-fetch-group">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="load-fetch-group"/>
+        <xs:attribute name="null-value" default="none">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="default"/>
+                    <xs:enumeration value="exception"/>
+                    <xs:enumeration value="none"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="dependent">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="embedded">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="primary-key" 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="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="fetch-group"/>
+        <xs:attribute name="fetch-depth"/>
+        <xs:attribute name="field-name"/>
+    </xs:attributeGroup>
+    <xs:element name="class">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="implements"/>
+                <xs:element minOccurs="0" ref="datastore-identity"/>
+                <xs:element minOccurs="0" ref="inheritance"/>
+                <xs:element minOccurs="0" ref="version"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="join"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="foreign-key"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="index"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="unique"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="query"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="fetch-group"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <xs:attributeGroup ref="attlist.class"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.class">
+        <xs:attribute name="name" use="required"/>
+        <xs:attribute name="identity-type">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="application"/>
+                    <xs:enumeration value="datastore"/>
+                    <xs:enumeration value="nondurable"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="objectid-class"/>
+        <xs:attribute name="table"/>
+        <xs:attribute name="requires-extent" default="true">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="persistence-capable-superclass"/>
+        <xs:attribute name="detachable" 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="embedded-only">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="persistence-modifier">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="persistence-capable"/>
+                    <xs:enumeration value="persistence-aware"/>
+                    <xs:enumeration value="non-persistent"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+    </xs:attributeGroup>
+    <xs:element name="join">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+                <xs:element minOccurs="0" ref="foreign-key"/>
+                <xs:element minOccurs="0" ref="index"/>
+                <xs:element minOccurs="0" ref="unique"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+                <xs:element minOccurs="0" ref="index"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" ref="join"/>
+                <xs:element minOccurs="0" ref="discriminator"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+                <xs:element minOccurs="0" ref="index"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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:attribute name="default-value"/>
+    </xs:attributeGroup>
+    <xs:element name="field">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:choice minOccurs="0">
+                    <xs:element ref="array"/>
+                    <xs:element ref="collection"/>
+                    <xs:element ref="map"/>
+                </xs:choice>
+                <xs:element minOccurs="0" ref="join"/>
+                <xs:element minOccurs="0" ref="embedded"/>
+                <xs:element minOccurs="0" ref="element"/>
+                <xs:element minOccurs="0" ref="key"/>
+                <xs:element minOccurs="0" ref="value"/>
+                <xs:element minOccurs="0" ref="order"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+                <xs:element minOccurs="0" ref="foreign-key"/>
+                <xs:element minOccurs="0" ref="index"/>
+                <xs:element minOccurs="0" ref="unique"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <xs:attributeGroup ref="attlist.field"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.field">
+        <xs:attribute name="name" use="required"/>
+        <xs:attribute name="persistence-modifier">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="persistent"/>
+                    <xs:enumeration value="transactional"/>
+                    <xs:enumeration value="none"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="table"/>
+        <xs:attribute name="column"/>
+        <xs:attribute name="primary-key" 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="null-value" default="none">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="exception"/>
+                    <xs:enumeration value="default"/>
+                    <xs:enumeration value="none"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="default-fetch-group">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="embedded">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <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="dependent">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <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="foreign-key"/>
+        <xs:attribute name="load-fetch-group"/>
+        <xs:attribute name="fetch-depth"/>
+        <xs:attribute name="mapped-by"/>
+    </xs:attributeGroup>
+    <xs:element name="foreign-key">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:choice minOccurs="0" maxOccurs="unbounded">
+                    <xs:element ref="column"/>
+                    <xs:element ref="field"/>
+                    <xs:element ref="property"/>
+                </xs:choice>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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="cascade"/>
+                    <xs:enumeration value="restrict"/>
+                    <xs:enumeration value="null"/>
+                    <xs:enumeration value="default"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="update-action" default="restrict">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="cascade"/>
+                    <xs:enumeration value="restrict"/>
+                    <xs:enumeration value="null"/>
+                    <xs:enumeration value="default"/>
+                </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="collection">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <xs:attributeGroup ref="attlist.collection"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.collection">
+        <xs:attribute name="element-type"/>
+        <xs:attribute name="embedded-element">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="dependent-element">
+            <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="map">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <xs:attributeGroup ref="attlist.map"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.map">
+        <xs:attribute name="key-type"/>
+        <xs:attribute name="embedded-key">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="dependent-key">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="value-type"/>
+        <xs:attribute name="embedded-value">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="dependent-value">
+            <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="key">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" ref="embedded"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+                <xs:element minOccurs="0" ref="foreign-key"/>
+                <xs:element minOccurs="0" ref="index"/>
+                <xs:element minOccurs="0" ref="unique"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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="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="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="value">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" ref="embedded"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+                <xs:element minOccurs="0" ref="foreign-key"/>
+                <xs:element minOccurs="0" ref="index"/>
+                <xs:element minOccurs="0" ref="unique"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <xs:attributeGroup ref="attlist.value"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.value">
+        <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:attributeGroup>
+    <xs:element name="array">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <xs:attributeGroup ref="attlist.array"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.array">
+        <xs:attribute name="embedded-element">
+            <xs:simpleType>
+                <xs:restriction base="xs:token">
+                    <xs:enumeration value="true"/>
+                    <xs:enumeration value="false"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="dependent-element">
+            <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="element">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" ref="embedded"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+                <xs:element minOccurs="0" ref="foreign-key"/>
+                <xs:element minOccurs="0" ref="index"/>
+                <xs:element minOccurs="0" ref="unique"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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="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="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: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="order">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
+                <xs:element minOccurs="0" ref="index"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <xs:attributeGroup ref="attlist.order"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.order">
+        <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="fetch-group">
+        <xs:complexType>
+            <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="fetch-group"/>
+                <xs:element ref="field"/>
+            </xs:choice>
+            <xs:attributeGroup ref="attlist.fetch-group"/>
+        </xs:complexType>
+    </xs:element>
+    <xs:attributeGroup name="attlist.fetch-group">
+        <xs:attribute name="name" use="required"/>
+        <xs:attribute name="post-load">
+            <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="embedded">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:choice minOccurs="0" maxOccurs="unbounded">
+                    <xs:element ref="column"/>
+                    <xs:element ref="field"/>
+                    <xs:element ref="property"/>
+                </xs:choice>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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"/>
+        <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:attributeGroup>
+    <xs:element name="unique">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+                <xs:choice minOccurs="0" maxOccurs="unbounded">
+                    <xs:element ref="column"/>
+                    <xs:element ref="field"/>
+                    <xs:element ref="property"/>
+                </xs:choice>
+                <xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
+            </xs:sequence>
+            <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>



Mime
View raw message