<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XML Spy v3.5 NT (http://www.xmlspy.com)-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:fg="http://www.FGolubov.com/XMLEditor" elementFormDefault="qualified">
	<xsd:simpleType name="YesNoType">
		<xsd:annotation>
			<xsd:appinfo>
				<fg:node-info editor-class="com.fg.ftreenodes.FCheckBox">
					<fg:param>Yes</fg:param>
					<fg:param>No</fg:param>
				</fg:node-info>
			</xsd:appinfo>
		</xsd:annotation>
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="Yes"/>
			<xsd:enumeration value="No"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="CandidateKeyType">
		<xsd:sequence>
			<xsd:element name="Column" type="ColumnType" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="Generate" type="YesNoType" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="ColumnType">
		<xsd:annotation>
			<xsd:appinfo>
				<fg:node-info exposed="true"/>
			</xsd:appinfo>
		</xsd:annotation>
		<xsd:attribute name="Name" type="xsd:string" use="required">
			<xsd:annotation>
				<xsd:appinfo>
					<fg:node-info exposed="true"/>
				</xsd:appinfo>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ElementTypeType">
		<xsd:annotation>
			<xsd:appinfo>
				<fg:node-info exposed="true"/>
			</xsd:appinfo>
		</xsd:annotation>
		<xsd:attribute name="Name" type="xsd:NMTOKEN" use="required">
			<xsd:annotation>
				<xsd:appinfo>
					<fg:node-info exposed="true"/>
				</xsd:appinfo>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ForeignKeyType">
		<xsd:sequence>
			<xsd:element name="Column" type="ColumnType" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="OrderColumnType">
		<xsd:attribute name="Name" type="xsd:string" use="required">
			<xsd:annotation>
				<xsd:appinfo>
					<fg:node-info exposed="true"/>
				</xsd:appinfo>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="Generate" type="YesNoType" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="TableType">
		<xsd:annotation>
			<xsd:appinfo>
				<fg:node-info exposed="true"/>
			</xsd:appinfo>
		</xsd:annotation>
		<xsd:attribute name="Name" type="xsd:string" use="required">
			<xsd:annotation>
				<xsd:appinfo>
					<fg:node-info exposed="true"/>
				</xsd:appinfo>
			</xsd:annotation>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:element name="XMLToDBMS">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Options" minOccurs="0" maxOccurs="unbounded">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="EmptyStringIsNull" minOccurs="0">
								<xsd:annotation>
									<xsd:appinfo>
										<fg:node-info exposed="true"/>
									</xsd:appinfo>
								</xsd:annotation>
								<xsd:complexType/>
							</xsd:element>
							<xsd:element name="DateTimeFormats" minOccurs="0">
								<xsd:annotation>
									<xsd:appinfo>
										<fg:node-info exposed="true"/>
									</xsd:appinfo>
								</xsd:annotation>
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="Locale" minOccurs="0">
											<xsd:annotation>
												<xsd:appinfo>
													<fg:node-info exposed="true"/>
												</xsd:appinfo>
											</xsd:annotation>
											<xsd:complexType>
												<xsd:attribute name="Language" type="xsd:NMTOKEN" use="required">
													<xsd:annotation>
														<xsd:appinfo>
															<fg:node-info exposed="true"/>
														</xsd:appinfo>
													</xsd:annotation>
												</xsd:attribute>
												<xsd:attribute name="Country" type="xsd:NMTOKEN" use="required">
													<xsd:annotation>
														<xsd:appinfo>
															<fg:node-info exposed="true"/>
														</xsd:appinfo>
													</xsd:annotation>
												</xsd:attribute>
											</xsd:complexType>
										</xsd:element>
										<xsd:element name="Patterns">
											<xsd:annotation>
												<xsd:appinfo>
													<fg:node-info exposed="true"/>
												</xsd:appinfo>
											</xsd:annotation>
											<xsd:complexType>
												<xsd:attribute name="Date" type="xsd:string">
													<xsd:annotation>
														<xsd:appinfo>
															<fg:node-info exposed="true"/>
														</xsd:appinfo>
													</xsd:annotation>
												</xsd:attribute>
												<xsd:attribute name="Time" type="xsd:string">
													<xsd:annotation>
														<xsd:appinfo>
															<fg:node-info exposed="true"/>
														</xsd:appinfo>
													</xsd:annotation>
												</xsd:attribute>
												<xsd:attribute name="Timestamp" type="xsd:string">
													<xsd:annotation>
														<xsd:appinfo>
															<fg:node-info exposed="true"/>
														</xsd:appinfo>
													</xsd:annotation>
												</xsd:attribute>
											</xsd:complexType>
										</xsd:element>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
							<xsd:element name="Namespace" minOccurs="0" maxOccurs="unbounded">
								<xsd:complexType>
									<xsd:attribute name="Prefix" type="xsd:NMTOKEN" use="required">
										<xsd:annotation>
											<xsd:appinfo>
												<fg:node-info exposed="true" editor-class="com.fg.ftreenodes.FComboBox">
													<fg:param>http</fg:param>
													<fg:param>ftp</fg:param>
												</fg:node-info>
											</xsd:appinfo>
										</xsd:annotation>
									</xsd:attribute>
									<xsd:attribute name="URI" type="xsd:string" use="required">
										<xsd:annotation>
											<xsd:appinfo>
												<fg:node-info exposed="true"/>
											</xsd:appinfo>
										</xsd:annotation>
									</xsd:attribute>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="Maps">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="IgnoreRoot" minOccurs="0" maxOccurs="unbounded">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="ElementType" type="ElementTypeType"/>
										<xsd:element name="PseudoRoot" maxOccurs="unbounded">
											<xsd:complexType>
												<xsd:sequence>
													<xsd:element name="ElementType" type="ElementTypeType"/>
													<xsd:element name="CandidateKey" type="CandidateKeyType" minOccurs="0"/>
													<xsd:element name="OrderColumn" type="OrderColumnType" minOccurs="0"/>
												</xsd:sequence>
											</xsd:complexType>
										</xsd:element>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
							<xsd:element name="ClassMap" maxOccurs="unbounded">
								<xsd:complexType>
									<xsd:sequence>
										<xsd:element name="ElementType" type="ElementTypeType"/>
										<xsd:choice>
											<xsd:element name="ToRootTable">
												<xsd:annotation>
													<xsd:appinfo>
														<fg:node-info exposed="true"/>
													</xsd:appinfo>
												</xsd:annotation>
												<xsd:complexType>
													<xsd:sequence>
														<xsd:element name="Table" type="TableType"/>
														<xsd:element name="CandidateKey" type="CandidateKeyType" minOccurs="0"/>
														<xsd:element name="OrderColumn" type="OrderColumnType" minOccurs="0"/>
													</xsd:sequence>
												</xsd:complexType>
											</xsd:element>
											<xsd:element name="ToClassTable">
												<xsd:annotation>
													<xsd:appinfo>
														<fg:node-info exposed="true"/>
													</xsd:appinfo>
												</xsd:annotation>
												<xsd:complexType>
													<xsd:sequence>
														<xsd:element name="Table" type="TableType"/>
													</xsd:sequence>
												</xsd:complexType>
											</xsd:element>
										</xsd:choice>
										<xsd:element name="PropertyMap" minOccurs="0" maxOccurs="unbounded">
											<xsd:complexType>
												<xsd:sequence>
													<xsd:choice>
														<xsd:element name="Attribute">
															<xsd:annotation>
																<xsd:appinfo>
																	<fg:node-info exposed="true"/>
																</xsd:appinfo>
															</xsd:annotation>
															<xsd:complexType>
																<xsd:attribute name="Name" type="xsd:NMTOKEN" use="required">
																	<xsd:annotation>
																		<xsd:appinfo>
																			<fg:node-info exposed="true"/>
																		</xsd:appinfo>
																	</xsd:annotation>
																</xsd:attribute>
																<xsd:attribute name="MultiValued" type="YesNoType" default="No"/>
															</xsd:complexType>
														</xsd:element>
														<xsd:element name="PCDATA">
															<xsd:annotation>
																<xsd:appinfo>
																	<fg:node-info exposed="true"/>
																</xsd:appinfo>
															</xsd:annotation>
															<xsd:complexType/>
														</xsd:element>
														<xsd:element name="ElementType" type="ElementTypeType"/>
													</xsd:choice>
													<xsd:choice>
														<xsd:element name="ToColumn">
															<xsd:annotation>
																<xsd:appinfo>
																	<fg:node-info exposed="true"/>
																</xsd:appinfo>
															</xsd:annotation>
															<xsd:complexType>
																<xsd:sequence>
																	<xsd:element name="Column" type="ColumnType"/>
																</xsd:sequence>
															</xsd:complexType>
														</xsd:element>
														<xsd:element name="ToPropertyTable">
															<xsd:annotation>
																<xsd:appinfo>
																	<fg:node-info exposed="true"/>
																</xsd:appinfo>
															</xsd:annotation>
															<xsd:complexType>
																<xsd:sequence>
																	<xsd:element name="Table" type="TableType"/>
																	<xsd:element name="CandidateKey" type="CandidateKeyType"/>
																	<xsd:element name="ForeignKey" type="ForeignKeyType"/>
																	<xsd:element name="Column" type="ColumnType"/>
																</xsd:sequence>
																<xsd:attribute name="KeyInParentTable" use="required">
																	<xsd:simpleType>
																		<xsd:restriction base="xsd:NMTOKEN">
																			<xsd:enumeration value="Candidate"/>
																			<xsd:enumeration value="Foreign"/>
																		</xsd:restriction>
																	</xsd:simpleType>
																</xsd:attribute>
															</xsd:complexType>
														</xsd:element>
													</xsd:choice>
													<xsd:element name="OrderColumn" type="OrderColumnType" minOccurs="0"/>
												</xsd:sequence>
											</xsd:complexType>
										</xsd:element>
										<xsd:element name="RelatedClass" minOccurs="0" maxOccurs="unbounded">
											<xsd:complexType>
												<xsd:sequence>
													<xsd:element name="ElementType" type="ElementTypeType"/>
													<xsd:element name="CandidateKey" type="CandidateKeyType"/>
													<xsd:element name="ForeignKey" type="ForeignKeyType"/>
													<xsd:element name="OrderColumn" type="OrderColumnType" minOccurs="0"/>
												</xsd:sequence>
												<xsd:attribute name="KeyInParentTable" use="required">
													<xsd:simpleType>
														<xsd:restriction base="xsd:NMTOKEN">
															<xsd:enumeration value="Candidate"/>
															<xsd:enumeration value="Foreign"/>
														</xsd:restriction>
													</xsd:simpleType>
												</xsd:attribute>
											</xsd:complexType>
										</xsd:element>
									</xsd:sequence>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
			<xsd:attribute name="Version" type="xsd:string" fixed="1.0"/>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
