<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by ICT (Stichting Deltares) -->
<!--Delft FEWS (Copyright 2009 Deltares (Delft Hydraulics)) -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:fews="http://www.wldelft.nl/fews" targetNamespace="http://www.wldelft.nl/fews" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
	<include schemaLocation="sharedTypes.xsd"/>
	<element name="forecasterNotesDisplay" type="fews:ForecasterNotesDisplayComplexType"/>
	<complexType name="ForecasterNotesDisplayComplexType">
		<sequence>
			<element name="title" type="string"/>
			<group ref="fews:ForecasterNotesElements"/>
			<element name="deletePermission" type="fews:idStringType" minOccurs="0">
				<annotation>
					<documentation>Since 2024.02. Determines if forecaster notes can be deleted. A forecaster note can always be deleted by the creator of the note. Currently only implemented for the Web OC.</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<group name="ForecasterNotesElements">
		<sequence>
			<element name="columns" type="fews:NotesTableColumnsComplexType" minOccurs="0">
				<annotation>
					<documentation>Since 2017.01  Optional configuration of the columns visible in the table. If omitted all  columns are visible</documentation>
				</annotation>
			</element>
			<element name="maxNumberOfLinesInTableRow" type="fews:nonNegativeIntegerStringType" minOccurs="0">
				<annotation>
					<documentation>Since 2017.01 Use this option to show long notes in  Forecaster Notes table row. The height of each row will then depend on the number of lines in the note,  up to the configured maximum. If this option  is omitted, the table row shows always one line.</documentation>
				</annotation>
			</element>
			<element name="defaultTopologyNodeId" type="fews:idStringType" minOccurs="0">
				<annotation>
					<documentation>This topology node Id will be assigned to the notes that has been created while there was no topology node selected in the topology tree window</documentation>
				</annotation>
			</element>
			<element name="defaultAreaId" type="fews:idStringType" minOccurs="0">
				<annotation>
					<documentation>This  area Id will be assigned to the notes that has been created for a topologyNode that has no area, or if notopology node was selected at all. IMPORTANT: if the notes should be archived, then the areaId should be  configured to ensure that each note will get an areaId.  AreaId's are necessary for Archiving, see
archive documentation for details.</documentation>
				</annotation>
			</element>
			<choice>
				<element name="messageTemplate" type="string" maxOccurs="unbounded">
					<annotation>
						<documentation>Deprecated, use msgTemplate instead</documentation>
					</annotation>
				</element>
				<element name="msgTemplate" type="fews:MessageTemplateComplexType" maxOccurs="unbounded"/>
			</choice>
			<element name="eventCode" type="fews:EventCodeComplexType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="userTemplate" type="string" minOccurs="0" maxOccurs="unbounded">
				<annotation>
					<documentation>The users, configured with user templates,  can be entered while creating  manual messages. Configure the user templates  if you want to enter usernames that are different from the  system user. </documentation>
				</annotation>
			</element>
			<element name="multipleForecasterNotesMaker" type="fews:MultipleForecasterNotesMakerComplexType" minOccurs="0">
				<annotation>
					<documentation>Since 2016.02 When this element is configured,  a popup will be created according to this configuration. With this popup the user is able to create multiple messages in one go </documentation>
				</annotation>
			</element>
		</sequence>
	</group>
	<complexType name="MessageTemplateComplexType">
		<annotation>
			<documentation>Configure message templates to  create a specific message quickly. Id is used to select specific message template, message is a default text and can be modified in the GUI</documentation>
		</annotation>
		<group ref="fews:MessageElements" minOccurs="0"/>
		<attribute name="id" type="fews:idStringType" use="required"/>
	</complexType>
	<complexType name="MultipleForecasterNotesMakerComplexType">
		<sequence>
			<element name="noteGroup" type="fews:NoteGroupComplexType" maxOccurs="unbounded">
				<annotation>
					<documentation>nodeGroup contains one or more notes that appear in the popup when the user selects a  noteGroup. All notes from a noteGroup will be logged in one go</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<group name="MessageElements">
		<sequence>
			<element name="message" type="string"/>
			<element name="messageWidth" type="fews:nonNegativeIntegerStringType" minOccurs="0"/>
			<element name="messageHeight" type="fews:nonNegativeIntegerStringType" minOccurs="0"/>
		</sequence>
	</group>
	<complexType name="NoteComplexType">
		<sequence>
			<element name="eventCodeId" type="fews:idStringType"/>
			<element name="messageTemplateId" type="fews:idStringType"/>
		</sequence>
		<attribute name="name" type="fews:nonEmptyStringType" use="optional"/>
	</complexType>
	<complexType name="TextNoteComplexType">
		<complexContent>
			<extension base="fews:NoteComplexType">
				<sequence>
					<element name="keepText" type="boolean" minOccurs="0">
						<annotation>
							<documentation>Configure true if the last entered text  should be shown while creating a new message</documentation>
						</annotation>
					</element>
					<element name="maxNumberOfLines" type="positiveInteger" minOccurs="0"/>
					<element name="maxNumberOfCharactersInLine" type="positiveInteger" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="NoteGroupComplexType">
		<choice maxOccurs="unbounded">
			<element name="note" type="fews:TextNoteComplexType"/>
			<element name="noteChoiceGroup" type="fews:NoteChoiceGroupComplexType">
				<annotation>
					<documentation>Each note will be shown as an option button.  The option buttons are aligned horizontally. The user can choose just one note  from the noteChoice. The selected note will be logged.  Template message is not visible in case of notes within 'nodeChoice', however this template message will be always logged</documentation>
				</annotation>
			</element>
			<element name="viewPermission" type="fews:nonEmptyStringType" minOccurs="0">
				<annotation>
					<documentation>Since 2023.02. Determines if a note group is visible for a user. Currently only implemented for the Web OC.</documentation>
				</annotation>
			</element>
			<element name="createPermission" type="fews:idStringType" minOccurs="0">
				<annotation>
					<documentation>Since 2023.02. Determines if a forecaster note can be created for a note group. Currently only implemented for the Web OC.</documentation>
				</annotation>
			</element>
		</choice>
		<attribute name="name" type="fews:nonEmptyStringType" use="required"/>
		<attribute name="id" type="fews:idStringType"/>
	</complexType>
	<complexType name="NoteChoiceComplexType">
		<sequence>
			<element name="note" type="fews:NoteComplexType" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="name" type="fews:nonEmptyStringType" use="required"/>
	</complexType>
	<complexType name="NoteChoiceGroupComplexType">
		<sequence>
			<element name="noteChoice" type="fews:NoteChoiceComplexType" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="name" type="fews:nonEmptyStringType"/>
	</complexType>
	<complexType name="NotesTableColumnsComplexType">
		<sequence>
			<element name="logLevel" type="fews:NotesTableColumnComplexType"/>
			<element name="logCreationTime" type="fews:NotesTableColumnComplexType"/>
			<element name="expiryTime" type="fews:NotesTableColumnComplexType"/>
			<element name="eventCode" type="fews:NotesTableColumnComplexType"/>
			<element name="eventTime" type="fews:NotesTableColumnComplexType"/>
			<element name="userId" type="fews:NotesTableColumnComplexType"/>
			<element name="template" type="fews:NotesTableColumnComplexType"/>
			<element name="segment" type="fews:NotesTableColumnComplexType"/>
			<element name="logMessage" type="fews:NotesTableColumnComplexType"/>
			<element name="taskRunId" type="fews:NotesTableColumnComplexType" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="NotesTableColumnComplexType">
		<attribute name="visible" type="boolean" use="required"/>
	</complexType>
</schema>
