main
   1<xs:schema targetNamespace="urn:nhibernate-mapping-2.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:nhibernate-mapping-2.2" elementFormDefault="qualified" attributeFormDefault="unqualified">
   2	<xs:element name="any">
   3		<xs:complexType>
   4			<xs:sequence>
   5				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
   6				<xs:element ref="meta-value" minOccurs="0" maxOccurs="unbounded" />
   7				<xs:element ref="column" maxOccurs="unbounded" />
   8			</xs:sequence>
   9			<xs:attribute name="column" type="xs:string" />
  10			<xs:attribute name="id-type" use="required" type="xs:string" />
  11			<xs:attribute name="meta-type" type="xs:string" />
  12			<xs:attribute name="name" use="required" type="xs:string" />
  13			<xs:attribute name="access" type="xs:string" />
  14			<xs:attribute name="insert" default="true" type="xs:boolean" />
  15			<xs:attribute name="update" default="true" type="xs:boolean" />
  16			<xs:attribute name="cascade" type="xs:string" />
  17			<xs:attribute name="index" type="xs:string" />
  18			<xs:attribute name="optimistic-lock" default="true" type="xs:boolean" />
  19			<xs:attribute name="lazy" default="false" type="xs:boolean" />
  20			<xs:attribute name="node" type="xs:string" />
  21		</xs:complexType>
  22	</xs:element>
  23	<xs:element name="array">
  24		<xs:complexType>
  25			<xs:sequence>
  26				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
  27				<xs:element ref="subselect" minOccurs="0" />
  28				<xs:element ref="cache" minOccurs="0" />
  29				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
  30				<xs:element ref="comment" minOccurs="0" />
  31				<xs:element ref="key" />
  32				<xs:choice>
  33					<xs:element ref="index" />
  34					<xs:element ref="list-index" />
  35				</xs:choice>
  36				<xs:choice>
  37					<xs:element ref="element" />
  38					<xs:element ref="one-to-many" />
  39					<xs:element ref="many-to-many" />
  40					<xs:element ref="composite-element" />
  41					<xs:element ref="many-to-any" />
  42				</xs:choice>
  43				<xs:element ref="loader" minOccurs="0" />
  44				<xs:element ref="sql-insert" minOccurs="0" />
  45				<xs:element ref="sql-update" minOccurs="0" />
  46				<xs:element ref="sql-delete" minOccurs="0" />
  47				<xs:element ref="sql-delete-all" minOccurs="0" />
  48			</xs:sequence>
  49			<xs:attribute name="name" use="required" type="xs:string" />
  50			<xs:attribute name="access" type="xs:string" />
  51			<xs:attribute name="table" type="xs:string" />
  52			<xs:attribute name="schema" type="xs:string" />
  53			<xs:attribute name="catalog" type="xs:string" />
  54			<xs:attribute name="subselect" type="xs:string" />
  55			<xs:attribute name="inverse" default="false" type="xs:boolean">
  56			</xs:attribute>
  57			<xs:attribute name="mutable" default="true" type="xs:boolean">
  58			</xs:attribute>
  59			<xs:attribute name="element-class" type="xs:string" />
  60			<xs:attribute name="cascade" type="xs:string" />
  61			<xs:attribute name="where" type="xs:string" />
  62			<xs:attribute name="batch-size" type="xs:int" />
  63			<xs:attribute name="outer-join" type="outerJoinStrategy">
  64			</xs:attribute>
  65			<xs:attribute name="fetch" type="collectionFetchMode">
  66			</xs:attribute>
  67			<xs:attribute name="persister" type="xs:string" />
  68			<xs:attribute name="collection-type" type="xs:string" />
  69			<xs:attribute name="check" type="xs:string" />
  70			<xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
  71			</xs:attribute>
  72			<xs:attribute name="node" type="xs:string" />
  73			<xs:attribute name="embed-xml" default="true" type="xs:boolean">
  74			</xs:attribute>
  75		</xs:complexType>
  76	</xs:element>
  77	<xs:element name="bag">
  78		<xs:complexType>
  79			<xs:sequence>
  80				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
  81				<xs:element ref="subselect" minOccurs="0" />
  82				<xs:element ref="cache" minOccurs="0" />
  83				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
  84				<xs:element ref="comment" minOccurs="0" />
  85				<xs:element ref="key" />
  86				<xs:choice>
  87					<xs:element ref="element" />
  88					<xs:element ref="one-to-many" />
  89					<xs:element ref="many-to-many" />
  90					<xs:element ref="composite-element" />
  91					<xs:element ref="many-to-any" />
  92				</xs:choice>
  93				<xs:element ref="loader" minOccurs="0" />
  94				<xs:element ref="sql-insert" minOccurs="0" />
  95				<xs:element ref="sql-update" minOccurs="0" />
  96				<xs:element ref="sql-delete" minOccurs="0" />
  97				<xs:element ref="sql-delete-all" minOccurs="0" />
  98				<xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
  99			</xs:sequence>
 100			<xs:attributeGroup ref="baseCollectionAttributes" />
 101		</xs:complexType>
 102	</xs:element>
 103	<xs:element name="cache">
 104		<xs:complexType>
 105			<xs:attribute name="usage" use="required">
 106				<xs:simpleType>
 107					<xs:restriction base="xs:string">
 108						<xs:enumeration value="read-only" />
 109						<xs:enumeration value="read-write" />
 110						<xs:enumeration value="nonstrict-read-write" />
 111						<xs:enumeration value="transactional" />
 112					</xs:restriction>
 113				</xs:simpleType>
 114			</xs:attribute>
 115			<xs:attribute name="region" type="xs:string" use="optional">
 116			</xs:attribute>
 117			<xs:attribute name="include" default="all">
 118				<xs:simpleType>
 119					<xs:restriction base="xs:string">
 120						<xs:enumeration value="all" />
 121						<xs:enumeration value="non-lazy" />
 122					</xs:restriction>
 123				</xs:simpleType>
 124			</xs:attribute>
 125		</xs:complexType>
 126	</xs:element>
 127	<xs:element name="class">
 128		<xs:complexType>
 129			<xs:sequence>
 130				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 131				<xs:element ref="subselect" minOccurs="0" />
 132				<xs:element ref="cache" minOccurs="0" />
 133				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
 134				<xs:element ref="comment" minOccurs="0" />
 135				<xs:element ref="tuplizer" minOccurs="0" maxOccurs="unbounded" />
 136				<xs:choice>
 137					<xs:element ref="id" />
 138					<xs:element ref="composite-id" />
 139				</xs:choice>
 140				<xs:element ref="discriminator" minOccurs="0" />
 141				<xs:element ref="natural-id" minOccurs="0" />
 142				<xs:choice minOccurs="0">
 143					<xs:element ref="version" />
 144					<xs:element ref="timestamp" />
 145				</xs:choice>
 146				<xs:choice minOccurs="0" maxOccurs="unbounded">
 147					<xs:element ref="property" />
 148					<xs:element ref="many-to-one" />
 149					<xs:element ref="one-to-one" />
 150					<xs:element ref="component" />
 151					<xs:element ref="dynamic-component" />
 152					<xs:element ref="properties" />
 153					<xs:element ref="any" />
 154					<xs:element ref="map" />
 155					<xs:element ref="set" />
 156					<xs:element ref="list" />
 157					<xs:element ref="bag" />
 158					<xs:element ref="idbag" />
 159					<xs:element ref="array" />
 160					<xs:element ref="primitive-array" />
 161				</xs:choice>
 162				<xs:choice>
 163					<xs:sequence>
 164						<xs:element ref="join" minOccurs="0" maxOccurs="unbounded" />
 165						<xs:element ref="subclass" minOccurs="0" maxOccurs="unbounded" />
 166					</xs:sequence>
 167					<xs:element ref="joined-subclass" minOccurs="0" maxOccurs="unbounded" />
 168					<xs:element ref="union-subclass" minOccurs="0" maxOccurs="unbounded" />
 169				</xs:choice>
 170				<xs:element ref="loader" minOccurs="0" />
 171				<xs:element ref="sql-insert" minOccurs="0" />
 172				<xs:element ref="sql-update" minOccurs="0" />
 173				<xs:element ref="sql-delete" minOccurs="0" />
 174				<xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
 175				<xs:element ref="resultset" minOccurs="0" maxOccurs="unbounded" />
 176				<xs:choice minOccurs="0" maxOccurs="unbounded">
 177					<xs:element ref="query" />
 178					<xs:element ref="sql-query" />
 179				</xs:choice>
 180			</xs:sequence>
 181			<xs:attribute name="entity-name" type="xs:string">
 182			</xs:attribute>
 183			<xs:attribute name="name" type="xs:string" />
 184			<xs:attribute name="proxy" type="xs:string" />
 185			<xs:attribute name="lazy" type="xs:boolean">
 186			</xs:attribute>
 187      <xs:attribute name="schema-action" type="xs:string" />
 188			<xs:attribute name="table" type="xs:string" />
 189			<xs:attribute name="schema" type="xs:string" />
 190			<xs:attribute name="catalog" type="xs:string" />
 191			<xs:attribute name="subselect" type="xs:string" />
 192			<xs:attribute name="discriminator-value" type="xs:string" />
 193			<xs:attribute name="mutable" default="true" type="xs:boolean">
 194			</xs:attribute>
 195			<xs:attribute name="abstract" type="xs:boolean">
 196			</xs:attribute>
 197			<xs:attribute name="polymorphism" default="implicit" type="polymorphismType">
 198			</xs:attribute>
 199			<xs:attribute name="where" type="xs:string" />
 200			<xs:attribute name="persister" type="xs:string" />
 201			<xs:attribute name="dynamic-update" default="false" type="xs:boolean">
 202			</xs:attribute>
 203			<xs:attribute name="dynamic-insert" default="false" type="xs:boolean">
 204			</xs:attribute>
 205			<xs:attribute name="batch-size" type="xs:int" />
 206			<xs:attribute name="select-before-update" default="false" type="xs:boolean">
 207			</xs:attribute>
 208			<xs:attribute name="optimistic-lock" default="version" type="optimisticLockMode">
 209			</xs:attribute>
 210			<xs:attribute name="check" type="xs:string" />
 211			<xs:attribute name="rowid" type="xs:string" />
 212			<xs:attribute name="node" type="xs:string" />
 213		</xs:complexType>
 214	</xs:element>
 215	<xs:element name="collection-id">
 216		<xs:complexType>
 217			<xs:sequence>
 218				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 219				<xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
 220				<xs:element ref="generator" />
 221			</xs:sequence>
 222			<xs:attribute name="column" use="required" type="xs:string" />
 223			<xs:attribute name="type" use="required" type="xs:string" />
 224			<xs:attribute name="length" type="xs:positiveInteger" />
 225		</xs:complexType>
 226	</xs:element>
 227	<xs:element name="column">
 228		<xs:complexType>
 229			<xs:sequence>
 230				<xs:element ref="comment" minOccurs="0" />
 231			</xs:sequence>
 232			<xs:attribute name="name" use="required" type="xs:string">
 233			</xs:attribute>
 234			<xs:attribute name="length" type="xs:positiveInteger" />
 235			<xs:attribute name="precision" type="xs:positiveInteger" />
 236			<xs:attribute name="scale" type="xs:positiveInteger" />
 237			<xs:attribute name="not-null" type="xs:boolean">
 238			</xs:attribute>
 239			<xs:attribute name="unique" type="xs:boolean">
 240			</xs:attribute>
 241			<xs:attribute name="unique-key" type="xs:string" />
 242			<xs:attribute name="sql-type" type="xs:string" />
 243			<xs:attribute name="index" type="xs:string" />
 244			<xs:attribute name="check" type="xs:string" />
 245			<xs:attribute name="default" type="xs:string" />
 246		</xs:complexType>
 247	</xs:element>
 248	<xs:element name="comment">
 249		<xs:complexType mixed="true">
 250		</xs:complexType>
 251	</xs:element>
 252	<xs:element name="component">
 253		<xs:complexType>
 254			<xs:sequence>
 255				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 256				<xs:element ref="tuplizer" minOccurs="0" maxOccurs="unbounded" />
 257				<xs:element ref="parent" minOccurs="0" />
 258				<xs:choice minOccurs="0" maxOccurs="unbounded">
 259					<xs:element ref="property" />
 260					<xs:element ref="many-to-one" />
 261					<xs:element ref="one-to-one" />
 262					<xs:element ref="component" />
 263					<xs:element ref="dynamic-component" />
 264					<xs:element ref="any" />
 265					<xs:element ref="map" />
 266					<xs:element ref="set" />
 267					<xs:element ref="list" />
 268					<xs:element ref="bag" />
 269					<xs:element ref="idbag" />
 270					<xs:element ref="array" />
 271					<xs:element ref="primitive-array" />
 272				</xs:choice>
 273			</xs:sequence>
 274			<xs:attribute name="class" type="xs:string" />
 275			<xs:attribute name="name" use="required" type="xs:string" />
 276			<xs:attribute name="access" type="xs:string" />
 277			<xs:attribute name="unique" default="false" type="xs:boolean">
 278			</xs:attribute>
 279			<xs:attribute name="update" default="true" type="xs:boolean">
 280			</xs:attribute>
 281			<xs:attribute name="insert" default="true" type="xs:boolean">
 282			</xs:attribute>
 283			<xs:attribute name="lazy" default="false" type="xs:boolean">
 284			</xs:attribute>
 285			<xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
 286			</xs:attribute>
 287			<xs:attribute name="node" type="xs:string" />
 288		</xs:complexType>
 289	</xs:element>
 290	<xs:element name="composite-element">
 291		<xs:complexType>
 292			<xs:sequence>
 293				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 294				<xs:element ref="parent" minOccurs="0" />
 295				<xs:choice minOccurs="0" maxOccurs="unbounded">
 296					<xs:element ref="property" />
 297					<xs:element ref="many-to-one" />
 298					<xs:element ref="any" />
 299					<xs:element ref="nested-composite-element" />
 300				</xs:choice>
 301			</xs:sequence>
 302			<xs:attribute name="class" use="required" type="xs:string" />
 303			<xs:attribute name="node" type="xs:string" />
 304		</xs:complexType>
 305	</xs:element>
 306	<xs:element name="composite-id">
 307		<xs:annotation>
 308			<xs:documentation>A composite key may be modelled by a .NET class with a property for each key column. The class must be Serializable and override equals() and hashCode()</xs:documentation>
 309		</xs:annotation>
 310		<xs:complexType>
 311			<xs:sequence>
 312				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 313				<xs:choice maxOccurs="unbounded">
 314					<xs:element ref="key-property" />
 315					<xs:element ref="key-many-to-one" />
 316				</xs:choice>
 317			</xs:sequence>
 318			<xs:attribute name="class" type="xs:string" />
 319			<xs:attribute name="mapped" default="false" type="xs:boolean">
 320			</xs:attribute>
 321			<xs:attribute name="name" type="xs:string" />
 322			<xs:attribute name="node" type="xs:string" />
 323			<xs:attribute name="access" type="xs:string" />
 324			<xs:attribute name="unsaved-value" default="undefined" type="unsavedValueType">
 325			</xs:attribute>
 326		</xs:complexType>
 327	</xs:element>
 328	<xs:element name="composite-index">
 329		<xs:complexType>
 330			<xs:sequence>
 331				<xs:choice maxOccurs="unbounded">
 332					<xs:element ref="key-property" />
 333					<xs:element ref="key-many-to-one" />
 334				</xs:choice>
 335			</xs:sequence>
 336			<xs:attribute name="class" use="required" type="xs:string" />
 337		</xs:complexType>
 338	</xs:element>
 339	<xs:element name="composite-map-key">
 340		<xs:complexType>
 341			<xs:sequence>
 342				<xs:choice maxOccurs="unbounded">
 343					<xs:element ref="key-property" />
 344					<xs:element ref="key-many-to-one" />
 345				</xs:choice>
 346			</xs:sequence>
 347			<xs:attribute name="class" use="required" type="xs:string" />
 348		</xs:complexType>
 349	</xs:element>
 350	<xs:element name="create">
 351		<xs:complexType mixed="true">
 352		</xs:complexType>
 353	</xs:element>
 354	<xs:element name="database-object">
 355		<xs:complexType>
 356			<xs:sequence>
 357				<xs:choice>
 358					<xs:element ref="definition" />
 359					<xs:sequence>
 360						<xs:element ref="create" />
 361						<xs:element ref="drop" />
 362					</xs:sequence>
 363				</xs:choice>
 364				<xs:element ref="dialect-scope" minOccurs="0" maxOccurs="unbounded" />
 365			</xs:sequence>
 366		</xs:complexType>
 367	</xs:element>
 368	<xs:element name="definition">
 369		<xs:complexType>
 370			<xs:attribute name="class" use="required" type="xs:string" />
 371		</xs:complexType>
 372	</xs:element>
 373	<xs:element name="dialect-scope">
 374		<xs:complexType mixed="true">
 375			<xs:attribute name="name" use="required" type="xs:string" />
 376		</xs:complexType>
 377	</xs:element>
 378	<xs:element name="discriminator">
 379		<xs:complexType>
 380			<xs:sequence>
 381				<xs:choice minOccurs="0">
 382					<xs:element ref="column" />
 383					<xs:element ref="formula" />
 384				</xs:choice>
 385			</xs:sequence>
 386			<xs:attribute name="column" type="xs:string" />
 387			<xs:attribute name="formula" type="xs:string" />
 388			<xs:attribute name="type" default="string" type="xs:string" />
 389			<xs:attribute name="not-null" default="true" type="xs:boolean">
 390			</xs:attribute>
 391			<xs:attribute name="length" type="xs:positiveInteger" />
 392			<xs:attribute name="force" default="false" type="xs:boolean">
 393			</xs:attribute>
 394			<xs:attribute name="insert" default="true" type="xs:boolean">
 395			</xs:attribute>
 396		</xs:complexType>
 397	</xs:element>
 398	<xs:element name="drop">
 399		<xs:complexType mixed="true">
 400		</xs:complexType>
 401	</xs:element>
 402	<xs:element name="dynamic-component">
 403		<xs:complexType>
 404			<xs:sequence>
 405				<xs:choice minOccurs="0" maxOccurs="unbounded">
 406					<xs:element ref="property" />
 407					<xs:element ref="many-to-one" />
 408					<xs:element ref="one-to-one" />
 409					<xs:element ref="component" />
 410					<xs:element ref="dynamic-component" />
 411					<xs:element ref="any" />
 412					<xs:element ref="map" />
 413					<xs:element ref="set" />
 414					<xs:element ref="list" />
 415					<xs:element ref="bag" />
 416					<xs:element ref="array" />
 417					<xs:element ref="primitive-array" />
 418				</xs:choice>
 419			</xs:sequence>
 420			<xs:attribute name="name" use="required" type="xs:string" />
 421			<xs:attribute name="access" type="xs:string" />
 422			<xs:attribute name="unique" default="false" type="xs:boolean">
 423			</xs:attribute>
 424			<xs:attribute name="update" default="true" type="xs:boolean">
 425			</xs:attribute>
 426			<xs:attribute name="insert" default="true" type="xs:boolean">
 427			</xs:attribute>
 428			<xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
 429			</xs:attribute>
 430			<xs:attribute name="node" type="xs:string" />
 431		</xs:complexType>
 432	</xs:element>
 433	<xs:element name="element">
 434		<xs:complexType>
 435			<xs:sequence>
 436				<xs:choice minOccurs="0" maxOccurs="unbounded">
 437					<xs:element ref="column" />
 438					<xs:element ref="formula" />
 439				</xs:choice>
 440				<xs:element ref="type" minOccurs="0" />
 441			</xs:sequence>
 442			<xs:attribute name="column" type="xs:string" />
 443			<xs:attribute name="node" type="xs:string" />
 444			<xs:attribute name="formula" type="xs:string" />
 445			<xs:attribute name="type" type="xs:string" />
 446			<xs:attribute name="length" type="xs:positiveInteger" />
 447			<xs:attribute name="precision" type="xs:positiveInteger" />
 448			<xs:attribute name="scale" type="xs:positiveInteger" />
 449			<xs:attribute name="not-null" default="false" type="xs:boolean">
 450			</xs:attribute>
 451			<xs:attribute name="unique" default="false" type="xs:boolean">
 452			</xs:attribute>
 453		</xs:complexType>
 454	</xs:element>
 455	<xs:element name="filter">
 456		<xs:complexType mixed="true">
 457			<xs:attribute name="name" use="required" type="xs:string" />
 458			<xs:attribute name="condition" type="xs:string" />
 459		</xs:complexType>
 460	</xs:element>
 461	<xs:element name="filter-def">
 462		<xs:complexType mixed="true">
 463			<xs:choice minOccurs="0" maxOccurs="unbounded">
 464				<xs:element ref="filter-param" />
 465			</xs:choice>
 466			<xs:attribute name="name" use="required" type="xs:string" />
 467			<xs:attribute name="condition" type="xs:string" />
 468		</xs:complexType>
 469	</xs:element>
 470	<xs:element name="filter-param">
 471		<xs:complexType>
 472			<xs:attribute name="name" use="required" type="xs:string" />
 473			<xs:attribute name="type" use="required" type="xs:string" />
 474		</xs:complexType>
 475	</xs:element>
 476	<xs:element name="formula">
 477		<xs:complexType mixed="true">
 478		</xs:complexType>
 479	</xs:element>
 480	<xs:element name="generator">
 481		<xs:complexType>
 482			<xs:sequence>
 483				<xs:element ref="param" minOccurs="0" maxOccurs="unbounded" />
 484			</xs:sequence>
 485			<xs:attribute name="class" use="required" type="xs:string" />
 486		</xs:complexType>
 487	</xs:element>
 488	<xs:element name="hibernate-mapping">
 489		<xs:complexType>
 490			<xs:sequence>
 491				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 492				<xs:element ref="typedef" minOccurs="0" maxOccurs="unbounded" />
 493				<xs:element ref="import" minOccurs="0" maxOccurs="unbounded" />
 494				<xs:choice minOccurs="0" maxOccurs="unbounded">
 495					<xs:element ref="class" />
 496					<xs:element ref="subclass" />
 497					<xs:element ref="joined-subclass" />
 498					<xs:element ref="union-subclass" />
 499				</xs:choice>
 500				<xs:element ref="resultset" minOccurs="0" maxOccurs="unbounded" />
 501				<xs:choice minOccurs="0" maxOccurs="unbounded">
 502					<xs:element ref="query" />
 503					<xs:element ref="sql-query" />
 504				</xs:choice>
 505				<xs:element ref="filter-def" minOccurs="0" maxOccurs="unbounded" />
 506				<xs:element ref="database-object" minOccurs="0" maxOccurs="unbounded" />
 507			</xs:sequence>
 508			<xs:attribute name="schema" type="xs:string" />
 509			<xs:attribute name="catalog" type="xs:string" />
 510			<xs:attribute name="default-cascade" default="none" type="xs:string" />
 511			<xs:attribute name="default-access" default="property" type="xs:string" />
 512			<xs:attribute name="default-lazy" default="true" type="xs:boolean">
 513			</xs:attribute>
 514			<xs:attribute name="auto-import" default="true" type="xs:boolean">
 515			</xs:attribute>
 516			<xs:attribute name="namespace" type="xs:string" use="optional">
 517				<xs:annotation>
 518					<xs:documentation>Namespace used to find not-Fully Qualified Type Names</xs:documentation>
 519				</xs:annotation>
 520			</xs:attribute>
 521			<xs:attribute name="assembly" type="xs:string" use="optional">
 522				<xs:annotation>
 523					<xs:documentation>Assembly used to find not-Fully Qualified Type Names</xs:documentation>
 524				</xs:annotation>
 525			</xs:attribute>
 526		</xs:complexType>
 527	</xs:element>
 528	<xs:element name="id">
 529		<xs:complexType>
 530			<xs:sequence>
 531				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 532				<xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
 533				<xs:element ref="type" minOccurs="0" />
 534				<xs:element ref="generator" minOccurs="0" />
 535			</xs:sequence>
 536			<xs:attribute name="name" type="xs:string" />
 537			<xs:attribute name="node" type="xs:string" />
 538			<xs:attribute name="access" type="xs:string" />
 539			<xs:attribute name="column" type="xs:string" />
 540			<xs:attribute name="type" type="xs:string" />
 541			<xs:attribute name="length" type="xs:positiveInteger" />
 542			<xs:attribute name="unsaved-value" type="xs:string" />
 543		</xs:complexType>
 544	</xs:element>
 545	<xs:element name="idbag">
 546		<xs:complexType>
 547			<xs:sequence>
 548				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 549				<xs:element ref="subselect" minOccurs="0" />
 550				<xs:element ref="cache" minOccurs="0" />
 551				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
 552				<xs:element ref="comment" minOccurs="0" />
 553				<xs:element ref="collection-id" />
 554				<xs:element ref="key" />
 555				<xs:choice>
 556					<xs:element ref="element" />
 557					<xs:element ref="many-to-many" />
 558					<xs:element ref="composite-element" />
 559					<xs:element ref="many-to-any" />
 560				</xs:choice>
 561				<xs:element ref="loader" minOccurs="0" />
 562				<xs:element ref="sql-insert" minOccurs="0" />
 563				<xs:element ref="sql-update" minOccurs="0" />
 564				<xs:element ref="sql-delete" minOccurs="0" />
 565				<xs:element ref="sql-delete-all" minOccurs="0" />
 566				<xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
 567			</xs:sequence>
 568			<xs:attributeGroup ref="baseCollectionAttributes" />
 569		</xs:complexType>
 570	</xs:element>
 571	<xs:element name="import">
 572		<xs:complexType>
 573			<xs:attribute name="class" use="required" type="xs:string" />
 574			<xs:attribute name="rename" type="xs:string" />
 575		</xs:complexType>
 576	</xs:element>
 577	<xs:element name="index">
 578		<xs:complexType>
 579			<xs:sequence>
 580				<xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
 581			</xs:sequence>
 582			<xs:attribute name="column" type="xs:string" />
 583			<xs:attribute name="type" type="xs:string" />
 584			<xs:attribute name="length" type="xs:positiveInteger" />
 585		</xs:complexType>
 586	</xs:element>
 587	<xs:element name="index-many-to-any">
 588		<xs:complexType>
 589			<xs:sequence>
 590				<xs:element ref="column" maxOccurs="unbounded" />
 591			</xs:sequence>
 592			<xs:attribute name="id-type" use="required" type="xs:string" />
 593			<xs:attribute name="meta-type" type="xs:string" />
 594			<xs:attribute name="column" type="xs:string" />
 595		</xs:complexType>
 596	</xs:element>
 597	<xs:element name="index-many-to-many">
 598		<xs:complexType>
 599			<xs:sequence>
 600				<xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
 601			</xs:sequence>
 602			<xs:attribute name="class" use="required" type="xs:string" />
 603			<xs:attribute name="entity-name" type="xs:string" />
 604			<xs:attribute name="column" type="xs:string" />
 605			<xs:attribute name="foreign-key" type="xs:string" />
 606		</xs:complexType>
 607	</xs:element>
 608	<xs:element name="join">
 609		<xs:complexType>
 610			<xs:sequence>
 611				<xs:element ref="subselect" minOccurs="0" />
 612				<xs:element ref="comment" minOccurs="0" />
 613				<xs:element ref="key" />
 614				<xs:choice minOccurs="0" maxOccurs="unbounded">
 615					<xs:element ref="property" />
 616					<xs:element ref="many-to-one" />
 617					<xs:element ref="component" />
 618					<xs:element ref="dynamic-component" />
 619					<xs:element ref="any" />
 620					<xs:element ref="map" />
 621					<xs:element ref="set" />
 622					<xs:element ref="list" />
 623					<xs:element ref="bag" />
 624					<xs:element ref="idbag" />
 625					<xs:element ref="array" />
 626					<xs:element ref="primitive-array" />
 627				</xs:choice>
 628				<xs:element ref="sql-insert" minOccurs="0" />
 629				<xs:element ref="sql-update" minOccurs="0" />
 630				<xs:element ref="sql-delete" minOccurs="0" />
 631			</xs:sequence>
 632			<xs:attribute name="table" use="required" type="xs:string" />
 633			<xs:attribute name="schema" type="xs:string" />
 634			<xs:attribute name="catalog" type="xs:string" />
 635			<xs:attribute name="subselect" type="xs:string" />
 636			<xs:attribute name="fetch" default="join">
 637				<xs:simpleType>
 638					<xs:restriction base="xs:string">
 639						<xs:enumeration value="join" />
 640						<xs:enumeration value="select" />
 641					</xs:restriction>
 642				</xs:simpleType>
 643			</xs:attribute>
 644			<xs:attribute name="inverse" default="false" type="xs:boolean">
 645			</xs:attribute>
 646			<xs:attribute name="optional" default="false" type="xs:boolean">
 647			</xs:attribute>
 648		</xs:complexType>
 649	</xs:element>
 650	<xs:element name="joined-subclass">
 651		<xs:complexType>
 652			<xs:sequence>
 653				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 654				<xs:element ref="subselect" minOccurs="0" />
 655				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
 656				<xs:element ref="comment" minOccurs="0" />
 657				<xs:element ref="tuplizer" minOccurs="0" maxOccurs="unbounded" />
 658				<xs:element ref="key" />
 659				<xs:choice minOccurs="0" maxOccurs="unbounded">
 660					<xs:element ref="property" />
 661					<xs:element ref="many-to-one" />
 662					<xs:element ref="one-to-one" />
 663					<xs:element ref="component" />
 664					<xs:element ref="dynamic-component" />
 665					<xs:element ref="properties" />
 666					<xs:element ref="any" />
 667					<xs:element ref="map" />
 668					<xs:element ref="set" />
 669					<xs:element ref="list" />
 670					<xs:element ref="bag" />
 671					<xs:element ref="idbag" />
 672					<xs:element ref="array" />
 673					<xs:element ref="primitive-array" />
 674				</xs:choice>
 675				<xs:element ref="joined-subclass" minOccurs="0" maxOccurs="unbounded" />
 676				<xs:element ref="loader" minOccurs="0" />
 677				<xs:element ref="sql-insert" minOccurs="0" />
 678				<xs:element ref="sql-update" minOccurs="0" />
 679				<xs:element ref="sql-delete" minOccurs="0" />
 680				<xs:element ref="resultset" minOccurs="0" maxOccurs="unbounded" />
 681				<xs:choice minOccurs="0" maxOccurs="unbounded">
 682					<xs:element ref="query" />
 683					<xs:element ref="sql-query" />
 684				</xs:choice>
 685			</xs:sequence>
 686			<xs:attribute name="entity-name" type="xs:string">
 687			</xs:attribute>
 688			<xs:attribute name="name" type="xs:string" />
 689			<xs:attribute name="proxy" type="xs:string" />
 690			<xs:attribute name="table" type="xs:string" />
 691			<xs:attribute name="schema" type="xs:string" />
 692			<xs:attribute name="catalog" type="xs:string" />
 693			<xs:attribute name="subselect" type="xs:string" />
 694			<xs:attribute name="dynamic-update" default="false" type="xs:boolean">
 695			</xs:attribute>
 696			<xs:attribute name="dynamic-insert" default="false" type="xs:boolean">
 697			</xs:attribute>
 698			<xs:attribute name="select-before-update" default="false" type="xs:boolean">
 699			</xs:attribute>
 700			<xs:attribute name="extends" type="xs:string" />
 701			<xs:attribute name="lazy" type="xs:boolean">
 702			</xs:attribute>
 703			<xs:attribute name="abstract" type="xs:boolean">
 704			</xs:attribute>
 705			<xs:attribute name="persister" type="xs:string" />
 706			<xs:attribute name="check" type="xs:string" />
 707			<xs:attribute name="batch-size" type="xs:positiveInteger" />
 708			<xs:attribute name="node" type="xs:string" />
 709		</xs:complexType>
 710	</xs:element>
 711	<xs:element name="key">
 712		<xs:complexType>
 713			<xs:sequence>
 714				<xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
 715			</xs:sequence>
 716			<xs:attribute name="column" type="xs:string" />
 717			<xs:attribute name="property-ref" type="xs:string" />
 718			<xs:attribute name="foreign-key" type="xs:string" />
 719			<xs:attribute name="on-delete" default="noaction" type="ondelete">
 720			</xs:attribute>
 721			<xs:attribute name="not-null" type="xs:boolean">
 722			</xs:attribute>
 723			<xs:attribute name="update" type="xs:boolean">
 724			</xs:attribute>
 725			<xs:attribute name="unique" type="xs:boolean">
 726			</xs:attribute>
 727		</xs:complexType>
 728	</xs:element>
 729	<xs:element name="key-many-to-one">
 730		<xs:complexType>
 731			<xs:sequence>
 732				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 733				<xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
 734			</xs:sequence>
 735			<xs:attribute name="name" use="required" type="xs:string" />
 736			<xs:attribute name="access" type="xs:string" />
 737			<xs:attribute name="class" type="xs:string" />
 738			<xs:attribute name="entity-name" type="xs:string" />
 739			<xs:attribute name="column" type="xs:string" />
 740			<xs:attribute name="foreign-key" type="xs:string" />
 741			<xs:attribute name="lazy" type="restrictedLaziness">
 742			</xs:attribute>
 743		</xs:complexType>
 744	</xs:element>
 745	<xs:element name="key-property">
 746		<xs:complexType>
 747			<xs:sequence>
 748				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 749				<xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
 750				<xs:element ref="type" minOccurs="0" />
 751			</xs:sequence>
 752			<xs:attribute name="name" use="required" type="xs:string" />
 753			<xs:attribute name="access" type="xs:string" />
 754			<xs:attribute name="type" type="xs:string" />
 755			<xs:attribute name="column" type="xs:string" />
 756			<xs:attribute name="length" type="xs:positiveInteger" />
 757			<xs:attribute name="node" type="xs:string" />
 758		</xs:complexType>
 759	</xs:element>
 760	<xs:element name="list">
 761		<xs:complexType>
 762			<xs:sequence>
 763				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 764				<xs:element ref="subselect" minOccurs="0" />
 765				<xs:element ref="cache" minOccurs="0" />
 766				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
 767				<xs:element ref="comment" minOccurs="0" />
 768				<xs:element ref="key" />
 769				<xs:choice>
 770					<xs:element ref="index" />
 771					<xs:element ref="list-index" />
 772				</xs:choice>
 773				<xs:choice>
 774					<xs:element ref="element" />
 775					<xs:element ref="one-to-many" />
 776					<xs:element ref="many-to-many" />
 777					<xs:element ref="composite-element" />
 778					<xs:element ref="many-to-any" />
 779				</xs:choice>
 780				<xs:element ref="loader" minOccurs="0" />
 781				<xs:element ref="sql-insert" minOccurs="0" />
 782				<xs:element ref="sql-update" minOccurs="0" />
 783				<xs:element ref="sql-delete" minOccurs="0" />
 784				<xs:element ref="sql-delete-all" minOccurs="0" />
 785				<xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
 786			</xs:sequence>
 787			<xs:attributeGroup ref="baseCollectionAttributes" />
 788		</xs:complexType>
 789	</xs:element>
 790	<xs:element name="list-index">
 791		<xs:complexType>
 792			<xs:sequence>
 793				<xs:element ref="column" minOccurs="0" />
 794			</xs:sequence>
 795			<xs:attribute name="column" type="xs:string" />
 796			<xs:attribute name="base" type="xs:positiveInteger" use="optional" />
 797		</xs:complexType>
 798	</xs:element>
 799	<xs:element name="load-collection">
 800		<xs:complexType>
 801			<xs:sequence minOccurs="0" maxOccurs="unbounded">
 802				<xs:element ref="return-property" />
 803			</xs:sequence>
 804			<xs:attribute name="alias" use="required" type="xs:string" />
 805			<xs:attribute name="role" use="required" type="xs:string" />
 806			<xs:attribute name="lock-mode" default="read" type="lockMode">
 807			</xs:attribute>
 808		</xs:complexType>
 809	</xs:element>
 810	<xs:element name="loader">
 811		<xs:complexType>
 812			<xs:attribute name="query-ref" use="required" type="xs:string" />
 813		</xs:complexType>
 814	</xs:element>
 815	<xs:element name="many-to-any">
 816		<xs:complexType>
 817			<xs:sequence>
 818				<xs:element ref="meta-value" minOccurs="0" maxOccurs="unbounded" />
 819				<xs:element ref="column" maxOccurs="unbounded" />
 820			</xs:sequence>
 821			<xs:attribute name="column" type="xs:string" />
 822			<xs:attribute name="id-type" use="required" type="xs:string" />
 823			<xs:attribute name="meta-type" type="xs:string" />
 824		</xs:complexType>
 825	</xs:element>
 826	<xs:element name="many-to-many">
 827		<xs:complexType>
 828			<xs:sequence>
 829				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 830				<xs:choice minOccurs="0" maxOccurs="unbounded">
 831					<xs:element ref="column" />
 832					<xs:element ref="formula" />
 833				</xs:choice>
 834				<xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
 835			</xs:sequence>
 836			<xs:attribute name="class" type="xs:string" />
 837			<xs:attribute name="node" type="xs:string" />
 838			<xs:attribute name="embed-xml" default="true" type="xs:boolean">
 839			</xs:attribute>
 840			<xs:attribute name="entity-name" type="xs:string" />
 841			<xs:attribute name="column" type="xs:string" />
 842			<xs:attribute name="formula" type="xs:string" />
 843			<xs:attribute name="not-found" default="exception" type="notFoundMode">
 844			</xs:attribute>
 845			<xs:attribute name="outer-join" type="outerJoinStrategy">
 846			</xs:attribute>
 847			<xs:attribute name="fetch" type="fetchMode">
 848			</xs:attribute>
 849			<xs:attribute name="lazy" type="restrictedLaziness">
 850			</xs:attribute>
 851			<xs:attribute name="foreign-key" type="xs:string" />
 852			<xs:attribute name="unique" default="false" type="xs:boolean">
 853			</xs:attribute>
 854			<xs:attribute name="where" type="xs:string" />
 855			<xs:attribute name="order-by" type="xs:string" />
 856			<xs:attribute name="property-ref" type="xs:string" />
 857		</xs:complexType>
 858	</xs:element>
 859	<xs:element name="many-to-one">
 860		<xs:complexType>
 861			<xs:sequence>
 862				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 863				<xs:choice minOccurs="0" maxOccurs="unbounded">
 864					<xs:element ref="column" />
 865					<xs:element ref="formula" />
 866				</xs:choice>
 867			</xs:sequence>
 868			<xs:attribute name="name" use="required" type="xs:string" />
 869			<xs:attribute name="access" type="xs:string" />
 870			<xs:attribute name="class" type="xs:string" />
 871			<xs:attribute name="entity-name" type="xs:string" />
 872			<xs:attribute name="column" type="xs:string" />
 873			<xs:attribute name="not-null" type="xs:boolean">
 874			</xs:attribute>
 875			<xs:attribute name="unique" default="false" type="xs:boolean">
 876			</xs:attribute>
 877			<xs:attribute name="unique-key" type="xs:string" />
 878			<xs:attribute name="index" type="xs:string" />
 879			<xs:attribute name="cascade" type="xs:string" />
 880			<xs:attribute name="outer-join" type="outerJoinStrategy">
 881			</xs:attribute>
 882			<xs:attribute name="fetch" type="fetchMode">
 883			</xs:attribute>
 884			<xs:attribute name="update" default="true" type="xs:boolean">
 885			</xs:attribute>
 886			<xs:attribute name="insert" default="true" type="xs:boolean">
 887			</xs:attribute>
 888			<xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
 889			</xs:attribute>
 890			<xs:attribute name="foreign-key" type="xs:string" />
 891			<xs:attribute name="property-ref" type="xs:string" />
 892			<xs:attribute name="formula" type="xs:string" />
 893			<xs:attribute name="lazy" type="laziness">
 894			</xs:attribute>
 895			<xs:attribute name="not-found" default="exception" type="notFoundMode">
 896			</xs:attribute>
 897			<xs:attribute name="node" type="xs:string" />
 898			<xs:attribute name="embed-xml" default="true" type="xs:boolean">
 899			</xs:attribute>
 900		</xs:complexType>
 901	</xs:element>
 902	<xs:element name="map">
 903		<xs:complexType>
 904			<xs:sequence>
 905				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
 906				<xs:element ref="subselect" minOccurs="0" />
 907				<xs:element ref="cache" minOccurs="0" />
 908				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
 909				<xs:element ref="comment" minOccurs="0" />
 910				<xs:element ref="key" />
 911				<xs:choice>
 912					<xs:element ref="map-key" />
 913					<xs:element ref="composite-map-key" />
 914					<xs:element ref="map-key-many-to-many" />
 915					<xs:element ref="index" />
 916					<xs:element ref="composite-index" />
 917					<xs:element ref="index-many-to-many" />
 918					<xs:element ref="index-many-to-any" />
 919				</xs:choice>
 920				<xs:choice>
 921					<xs:element ref="element" />
 922					<xs:element ref="one-to-many" />
 923					<xs:element ref="many-to-many" />
 924					<xs:element ref="composite-element" />
 925					<xs:element ref="many-to-any" />
 926				</xs:choice>
 927				<xs:element ref="loader" minOccurs="0" />
 928				<xs:element ref="sql-insert" minOccurs="0" />
 929				<xs:element ref="sql-update" minOccurs="0" />
 930				<xs:element ref="sql-delete" minOccurs="0" />
 931				<xs:element ref="sql-delete-all" minOccurs="0" />
 932				<xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
 933			</xs:sequence>
 934			<xs:attributeGroup ref="baseCollectionAttributes" />
 935			<xs:attribute name="sort" type="xs:string" />
 936		</xs:complexType>
 937	</xs:element>
 938	<xs:element name="map-key">
 939		<xs:complexType>
 940			<xs:sequence>
 941				<xs:choice minOccurs="0" maxOccurs="unbounded">
 942					<xs:element ref="column" />
 943					<xs:element ref="formula" />
 944				</xs:choice>
 945			</xs:sequence>
 946			<xs:attribute name="column" type="xs:string" />
 947			<xs:attribute name="formula" type="xs:string" />
 948			<xs:attribute name="type" use="required" type="xs:string" />
 949			<xs:attribute name="length" type="xs:positiveInteger" />
 950			<xs:attribute name="node" type="xs:string" />
 951		</xs:complexType>
 952	</xs:element>
 953	<xs:element name="map-key-many-to-many">
 954		<xs:complexType>
 955			<xs:sequence>
 956				<xs:choice minOccurs="0" maxOccurs="unbounded">
 957					<xs:element ref="column" />
 958					<xs:element ref="formula" />
 959				</xs:choice>
 960			</xs:sequence>
 961			<xs:attribute name="class" type="xs:string" />
 962			<xs:attribute name="entity-name" type="xs:string" />
 963			<xs:attribute name="column" type="xs:string" />
 964			<xs:attribute name="formula" type="xs:string" />
 965			<xs:attribute name="foreign-key" type="xs:string" />
 966		</xs:complexType>
 967	</xs:element>
 968	<xs:element name="meta">
 969		<xs:complexType mixed="true">
 970			<xs:attribute name="attribute" use="required" type="xs:string" />
 971			<xs:attribute name="inherit" default="true" type="xs:boolean" />
 972		</xs:complexType>
 973	</xs:element>
 974	<xs:element name="meta-value">
 975		<xs:complexType>
 976			<xs:attribute name="value" use="required" type="xs:string" />
 977			<xs:attribute name="class" use="required" type="xs:string" />
 978		</xs:complexType>
 979	</xs:element>
 980	<xs:element name="natural-id">
 981		<xs:complexType>
 982			<xs:sequence>
 983				<xs:choice minOccurs="0" maxOccurs="unbounded">
 984					<xs:element ref="property" />
 985					<xs:element ref="many-to-one" />
 986					<xs:element ref="component" />
 987					<xs:element ref="dynamic-component" />
 988					<xs:element ref="any" />
 989				</xs:choice>
 990			</xs:sequence>
 991			<xs:attribute name="mutable" default="false" type="xs:boolean">
 992			</xs:attribute>
 993		</xs:complexType>
 994	</xs:element>
 995	<xs:element name="nested-composite-element">
 996		<xs:complexType>
 997			<xs:sequence>
 998				<xs:element ref="parent" minOccurs="0" />
 999				<xs:choice minOccurs="0" maxOccurs="unbounded">
1000					<xs:element ref="property" />
1001					<xs:element ref="many-to-one" />
1002					<xs:element ref="any" />
1003					<xs:element ref="nested-composite-element" />
1004				</xs:choice>
1005			</xs:sequence>
1006			<xs:attribute name="class" use="required" type="xs:string" />
1007			<xs:attribute name="name" use="required" type="xs:string" />
1008			<xs:attribute name="access" type="xs:string" />
1009			<xs:attribute name="node" type="xs:string" />
1010		</xs:complexType>
1011	</xs:element>
1012	<xs:element name="one-to-many">
1013		<xs:complexType>
1014			<xs:attribute name="class" type="xs:string" />
1015			<xs:attribute name="not-found" default="exception" type="notFoundMode">
1016			</xs:attribute>
1017			<xs:attribute name="node" type="xs:string" />
1018			<xs:attribute name="embed-xml" default="true" type="xs:boolean">
1019			</xs:attribute>
1020			<xs:attribute name="entity-name" type="xs:string" />
1021		</xs:complexType>
1022	</xs:element>
1023	<xs:element name="one-to-one">
1024		<xs:complexType>
1025			<xs:sequence>
1026				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1027				<xs:element ref="formula" minOccurs="0" maxOccurs="unbounded" />
1028			</xs:sequence>
1029			<xs:attribute name="name" use="required" type="xs:string" />
1030			<xs:attribute name="formula" type="xs:string" />
1031			<xs:attribute name="access" type="xs:string" />
1032			<xs:attribute name="class" type="xs:string" />
1033			<xs:attribute name="entity-name" type="xs:string" />
1034			<xs:attribute name="cascade" type="xs:string" />
1035			<xs:attribute name="outer-join" type="outerJoinStrategy">
1036			</xs:attribute>
1037			<xs:attribute name="fetch" type="fetchMode">
1038			</xs:attribute>
1039			<xs:attribute name="constrained" default="false" type="xs:boolean">
1040			</xs:attribute>
1041			<xs:attribute name="foreign-key" type="xs:string" />
1042			<xs:attribute name="property-ref" type="xs:string" />
1043			<xs:attribute name="lazy" type="laziness">
1044			</xs:attribute>
1045			<xs:attribute name="node" type="xs:string" />
1046			<xs:attribute name="embed-xml" default="true" type="xs:boolean">
1047			</xs:attribute>
1048		</xs:complexType>
1049	</xs:element>
1050	<xs:element name="param">
1051		<xs:complexType mixed="true">
1052			<xs:attribute name="name" use="required" type="xs:string" />
1053		</xs:complexType>
1054	</xs:element>
1055	<xs:element name="parent">
1056		<xs:complexType>
1057			<xs:attribute name="name" use="required" type="xs:string" />
1058		</xs:complexType>
1059	</xs:element>
1060	<xs:element name="primitive-array">
1061		<xs:complexType>
1062			<xs:sequence>
1063				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1064				<xs:element ref="subselect" minOccurs="0" />
1065				<xs:element ref="cache" minOccurs="0" />
1066				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
1067				<xs:element ref="comment" minOccurs="0" />
1068				<xs:element ref="key" />
1069				<xs:choice>
1070					<xs:element ref="index" />
1071					<xs:element ref="list-index" />
1072				</xs:choice>
1073				<xs:element ref="element" />
1074				<xs:element ref="loader" minOccurs="0" />
1075				<xs:element ref="sql-insert" minOccurs="0" />
1076				<xs:element ref="sql-update" minOccurs="0" />
1077				<xs:element ref="sql-delete" minOccurs="0" />
1078				<xs:element ref="sql-delete-all" minOccurs="0" />
1079			</xs:sequence>
1080			<xs:attribute name="name" use="required" type="xs:string">
1081			</xs:attribute>
1082			<xs:attribute name="access" type="xs:string" />
1083			<xs:attribute name="table" type="xs:string" />
1084			<xs:attribute name="schema" type="xs:string" />
1085			<xs:attribute name="catalog" type="xs:string" />
1086			<xs:attribute name="subselect" type="xs:string" />
1087			<xs:attribute name="mutable" default="true" type="xs:boolean">
1088			</xs:attribute>
1089			<xs:attribute name="where" type="xs:string" />
1090			<xs:attribute name="batch-size" type="xs:positiveInteger" />
1091			<xs:attribute name="outer-join">
1092				<xs:simpleType>
1093					<xs:restriction base="xs:string">
1094						<xs:enumeration value="true" />
1095						<xs:enumeration value="false" />
1096						<xs:enumeration value="auto" />
1097					</xs:restriction>
1098				</xs:simpleType>
1099			</xs:attribute>
1100			<xs:attribute name="fetch">
1101				<xs:simpleType>
1102					<xs:restriction base="xs:string">
1103						<xs:enumeration value="join" />
1104						<xs:enumeration value="select" />
1105						<xs:enumeration value="subselect" />
1106					</xs:restriction>
1107				</xs:simpleType>
1108			</xs:attribute>
1109			<xs:attribute name="persister" type="xs:string" />
1110			<xs:attribute name="collection-type" type="xs:string" />
1111			<xs:attribute name="check" type="xs:string" />
1112			<xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
1113			</xs:attribute>
1114			<xs:attribute name="node" type="xs:string" />
1115			<xs:attribute name="embed-xml" default="true" type="xs:boolean">
1116			</xs:attribute>
1117		</xs:complexType>
1118	</xs:element>
1119	<xs:element name="properties">
1120		<xs:complexType>
1121			<xs:sequence>
1122				<xs:choice minOccurs="0" maxOccurs="unbounded">
1123					<xs:element ref="property" />
1124					<xs:element ref="many-to-one" />
1125					<xs:element ref="component" />
1126					<xs:element ref="dynamic-component" />
1127				</xs:choice>
1128			</xs:sequence>
1129			<xs:attribute name="name" use="required" type="xs:string" />
1130			<xs:attribute name="unique" default="false" type="xs:boolean">
1131			</xs:attribute>
1132			<xs:attribute name="insert" default="true" type="xs:boolean">
1133			</xs:attribute>
1134			<xs:attribute name="update" default="true" type="xs:boolean">
1135			</xs:attribute>
1136			<xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
1137			</xs:attribute>
1138			<xs:attribute name="node" type="xs:string" />
1139		</xs:complexType>
1140	</xs:element>
1141	<xs:element name="property">
1142		<xs:complexType>
1143			<xs:sequence>
1144				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1145				<xs:choice minOccurs="0" maxOccurs="unbounded">
1146					<xs:element ref="column" />
1147					<xs:element ref="formula" />
1148				</xs:choice>
1149				<xs:element ref="type" minOccurs="0" />
1150			</xs:sequence>
1151			<xs:attribute name="name" use="required" type="xs:string" />
1152			<xs:attribute name="node" type="xs:string" />
1153			<xs:attribute name="access" type="xs:string" />
1154			<xs:attribute name="type" type="xs:string" />
1155			<xs:attribute name="column" type="xs:string" />
1156			<xs:attribute name="length" type="xs:positiveInteger" />
1157			<xs:attribute name="precision" type="xs:positiveInteger" />
1158			<xs:attribute name="scale" type="xs:positiveInteger" />
1159			<xs:attribute name="not-null" type="xs:boolean">
1160			</xs:attribute>
1161			<xs:attribute name="unique" default="false" type="xs:boolean">
1162			</xs:attribute>
1163			<xs:attribute name="unique-key" type="xs:string" />
1164			<xs:attribute name="index" type="xs:string" />
1165			<xs:attribute name="update" type="xs:boolean">
1166			</xs:attribute>
1167			<xs:attribute name="insert" type="xs:boolean">
1168			</xs:attribute>
1169			<xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
1170			</xs:attribute>
1171			<xs:attribute name="formula" type="xs:string" />
1172			<xs:attribute name="lazy" default="false" type="xs:boolean">
1173			</xs:attribute>
1174			<xs:attribute name="generated" default="never" type="propertyGeneration">
1175			</xs:attribute>
1176		</xs:complexType>
1177	</xs:element>
1178	<xs:element name="query">
1179		<xs:complexType mixed="true">
1180			<xs:choice minOccurs="0" maxOccurs="unbounded">
1181				<xs:element ref="query-param" />
1182			</xs:choice>
1183			<xs:attribute name="name" use="required" type="xs:string" />
1184			<xs:attribute name="flush-mode" type="flushMode">
1185			</xs:attribute>
1186			<xs:attribute name="cacheable" default="false" type="xs:boolean">
1187			</xs:attribute>
1188			<xs:attribute name="cache-region" type="xs:string" />
1189			<xs:attribute name="fetch-size" type="xs:int" />
1190			<xs:attribute name="timeout" type="xs:positiveInteger" />
1191			<xs:attribute name="cache-mode" type="cacheMode">
1192			</xs:attribute>
1193			<xs:attribute name="read-only" type="xs:boolean">
1194			</xs:attribute>
1195			<xs:attribute name="comment" type="xs:string" />
1196		</xs:complexType>
1197	</xs:element>
1198	<xs:element name="query-param">
1199		<xs:complexType>
1200			<xs:attribute name="name" use="required" type="xs:string" />
1201			<xs:attribute name="type" use="required" type="xs:string" />
1202		</xs:complexType>
1203	</xs:element>
1204	<xs:element name="resultset">
1205		<xs:complexType>
1206			<xs:choice minOccurs="0" maxOccurs="unbounded">
1207				<xs:element ref="return-scalar" />
1208				<xs:element ref="return" />
1209				<xs:element ref="return-join" />
1210				<xs:element ref="load-collection" />
1211			</xs:choice>
1212			<xs:attribute name="name" use="required" type="xs:string" />
1213		</xs:complexType>
1214	</xs:element>
1215	<xs:element name="return">
1216		<xs:complexType>
1217			<xs:sequence>
1218				<xs:element ref="return-discriminator" minOccurs="0" maxOccurs="1" />
1219				<xs:element ref="return-property" minOccurs="0" maxOccurs="unbounded" />
1220			</xs:sequence>
1221			<xs:attribute name="alias" type="xs:string" />
1222			<xs:attribute name="entity-name" type="xs:string" />
1223			<xs:attribute name="class" type="xs:string" />
1224			<xs:attribute name="lock-mode" default="read" type="lockMode">
1225			</xs:attribute>
1226		</xs:complexType>
1227	</xs:element>
1228	<xs:element name="return-column">
1229		<xs:complexType>
1230			<xs:attribute name="name" use="required" type="xs:string" />
1231		</xs:complexType>
1232	</xs:element>
1233	<xs:element name="return-discriminator">
1234		<xs:complexType>
1235			<xs:attribute name="column" use="required" type="xs:string" />
1236		</xs:complexType>
1237	</xs:element>
1238	<xs:element name="return-join">
1239		<xs:complexType>
1240			<xs:sequence minOccurs="0" maxOccurs="unbounded">
1241				<xs:element ref="return-property" />
1242			</xs:sequence>
1243			<xs:attribute name="alias" use="required" type="xs:string" />
1244			<xs:attribute name="property" use="required" type="xs:string" />
1245			<xs:attribute name="lock-mode" default="read" type="lockMode">
1246			</xs:attribute>
1247		</xs:complexType>
1248	</xs:element>
1249	<xs:element name="return-property">
1250		<xs:complexType>
1251			<xs:sequence>
1252				<xs:element ref="return-column" minOccurs="0" maxOccurs="unbounded" />
1253			</xs:sequence>
1254			<xs:attribute name="name" use="required" type="xs:string" />
1255			<xs:attribute name="column" type="xs:string" />
1256		</xs:complexType>
1257	</xs:element>
1258	<xs:element name="return-scalar">
1259		<xs:complexType>
1260			<xs:attribute name="column" use="required" type="xs:string" />
1261			<xs:attribute name="type" type="xs:string" />
1262		</xs:complexType>
1263	</xs:element>
1264	<xs:element name="set">
1265		<xs:complexType>
1266			<xs:sequence>
1267				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1268				<xs:element ref="subselect" minOccurs="0" />
1269				<xs:element ref="cache" minOccurs="0" />
1270				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
1271				<xs:element ref="comment" minOccurs="0" />
1272				<xs:element ref="key" />
1273				<xs:choice>
1274					<xs:element ref="element" />
1275					<xs:element ref="one-to-many" />
1276					<xs:element ref="many-to-many" />
1277					<xs:element ref="composite-element" />
1278					<xs:element ref="many-to-any" />
1279				</xs:choice>
1280				<xs:element ref="loader" minOccurs="0" />
1281				<xs:element ref="sql-insert" minOccurs="0" />
1282				<xs:element ref="sql-update" minOccurs="0" />
1283				<xs:element ref="sql-delete" minOccurs="0" />
1284				<xs:element ref="sql-delete-all" minOccurs="0" />
1285				<xs:element ref="filter" minOccurs="0" maxOccurs="unbounded" />
1286			</xs:sequence>
1287			<xs:attributeGroup ref="baseCollectionAttributes" />
1288			<xs:attribute name="sort" type="xs:string" />
1289		</xs:complexType>
1290	</xs:element>
1291	<xs:element name="sql-delete" type="customSQL">
1292	</xs:element>
1293	<xs:element name="sql-delete-all" type="customSQL">
1294	</xs:element>
1295	<xs:element name="sql-insert" type="customSQL">
1296	</xs:element>
1297	<xs:element name="sql-query">
1298		<xs:complexType mixed="true">
1299			<xs:choice minOccurs="0" maxOccurs="unbounded">
1300				<xs:element ref="return-scalar" />
1301				<xs:element ref="return" />
1302				<xs:element ref="return-join" />
1303				<xs:element ref="load-collection" />
1304				<xs:element ref="synchronize" />
1305				<xs:element ref="query-param" />
1306			</xs:choice>
1307			<xs:attribute name="name" use="required" type="xs:string" />
1308			<xs:attribute name="resultset-ref" type="xs:string" />
1309			<xs:attribute name="flush-mode" type="flushMode">
1310			</xs:attribute>
1311			<xs:attribute name="cacheable" default="false" type="xs:boolean">
1312			</xs:attribute>
1313			<xs:attribute name="cache-region" type="xs:string" />
1314			<xs:attribute name="fetch-size" type="xs:int" />
1315			<xs:attribute name="timeout" type="xs:positiveInteger" />
1316			<xs:attribute name="cache-mode" type="cacheMode">
1317			</xs:attribute>
1318			<xs:attribute name="read-only" type="xs:boolean">
1319			</xs:attribute>
1320			<xs:attribute name="comment" type="xs:string" />
1321			<xs:attribute name="callable" default="false" type="xs:boolean">
1322			</xs:attribute>
1323		</xs:complexType>
1324	</xs:element>
1325	<xs:element name="sql-update" type="customSQL">
1326	</xs:element>
1327	<xs:element name="subclass">
1328		<xs:complexType>
1329			<xs:sequence>
1330				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1331				<xs:element ref="tuplizer" minOccurs="0" maxOccurs="unbounded" />
1332				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
1333				<xs:choice minOccurs="0" maxOccurs="unbounded">
1334					<xs:element ref="property" />
1335					<xs:element ref="many-to-one" />
1336					<xs:element ref="one-to-one" />
1337					<xs:element ref="component" />
1338					<xs:element ref="dynamic-component" />
1339					<xs:element ref="any" />
1340					<xs:element ref="map" />
1341					<xs:element ref="set" />
1342					<xs:element ref="list" />
1343					<xs:element ref="bag" />
1344					<xs:element ref="idbag" />
1345					<xs:element ref="array" />
1346					<xs:element ref="primitive-array" />
1347				</xs:choice>
1348				<xs:element ref="join" minOccurs="0" maxOccurs="unbounded" />
1349				<xs:element ref="subclass" minOccurs="0" maxOccurs="unbounded" />
1350				<xs:element ref="loader" minOccurs="0" />
1351				<xs:element ref="sql-insert" minOccurs="0" />
1352				<xs:element ref="sql-update" minOccurs="0" />
1353				<xs:element ref="sql-delete" minOccurs="0" />
1354				<xs:element ref="resultset" minOccurs="0" maxOccurs="unbounded" />
1355				<xs:choice minOccurs="0" maxOccurs="unbounded">
1356					<xs:element ref="query" />
1357					<xs:element ref="sql-query" />
1358				</xs:choice>
1359			</xs:sequence>
1360			<xs:attribute name="entity-name" type="xs:string" />
1361			<xs:attribute name="name" type="xs:string" />
1362			<xs:attribute name="proxy" type="xs:string" />
1363			<xs:attribute name="discriminator-value" type="xs:string" />
1364			<xs:attribute name="dynamic-update" default="false" type="xs:boolean">
1365			</xs:attribute>
1366			<xs:attribute name="dynamic-insert" default="false" type="xs:boolean">
1367			</xs:attribute>
1368			<xs:attribute name="select-before-update" default="false" type="xs:boolean">
1369			</xs:attribute>
1370			<xs:attribute name="extends" type="xs:string" />
1371			<xs:attribute name="lazy" type="xs:boolean">
1372			</xs:attribute>
1373			<xs:attribute name="abstract" type="xs:boolean">
1374			</xs:attribute>
1375			<xs:attribute name="persister" type="xs:string" />
1376			<xs:attribute name="batch-size" type="xs:positiveInteger" />
1377			<xs:attribute name="node" type="xs:string" />
1378		</xs:complexType>
1379	</xs:element>
1380	<xs:element name="subselect">
1381		<xs:complexType mixed="true">
1382		</xs:complexType>
1383	</xs:element>
1384	<xs:element name="synchronize">
1385		<xs:complexType>
1386			<xs:attribute name="table" use="required" type="xs:string" />
1387		</xs:complexType>
1388	</xs:element>
1389	<xs:element name="timestamp">
1390		<xs:complexType>
1391			<xs:sequence>
1392				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1393			</xs:sequence>
1394			<xs:attribute name="name" use="required" type="xs:string" />
1395			<xs:attribute name="node" type="xs:string" />
1396			<xs:attribute name="column" type="xs:string" />
1397			<xs:attribute name="access" type="xs:string" />
1398			<xs:attribute name="unsaved-value">
1399				<xs:simpleType>
1400					<xs:restriction base="xs:string">
1401						<xs:enumeration value="null" />
1402						<xs:enumeration value="undefined" />
1403					</xs:restriction>
1404				</xs:simpleType>
1405			</xs:attribute>
1406			<xs:attribute name="source" default="vm">
1407				<xs:simpleType>
1408					<xs:restriction base="xs:string">
1409						<xs:enumeration value="vm" />
1410						<xs:enumeration value="db" />
1411					</xs:restriction>
1412				</xs:simpleType>
1413			</xs:attribute>
1414			<xs:attribute name="generated" default="never" type="versionGeneration">
1415			</xs:attribute>
1416		</xs:complexType>
1417	</xs:element>
1418	<xs:element name="tuplizer">
1419		<xs:complexType>
1420			<xs:attribute name="entity-mode">
1421				<xs:simpleType>
1422					<xs:restriction base="xs:string">
1423						<xs:enumeration value="poco" />
1424						<xs:enumeration value="xml" />
1425						<xs:enumeration value="dynamic-map" />
1426					</xs:restriction>
1427				</xs:simpleType>
1428			</xs:attribute>
1429			<xs:attribute name="class" use="required" type="xs:string" />
1430		</xs:complexType>
1431	</xs:element>
1432	<xs:element name="type">
1433		<xs:complexType>
1434			<xs:sequence>
1435				<xs:element ref="param" minOccurs="0" maxOccurs="unbounded" />
1436			</xs:sequence>
1437			<xs:attribute name="name" use="required" type="xs:string" />
1438		</xs:complexType>
1439	</xs:element>
1440	<xs:element name="typedef">
1441		<xs:complexType>
1442			<xs:sequence>
1443				<xs:element ref="param" minOccurs="0" maxOccurs="unbounded" />
1444			</xs:sequence>
1445			<xs:attribute name="class" use="required" type="xs:string" />
1446			<xs:attribute name="name" use="required" type="xs:string" />
1447		</xs:complexType>
1448	</xs:element>
1449	<xs:element name="union-subclass">
1450		<xs:complexType>
1451			<xs:sequence>
1452				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1453				<xs:element ref="subselect" minOccurs="0" />
1454				<xs:element ref="synchronize" minOccurs="0" maxOccurs="unbounded" />
1455				<xs:element ref="comment" minOccurs="0" />
1456				<xs:element ref="tuplizer" minOccurs="0" maxOccurs="unbounded" />
1457				<xs:choice minOccurs="0" maxOccurs="unbounded">
1458					<xs:element ref="property" />
1459					<xs:element ref="many-to-one" />
1460					<xs:element ref="one-to-one" />
1461					<xs:element ref="component" />
1462					<xs:element ref="dynamic-component" />
1463					<xs:element ref="properties" />
1464					<xs:element ref="any" />
1465					<xs:element ref="map" />
1466					<xs:element ref="set" />
1467					<xs:element ref="list" />
1468					<xs:element ref="bag" />
1469					<xs:element ref="idbag" />
1470					<xs:element ref="array" />
1471					<xs:element ref="primitive-array" />
1472				</xs:choice>
1473				<xs:element ref="union-subclass" minOccurs="0" maxOccurs="unbounded" />
1474				<xs:element ref="loader" minOccurs="0" />
1475				<xs:element ref="sql-insert" minOccurs="0" />
1476				<xs:element ref="sql-update" minOccurs="0" />
1477				<xs:element ref="sql-delete" minOccurs="0" />
1478				<xs:element ref="resultset" minOccurs="0" maxOccurs="unbounded" />
1479				<xs:choice minOccurs="0" maxOccurs="unbounded">
1480					<xs:element ref="query" />
1481					<xs:element ref="sql-query" />
1482				</xs:choice>
1483			</xs:sequence>
1484			<xs:attribute name="entity-name" type="xs:string" />
1485			<xs:attribute name="name" type="xs:string" />
1486			<xs:attribute name="proxy" type="xs:string" />
1487			<xs:attribute name="table" type="xs:string" />
1488			<xs:attribute name="schema" type="xs:string" />
1489			<xs:attribute name="catalog" type="xs:string" />
1490			<xs:attribute name="subselect" type="xs:string" />
1491			<xs:attribute name="dynamic-update" default="false" type="xs:boolean">
1492			</xs:attribute>
1493			<xs:attribute name="dynamic-insert" default="false" type="xs:boolean">
1494			</xs:attribute>
1495			<xs:attribute name="select-before-update" default="false" type="xs:boolean">
1496			</xs:attribute>
1497			<xs:attribute name="extends" type="xs:string" />
1498			<xs:attribute name="lazy" type="xs:boolean">
1499			</xs:attribute>
1500			<xs:attribute name="abstract" type="xs:boolean">
1501			</xs:attribute>
1502			<xs:attribute name="persister" type="xs:string" />
1503			<xs:attribute name="check" type="xs:string" />
1504			<xs:attribute name="batch-size" type="xs:positiveInteger" />
1505			<xs:attribute name="node" type="xs:string" />
1506		</xs:complexType>
1507	</xs:element>
1508	<xs:element name="version">
1509		<xs:complexType>
1510			<xs:sequence>
1511				<xs:element ref="meta" minOccurs="0" maxOccurs="unbounded" />
1512				<xs:element ref="column" minOccurs="0" maxOccurs="unbounded" />
1513			</xs:sequence>
1514			<xs:attribute name="name" use="required" type="xs:string" />
1515			<xs:attribute name="node" type="xs:string" />
1516			<xs:attribute name="access" type="xs:string" />
1517			<xs:attribute name="column" type="xs:string" />
1518			<xs:attribute name="type" default="Int32" type="xs:string" />
1519			<xs:attribute name="unsaved-value" type="xs:string">
1520				<xs:annotation>
1521					<xs:documentation>undefined|any|none|null|0|-1|... </xs:documentation>
1522				</xs:annotation>
1523			</xs:attribute>
1524			<xs:attribute name="generated" default="never" type="versionGeneration">
1525			</xs:attribute>
1526			<xs:attribute name="insert" type="xs:boolean">
1527			</xs:attribute>
1528		</xs:complexType>
1529	</xs:element>
1530	<xs:simpleType name="outerJoinStrategy">
1531		<xs:restriction base="xs:string">
1532			<xs:enumeration value="auto" />
1533			<xs:enumeration value="true" />
1534			<xs:enumeration value="false" />
1535		</xs:restriction>
1536	</xs:simpleType>
1537	<xs:simpleType name="collectionFetchMode">
1538		<xs:restriction base="xs:string">
1539			<xs:enumeration value="select" />
1540			<xs:enumeration value="join" />
1541			<xs:enumeration value="subselect" />
1542		</xs:restriction>
1543	</xs:simpleType>
1544	<xs:simpleType name="collectionLazy">
1545		<xs:restriction base="xs:string">
1546			<xs:enumeration value="true" />
1547			<xs:enumeration value="false" />
1548			<xs:enumeration value="extra" />
1549		</xs:restriction>
1550	</xs:simpleType>
1551	<xs:attributeGroup name="baseCollectionAttributes">
1552		<xs:attribute name="name" use="required" type="xs:string" />
1553		<xs:attribute name="access" type="xs:string" />
1554		<xs:attribute name="table" type="xs:string" />
1555		<xs:attribute name="schema" type="xs:string" />
1556		<xs:attribute name="catalog" type="xs:string" />
1557		<xs:attribute name="subselect" type="xs:string" />
1558		<xs:attribute name="lazy" type="collectionLazy">
1559		</xs:attribute>
1560		<xs:attribute name="inverse" default="false" type="xs:boolean">
1561		</xs:attribute>
1562		<xs:attribute name="mutable" default="true" type="xs:boolean">
1563		</xs:attribute>
1564		<xs:attribute name="cascade" type="xs:string" />
1565		<xs:attribute name="order-by" type="xs:string" />
1566		<xs:attribute name="where" type="xs:string" />
1567		<xs:attribute name="batch-size" type="xs:int" />
1568		<xs:attribute name="outer-join" type="outerJoinStrategy">
1569		</xs:attribute>
1570		<xs:attribute name="fetch" type="collectionFetchMode">
1571		</xs:attribute>
1572		<xs:attribute name="persister" type="xs:string" />
1573		<xs:attribute name="collection-type" type="xs:string" />
1574		<xs:attribute name="check" type="xs:string" />
1575		<xs:attribute name="optimistic-lock" default="true" type="xs:boolean">
1576		</xs:attribute>
1577		<xs:attribute name="node" type="xs:string" />
1578		<xs:attribute name="embed-xml" default="true" type="xs:boolean">
1579		</xs:attribute>
1580		<xs:attribute name="generic" type="xs:boolean" use="optional">
1581			<xs:annotation>
1582				<xs:documentation>The concrete collection should use a generic version or an object-based version.</xs:documentation>
1583			</xs:annotation>
1584		</xs:attribute>
1585	</xs:attributeGroup>
1586	<xs:simpleType name="optimisticLockMode">
1587		<xs:restriction base="xs:string">
1588			<xs:enumeration value="none" />
1589			<xs:enumeration value="version" />
1590			<xs:enumeration value="dirty" />
1591			<xs:enumeration value="all" />
1592		</xs:restriction>
1593	</xs:simpleType>
1594	<xs:simpleType name="polymorphismType">
1595		<xs:annotation>
1596			<xs:documentation>Types of polymorphism</xs:documentation>
1597		</xs:annotation>
1598		<xs:restriction base="xs:string">
1599			<xs:enumeration value="implicit" />
1600			<xs:enumeration value="explicit" />
1601		</xs:restriction>
1602	</xs:simpleType>
1603	<xs:simpleType name="unsavedValueType">
1604		<xs:restriction base="xs:string">
1605			<xs:enumeration value="undefined" />
1606			<xs:enumeration value="any" />
1607			<xs:enumeration value="none" />
1608		</xs:restriction>
1609	</xs:simpleType>
1610	<xs:simpleType name="ondelete">
1611		<xs:restriction base="xs:string">
1612			<xs:enumeration value="cascade" />
1613			<xs:enumeration value="noaction" />
1614		</xs:restriction>
1615	</xs:simpleType>
1616	<xs:simpleType name="restrictedLaziness">
1617		<xs:restriction base="xs:string">
1618			<xs:enumeration value="false" />
1619			<xs:enumeration value="proxy" />
1620		</xs:restriction>
1621	</xs:simpleType>
1622	<xs:simpleType name="lockMode">
1623		<xs:restriction base="xs:string">
1624			<xs:enumeration value="none" />
1625			<xs:enumeration value="read" />
1626			<xs:enumeration value="upgrade" />
1627			<xs:enumeration value="upgrade-nowait" />
1628			<xs:enumeration value="write" />
1629		</xs:restriction>
1630	</xs:simpleType>
1631	<xs:simpleType name="notFoundMode">
1632		<xs:restriction base="xs:string">
1633			<xs:enumeration value="ignore" />
1634			<xs:enumeration value="exception" />
1635		</xs:restriction>
1636	</xs:simpleType>
1637	<xs:simpleType name="fetchMode">
1638		<xs:restriction base="xs:string">
1639			<xs:enumeration value="select" />
1640			<xs:enumeration value="join" />
1641		</xs:restriction>
1642	</xs:simpleType>
1643	<xs:simpleType name="laziness">
1644		<xs:restriction base="xs:string">
1645			<xs:enumeration value="false" />
1646			<xs:enumeration value="proxy" />
1647			<xs:enumeration value="no-proxy" />
1648		</xs:restriction>
1649	</xs:simpleType>
1650	<xs:simpleType name="propertyGeneration">
1651		<xs:restriction base="xs:string">
1652			<xs:enumeration value="never" />
1653			<xs:enumeration value="insert" />
1654			<xs:enumeration value="always" />
1655		</xs:restriction>
1656	</xs:simpleType>
1657	<xs:simpleType name="flushMode">
1658		<xs:restriction base="xs:string">
1659			<xs:enumeration value="auto" />
1660			<xs:enumeration value="never" />
1661			<xs:enumeration value="always" />
1662		</xs:restriction>
1663	</xs:simpleType>
1664	<xs:simpleType name="cacheMode">
1665		<xs:restriction base="xs:string">
1666			<xs:enumeration value="get" />
1667			<xs:enumeration value="ignore" />
1668			<xs:enumeration value="normal" />
1669			<xs:enumeration value="put" />
1670			<xs:enumeration value="refresh" />
1671		</xs:restriction>
1672	</xs:simpleType>
1673	<xs:simpleType name="customSQLCheck">
1674		<xs:restriction base="xs:string">
1675			<xs:enumeration value="none" />
1676			<xs:enumeration value="rowcount" />
1677			<xs:enumeration value="param" />
1678		</xs:restriction>
1679	</xs:simpleType>
1680	<xs:complexType name="customSQL" mixed="true">
1681		<xs:attribute name="callable" type="xs:boolean" />
1682		<xs:attribute name="check" type="customSQLCheck" use="optional" />
1683	</xs:complexType>
1684	<xs:simpleType name="versionGeneration">
1685		<xs:restriction base="xs:string">
1686			<xs:enumeration value="never" />
1687			<xs:enumeration value="always" />
1688		</xs:restriction>
1689	</xs:simpleType>
1690</xs:schema>