<?xml version="1.0" encoding="UTF-8"?>
<!--  Delft FEWS Published Interface (Copyright 2003 WL | Delft Hydraulics) -->
<schema targetNamespace="http://www.wldelft.nl/fews/PI" xmlns:fews="http://www.wldelft.nl/fews/PI" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
	<include schemaLocation="pi_sharedtypes.xsd"/>
	<element name="Parameters" type="fews:ParametersComplexType">
		<annotation>
			<documentation>module parameters</documentation>
		</annotation>
	</element>
	<complexType name="ParametersComplexType">
		<annotation>
			<documentation>module parameters</documentation>
		</annotation>
		<sequence>
			<element name="description" type="fews:commentString" minOccurs="0"/>
			<element name="param" type="fews:ParameterComplexType" maxOccurs="unbounded">
				<annotation>
					<documentation>Any number of parameters > 0</documentation>
				</annotation>
			</element>
		</sequence>
		<attribute name="version" type="fews:versionString" default="1.2"/>
	</complexType>
	<complexType name="ParameterComplexType">
		<annotation>
			<documentation>Any number of parameters > 0</documentation>
		</annotation>
		<sequence>
			<element name="name" type="fews:nameString">
				<annotation>
					<documentation>name of the parameter</documentation>
				</annotation>
			</element>
			<element name="data" type="fews:ParameterDataComplexType">
				<annotation>
					<documentation>Actual value/content of the parameter.
                        Four data types can be used.</documentation>
				</annotation>
			</element>
			<element name="comment" type="fews:commentString" minOccurs="0">
				<annotation>
					<documentation>use this field as a notebook to add comments, suggestions
                        description of data entered etc.</documentation>
				</annotation>
			</element>
		</sequence>
		<attribute name="id" type="fews:idString" use="optional"/>
	</complexType>
	<complexType name="ParameterDataComplexType">
		<annotation>
			<documentation>Actual value/content of the parameter.
                Four data types can be used.</documentation>
		</annotation>
		<choice>
			<element name="booleanData">
				<complexType>
					<simpleContent>
						<extension base="boolean">
							<attribute name="allowAdjust" type="boolean" use="optional" default="0">
								<annotation>
									<documentation>if this is set to true the NFFS is allowed to adjust
                                        this parameter.</documentation>
								</annotation>
							</attribute>
						</extension>
					</simpleContent>
				</complexType>
			</element>
			<element name="doubleData">
				<complexType>
					<simpleContent>
						<extension base="double">
							<attribute name="maxVal" type="double" use="required">
								<annotation>
									<documentation>maximum value allowed for this parameter</documentation>
								</annotation>
							</attribute>
							<attribute name="minVal" type="double" use="required">
								<annotation>
									<documentation>minimum value allowed for this parameter</documentation>
								</annotation>
							</attribute>
							<attribute name="allowAdjust" type="boolean" use="optional" default="0">
								<annotation>
									<documentation>if this is set to true the NFFS is allowed to adjust
                                        this parameter.</documentation>
								</annotation>
							</attribute>
							<attribute name="stepSize" type="double" use="optional">
								<annotation>
									<documentation>Optional step size hint for model calibration.
                                        Only used if allowAdjust = 1</documentation>
								</annotation>
							</attribute>
						</extension>
					</simpleContent>
				</complexType>
			</element>
			<element name="intData">
				<complexType>
					<simpleContent>
						<extension base="int">
							<attribute name="maxVal" type="int" use="required">
								<annotation>
									<documentation>maximum value allowed for this parameter</documentation>
								</annotation>
							</attribute>
							<attribute name="minVal" type="int" use="required">
								<annotation>
									<documentation>minimum value allowed for this parameter</documentation>
								</annotation>
							</attribute>
							<attribute name="allowAdjust" type="boolean" use="optional" default="0">
								<annotation>
									<documentation>if this is set to true the NFFS is allowed to adjust
                                        this parameter.</documentation>
								</annotation>
							</attribute>
							<attribute name="stepSize" type="int" use="optional">
								<annotation>
									<documentation>Optional step size hint for model calibration.
                                        Only used if allowAdjust = 1</documentation>
								</annotation>
							</attribute>
						</extension>
					</simpleContent>
				</complexType>
			</element>
			<element name="stringData" type="string"/>
		</choice>
	</complexType>
</schema>
