<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://schemas.webs.idu.de/iwan/irt" elementFormDefault="qualified" xmlns="http://schemas.webs.idu.de/iwan/irt" xmlns:mstns="http://schemas.webs.idu.de/iwan/irt" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:LayerDefinition="http://schemas.webs.idu.de/iwan/layerdefinition" xmlns:Symbology="http://schemas.webs.idu.de/iwan/symbology">
	<xs:import schemaLocation="D:\Dev\cardoSystem\coreLibs\XmlRelated\Schemas\Iwan\SourceDef\layerdefinition\layerdefinition.xsd" namespace="http://schemas.webs.idu.de/iwan/layerdefinition" />
	<xs:complexType name="_AnyTaks" abstract="true">
		<xs:sequence>
			<xs:element name="Description" type="xs:string" maxOccurs="1" minOccurs="1" nillable="false" />
		</xs:sequence>
		<xs:attribute name="TaskName" type="xs:string" use="optional" />
	</xs:complexType>
	<xs:complexType name="_BaseQueryType" abstract="true">
		<xs:complexContent>
			<xs:extension base="_AnyTaks">
				<xs:sequence>
					<xs:element name="MaxRows" type="xs:int" maxOccurs="1" minOccurs="0" nillable="true" />
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="_SimpleAttributeQueryType">
		<xs:complexContent>
			<xs:extension base="_BaseQueryType">
				<xs:sequence>
					<xs:element name="JoinType">
						<xs:simpleType>
							<xs:restriction base="xs:string">
								<xs:enumeration value="And" />
								<xs:enumeration value="Or" />
							</xs:restriction>
						</xs:simpleType>
					</xs:element>
					<xs:element name="ColumnName" type="xs:string" />
					<xs:element name="CompareValues" type="xs:string" />
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="_SimpleGeometryQueryType">
		<xs:complexContent>
			<xs:extension base="_BaseQueryType">
				<xs:sequence>
					<xs:element name="IwanGeometry" type="xs:string" />
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="_IwsQueryType">
		<xs:complexContent>
			<xs:extension base="_BaseQueryType">
				<xs:sequence>
					<xs:element name="ISqlStmt" type="xs:string" maxOccurs="1" minOccurs="1" nillable="false" />
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="_EvaluationType">
		<xs:sequence>
			<xs:element name="Description" type="xs:string" nillable="false" />
			<xs:element name="Arguments">
				<xs:complexType>
					<xs:sequence>
						<xs:choice maxOccurs="unbounded" minOccurs="0">
							<xs:element name="Value" type="xs:string" />
							<xs:element name="UniqueDataList" type="_UniqueDataListType" />
							<xs:element name="DataSet" type="_TableType" />
						</xs:choice>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="MethodName" type="xs:string" use="required" />
	</xs:complexType>
	<xs:complexType name="_TestType">
		<xs:sequence>
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element name="LayerDefintions">
					<xs:complexType>
						<xs:sequence>
							<xs:choice maxOccurs="unbounded" minOccurs="0">
								<xs:element ref="LayerDefinition:Layer" />
								<xs:element name="NameOfExistingLayer" type="xs:string" maxOccurs="1" minOccurs="1" nillable="false" />
							</xs:choice>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:element name="Filters" maxOccurs="1" minOccurs="0" nillable="false">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Filter" type="_FilterType" maxOccurs="unbounded" minOccurs="1" nillable="false" />
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:sequence minOccurs="1" maxOccurs="unbounded">
				<xs:element name="DataQueryTest" minOccurs="0" maxOccurs="1">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Description" type="xs:string" maxOccurs="1" minOccurs="1" nillable="true" />
							<xs:element name="Evaluation" maxOccurs="1" minOccurs="1" nillable="false" type="_EvaluationSequenzType">
							</xs:element>
							<xs:element name="Querys" maxOccurs="1" minOccurs="1" nillable="false">
								<xs:complexType>
									<xs:sequence>
										<xs:sequence>
											<xs:element name="SimpleAttributeQuery" type="_SimpleAttributeQueryType" maxOccurs="unbounded" minOccurs="0" />
											<xs:element name="SimpleGeometryQuery" type="_SimpleGeometryQueryType" minOccurs="0" maxOccurs="unbounded" />
											<xs:element name="IwsQuery" type="_IwsQueryType" minOccurs="0" maxOccurs="unbounded" />
											<xs:element name="DistinctDataListQuery" type="_DistinctDataListQueryType" minOccurs="0" maxOccurs="unbounded" />
											<xs:element name="GetRowByRowIdQuery" type="_GetRowByRowIdQueryType" minOccurs="0" maxOccurs="unbounded" />
										</xs:sequence>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="ImageTests" minOccurs="0" maxOccurs="1">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Description" type="xs:string" maxOccurs="1" minOccurs="1" nillable="false" />
							<xs:element name="Evaluation" type="_EvaluationSequenzType" maxOccurs="1" minOccurs="1" />
							<xs:element name="MapImageRequest" maxOccurs="1" minOccurs="1" nillable="false">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Description" type="xs:string" maxOccurs="1" minOccurs="1" nillable="false" />
										<xs:element name="BoundingBox">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="XMin" type="xs:double" maxOccurs="1" minOccurs="1" nillable="false" />
													<xs:element name="YMin" type="xs:double" maxOccurs="1" minOccurs="1" nillable="false" />
													<xs:element name="XMax" type="xs:double" maxOccurs="1" minOccurs="1" nillable="false" />
													<xs:element name="YMax" type="xs:double" maxOccurs="1" minOccurs="1" nillable="false" />
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="ImageSize">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Width" type="xs:int" maxOccurs="1" minOccurs="1" nillable="false" />
													<xs:element name="Height" type="xs:int" maxOccurs="1" minOccurs="1" nillable="false" />
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="repeatCount" type="xs:int" use="optional" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:sequence>
		<xs:attribute name="TestName" type="xs:string" />
	</xs:complexType>
	<xs:element name="Tests">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="TaskConfiguration" type="_TaskConfigurationType" maxOccurs="1" minOccurs="0" />
				<xs:element name="Test" type="_TestType">
				</xs:element>
			</xs:sequence>
			<xs:attribute name="mapSessionId" type="xs:string" use="optional" default="IRT_TESTER" />
		</xs:complexType>
	</xs:element>
	<xs:complexType name="_UniqueDataListType">
		<xs:sequence>
			<xs:element name="Row" type="xs:string" maxOccurs="unbounded" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="_TableType">
		<xs:sequence>
			<xs:element name="Row" maxOccurs="unbounded" minOccurs="0">
				<xs:complexType>
					<xs:complexContent>
						<xs:restriction base="xs:anyType">
							<xs:sequence>
								<xs:element name="Column" minOccurs="1" maxOccurs="unbounded" nillable="true">
									<xs:complexType>
										<xs:simpleContent>
											<xs:extension base="xs:string">
												<xs:attribute name="name" type="xs:string" use="required" />
											</xs:extension>
										</xs:simpleContent>
									</xs:complexType>
								</xs:element>
							</xs:sequence>
							<xs:attribute name="index" type="xs:int" use="required" />
						</xs:restriction>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="_DistinctDataListQueryType">
		<xs:complexContent>
			<xs:extension base="_BaseQueryType">
				<xs:sequence>
					<xs:element name="ColumnName" type="xs:string" maxOccurs="1" minOccurs="1" nillable="false" />
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="_FilterType">
		<xs:sequence>
			<xs:element name="ISqlStmt" type="xs:string" maxOccurs="1" minOccurs="1" nillable="true" />
			<xs:element name="FilterTarget" maxOccurs="1" minOccurs="1" nillable="false">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="ALL" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="_EvaluationSequenzType">
		<xs:sequence>
			<xs:sequence>
				<xs:element name="Evaluate" type="_EvaluationType" maxOccurs="unbounded" minOccurs="1" nillable="false" />
			</xs:sequence>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="_GetRowByRowIdQueryType">
		<xs:complexContent>
			<xs:extension base="_AnyTaks">
				<xs:sequence>
					<xs:element name="RowIdValue" type="xs:string" />
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="_TaskConfigurationType">
		<xs:sequence>
			<xs:element name="IwanBaseUrl" type="xs:string" maxOccurs="1" minOccurs="0" />
			<xs:element name="ProjectName" type="xs:string" maxOccurs="1" minOccurs="0" />
			<xs:element name="Epsg" type="xs:string" maxOccurs="1" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>
</xs:schema>