| <?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> |