<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:fews="http://www.wldelft.nl/fews" targetNamespace="http://www.wldelft.nl/fews" elementFormDefault="qualified" version="1.0">
	<include schemaLocation="sharedTypes.xsd"/>
	<element name="webOCComponentSettings" type="fews:webOCComponentSettingsComplexType"/>
	<complexType name="webOCComponentSettingsComplexType">
		<sequence>
			<element name="componentSettings" type="fews:ComponentSettingsComplexType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="OverlaysComplexType">
		<sequence>
			<group ref="fews:ComponentSettingslayerChoice" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<group name="ComponentSettingslayerChoice">
		<choice>
			<element name="overlay" type="fews:OverLayComplextype" minOccurs="0" maxOccurs="unbounded"/>
			<element name="gridLayer" type="fews:GridLayerComplexType" minOccurs="0"/>
		</choice>
	</group>
	<complexType name="PaintComplexType">
		<sequence>
			<element name="lineOpacity" type="fews:doubleBetweenZeroAndOne" minOccurs="0"/>
			<element name="lineColor" type="string" minOccurs="0"/>
			<element name="lineWidth" type="fews:positiveDouble" minOccurs="0"/>
			<element name="fillAntiAlias" type="boolean" minOccurs="0"/>
			<element name="fillOpacity" type="fews:doubleBetweenZeroAndOne" minOccurs="0"/>
			<element name="fillColor" type="string" minOccurs="0"/>
			<element name="fillOutlineColor" type="string" minOccurs="0"/>
		</sequence>
	</complexType>
	<simpleType name="NumberOfLinesEnumStringType">
		<restriction base="string">
			<enumeration value="1"/>
			<enumeration value="2"/>
			<enumeration value="3"/>
			<enumeration value="All"/>
		</restriction>
	</simpleType>
	<simpleType name="TimeSeriesChartLegendPlacementEnumStringType">
		<restriction base="string">
			<enumeration value="above chart"/>
			<enumeration value="under chart"/>
			<enumeration value="inside upper right"/>
			<enumeration value="inside lower right"/>
			<enumeration value="inside upper left"/>
			<enumeration value="inside lower left"/>

		</restriction>
	</simpleType>
	<complexType name="PanelPlacementComplexType">
		<sequence>
			<element name="defaultPlacement" type="fews:DefaultPanelPlacementEnumStringType"/>
			<element name="allowedPlacement" type="fews:PanelPlacementEnumStringType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="DefaultPanelPlacementEnumStringType">
		<restriction base="string">
			<enumeration value="left"/>
			<enumeration value="right"/>
			<enumeration value="bottom"/>
			<enumeration value="up"/>
			<enumeration value="detached"/>
		</restriction>
	</simpleType>
	<simpleType name="PanelPlacementEnumStringType">
		<restriction base="string">
			<enumeration value="left"/>
			<enumeration value="right"/>
			<enumeration value="bottom"/>
			<enumeration value="up"/>
			<enumeration value="all"/>
			<enumeration value="detached"/>
		</restriction>
	</simpleType>
	<simpleType name="OverlayLocationsLineEnumStringType">
		<restriction base="string">
			<enumeration value="line"/>
			<enumeration value="fill"/>
		</restriction>
	</simpleType>
	<simpleType name="StartPanelEnumStringType">
		<restriction base="string">
			<enumeration value="metaDataPanel"/>
			<enumeration value="timeSeriesChart"/>
			<enumeration value="timeSeriesTable"/>
			<enumeration value="verticalProfileChart"/>
			<enumeration value="verticalProfileTable"/>
		</restriction>
	</simpleType>
	<simpleType name="ToolbarEnumStringType">
		<restriction base="string">
			<enumeration value="false"/>
			<enumeration value="true"/>
			<enumeration value="auto"/>
		</restriction>
	</simpleType>
	<complexType name="ComponentSettingsComplexType">
		<sequence>
			<element name="map" type="fews:WebOCMapComplexType" minOccurs="0"/>
			<element name="charts" type="fews:WebOCChartComplexType" minOccurs="0"/>
			<element name="ssd" type="fews:WebOCSSDComplexType" minOccurs="0"/>
		</sequence>
		<attribute name="id" type="string" use="required">
			<annotation>
				<documentation>The id of the component setting. The id should always be unique!</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="WebOCMapComplexType">
		<sequence>
			<element name="wmsLayer" type="fews:WebOCWmsLayerComplexType" minOccurs="0"/>
			<element name="locationsLayer" type="fews:LocationsLayerComplexType" minOccurs="0"/>
			<element name="overlays" type="fews:OverlaysComplexType" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="WebOCWmsLayerComplexType">
		<sequence>
			<element name="autoPlay" type="boolean" minOccurs="0"/>
			<element name="animateVectors" type="boolean" minOccurs="0"/>
			<element name="doubleClickAction" type="boolean" minOccurs="0"/>
		</sequence>
		<attribute name="show" type="boolean" use="required"/>
	</complexType>
	<complexType name="LocationsLayerComplexType">
		<sequence>
			<element name="locationNames" type="boolean" minOccurs="0"/>
			<element name="singleClickAction" type="boolean" minOccurs="0"/>
			<element name="locationSearchEnabled" type="boolean" minOccurs="0"/>
			<element name="minZoom" type="fews:LocationsLayerZoomLevelComplexType" minOccurs="0"/>
			<element name="maxZoom" type="fews:LocationsLayerZoomLevelComplexType" minOccurs="0"/>
		</sequence>
		<attribute name="show" type="boolean" use="required"/>
	</complexType>
	<complexType name="LocationsLayerZoomLevelComplexType">
		<attribute name="level" type="int" use="required"/>
		<attribute name="levelLocationAttribute" type="string">
			<annotation>
				<documentation>Configure a location attribute to determine the zoom level for a location. The attribute value should be an integer that corresponds with the level attribute.</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="OverLayComplextype">
		<choice>
			<sequence>
				<element name="overlayId" type="fews:idStringType"/>
				<element name="visible" type="boolean" minOccurs="0"/>
			</sequence>
			<sequence>
				<element name="externalLayer" type="fews:WebOCExternalLayerComplexType"/>
				<element name="visible" type="boolean" minOccurs="0"/>
			</sequence>
		</choice>
	</complexType>
	<complexType name="WebOCExternalLayerComplexType">
		<sequence>
			<element name="styleJsonFile" type="string" minOccurs="0">
				<annotation>
					<documentation>A json file that contains the style information for the layer. A relative path to the Web Services static resources should be configured.</documentation>
				</annotation>
			</element>
			<element name="visible" type="boolean" minOccurs="0"/>
		</sequence>
		<attribute name="id" type="string" use="required">
			<annotation>
				<documentation>The id of the external layer. The id has to be unique</documentation>
			</annotation>
		</attribute>
		<attribute name="name" type="string" use="required">
			<annotation>
				<documentation>The name of the external layer.</documentation>
			</annotation>
		</attribute>

	</complexType>

	<complexType name="WebOCChartComplexType">
		<sequence>
			<element name="general" type="fews:GeneralChartComplexType" minOccurs="0"/>
			<element name="actions" type="fews:WebOCActionComplexType" minOccurs="0"/>
			<element name="timeSeriesChart" type="fews:TimeSeriesChartComplexType" minOccurs="0"/>
			<element name="timeSeriesTable" type="fews:TimeSeriesTableComplexType" minOccurs="0"/>
			<element name="verticalProfileChart" type="fews:TimeSeriesChartComplexType" minOccurs="0"/>
			<element name="verticalProfileTable" type="fews:VerticalProfileTableComplexType" minOccurs="0"/>
			<element name="metaDataPanel" type="fews:MetaDataPanelComplexType" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="MetaDataPanelComplexType">
		<attribute name="enabled" type="boolean" use="required">
			<annotation>
				<documentation>Determine if the meta data panel should be shown</documentation>
			</annotation>
		</attribute>
		<attribute name="locationEnabledAttribute" type="string">
			<annotation>
				<documentation>Configure a location attribute to determine if the meta data panel should be shown. This will override the enabled attribute.</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="GeneralChartComplexType">
		<sequence>
			<element name="startPanel" type="fews:StartPanelEnumStringType" minOccurs="0"/>
			<element name="toolbar" type="fews:ToolbarEnumStringType" minOccurs="0"/>
			<element name="locationNames" type="boolean" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="WebOCActionComplexType">
		<sequence>
			<element name="panelPlacement" type="fews:PanelPlacementComplexType" minOccurs="0"/>
			<element name="downloadData" type="boolean" minOccurs="0"/>
			<element name="downloadMetaData" type="boolean" minOccurs="0"/>
			<element name="downloadFigure" type="boolean" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="TimeSeriesChartComplexType">
		<sequence>
			<element name="legend" type="fews:TimeSeriesChartLegendComplexType" minOccurs="0"/>
			<element name="xAxis" type="fews:WebOcXAxisComplexType" minOccurs="0"/>
			<element name="yAxis" type="fews:WebOcYAxisComplexType" minOccurs="0"/>
		</sequence>
		<attribute name="enabled" type="boolean" use="required">
			<annotation>
				<documentation>Determine if the chart should be shown</documentation>
			</annotation>
		</attribute>
		<attribute name="locationEnabledAttribute" type="string">
			<annotation>
				<documentation>Configure a location attribute to determine if the chart should be shown. This will override the enabled attribute.</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="TimeSeriesChartLegendComplexType">
		<sequence>
			<element name="minNumberOfLines" type="fews:NumberOfLinesEnumStringType" minOccurs="0"/>
			<element name="maxNumberOfLines" type="fews:NumberOfLinesEnumStringType" minOccurs="0"/>
			<element name="placement" type="fews:TimeSeriesChartLegendPlacementEnumStringType" minOccurs="0"/>
		</sequence>
		<attribute name="enabled" type="boolean" use="required">
			<annotation>
				<documentation>Determine if the chart should be shown</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="WebOcXAxisComplexType">
		<attribute name="enabled" type="boolean" use="required"/>
		<attribute name="xTicks" type="boolean" use="required"/>
		<attribute name="xLabel" type="boolean" use="required"/>
	</complexType>
	<complexType name="WebOcYAxisComplexType">
		<attribute name="enabled" type="boolean" use="required"/>
		<attribute name="yTicks" type="boolean" use="required"/>
		<attribute name="yLabel" type="boolean" use="required"/>
	</complexType>
	<simpleType name="SortingEnumStringType">
		<restriction base="string">
			<enumeration value="ascending"/>
			<enumeration value="descending"/>
		</restriction>
	</simpleType>
	<complexType name="TimeSeriesTableComplexType">
		<sequence>
			<element name="allowDateTimeSorting" type="boolean" minOccurs="0"/>
			<element name="sortDateTimeColumn" type="fews:SortingEnumStringType" minOccurs="0"/>
		</sequence>
		<attribute name="enabled" type="boolean" use="required">
			<annotation>
				<documentation>Determine if the chart should be shown</documentation>
			</annotation>
		</attribute>
		<attribute name="locationEnabledAttribute" type="string">
			<annotation>
				<documentation>Configure a location attribute to determine if the time series table should be shown. This will override the enabled attribute.</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="VerticalProfileTableComplexType">
		<sequence>
			<element name="allowDepthColumnSorting" type="boolean" minOccurs="0"/>
			<element name="sortDepthColumn" type="fews:SortingEnumStringType" minOccurs="0"/>
		</sequence>
		<attribute name="enabled" type="boolean" use="required">
			<annotation>
				<documentation>Determine if the chart should be shown</documentation>
			</annotation>
		</attribute>
		<attribute name="locationEnabledAttribute" type="string">
			<annotation>
				<documentation>Configure a location attribute to determine if the vertical profile table should be shown. This will override the enabled attribute.</documentation>
			</annotation>
		</attribute>
	</complexType>
	<complexType name="WebOCSSDComplexType">
		<sequence>
			<element name="zoomEnabled" type="boolean" minOccurs="0"/>
			<element name="useBrowserStyle" type="boolean" minOccurs="0"/>
		</sequence>
	</complexType>
</schema>