summaryrefslogtreecommitdiff
path: root/spring-jdbc/src/main/resources/org/springframework/jdbc/config/spring-jdbc-3.0.xsd
blob: 1b1ad19b6098f1208aa5c92179363f02169b42f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<?xml version="1.0" encoding="UTF-8" ?>

<xsd:schema xmlns="http://www.springframework.org/schema/jdbc"
		xmlns:xsd="http://www.w3.org/2001/XMLSchema"
		xmlns:beans="http://www.springframework.org/schema/beans"
		xmlns:tool="http://www.springframework.org/schema/tool"
		targetNamespace="http://www.springframework.org/schema/jdbc"
		elementFormDefault="qualified"
		attributeFormDefault="unqualified">

	<xsd:import namespace="http://www.springframework.org/schema/beans" schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" />
	<xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-3.0.xsd" />

	<xsd:element name="embedded-database">
		<xsd:annotation>
			<xsd:documentation source="java:org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryBean"><![CDATA[
	Creates an embedded database instance and makes it available to other beans as a javax.sql.DataSource.
			]]></xsd:documentation>
			<xsd:appinfo>
				<tool:annotation>
					<tool:exports type="javax.sql.DataSource"/>
				</tool:annotation>
			</xsd:appinfo>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="beans:identifiedType">
					<xsd:sequence>
						<xsd:element name="script" type="scriptType" minOccurs="0" maxOccurs="unbounded">
							<xsd:annotation>
								<xsd:documentation><![CDATA[
			A SQL script to execute during embedded database initialization.
								]]></xsd:documentation>
							</xsd:annotation>
						</xsd:element>
					</xsd:sequence>
					<xsd:attribute name="type" type="databaseType" default="HSQL">
						<xsd:annotation>
							<xsd:documentation><![CDATA[
			The type of embedded database to create, such as HSQL, H2 or Derby. Defaults to HSQL.
							]]></xsd:documentation>
						</xsd:annotation>
					</xsd:attribute>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="initialize-database">
		<xsd:annotation>
			<xsd:documentation source="java:org.springframework.jdbc.datasource.init.DataSourceInitializer"><![CDATA[
	Initializes a database instance with SQL scripts provided in nested <script/> elements.
			]]></xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="script" type="scriptType" minOccurs="1" maxOccurs="unbounded">
					<xsd:annotation>
						<xsd:documentation><![CDATA[
			A SQL script to execute during database initialization.
						]]></xsd:documentation>
					</xsd:annotation>
				</xsd:element>
			</xsd:sequence>
			<xsd:attribute name="data-source" type="xsd:string" default="dataSource">
				<xsd:annotation>
					<xsd:documentation><![CDATA[
			A reference to a data source that should be initialized. Defaults to "dataSource".
					]]></xsd:documentation>
					<xsd:appinfo>
						<tool:annotation kind="ref"/>
						<tool:expected-type type="javax.sql.DataSource"/>
					</xsd:appinfo>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="enabled" type="xsd:string" use="optional" default="true">
				<xsd:annotation>
					<xsd:documentation>
						Is this bean "enabled", meaning the scripts will be executed?
						Defaults to true, but can be used to switch on and off the initialization depending on the environment.
					</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="ignore-failures" use="optional" default="NONE">
				<xsd:annotation>
					<xsd:documentation>
						Should failed SQL statements be ignored during initialization?
					</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
						<xsd:enumeration value="NONE">
							<xsd:annotation>
								<xsd:documentation><![CDATA[
						Do not ignore failures (the default)
								]]></xsd:documentation>
							</xsd:annotation>
						</xsd:enumeration>
						<xsd:enumeration value="DROPS">
							<xsd:annotation>
								<xsd:documentation><![CDATA[
						Ignore failed DROP statements
								]]></xsd:documentation>
							</xsd:annotation>
						</xsd:enumeration>
						<xsd:enumeration value="ALL">
							<xsd:annotation>
								<xsd:documentation><![CDATA[
						Ignore all failures
								]]></xsd:documentation>
							</xsd:annotation>
						</xsd:enumeration>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
		</xsd:complexType>
	</xsd:element>

	<xsd:complexType name="scriptType">
		<xsd:attribute name="location" type="xsd:string">
			<xsd:annotation>
				<xsd:documentation><![CDATA[
	The resource location of an SQL script to execute. Can be a single script location or a pattern (e.g. classpath:/com/foo/sql/*-data.sql).
				]]></xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>

	<xsd:simpleType name="databaseType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="HSQL">
				<xsd:annotation>
					<xsd:documentation><![CDATA[
			Hyper SQL Java Database Engine
					]]></xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="H2">
				<xsd:annotation>
					<xsd:documentation><![CDATA[
			H2 Java Database Engine
					]]></xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
			<xsd:enumeration value="DERBY">
				<xsd:annotation>
					<xsd:documentation><![CDATA[
			Derby Java Database Engine
					]]></xsd:documentation>
				</xsd:annotation>
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>

</xsd:schema>