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 mb...@apache.org on 2006/02/21 23:45:12 UTC
svn commit: r379611 - in /db/jdo/trunk/api20/src/dtd/javax/jdo: orm.dtd
orm.xsd
Author: mbo
Date: Tue Feb 21 14:45:11 2006
New Revision: 379611
URL: http://svn.apache.org/viewcvs?rev=379611&view=rev
Log:
JDO-202: Rearranged the elements in orm.dtd to use the same order as in jdo.dtd.
- Added subelement 'property' to element 'class'.
- Changed attribute 'strategy' in the element 'version' from REQUIRED to IMPLIED.
- Fixed 'implement' subelements.
- Fixed order of subelements in elements 'inheritance'.
- Restricted the values of attribute 'primary-key' in element 'field'.
Changed orm.xsd accordingly.
Modified:
db/jdo/trunk/api20/src/dtd/javax/jdo/orm.dtd
db/jdo/trunk/api20/src/dtd/javax/jdo/orm.xsd
Modified: db/jdo/trunk/api20/src/dtd/javax/jdo/orm.dtd
URL: http://svn.apache.org/viewcvs/db/jdo/trunk/api20/src/dtd/javax/jdo/orm.dtd?rev=379611&r1=379610&r2=379611&view=diff
==============================================================================
--- db/jdo/trunk/api20/src/dtd/javax/jdo/orm.dtd (original)
+++ db/jdo/trunk/api20/src/dtd/javax/jdo/orm.dtd Tue Feb 21 14:45:11 2006
@@ -19,7 +19,19 @@
<!ATTLIST interface catalog CDATA #IMPLIED>
<!ATTLIST interface schema CDATA #IMPLIED>
-<!ELEMENT class (extension*, datastore-identity?, primary-key?, inheritance?, version?, join*, foreign-key*, index*, unique*, column*, field*, query*, extension*)>
+<!ELEMENT property (extension*, join?, embedded?, element?, key?, value?, order?, column*, foreign-key?, index?, unique?, extension*)>
+<!ATTLIST property name CDATA #REQUIRED>
+<!ATTLIST property value-strategy CDATA #IMPLIED>
+<!ATTLIST property sequence CDATA #IMPLIED>
+<!ATTLIST property serialized (true|false) #IMPLIED>
+<!ATTLIST property table CDATA #IMPLIED>
+<!ATTLIST property column CDATA #IMPLIED>
+<!ATTLIST property delete-action (restrict|cascade|null|default|none) #IMPLIED>
+<!ATTLIST property indexed (true|false|unique) #IMPLIED>
+<!ATTLIST property unique (true|false) #IMPLIED>
+<!ATTLIST property mapped-by CDATA #IMPLIED>
+
+<!ELEMENT class (extension*, datastore-identity?, primary-key?, inheritance?, version?, join*, foreign-key*, index*, unique*, column*, field*, property*, query*, extension*)>
<!ATTLIST class name CDATA #REQUIRED>
<!ATTLIST class table CDATA #IMPLIED>
<!ATTLIST class catalog CDATA #IMPLIED>
@@ -37,20 +49,20 @@
<!ATTLIST join indexed (true|false|unique) #IMPLIED>
<!ATTLIST join unique (true|false) #IMPLIED>
+<!ELEMENT version (extension*, column*, index?, extension*)>
+<!ATTLIST version strategy CDATA #IMPLIED>
+<!ATTLIST version column CDATA #IMPLIED>
+<!ATTLIST version indexed (true|false|unique) #IMPLIED>
+
<!ELEMENT datastore-identity (extension*, column*, extension*)>
<!ATTLIST datastore-identity column CDATA #IMPLIED>
<!ATTLIST datastore-identity strategy CDATA 'native'>
<!ATTLIST datastore-identity sequence CDATA #IMPLIED>
-<!ELEMENT version (extension*, column*, index?, extension*)>
-<!ATTLIST version strategy CDATA #REQUIRED>
-<!ATTLIST version column CDATA #IMPLIED>
-<!ATTLIST version indexed (true|false|unique) #IMPLIED>
-
-<!ELEMENT implements ((property-field)+, (extension)*)>
+<!ELEMENT implements (extension*, property*, extension*)>
<!ATTLIST implements name CDATA #REQUIRED>
-<!ELEMENT inheritance (extension*, discriminator?, join?, extension*)>
+<!ELEMENT inheritance (extension*, join?, discriminator?, extension*)>
<!ATTLIST inheritance strategy CDATA #IMPLIED>
<!ELEMENT discriminator (extension*, column*, index?, extension*)>
@@ -71,23 +83,11 @@
<!ATTLIST column default-value CDATA #IMPLIED>
<!ATTLIST column insert-value CDATA #IMPLIED>
-<!ELEMENT property (extension*, join?, embedded?, element?, key?, value?, order?, column*, foreign-key?, index?, unique?, extension*)>
-<!ATTLIST property name CDATA #REQUIRED>
-<!ATTLIST property value-strategy CDATA #IMPLIED>
-<!ATTLIST property sequence CDATA #IMPLIED>
-<!ATTLIST property serialized (true|false) #IMPLIED>
-<!ATTLIST property table CDATA #IMPLIED>
-<!ATTLIST property column CDATA #IMPLIED>
-<!ATTLIST property delete-action (restrict|cascade|null|default|none) #IMPLIED>
-<!ATTLIST property indexed (true|false|unique) #IMPLIED>
-<!ATTLIST property unique (true|false) #IMPLIED>
-<!ATTLIST property mapped-by CDATA #IMPLIED>
-
<!ELEMENT field (extension*, join?, embedded?, element?, key?, value?, order?, column*, foreign-key?, index?, unique?, extension*)>
<!ATTLIST field name CDATA #REQUIRED>
<!ATTLIST field table CDATA #IMPLIED>
<!ATTLIST field column CDATA #IMPLIED>
-<!ATTLIST field primary-key CDATA #IMPLIED>
+<!ATTLIST field primary-key (true|false) 'false'>
<!ATTLIST field value-strategy CDATA #IMPLIED>
<!ATTLIST field delete-action (restrict|cascade|null|default|none) #IMPLIED>
<!ATTLIST field indexed (true|false|unique) #IMPLIED>
@@ -149,11 +149,6 @@
<!ATTLIST index table CDATA #IMPLIED>
<!ATTLIST index unique (true|false) 'false'>
-<!ELEMENT unique (extension*, (column* | field* | property*), extension*)>
-<!ATTLIST unique name CDATA #IMPLIED>
-<!ATTLIST unique table CDATA #IMPLIED>
-<!ATTLIST unique deferred (true|false) 'false'>
-
<!ELEMENT query (#PCDATA|extension)*>
<!ATTLIST query name CDATA #IMPLIED>
<!ATTLIST query language CDATA #IMPLIED>
@@ -161,7 +156,13 @@
<!ATTLIST query unique (true|false) 'false'>
<!ATTLIST query result-class CDATA #IMPLIED>
+<!ELEMENT unique (extension*, (column* | field* | property*), extension*)>
+<!ATTLIST unique name CDATA #IMPLIED>
+<!ATTLIST unique table CDATA #IMPLIED>
+<!ATTLIST unique deferred (true|false) 'false'>
+
<!ELEMENT extension ANY>
<!ATTLIST extension vendor-name CDATA #REQUIRED>
<!ATTLIST extension key CDATA #IMPLIED>
<!ATTLIST extension value CDATA #IMPLIED>
+
Modified: db/jdo/trunk/api20/src/dtd/javax/jdo/orm.xsd
URL: http://svn.apache.org/viewcvs/db/jdo/trunk/api20/src/dtd/javax/jdo/orm.xsd?rev=379611&r1=379610&r2=379611&view=diff
==============================================================================
--- db/jdo/trunk/api20/src/dtd/javax/jdo/orm.xsd (original)
+++ db/jdo/trunk/api20/src/dtd/javax/jdo/orm.xsd Tue Feb 21 14:45:11 2006
@@ -4,7 +4,7 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:choice minOccurs="1" maxOccurs="unbounded">
+ <xs:choice maxOccurs="unbounded">
<xs:element ref="package"/>
<xs:element ref="query"/>
</xs:choice>
@@ -21,7 +21,7 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:choice minOccurs="1" maxOccurs="unbounded">
+ <xs:choice maxOccurs="unbounded">
<xs:element ref="interface"/>
<xs:element ref="class"/>
<xs:element ref="sequence"/>
@@ -32,7 +32,7 @@
</xs:complexType>
</xs:element>
<xs:attributeGroup name="attlist.package">
- <xs:attribute name="name" use="required"/>
+ <xs:attribute name="name" default=""/>
<xs:attribute name="catalog"/>
<xs:attribute name="schema"/>
</xs:attributeGroup>
@@ -40,10 +40,10 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="datastore-identity"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="primary-key"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="inheritance"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="version"/>
+ <xs:element minOccurs="0" ref="datastore-identity"/>
+ <xs:element minOccurs="0" ref="primary-key"/>
+ <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"/>
@@ -65,16 +65,16 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="join"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="embedded"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="element"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="key"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="value"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="order"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="foreign-key"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="index"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="unique"/>
+ <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"/>
@@ -128,16 +128,17 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="datastore-identity"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="primary-key"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="inheritance"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="version"/>
+ <xs:element minOccurs="0" ref="datastore-identity"/>
+ <xs:element minOccurs="0" ref="primary-key"/>
+ <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="column"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="query"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
</xs:sequence>
@@ -168,11 +169,11 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="primary-key"/>
+ <xs:element minOccurs="0" ref="primary-key"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="foreign-key"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="index"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="unique"/>
+ <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"/>
@@ -218,34 +219,19 @@
</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="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" maxOccurs="1" ref="index"/>
+ <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" use="required"/>
+ <xs:attribute name="strategy"/>
<xs:attribute name="column"/>
<xs:attribute name="indexed">
<xs:simpleType>
@@ -257,11 +243,26 @@
</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="1" maxOccurs="unbounded" ref="property-field"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
</xs:sequence>
<xs:attributeGroup ref="attlist.implements"/>
@@ -274,8 +275,8 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="discriminator"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="join"/>
+ <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"/>
@@ -289,7 +290,7 @@
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="index"/>
+ <xs:element minOccurs="0" ref="index"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
</xs:sequence>
<xs:attributeGroup ref="attlist.discriminator"/>
@@ -340,16 +341,16 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="join"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="embedded"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="element"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="key"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="value"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="order"/>
- <xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="foreign-key"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="index"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="unique"/>
+ <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"/>
@@ -359,7 +360,14 @@
<xs:attribute name="name" use="required"/>
<xs:attribute name="table"/>
<xs:attribute name="column"/>
- <xs:attribute name="primary-key"/>
+ <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="delete-action">
<xs:simpleType>
@@ -452,11 +460,11 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="embedded"/>
+ <xs:element minOccurs="0" ref="embedded"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="foreign-key"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="index"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="unique"/>
+ <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"/>
@@ -510,11 +518,11 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="embedded"/>
+ <xs:element minOccurs="0" ref="embedded"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="foreign-key"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="index"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="unique"/>
+ <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"/>
@@ -568,11 +576,11 @@
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="embedded"/>
+ <xs:element minOccurs="0" ref="embedded"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="foreign-key"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="index"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="unique"/>
+ <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"/>
@@ -626,7 +634,7 @@
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="column"/>
- <xs:element minOccurs="0" maxOccurs="1" ref="index"/>
+ <xs:element minOccurs="0" ref="index"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="extension"/>
</xs:sequence>
<xs:attributeGroup ref="attlist.order"/>
@@ -702,32 +710,6 @@
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
- <xs:element name="unique">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" maxOccurs="unbounded" 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: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="query">
<xs:complexType mixed="true">
<xs:sequence>
@@ -756,6 +738,32 @@
</xs:simpleType>
</xs:attribute>
<xs:attribute name="result-class"/>
+ </xs:attributeGroup>
+ <xs:element name="unique">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" 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: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>