main
  1<xs:schema targetNamespace="urn:nhibernate-configuration-2.2" xmlns="urn:nhibernate-configuration-2.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:NS="urn:nhibernate-configuration-2.2">
  2	<xs:annotation>
  3		<xs:documentation>
  4			-- This schema was automatically generated by Syntext Dtd2Schema and changed for NH use --
  5			-- conversion tool (from file: hibernate-configuration-3.0.dtd) --
  6			-- Copyright (C) 2002, 2003 Syntext Inc. See http://www.syntext.com for updates. --
  7		</xs:documentation>
  8	</xs:annotation>
  9	<!-- Type definitions -->
 10	<xs:element name="hibernate-configuration">
 11		<xs:complexType>
 12			<xs:sequence>
 13				<xs:element ref="bytecode-provider" minOccurs="0" maxOccurs="1" />
 14				<xs:element ref="reflection-optimizer" maxOccurs="1" minOccurs="0" />
 15				<xs:element ref="session-factory" minOccurs="0" maxOccurs="1" />
 16			</xs:sequence>
 17		</xs:complexType>
 18	</xs:element>
 19	<xs:element name="class-cache">
 20		<xs:complexType>
 21			<xs:sequence>
 22			</xs:sequence>
 23			<xs:attribute name="class" type="xs:string" use="required" />
 24			<xs:attributeGroup ref="cacheSpecification" />
 25			<xs:attribute name="include">
 26				<xs:simpleType>
 27					<xs:restriction base="xs:string">
 28						<xs:enumeration value="all" />
 29						<xs:enumeration value="non-lazy" />
 30					</xs:restriction>
 31				</xs:simpleType>
 32			</xs:attribute>
 33		</xs:complexType>
 34	</xs:element>
 35	<xs:element name="collection-cache">
 36		<xs:complexType>
 37			<xs:sequence />
 38			<xs:attribute name="collection" type="xs:string" use="required" />
 39			<xs:attributeGroup ref="cacheSpecification" />
 40		</xs:complexType>
 41	</xs:element>
 42	<xs:element name="mapping">
 43		<xs:annotation>
 44			<xs:documentation>
 45			There are 3 possible combinations of mapping attributes
 46			1 - resource &amp; assembly:  NHibernate will read the mapping resource from the specified assembly
 47			2 - file only: NHibernate will read the mapping from the file.
 48			3 - assembly only: NHibernate will find all the resources ending in hbm.xml from the assembly.
 49			</xs:documentation>
 50		</xs:annotation>
 51		<xs:complexType>
 52			<xs:attribute name="resource" />
 53			<xs:attribute name="file" />
 54			<xs:attribute name="assembly" />
 55		</xs:complexType>
 56	</xs:element>
 57	<xs:element name="property">
 58		<xs:complexType>
 59			<xs:simpleContent>
 60				<xs:extension base="xs:string">
 61					<xs:attribute name="name" use="required">
 62						<xs:simpleType>
 63							<xs:restriction base="xs:string">
 64								<xs:enumeration value="connection.provider" />
 65								<xs:enumeration value="connection.driver_class" />
 66								<xs:enumeration value="connection.connection_string" />
 67								<xs:enumeration value="connection.isolation" />
 68								<xs:enumeration value="connection.release_mode" />
 69								<xs:enumeration value="connection.connection_string_name" />
 70								<xs:enumeration value="dialect" />
 71								<xs:enumeration value="default_schema" />
 72								<xs:enumeration value="show_sql" />
 73								<xs:enumeration value="max_fetch_depth" />
 74								<xs:enumeration value="current_session_context_class" />
 75								<xs:enumeration value="transaction.factory_class" />
 76								<xs:enumeration value="cache.provider_class" />
 77								<xs:enumeration value="cache.use_query_cache" />
 78								<xs:enumeration value="cache.query_cache_factory" />
 79								<xs:enumeration value="cache.use_second_level_cache" />
 80								<xs:enumeration value="cache.region_prefix" />
 81								<xs:enumeration value="cache.use_minimal_puts" />
 82								<xs:enumeration value="cache.default_expiration" />
 83								<xs:enumeration value="query.substitutions" />
 84								<xs:enumeration value="query.factory_class" />
 85								<xs:enumeration value="query.imports" />
 86								<xs:enumeration value="hbm2ddl.auto" />
 87								<xs:enumeration value="hbm2ddl.keywords" />
 88								<xs:enumeration value="sql_exception_converter" />
 89								<xs:enumeration value="adonet.wrap_result_sets" />
 90								<xs:enumeration value="prepare_sql" />
 91								<xs:enumeration value="command_timeout" />
 92								<xs:enumeration value="adonet.batch_size" />
 93								<xs:enumeration value="use_proxy_validator" />
 94								<xs:enumeration value="use_outer_join" />
 95								<xs:enumeration value="xml.output_stylesheet" />
 96								<xs:enumeration value="generate_statistics" />
 97								<xs:enumeration value="query.startup_check" />
 98								<xs:enumeration value="default_catalog" />
 99								<xs:enumeration value="proxyfactory.factory_class" />
100								<xs:enumeration value="adonet.factory_class" />
101								<xs:enumeration value="default_batch_fetch_size" />
102								<xs:enumeration value="default_entity_mode" />
103								<xs:enumeration value="use_sql_comments" />
104								<xs:enumeration value="format_sql" />
105								<xs:enumeration value="collectiontype.factory_class" />
106							</xs:restriction>
107						</xs:simpleType>
108					</xs:attribute>
109				</xs:extension>
110			</xs:simpleContent>
111		</xs:complexType>
112	</xs:element>
113	<xs:element name="session-factory">
114		<xs:complexType>
115			<xs:sequence>
116				<xs:element ref="property" minOccurs="0" maxOccurs="unbounded" />
117				<xs:element ref="mapping" minOccurs="0" maxOccurs="unbounded" />
118				<xs:choice minOccurs="0" maxOccurs="unbounded">
119					<xs:element ref="class-cache" />
120					<xs:element ref="collection-cache" />
121				</xs:choice>
122				<xs:element ref="event" minOccurs="0" maxOccurs="unbounded" />
123				<xs:element ref="listener" minOccurs="0" maxOccurs="unbounded" />
124			</xs:sequence>
125			<xs:attribute name="name" use="optional" />
126		</xs:complexType>
127	</xs:element>
128	<xs:attributeGroup name="cacheSpecification">
129		<xs:attribute name="region" type="xs:string" use="optional" />
130		<xs:attribute name="usage" use="required">
131			<xs:simpleType>
132				<xs:restriction base="xs:string">
133					<xs:enumeration value="read-only" />
134					<xs:enumeration value="read-write" />
135					<xs:enumeration value="nonstrict-read-write" />
136					<xs:enumeration value="transactional" />
137				</xs:restriction>
138			</xs:simpleType>
139		</xs:attribute>
140	</xs:attributeGroup>
141	<xs:element name="event">
142		<xs:complexType>
143			<xs:sequence>
144				<xs:element ref="listener" minOccurs="1" maxOccurs="unbounded" />
145			</xs:sequence>
146			<xs:attribute name="type" type="listenerType" use="required" />
147		</xs:complexType>
148	</xs:element>
149	<xs:element name="listener">
150		<xs:complexType>
151			<xs:sequence />
152			<xs:attribute name="class" type="xs:string" use="required" />
153			<xs:attribute name="type" type="listenerType" use="optional" />
154		</xs:complexType>
155	</xs:element>
156	<xs:simpleType name="listenerType">
157		<xs:restriction base="xs:string">
158			<xs:enumeration value="auto-flush" />
159			<xs:enumeration value="merge" />
160			<xs:enumeration value="create" />
161			<xs:enumeration value="create-onflush" />
162			<xs:enumeration value="delete" />
163			<xs:enumeration value="dirty-check" />
164			<xs:enumeration value="evict" />
165			<xs:enumeration value="flush" />
166			<xs:enumeration value="flush-entity" />
167			<xs:enumeration value="load" />
168			<xs:enumeration value="load-collection" />
169			<xs:enumeration value="lock" />
170			<xs:enumeration value="refresh" />
171			<xs:enumeration value="replicate" />
172			<xs:enumeration value="save-update" />
173			<xs:enumeration value="save" />
174			<xs:enumeration value="pre-update" />
175			<xs:enumeration value="update" />
176			<xs:enumeration value="pre-load" />
177			<xs:enumeration value="pre-delete" />
178			<xs:enumeration value="pre-insert" />
179			<xs:enumeration value="post-load" />
180			<xs:enumeration value="post-insert" />
181			<xs:enumeration value="post-update" />
182			<xs:enumeration value="post-delete" />
183			<xs:enumeration value="post-commit-update" />
184			<xs:enumeration value="post-commit-insert" />
185			<xs:enumeration value="post-commit-delete" />
186			<xs:enumeration value="pre-collection-recreate" />
187			<xs:enumeration value="pre-collection-remove" />
188			<xs:enumeration value="pre-collection-update" />
189			<xs:enumeration value="post-collection-recreate" />
190			<xs:enumeration value="post-collection-remove" />
191			<xs:enumeration value="post-collection-update" />
192		</xs:restriction>
193	</xs:simpleType>
194	<xs:element name="bytecode-provider">
195		<xs:complexType>
196			<xs:sequence>
197			</xs:sequence>
198			<xs:attribute name="type" default="lcg">
199				<xs:simpleType>
200					<xs:restriction base="xs:string">
201						<xs:enumeration value="codedom" />
202						<xs:enumeration value="lcg" />
203						<xs:enumeration value="null" />
204					</xs:restriction>
205				</xs:simpleType>
206			</xs:attribute>
207		</xs:complexType>
208	</xs:element>
209	<xs:element name="reflection-optimizer">
210		<xs:complexType>
211			<xs:sequence />
212			<xs:attribute name="use" type="xs:boolean" />
213		</xs:complexType>
214	</xs:element>
215</xs:schema>