Rename directory containing XSD files to match current schema version name.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/5ebf8eac Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/5ebf8eac Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/5ebf8eac Branch: refs/heads/master Commit: 5ebf8eac0e54de7782b083e3b1d827ed38bec554 Parents: b296059 Author: Dzmitry Kazimirchyk <[email protected]> Authored: Mon Feb 29 13:20:50 2016 +0300 Committer: Dzmitry Kazimirchyk <[email protected]> Committed: Mon Feb 29 13:20:50 2016 +0300 ---------------------------------------------------------------------- .../org/apache/cayenne/schema/7/modelMap.xsd | 343 ------------------- .../cayenne/schema/7/reverseEngineering.xsd | 139 -------- .../org/apache/cayenne/schema/8/modelMap.xsd | 343 +++++++++++++++++++ .../cayenne/schema/8/reverseEngineering.xsd | 139 ++++++++ 4 files changed, 482 insertions(+), 482 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/5ebf8eac/cayenne-server/src/main/resources/org/apache/cayenne/schema/7/modelMap.xsd ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/resources/org/apache/cayenne/schema/7/modelMap.xsd b/cayenne-server/src/main/resources/org/apache/cayenne/schema/7/modelMap.xsd deleted file mode 100644 index 37f0f91..0000000 --- a/cayenne-server/src/main/resources/org/apache/cayenne/schema/7/modelMap.xsd +++ /dev/null @@ -1,343 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. ---> - -<!-- - Cayenne entity map schema - Defines format of Cayenne DataMap XML files (*.map.xml). DataMap files contain - the metadata needed for Cayenne object-relational features. Multiple DataMaps - are usually combined in one shared namespace, so the elements of the DataMap - may reference objects from other DataMaps. ---> -<xs:schema targetNamespace="http://cayenne.apache.org/schema/8/modelMap" - xmlns:cay="http://cayenne.apache.org/schema/8/modelMap" - xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="8"> - <xs:element name="data-map"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" maxOccurs="1" ref="cay:reverse-engineering-config"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:property"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:embeddable"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:procedure"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:db-entity"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-entity"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:db-relationship"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-relationship"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:query"/> - </xs:sequence> - <xs:attribute name="project-version" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="db-entity"> - <xs:complexType> - <xs:sequence> - <xs:element maxOccurs="unbounded" ref="cay:db-attribute"/> - <xs:element minOccurs="0" ref="cay:db-key-generator"/> - - <!-- Qualifier for DB Entity --> - <xs:element minOccurs="0" ref="cay:qualifier"/> - </xs:sequence> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="schema" type="xs:string"/> - <xs:attribute name="catalog" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="db-attribute"> - <xs:annotation> - <xs:documentation>A database column.</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:attribute name="isMandatory" type="xs:boolean"/> - <xs:attribute name="isPrimaryKey" type="xs:boolean"> - <xs:annotation> - <xs:documentation>If true, the value of attribute is unique and used as a primary key identifier.</xs:documentation> - </xs:annotation> - </xs:attribute> - <xs:attribute name="isGenerated" use="optional" type="xs:boolean"/> - <xs:attribute name="length" type="xs:integer"/> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="scale" type="xs:integer"/> - <xs:attribute name="type" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="obj-entity"> - <xs:annotation> - <xs:documentation>A persistent Java class managed by Cayenne.</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" ref="cay:qualifier"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:embedded-attribute"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-attribute"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:attribute-override"/> - - <!-- Callbacks --> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-add"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-persist"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-persist"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-update"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-update"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-remove"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-remove"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-load"/> - </xs:sequence> - <xs:attribute name="className" use="optional" type="xs:string"/> - <xs:attribute name="abstract" use="optional" type="xs:string"/> - <xs:attribute name="readOnly" use="optional" type="xs:boolean"/> - <xs:attribute name="clientClassName" use="optional" type="xs:string"/> - <xs:attribute name="clientSuperClassName" use="optional" type="xs:string"/> - <xs:attribute name="dbEntityName" use="optional" type="xs:string"/> - <xs:attribute name="lock-type" type="xs:string"/> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="superClassName" use="optional" type="xs:string"/> - <xs:attribute name="superEntityName" use="optional" type="xs:string"/> - <xs:attribute name="serverOnly" use="optional" type="xs:boolean"/> - </xs:complexType> - </xs:element> - - <xs:element name="qualifier" type="xs:string"/> - - <xs:element name="obj-attribute"> - <xs:complexType> - <xs:attribute name="db-attribute-path" use="optional" type="xs:string"/> - <xs:attribute name="lock" use="optional" type="xs:boolean"/> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="type" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="attribute-override"> - <xs:complexType> - <xs:attribute name="db-attribute-path" use="optional" type="xs:string"/> - <xs:attribute name="lock" use="optional" type="xs:boolean"/> - <xs:attribute name="name" use="optional" type="xs:string"/> - <xs:attribute name="type" use="optional" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="db-relationship"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="1" maxOccurs="unbounded" ref="cay:db-attribute-pair"/> - </xs:sequence> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="source" use="required" type="xs:string"/> - <xs:attribute name="target" use="required" type="xs:string"/> - <xs:attribute name="toDependentPK" type="xs:boolean"/> - <xs:attribute name="toMany" use="required" type="xs:boolean"/> - </xs:complexType> - </xs:element> - <xs:element name="db-attribute-pair"> - <xs:complexType> - <xs:attribute name="source" use="required" type="xs:string"/> - <xs:attribute name="target" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="obj-relationship"> - <xs:complexType> - <xs:attribute name="db-relationship-path" use="required" type="xs:string"/> - <xs:attribute name="deleteRule" type="xs:string"/> - <xs:attribute name="lock" type="xs:boolean"/> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="source" use="required" type="xs:string"/> - <xs:attribute name="target" use="required" type="xs:string"/> - <xs:attribute name="collection-type" use="optional" type="xs:string"/> - <xs:attribute name="map-key" use="optional" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="query"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:property"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:sql"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:ejbql"/> - <xs:element name="qualifier" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:ordering"/> - <xs:element name="prefetch" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> - </xs:sequence> - <xs:attribute name="type" use="required" type="xs:string"/> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="root" use="optional" type="xs:string"/> - <xs:attribute name="root-name" use="optional" type="xs:string"/> - <xs:attribute name="result-entity" use="optional" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="ordering"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="descending" type="xs:boolean"/> - <xs:attribute name="ignore-case" type="xs:boolean"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - - <xs:element name="sql"> - <xs:annotation> - <xs:documentation>Defines arbitrary SQL statement. Note that SQL statement can be customized for different SQL dialects per DbAdapter class. If no adapter-specific statement is found, the one with no adapter label is used by default.</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="adapter-class" type="xs:string"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - - <xs:element name="ejbql" type="xs:string"/> - - <xs:element name="reverse-engineering-config"> - <xs:complexType> - <xs:attribute name="name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="property"> - <xs:annotation> - <xs:documentation>A generic property used by other elements.</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="value" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="embeddable"> - <xs:complexType> - <xs:sequence> - <xs:element name="embeddable-attribute" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="type" use="required" type="xs:string"/> - <xs:attribute name="db-attribute-name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="className" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="embedded-attribute"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" maxOccurs="unbounded" - ref="cay:embeddable-attribute-override"/> - </xs:sequence> - <xs:attribute name="type" use="required" type="xs:string"/> - <xs:attribute name="name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="embeddable-attribute-override"> - <xs:complexType> - <xs:attribute name="db-attribute-path" use="required" type="xs:string"/> - <xs:attribute name="name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="procedure"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" maxOccurs="unbounded" name="procedure-parameter"> - <xs:complexType> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="type" use="required" type="xs:string"/> - <xs:attribute name="length" use="optional" type="xs:integer"/> - <xs:attribute name="direction" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="name" use="required" type="xs:string"/> - <xs:attribute name="schema" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="pre-update"> - <xs:complexType> - <xs:attribute name="method-name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="post-persist"> - <xs:complexType> - <xs:attribute name="method-name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="post-update"> - <xs:complexType> - <xs:attribute name="method-name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="post-add"> - <xs:complexType> - <xs:attribute name="method-name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="pre-persist"> - <xs:complexType> - <xs:attribute name="method-name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="post-remove"> - <xs:complexType> - <xs:attribute name="method-name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="post-load"> - <xs:complexType> - <xs:attribute name="method-name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - <xs:element name="pre-remove"> - <xs:complexType> - <xs:attribute name="method-name" use="required" type="xs:string"/> - </xs:complexType> - </xs:element> - - <xs:element name="db-key-generator"> - <xs:annotation> - <xs:documentation>Used to install the Automatic Sequence/Key Generation facility for db-entity. This feature is intended for use with simple (non-compound) integral primary keys.</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:sequence> - <xs:element name="db-generator-type" type="xs:string"> - <xs:annotation> - <xs:documentation>Specifies the Key Generation Method that will be employed - 'ORACLE' - use Oracle's SEQUENCE - 'NAMED_SEQUENCE_TABLE' - use USER designated SEQUENCE TABLE. User specifies the name of a DBMS Table with the schema (sequence INT) which will be used to hold sequence values (not supported yet)</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element minOccurs="0" name="db-generator-name" type="xs:string"> - <xs:annotation> - <xs:documentation>For db-generator-type ORACLE this is the name of the ORACLE SEQUENCE to use. The SEQUENCE is assumed to already exist in the Database. -If this is db-generator-type NAMED_SEQUENCE_TABLE Key Generation, this specifies the name of the SEQUENCE TABLE to use. The NAMED_SEQUENCE_TABLE is assumed to already exist in the database.</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element minOccurs="0" name="db-key-cache-size" type="xs:integer"> - <xs:annotation> - <xs:documentation>Size of key cache. For db-generator-type ORACLE , this value MUST match the Oracle SEQUENCE INCREMENT value. If there is a mismatch between this value and the Oracle SEQUENCE INCREMENT value, then there will likely be duplicate key problems. -For db-generator-type NAMED_SEQUENCE_TABLE , this tells how many keys the Container will fetch in a single DBMS call.</xs:documentation> - </xs:annotation> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> -</xs:schema> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5ebf8eac/cayenne-server/src/main/resources/org/apache/cayenne/schema/7/reverseEngineering.xsd ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/resources/org/apache/cayenne/schema/7/reverseEngineering.xsd b/cayenne-server/src/main/resources/org/apache/cayenne/schema/7/reverseEngineering.xsd deleted file mode 100644 index 6905386..0000000 --- a/cayenne-server/src/main/resources/org/apache/cayenne/schema/7/reverseEngineering.xsd +++ /dev/null @@ -1,139 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - --> -<xs:schema attributeFormDefault="unqualified" - elementFormDefault="qualified" - xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="PatternParamType" mixed="true"> - <xs:annotation> - <xs:documentation> - At least one of 3 options ot fill pattern information should be used - 1) <tag>pattarn<tag> - 2) <tag pattern="pattern" /> - 3) <tag> - <pattern>pattern</pattern> - </tag> - </xs:documentation> - </xs:annotation> - <xs:sequence> - <xs:element type="xs:string" name="pattern" minOccurs="0"/> - </xs:sequence> - <xs:attribute type="xs:string" name="pattern" use="optional"/> - </xs:complexType> - - <xs:complexType name="IncludeTableType" mixed="true"> - <xs:complexContent> - <xs:extension base="PatternParamType"> - <xs:sequence> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="includeColumn" type="PatternParamType" /> - <xs:element name="excludeColumn" type="PatternParamType" /> - </xs:choice> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="FilterContainerType"> - <xs:sequence> - <xs:choice minOccurs="1" maxOccurs="unbounded"> - <xs:element name="includeTable" type="IncludeTableType" /> - <xs:element name="excludeTable" type="PatternParamType" /> - <xs:element name="includeColumn" type="PatternParamType" /> - <xs:element name="excludeColumn" type="PatternParamType" /> - <xs:element name="includeProcedure" type="PatternParamType" /> - <xs:element name="excludeProcedure" type="PatternParamType" /> - </xs:choice> - </xs:sequence> - </xs:complexType> - - <xs:complexType name="SchemaType" mixed="true"> - <xs:annotation> - <xs:documentation> - At least one of 3 options to provide schema name can be used: - 1) <schema>name<schema> - 2) <schema name="name" /> - 3) <schema> - <name>name</name> - </schema> - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="FilterContainerType"> - <xs:sequence> - <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> - </xs:sequence> - <xs:attribute type="xs:string" name="name" use="optional" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="CatalogType" mixed="true"> - <xs:annotation> - <xs:documentation> - At least one of 3 options to provide schema name can be used: - 1) <catalog>name<catalog> - 2) <catalog name="name" /> - 3) <catalog> - <name>name</name> - </catalog> - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="FilterContainerType"> - <xs:sequence> - <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="schema" type="SchemaType" /> - </xs:choice> - </xs:sequence> - <xs:attribute type="xs:string" name="name" use="optional" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="ReverseEngineeringType"> - <xs:annotation> - <xs:documentation> - <!-- TODO --> - </xs:documentation> - </xs:annotation> - <xs:complexContent> - <xs:extension base="FilterContainerType"> - <xs:sequence> - <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> - <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element name="catalog" type="CatalogType" /> - <xs:element name="schema" type="SchemaType" /> - </xs:choice> - </xs:sequence> - <xs:attribute type="xs:string" name="name" use="optional" /> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:element name="reverseEngineering" type="ReverseEngineeringType"> - <xs:annotation> - <!-- TODO --> - <xs:documentation> </xs:documentation> - </xs:annotation> - </xs:element> - -</xs:schema> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5ebf8eac/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd b/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd new file mode 100644 index 0000000..37f0f91 --- /dev/null +++ b/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/modelMap.xsd @@ -0,0 +1,343 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<!-- + Cayenne entity map schema + Defines format of Cayenne DataMap XML files (*.map.xml). DataMap files contain + the metadata needed for Cayenne object-relational features. Multiple DataMaps + are usually combined in one shared namespace, so the elements of the DataMap + may reference objects from other DataMaps. +--> +<xs:schema targetNamespace="http://cayenne.apache.org/schema/8/modelMap" + xmlns:cay="http://cayenne.apache.org/schema/8/modelMap" + xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="8"> + <xs:element name="data-map"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="1" ref="cay:reverse-engineering-config"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:property"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:embeddable"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:procedure"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:db-entity"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-entity"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:db-relationship"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-relationship"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:query"/> + </xs:sequence> + <xs:attribute name="project-version" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="db-entity"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="cay:db-attribute"/> + <xs:element minOccurs="0" ref="cay:db-key-generator"/> + + <!-- Qualifier for DB Entity --> + <xs:element minOccurs="0" ref="cay:qualifier"/> + </xs:sequence> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="schema" type="xs:string"/> + <xs:attribute name="catalog" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="db-attribute"> + <xs:annotation> + <xs:documentation>A database column.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute name="isMandatory" type="xs:boolean"/> + <xs:attribute name="isPrimaryKey" type="xs:boolean"> + <xs:annotation> + <xs:documentation>If true, the value of attribute is unique and used as a primary key identifier.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="isGenerated" use="optional" type="xs:boolean"/> + <xs:attribute name="length" type="xs:integer"/> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="scale" type="xs:integer"/> + <xs:attribute name="type" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="obj-entity"> + <xs:annotation> + <xs:documentation>A persistent Java class managed by Cayenne.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="cay:qualifier"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:embedded-attribute"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:obj-attribute"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:attribute-override"/> + + <!-- Callbacks --> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-add"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-persist"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-persist"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-update"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-update"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:pre-remove"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-remove"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:post-load"/> + </xs:sequence> + <xs:attribute name="className" use="optional" type="xs:string"/> + <xs:attribute name="abstract" use="optional" type="xs:string"/> + <xs:attribute name="readOnly" use="optional" type="xs:boolean"/> + <xs:attribute name="clientClassName" use="optional" type="xs:string"/> + <xs:attribute name="clientSuperClassName" use="optional" type="xs:string"/> + <xs:attribute name="dbEntityName" use="optional" type="xs:string"/> + <xs:attribute name="lock-type" type="xs:string"/> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="superClassName" use="optional" type="xs:string"/> + <xs:attribute name="superEntityName" use="optional" type="xs:string"/> + <xs:attribute name="serverOnly" use="optional" type="xs:boolean"/> + </xs:complexType> + </xs:element> + + <xs:element name="qualifier" type="xs:string"/> + + <xs:element name="obj-attribute"> + <xs:complexType> + <xs:attribute name="db-attribute-path" use="optional" type="xs:string"/> + <xs:attribute name="lock" use="optional" type="xs:boolean"/> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="type" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="attribute-override"> + <xs:complexType> + <xs:attribute name="db-attribute-path" use="optional" type="xs:string"/> + <xs:attribute name="lock" use="optional" type="xs:boolean"/> + <xs:attribute name="name" use="optional" type="xs:string"/> + <xs:attribute name="type" use="optional" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="db-relationship"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="unbounded" ref="cay:db-attribute-pair"/> + </xs:sequence> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="source" use="required" type="xs:string"/> + <xs:attribute name="target" use="required" type="xs:string"/> + <xs:attribute name="toDependentPK" type="xs:boolean"/> + <xs:attribute name="toMany" use="required" type="xs:boolean"/> + </xs:complexType> + </xs:element> + <xs:element name="db-attribute-pair"> + <xs:complexType> + <xs:attribute name="source" use="required" type="xs:string"/> + <xs:attribute name="target" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="obj-relationship"> + <xs:complexType> + <xs:attribute name="db-relationship-path" use="required" type="xs:string"/> + <xs:attribute name="deleteRule" type="xs:string"/> + <xs:attribute name="lock" type="xs:boolean"/> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="source" use="required" type="xs:string"/> + <xs:attribute name="target" use="required" type="xs:string"/> + <xs:attribute name="collection-type" use="optional" type="xs:string"/> + <xs:attribute name="map-key" use="optional" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="query"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:property"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:sql"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:ejbql"/> + <xs:element name="qualifier" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="cay:ordering"/> + <xs:element name="prefetch" minOccurs="0" maxOccurs="unbounded" type="xs:string"/> + </xs:sequence> + <xs:attribute name="type" use="required" type="xs:string"/> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="root" use="optional" type="xs:string"/> + <xs:attribute name="root-name" use="optional" type="xs:string"/> + <xs:attribute name="result-entity" use="optional" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="ordering"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="descending" type="xs:boolean"/> + <xs:attribute name="ignore-case" type="xs:boolean"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="sql"> + <xs:annotation> + <xs:documentation>Defines arbitrary SQL statement. Note that SQL statement can be customized for different SQL dialects per DbAdapter class. If no adapter-specific statement is found, the one with no adapter label is used by default.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="adapter-class" type="xs:string"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + + <xs:element name="ejbql" type="xs:string"/> + + <xs:element name="reverse-engineering-config"> + <xs:complexType> + <xs:attribute name="name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="property"> + <xs:annotation> + <xs:documentation>A generic property used by other elements.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="value" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="embeddable"> + <xs:complexType> + <xs:sequence> + <xs:element name="embeddable-attribute" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="type" use="required" type="xs:string"/> + <xs:attribute name="db-attribute-name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="className" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="embedded-attribute"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" + ref="cay:embeddable-attribute-override"/> + </xs:sequence> + <xs:attribute name="type" use="required" type="xs:string"/> + <xs:attribute name="name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="embeddable-attribute-override"> + <xs:complexType> + <xs:attribute name="db-attribute-path" use="required" type="xs:string"/> + <xs:attribute name="name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="procedure"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="procedure-parameter"> + <xs:complexType> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="type" use="required" type="xs:string"/> + <xs:attribute name="length" use="optional" type="xs:integer"/> + <xs:attribute name="direction" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="name" use="required" type="xs:string"/> + <xs:attribute name="schema" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="pre-update"> + <xs:complexType> + <xs:attribute name="method-name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="post-persist"> + <xs:complexType> + <xs:attribute name="method-name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="post-update"> + <xs:complexType> + <xs:attribute name="method-name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="post-add"> + <xs:complexType> + <xs:attribute name="method-name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="pre-persist"> + <xs:complexType> + <xs:attribute name="method-name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="post-remove"> + <xs:complexType> + <xs:attribute name="method-name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="post-load"> + <xs:complexType> + <xs:attribute name="method-name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + <xs:element name="pre-remove"> + <xs:complexType> + <xs:attribute name="method-name" use="required" type="xs:string"/> + </xs:complexType> + </xs:element> + + <xs:element name="db-key-generator"> + <xs:annotation> + <xs:documentation>Used to install the Automatic Sequence/Key Generation facility for db-entity. This feature is intended for use with simple (non-compound) integral primary keys.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="db-generator-type" type="xs:string"> + <xs:annotation> + <xs:documentation>Specifies the Key Generation Method that will be employed + 'ORACLE' - use Oracle's SEQUENCE + 'NAMED_SEQUENCE_TABLE' - use USER designated SEQUENCE TABLE. User specifies the name of a DBMS Table with the schema (sequence INT) which will be used to hold sequence values (not supported yet)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="db-generator-name" type="xs:string"> + <xs:annotation> + <xs:documentation>For db-generator-type ORACLE this is the name of the ORACLE SEQUENCE to use. The SEQUENCE is assumed to already exist in the Database. +If this is db-generator-type NAMED_SEQUENCE_TABLE Key Generation, this specifies the name of the SEQUENCE TABLE to use. The NAMED_SEQUENCE_TABLE is assumed to already exist in the database.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="db-key-cache-size" type="xs:integer"> + <xs:annotation> + <xs:documentation>Size of key cache. For db-generator-type ORACLE , this value MUST match the Oracle SEQUENCE INCREMENT value. If there is a mismatch between this value and the Oracle SEQUENCE INCREMENT value, then there will likely be duplicate key problems. +For db-generator-type NAMED_SEQUENCE_TABLE , this tells how many keys the Container will fetch in a single DBMS call.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> +</xs:schema> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5ebf8eac/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/reverseEngineering.xsd ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/reverseEngineering.xsd b/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/reverseEngineering.xsd new file mode 100644 index 0000000..6905386 --- /dev/null +++ b/cayenne-server/src/main/resources/org/apache/cayenne/schema/8/reverseEngineering.xsd @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + --> +<xs:schema attributeFormDefault="unqualified" + elementFormDefault="qualified" + xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:complexType name="PatternParamType" mixed="true"> + <xs:annotation> + <xs:documentation> + At least one of 3 options ot fill pattern information should be used + 1) <tag>pattarn<tag> + 2) <tag pattern="pattern" /> + 3) <tag> + <pattern>pattern</pattern> + </tag> + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element type="xs:string" name="pattern" minOccurs="0"/> + </xs:sequence> + <xs:attribute type="xs:string" name="pattern" use="optional"/> + </xs:complexType> + + <xs:complexType name="IncludeTableType" mixed="true"> + <xs:complexContent> + <xs:extension base="PatternParamType"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="includeColumn" type="PatternParamType" /> + <xs:element name="excludeColumn" type="PatternParamType" /> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="FilterContainerType"> + <xs:sequence> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="includeTable" type="IncludeTableType" /> + <xs:element name="excludeTable" type="PatternParamType" /> + <xs:element name="includeColumn" type="PatternParamType" /> + <xs:element name="excludeColumn" type="PatternParamType" /> + <xs:element name="includeProcedure" type="PatternParamType" /> + <xs:element name="excludeProcedure" type="PatternParamType" /> + </xs:choice> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SchemaType" mixed="true"> + <xs:annotation> + <xs:documentation> + At least one of 3 options to provide schema name can be used: + 1) <schema>name<schema> + 2) <schema name="name" /> + 3) <schema> + <name>name</name> + </schema> + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="FilterContainerType"> + <xs:sequence> + <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + <xs:attribute type="xs:string" name="name" use="optional" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="CatalogType" mixed="true"> + <xs:annotation> + <xs:documentation> + At least one of 3 options to provide schema name can be used: + 1) <catalog>name<catalog> + 2) <catalog name="name" /> + 3) <catalog> + <name>name</name> + </catalog> + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="FilterContainerType"> + <xs:sequence> + <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="schema" type="SchemaType" /> + </xs:choice> + </xs:sequence> + <xs:attribute type="xs:string" name="name" use="optional" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ReverseEngineeringType"> + <xs:annotation> + <xs:documentation> + <!-- TODO --> + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="FilterContainerType"> + <xs:sequence> + <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="catalog" type="CatalogType" /> + <xs:element name="schema" type="SchemaType" /> + </xs:choice> + </xs:sequence> + <xs:attribute type="xs:string" name="name" use="optional" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:element name="reverseEngineering" type="ReverseEngineeringType"> + <xs:annotation> + <!-- TODO --> + <xs:documentation> </xs:documentation> + </xs:annotation> + </xs:element> + +</xs:schema>
