diff options
Diffstat (limited to 'java/das/rdb/src/main/resources/config.xsd')
-rw-r--r-- | java/das/rdb/src/main/resources/config.xsd | 152 |
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> |