You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by dk...@apache.org on 2016/02/29 12:02:26 UTC
svn commit: r1732853 - in /cayenne/site/cms/trunk/content/schema/8: ./
modelMap.xsd reverseEngineering.xsd
Author: dkazimirchyk
Date: Mon Feb 29 11:02:26 2016
New Revision: 1732853
URL: http://svn.apache.org/viewvc?rev=1732853&view=rev
Log:
Add version 8 XSD schema files to the website.
Added:
cayenne/site/cms/trunk/content/schema/8/
cayenne/site/cms/trunk/content/schema/8/modelMap.xsd
cayenne/site/cms/trunk/content/schema/8/reverseEngineering.xsd
Added: cayenne/site/cms/trunk/content/schema/8/modelMap.xsd
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/schema/8/modelMap.xsd?rev=1732853&view=auto
==============================================================================
--- cayenne/site/cms/trunk/content/schema/8/modelMap.xsd (added)
+++ cayenne/site/cms/trunk/content/schema/8/modelMap.xsd Mon Feb 29 11:02:26 2016
@@ -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>
Added: cayenne/site/cms/trunk/content/schema/8/reverseEngineering.xsd
URL: http://svn.apache.org/viewvc/cayenne/site/cms/trunk/content/schema/8/reverseEngineering.xsd?rev=1732853&view=auto
==============================================================================
--- cayenne/site/cms/trunk/content/schema/8/reverseEngineering.xsd (added)
+++ cayenne/site/cms/trunk/content/schema/8/reverseEngineering.xsd Mon Feb 29 11:02:26 2016
@@ -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>