summaryrefslogtreecommitdiffstats
path: root/java/das/rdb/src/main/resources/config.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'java/das/rdb/src/main/resources/config.xsd')
-rw-r--r--java/das/rdb/src/main/resources/config.xsd152
1 files changed, 152 insertions, 0 deletions
diff --git a/java/das/rdb/src/main/resources/config.xsd b/java/das/rdb/src/main/resources/config.xsd
new file mode 100644
index 0000000000..e48d01ed2a
--- /dev/null
+++ b/java/das/rdb/src/main/resources/config.xsd
@@ -0,0 +1,152 @@
+<?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.
+ -->
+<xsd:schema
+ xmlns:config="http:///org.apache.tuscany.das.rdb/config.xsd"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http:///org.apache.tuscany.das.rdb/config.xsd"
+ elementFormDefault="qualified">
+
+ <xsd:element name="Config" type="config:Config"/>
+
+ <xsd:complexType name="Config">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="Command"
+ type="config:Command"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="Table" type="config:Table"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="Relationship"
+ type="config:Relationship"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ConnectionInfo"
+ type="config:ConnectionInfo"/>
+ </xsd:sequence>
+ <xsd:attribute name="uri" type="xsd:string"/>
+ <xsd:attribute name="dataObjectModel" type="xsd:string"/>
+ <xsd:attribute name="databaseSchemaNameSupported" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="generatedKeysSupported">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="true"/>
+ <xsd:enumeration value="false"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="ConnectionProperties">
+ <xsd:attribute name="driverClass" type="xsd:string"/>
+ <xsd:attribute name="databaseURL" type="xsd:string"/>
+ <xsd:attribute name="userName" type="xsd:string" default=""/>
+ <xsd:attribute name="password" type="xsd:string" default=""/>
+ <xsd:attribute name="loginTimeout" type="xsd:int" default="0"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="ConnectionInfo">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="ConnectionProperties" type="config:ConnectionProperties"/>
+ </xsd:sequence>
+ <xsd:attribute name="dataSource" type="xsd:string"/>
+ <xsd:attribute name="managedtx" type="xsd:boolean" default="true"/>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Command">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="Parameter"
+ type="config:Parameter"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="ResultDescriptor"
+ type="config:ResultDescriptor"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="SQL" type="xsd:string"/>
+ <xsd:attribute name="kind" type="xsd:string"/>
+ </xsd:complexType>
+ <xsd:complexType name="Parameter">
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="columnType" type="xsd:string"/>
+ <xsd:attribute name="direction" type="xsd:string" default="IN"/>
+ <xsd:attribute name="index" type="xsd:int"/>
+ </xsd:complexType>
+ <xsd:complexType name="Parameters">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="Parameter" type="config:Parameter"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="Relationship">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="KeyPair"
+ type="config:KeyPair"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="primaryKeyTable" type="xsd:string"/>
+ <xsd:attribute name="foreignKeyTable" type="xsd:string"/>
+ <xsd:attribute name="many" type="xsd:boolean"/>
+ <xsd:attribute name="keyRestricted" type="xsd:boolean"/>
+ </xsd:complexType>
+ <xsd:complexType name="Table">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="Column"
+ type="config:Column"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="create" type="config:Create"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="update" type="config:Update"/>
+ <xsd:element maxOccurs="1" minOccurs="0" name="delete" type="config:Delete"/>
+ </xsd:sequence>
+ <xsd:attribute name="tableName" type="xsd:string"/>
+ <xsd:attribute name="typeName" type="xsd:string"/>
+ <xsd:attribute name="schemaName" type="xsd:string" default=""/>
+ </xsd:complexType>
+ <xsd:complexType name="Create">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="Parameters" type="config:Parameters"/>
+ </xsd:sequence>
+ <xsd:attribute name="sql" type="xsd:string"/>
+ </xsd:complexType>
+ <xsd:complexType name="Update">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="Parameters" type="config:Parameters"/>
+ </xsd:sequence>
+ <xsd:attribute name="sql" type="xsd:string"/>
+ </xsd:complexType>
+ <xsd:complexType name="Delete">
+ <xsd:sequence>
+ <xsd:element maxOccurs="1" minOccurs="0" name="Parameters" type="config:Parameters"/>
+ </xsd:sequence>
+ <xsd:attribute name="sql" type="xsd:string"/>
+ </xsd:complexType>
+ <xsd:complexType name="KeyPair">
+ <xsd:attribute name="primaryKeyColumn" type="xsd:string"/>
+ <xsd:attribute name="foreignKeyColumn" type="xsd:string"/>
+ </xsd:complexType>
+ <xsd:complexType name="Column">
+ <xsd:attribute name="columnName" type="xsd:string"/>
+ <xsd:attribute name="propertyName" type="xsd:string"/>
+ <xsd:attribute name="converterClassName" type="xsd:string"/>
+ <xsd:attribute name="primaryKey" type="xsd:boolean"/>
+ <xsd:attribute name="generated" type="xsd:boolean"/>
+ <xsd:attribute name="collision" type="xsd:boolean"/>
+ <xsd:attribute name="managed" type="xsd:boolean" default="true"/>
+ </xsd:complexType>
+ <xsd:complexType name="ResultDescriptor">
+ <xsd:attribute name="columnIndex" type="xsd:int" default="-1"/>
+ <xsd:attribute name="columnName" type="xsd:string"/>
+ <xsd:attribute name="tableName" type="xsd:string"/>
+ <xsd:attribute name="schemaName" type="xsd:string"/>
+ <xsd:attribute name="columnType" type="xsd:string"/>
+ </xsd:complexType>
+
+</xsd:schema>