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>