xml/config.xsd
author František Kučera <franta-hg@frantovo.cz>
Tue, 26 Feb 2019 18:19:49 +0100
branchv_0
changeset 236 a3ec71fa8e17
parent 203 504c4ba56d1c
child 249 7655df0622ee
permissions -rw-r--r--
Avoid reusing/rewriting the DB connection properties.
There was weird random errors while testing connection to multiple DB in parallel when one of them was meta connection to same DB connection.
Two kinds of exception: 1) missing password 2) „Passing DB password as CLI parameter is insecure!“
franta-hg@115
     1
<?xml version="1.0" encoding="UTF-8"?>
franta-hg@120
     2
<!--
franta-hg@120
     3
SQL-DK
franta-hg@120
     4
Copyright © 2013 František Kučera (frantovo.cz)
franta-hg@120
     5
franta-hg@120
     6
This program is free software: you can redistribute it and/or modify
franta-hg@120
     7
it under the terms of the GNU General Public License as published by
franta-hg@120
     8
the Free Software Foundation, either version 3 of the License, or
franta-hg@120
     9
(at your option) any later version.
franta-hg@120
    10
franta-hg@120
    11
This program is distributed in the hope that it will be useful,
franta-hg@120
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
franta-hg@120
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
franta-hg@120
    14
GNU General Public License for more details.
franta-hg@120
    15
franta-hg@120
    16
You should have received a copy of the GNU General Public License
franta-hg@120
    17
along with this program. If not, see <http://www.gnu.org/licenses/>.
franta-hg@120
    18
-->
franta-hg@115
    19
<xs:schema
franta-hg@115
    20
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
franta-hg@115
    21
	elementFormDefault="qualified"
franta-hg@115
    22
	targetNamespace="https://sql-dk.globalcode.info/xmlns/configuration"
franta-hg@115
    23
	xmlns:c="https://sql-dk.globalcode.info/xmlns/configuration">
franta-hg@115
    24
	
franta-hg@115
    25
	<xs:element name="configuration">
franta-hg@115
    26
		<xs:complexType>
franta-hg@115
    27
			<xs:sequence>
franta-hg@115
    28
				<xs:element minOccurs="0" maxOccurs="unbounded" ref="c:database"/>
franta-hg@115
    29
				<xs:element minOccurs="0" ref="c:defaultFormatter"/>
franta-hg@115
    30
				<xs:element minOccurs="0" maxOccurs="unbounded" ref="c:formatter"/>
franta-hg@115
    31
			</xs:sequence>
franta-hg@115
    32
		</xs:complexType>
franta-hg@115
    33
	</xs:element>
franta-hg@115
    34
	
franta-hg@115
    35
	<xs:element name="database">
franta-hg@115
    36
		<xs:complexType>
franta-hg@115
    37
			<xs:sequence>
franta-hg@115
    38
				<xs:element ref="c:name"/>
franta-hg@115
    39
				<xs:element ref="c:url"/>
franta-hg@115
    40
				<xs:element minOccurs="0" ref="c:userName"/>
franta-hg@115
    41
				<xs:element minOccurs="0" ref="c:password"/>
franta-hg@198
    42
				<xs:element minOccurs="0" ref="c:driver"/>
franta-hg@115
    43
				<xs:element minOccurs="0" maxOccurs="unbounded" ref="c:property"/>
franta-hg@203
    44
				<xs:element minOccurs="0" ref="c:tunnel"/>
franta-hg@115
    45
			</xs:sequence>
franta-hg@115
    46
		</xs:complexType>
franta-hg@115
    47
	</xs:element>
franta-hg@115
    48
	
franta-hg@115
    49
	<xs:element name="name" type="xs:string"/>
franta-hg@115
    50
	<xs:element name="url" type="xs:string"/>
franta-hg@115
    51
	<xs:element name="userName" type="xs:string"/>
franta-hg@115
    52
	<xs:element name="password" type="xs:string"/>
franta-hg@198
    53
	<xs:element name="driver" type="xs:string"/>
franta-hg@115
    54
	
franta-hg@115
    55
	<xs:element name="property">
franta-hg@115
    56
		<xs:complexType mixed="true">
franta-hg@115
    57
			<xs:attribute name="name" use="required"/>
franta-hg@115
    58
		</xs:complexType>
franta-hg@115
    59
	</xs:element>
franta-hg@115
    60
	
franta-hg@203
    61
	<xs:element name="tunnel">
franta-hg@203
    62
		<xs:complexType>
franta-hg@203
    63
			<xs:sequence>
franta-hg@203
    64
				<xs:element ref="c:command"/>
franta-hg@203
    65
				<xs:element minOccurs="0" maxOccurs="unbounded" ref="c:argument"/>
franta-hg@203
    66
			</xs:sequence>
franta-hg@203
    67
		</xs:complexType>
franta-hg@203
    68
	</xs:element>
franta-hg@203
    69
	
franta-hg@203
    70
	<xs:element name="command" type="xs:string"/>
franta-hg@203
    71
	
franta-hg@203
    72
	<xs:element name="argument">
franta-hg@203
    73
		<xs:complexType mixed="true">
franta-hg@203
    74
			<xs:attribute name="type">
franta-hg@203
    75
				<xs:simpleType>
franta-hg@203
    76
					<xs:restriction base="xs:token">
franta-hg@203
    77
						<xs:enumeration value="literal"/>
franta-hg@203
    78
						<xs:enumeration value="host"/>
franta-hg@203
    79
						<xs:enumeration value="port"/>
franta-hg@203
    80
						<xs:enumeration value="env"/>
franta-hg@203
    81
						<xs:enumeration value="dbProperty"/>
franta-hg@203
    82
					</xs:restriction>
franta-hg@203
    83
				</xs:simpleType>
franta-hg@203
    84
			</xs:attribute>
franta-hg@203
    85
		</xs:complexType>
franta-hg@203
    86
	</xs:element>
franta-hg@203
    87
	
franta-hg@115
    88
	<xs:element name="defaultFormatter" type="xs:string"/>
franta-hg@115
    89
	
franta-hg@115
    90
	<xs:element name="formatter">
franta-hg@115
    91
		<xs:complexType>
franta-hg@115
    92
			<xs:sequence>
franta-hg@115
    93
				<xs:element ref="c:name"/>
franta-hg@115
    94
				<xs:element ref="c:class"/>
franta-hg@115
    95
				<xs:element minOccurs="0" maxOccurs="unbounded" ref="c:property"/>
franta-hg@115
    96
			</xs:sequence>
franta-hg@115
    97
		</xs:complexType>
franta-hg@115
    98
	</xs:element>
franta-hg@115
    99
	
franta-hg@115
   100
	<xs:element name="class" type="xs:string"/>
franta-hg@115
   101
	
franta-hg@115
   102
</xs:schema>